{"version":3,"sources":["webpack:///./src/cLive2DApp.js","webpack:///./src/lib/live2d.core.js","webpack:///./src/lib/Live2DFramework.js","webpack:///./src/cDefine.js","webpack:///./src/elementMgr.js","webpack:///./src/utils/MatrixStack.js","webpack:///./src/dialog/index.js","webpack:///(webpack)/buildin/system.js","webpack:///./src/cManager.js","webpack:///./src/PlatformManager.js","webpack:///./src/cModel.js","webpack:///./src/utils/ModelSettingJson.js"],"names":["_configMgr","__webpack_require__","_elementMgr","_live2d","_Live2DFramework","_cManager","_MatrixStack","_cDefine","_currentDevice","_index","live2DMgr","captureFrameCB","undefined","isDrawStart","dragMgr","viewMatrix","projMatrix","deviceToScreen","drag","headPos","transformRect","center","transform","rect","x","left","width","y","top","height","Len_X","Len_Y","angle","Math","acos","A","B","length","sqrt","normalize","PI","angleTarget","angleLeftTop","angleLeftBottom","angleRightTop","angleRightBottom","scale","res","y3","x3","modelTapEvent","event","currCanvas","getBoundingClientRect","sx","transformScreenX","clientX","sy","transformScreenY","clientY","target","vx","transformViewX","vy","transformViewY","cDefine","DEBUG_MOUSE_LOG","console","log","L2Dwidget","emit","tapEvent","lookFront","setPoint","mouseEvent","e","type","modelTurnHead","button","touchEvent","touch","touches","followPointer","deviceX","screenX","transformX","invertTransformX","deviceY","screenY","transformY","invertTransformY","theRealInit","createElement","addEventListener","window","document","cManager","L2DTargetPoint","ratio","VIEW_LOGICAL_LEFT","right","VIEW_LOGICAL_RIGHT","bottom","L2DViewMatrix","setScreenRect","setMaxScreenRect","VIEW_LOGICAL_MAX_LEFT","VIEW_LOGICAL_MAX_RIGHT","VIEW_LOGICAL_MAX_BOTTOM","VIEW_LOGICAL_MAX_TOP","_currentDevice2","default","mobile","config","model","adjustScale","L2DMatrix44","multScale","multTranslate","Live2D","setGL","currWebGL","clearColor","modelurl","jsonPath","reloadFlg","count","changeModel","tick","MatrixStack","reset","loadIdentity","update","setDrag","getX","getY","clear","COLOR_BUFFER_BIT","multMatrix","getArray","push","i","numModels","getModel","initialized","updating","draw","pop","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","toDataURL","captureFrame","callback","j","aa","this","_$MT","_$5S","_$NP","_$42","_$0s","_$4s","_$62","aQ","aU","ArrayBuffer","DataView","J","aN","aS","K","aM","_$ST","aK","aJ","_$gr","ay","_$T7","aL","_$nP","_$s7","aH","_$9T","aT","_$KS","aP","getModelContext","setDrawParam","getDrawParam","init","aO","q","_$Rb","prototype","getModelImpl","w","_$zP","getCanvasWidth","getCanvasHeight","getParamFloat","getParamIndex","z","getID","setParamFloat","aI","arguments","addToParamFloat","multParamFloat","loadParam","saveParam","_$Rs","_$li","_$Ds","_$K2","_$s2","_$P7","aR","a0","aY","getPartsOpacity","aW","setPartsOpacity","aV","aZ","getPartsDataIndex","getDrawDataIndex","Z","getDrawData","getTransformedPoints","_$C2","ag","getIndexArray","_$aS","getType","a","_$wb","b","W","clipContextList","Array","glcontext","gl","dp_webgl","curFrameNo","firstError_clipInNotUpdate","colorBuffer","isInitGLFBFunc","tmpBoundsOnModel","av","Q","glContext","frameBuffers","getMaskRenderTexture","tmpModelToViewMatrix","ac","tmpMatrix2","tmpMatrixForMask","tmpMatrixForDraw","CHANNEL_COLORS","o","r","g","setChannelFlagAsColor","CHANNEL_COUNT","RENDER_TEXTURE_USE_MIPMAP","NOT_USED_FRAME","_$L7","splice","releaseShader","deleteFramebuffer","framebuffer","getClipIDList","findSameClip","U","getDrawDataID","addClippedDrawData","clipBufPre_clipContext","createFramebuffer","glno","setupClip","a1","calcClippedDrawTotalBounds","isUsing","getParameter","FRAMEBUFFER_BINDING","canvas","viewport","clippingMaskBufferSize","setupLayoutBounds","bindFramebuffer","FRAMEBUFFER","allClippedDrawRect","layoutChannelNo","layoutBounds","_$jL","expand","identity","translate","setMatrix","m","aX","matrixForMask","matrixForDraw","clippingMaskDrawIndexList","setClipBufPre_clipContextForMask","getColorBuffer","clipIDList","a6","_$Ri","a5","clippedDrawContextList","drawDataIndex","_$yo","a4","a3","aw","_$i2","_$No","a2","min","apply","max","Float32Array","owner","_$gP","ah","_$dP","_$eo","_$V0","_$a0","_$JT","setFadeIn","setFadeOut","_$pT","getFadeOut","_$4T","_$mT","getDurationMSec","getLoopDurationMSec","updateParam","_$AT","_$9L","P","getUserTimeMSec","_$z2","_$bs","_$Do","_$r2","updateParamExe","_$8s","_$fT","Object","start","_$r","_$0S","getSystemTimeMSec","dump","end","_$Ji","_$dL","_$KL","_$nr","stack","F","_$8P","_$6P","_$EL","_$5T","ak","constructor","call","_$tP","_$27","_$3s","_$vo","_$F2","_$ao","_$1S","an","_$F0","_$6L","_$6S","_$Xr","_$E2","u","p1","N","p2","_$Fo","_$Db","_$L2","_$M2","_$ks","_$9b","_$iP","_$iT","_$lL","_$qP","setup","_$Yb","_$xT","_$p","getPhysicsPoint1","getPhysicsPoint2","_$qr","_$pr","_$5r","_$Cs","atan2","addSrcParam","h","addTargetParam","aF","_$oP","_$oo","_$YS","_$s0","_$70","ax","_$7L","_$HL","fx","fy","cos","sin","aC","_$bS","at","_$wL","_$tL","Src","SRC_TO_X","SRC_TO_Y","SRC_TO_G_ANGLE","d","_$YP","Target","TARGET_FROM_ANGLE","TARGET_FROM_ANGLE_V","X","_$fL","_$gL","_$B0","_$z0","_$qT","reflectX","reflectY","_$_T","getFormatVersion","LIVE2D_FORMAT_VERSION_V2_10_SDK2","_$po","_$e","ad","_$ni","isNaN","contains","aG","_$Z2","bb","bo","bp","_$Q2","_$vs","ba","_$Tr","_$zr","bj","bi","a9","a8","br","bn","bm","bg","bf","bu","bt","bl","bk","be","bc","a7","bh","bs","bd","_$br","bq","_$Vr","bV","bW","bC","bX","bH","bw","_$jT","bT","b3","b2","bP","b1","b0","bM","bL","b8","bN","bZ","b7","bU","bS","b6","b5","bQ","bO","bD","bB","by","bx","bG","bE","bv","bA","bz","bY","bK","b4","bJ","bF","bR","_$HT","ae","_$dr","_$GS","_$qb","_$Lb","_$mS","clipID","_$ur","_$ES","_$8S","_$52","_$R2","_$or","_$Pr","convertClipIDForV2_11","test","id","split","_$cS","_$Tb","_$MS","_$Nr","_$IS","_$Us","_$Zs","_$7s","_$2b","_$j2","getOpacity","_$zS","getTargetBaseDataID","_$gs","_$32","n","_$2o","preDraw","_$B2","_$Eb","_$ps","_$lT","_$C0","_$tT","_$WL","culling","matrix4x4","premultipliedAlpha","anisotropy","clippingProcess","CLIPPING_PROCESS_NONE","clipBufPre_clipContextMask","clipBufPre_clipContextDraw","CLIPPING_PROCESS_OVERWRITE_ALPHA","CLIPPING_PROCESS_MULTIPLY_ALPHA","CLIPPING_PROCESS_DRAW","CLIPPING_PROCESS_CLEAR_ALPHA","getChannelFlagAsColor","_$ZT","_$Uo","setBaseColor","_$WP","_$IT","setPremultipliedAlpha","isPremultipliedAlpha","setAnisotropy","getAnisotropy","getClippingProcess","setClippingProcess","getClipBufPre_clipContextMask","setClipBufPre_clipContextForDraw","getClipBufPre_clipContextDraw","_$ho","blendMode","L2D_COLOR_BLEND_MODE_MULT","c","_$kP","_$Ai","_$c2","_$_b","readV2_opacity","interpolateOpacity","setInterpolatedOpacity","_$nb","_$a2","getBaseDataID","_$W2","_$CS","_$Mo","_$XP","getTimeMSec","setUserTimeMSec","updateUserTimeMSec","Date","getTime","_$Q","aA","_$VP","_$GP","_$8o","_$ds","_$2r","_$O2","_$ri","_$Pb","getParamID","_$yP","_$N2","_$d2","_$t2","_$Lr","_$wr","_$SL","_$AL","G","startsWith","getChar","charAt","String","fromCharCode","getUint8","createString","Uint16Array","_$LS","_$Ob","_$Ur","_$WS","_$v2","_$Xb","Exception","_$J","_$Qb","_$3T","_$h2","_$J2","getParamCount","_$zs","getCopyMatrix","mult","mult_safe","mult_fast","rotateX","fcos","_$9","rotateY","rotateZ","aD","_$7","_$f","_$H","_$g","_$k","_$w","_$hi","STATE_IDENTITY","_$Z","_$pS","_$kS","_$hb","_$gb","_$fo","_$go","_$RT","_$so","_$CT","Y","motions","_$7r","_$Co","_$D0","_$yT","_$E","loopFadeIn","_$AS","_$cs","_$ar","_$D2","_$1T","loadMotion","t","_$RP","_$hs","_$4P","_$xs","_$us","_$qs","_$Ys","_$ws","_$Ns","_$Fr","_$I0","_$BL","_$r0","_$aL","isLoopFadeIn","setLoopFadeIn","aE","_$P","size","add","_$Ms","_$Qs","_$do","_$Ls","_$1r","_$FT","_$Ss","_$o7","_$S7","_$77","LIVE2D_FORMAT_VERSION_V2_11_SDK2_1","_$Is","_$h0","_$4L","_$7P","_$uT","_$9o","E","ab","f","s","aq","_$QT","_$co","_$qo","_$pb","_$is","_$_2","_$vr","_$Rr","_$Or","_$fs","_$Js","_$3S","_$Bo","_$db","_$8b","_$Hr","_$Ws","_$Vs","_$Er","_$Es","Int16Array","_$ZP","_$b0","_$HP","clipManager","_$_0","_$V2","_$W0","_$jr","_$ZS","_$tr","_$lr","release","getBaseData","_$l2","_$IP","getBaseDataIndex","_$1s","_$02","getDefaultValue","getMinValue","getMaxValue","_$u2","floor","toString","_$sT","_$H7","_$VS","_$BS","_$UT","_$Zo","getParamMax","getParamMin","_$p2","_$q2","_$Bb","_$5s","_$GT","ap","_$0T","_$5","exists","_$ls","_$3b","Int8Array","_$Xs","_$kb","read","_$C","_$js","write","_$TS","close","flush","ar","_$12","_$bb","_$_L","_$jo","_$iL","_$0L","_$Br","_$Dr","_$Cb","_$mr","az","STATE_FIRST","_$T2","_$10","_$uo","_$QS","_$7T","STATE_CLOSING","STATE_CLOSED","STATE_OPENING","STATE_INTERVAL","_$sb","Int32Array","_$As","_$U2","_$NT","_$9r","_$vS","_$no","_$vb","_$Gr","_$cr","_$yL","put","_$oT","_$mb","_$Hs","_$as","setTransform","EXPAND_W","drawElements","Error","_$Sr","setTexture","_$nS","_$Y0","_$Xo","_$io","_$0o","_$Lo","_$To","_$Po","_$gT","al","_$Yr","_$Wr","_$Ib","pow","_$hS","_$8r","_$Jr","_$92","_$NS","getTotalScale","setTotalScale_notForClient","getTotalOpacity","setTotalOpacity","getInterpolatedOpacity","_$os","_$Sb","_$NL","_$1b","getDrawDataList","_$kr","_$xo","v","_$zo","loadModel","_$to","_$er","_$PL","_$nL","_$_o","ao","_$o2","_$rr","_$eP","MTN_PREFIX_FADEIN","MTN_PREFIX_FADEOUT","p","byteLength","charCodeAt","_$S0","_$U0","_$o","_$A","_$Eo","H","_$Cr","_$hr","_$VT","transformPoints_sdk2","System","err","printf","transformPoints_sdk1","_$ts","visible","_$g0","_$8L","aj","isVisible","_$6o","_$3o","_$uL","_$KP","_$ET","_$ob","getPartsID","_$MP","_$e0","_$4S","_$Ks","au","context","_$6r","_$xP","_$3r","_$uP","_$Qo","cacheImages","tr","am","_$50","_$Ti","_$Pi","_$B","_$lP","_$bL","save","beginPath","_$Li","clip","_$ei","restore","globalAlpha","_$PS","ceil","rotate","shear","setContext","IGNORE_EXPAND","USE_CACHED_POLYGON_IMAGE","gl_cacheImage","createCanvas","DEBUG_DATA","LDGL_CANVAS_MB","getContext","drawImage","cacheCanvas","cacheContext","IGNORE_CLIP","USE_ADJUST_TRANSLATION","expandClip","clipWithTransform","_$P2","moveTo","lineTo","setAttribute","dumpValues","toFixed","_$TT","_$LT","_$FS","_$JS","totalScale","totalOpacity","getPartsIndex","_$x2","_$2s","_$Kr","_$sP","_$cb","_$Ts","_$fb","L2D_DEFORMER_EXTEND","_$Wb","_$yr","L2D_NO_ERROR","_$i7","_$9s","_$es","_$r7","_$07","_$b7","L2D_COLOR_BLEND_MODE_ADD","L2D_COLOR_BLEND_MODE_INTERPOLATE","_$6b","_$cT","fTexture","USE_CANVAS_TRANSFORM","PROFILE_IOS_SPEED","PROFILE_NAME","PROFILE_IOS_QUALITY","PROFILE_IOS_DEFAULT","PROFILE_ANDROID","PROFILE_DESKTOP","initProfile","isIOS","setupProfile","isAndroid","alert","getVersionStr","getVersionNo","getError","dispose","getGL","setClippingMaskBufferSize","getClippingMaskBufferSize","deleteBuffer","PI_F","_$ib","_$fr","_$LP","_$d0","_$Yo","_$JP","_$5P","_$BP","_$Qi","_$6s","_$ms","instanceNo","_$Os","_$ns","_$_s","_$_S","getTextureNo","_$ZL","_$H2","getNumPoints","_$Hb","parseInt","baseOpacity","_$72","aB","k","l","drawParamWebGL","C","V","_$eb","_$tb","startMotion","_$qS","_$w0","_$sr","M","isFinished","stopAllMotions","_$Zr","_$Gs","_$Bs","concatenate","_$eT","textures","firstDraw","anisotropyExt","maxAnisotropy","vertShader","fragShader","vertShaderOff","fragShaderOff","initShader","getExtension","MAX_TEXTURE_MAX_ANISOTROPY_EXT","disable","SCISSOR_TEST","STENCIL_TEST","DEPTH_TEST","frontFace","CW","enable","BLEND","colorMask","bindBuffer","ARRAY_BUFFER","ELEMENT_ARRAY_BUFFER","CCW","useProgram","shaderProgram","T","L","enableVertexAttribArray","a_position_Loc","vertexAttribPointer","FLOAT","activeTexture","TEXTURE1","bindTexture","TEXTURE_2D","uniform1i","s_texture0_Loc","a_texCoord_Loc","uniformMatrix4fv","u_matrix_Loc","uniform4f","u_channelFlag","u_baseColor_Loc","u_maskFlag_Loc","shaderProgramOff","a_position_Loc_Off","s_texture0_Loc_Off","a_texCoord_Loc_Off","u_clipMatrix_Loc_Off","u_matrix_Loc_Off","TEXTURE2","s_texture1_Loc_Off","u_channelFlag_Loc_Off","u_baseColor_Loc_Off","CULL_FACE","ONE","ONE_MINUS_SRC_ALPHA","ZERO","DST_COLOR","blendEquationSeparate","FUNC_ADD","blendFuncSeparate","texParameteri","TEXTURE_MAX_ANISOTROPY_EXT","TRIANGLES","UNSIGNED_SHORT","createBuffer","bufferData","DYNAMIC_DRAW","loadShaders2","getAttribLocation","getUniformLocation","disposeShader","deleteProgram","compileShader","createShader","shaderSource","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","deleteShader","createProgram","VERTEX_SHADER","FRAGMENT_SHADER","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","createRenderbuffer","bindRenderbuffer","RENDERBUFFER","renderbufferStorage","RGBA4","framebufferRenderbuffer","COLOR_ATTACHMENT0","createTexture","texImage2D","RGBA","UNSIGNED_BYTE","TEXTURE_MIN_FILTER","LINEAR","TEXTURE_MAG_FILTER","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","framebufferTexture2D","renderbuffer","texture","_$R0","buffer","_$3i","_$hL","_$v0","_$S2","_$Ko","_$T","_$F","_$fP","_$3L","_$mP","_$zT","getFloat64","getFloat32","getInt32","getInt8","getInt16","_$2T","O","_$bT","_$5b","Float64Array","_$Jb","_$4b","color","_$2S","_$wS","_$kT","_$tS","SYSTEM_INFO","USER_AGENT","navigator","userAgent","isIPhone","_isIPhone","_isIPad","_isAndroid","getOSVersion","version","getOS","substring","indexOf","os","UtSystem","UtDebug","LDTransform","LDGL","Live2DModelWebGL","Live2DModelJS","Live2DMotion","MotionQueueManager","PhysicsHair","AMotion","PartsDataID","DrawDataID","BaseDataID","ParamID","L2DBaseModel","live2DModel","modelMatrix","eyeBlink","physics","pose","debugMode","alpha","accAlpha","lipSync","lipSyncValue","accelX","accelY","accelZ","dragX","dragY","startTimeMSec","mainMotionManager","L2DMotionManager","expressionManager","expressions","isTexLoaded","texCounter","getModelMatrix","setAlpha","getAlpha","isInitialized","setInitialized","isUpdating","setUpdating","getLive2DModel","setLipSync","setLipSyncValue","setAccel","getMainMotionManager","getExpressionManager","loadModelData","path","pm","Live2DFramework","getPlatformManager","thisRef","loadLive2DModel","l2dModel","L2DModelMatrix","setWidth","setCenterPosition","error","loadTexture","no","name","motion","loadBytes","buf","loadExpression","L2DExpressionMotion","loadJson","loadPose","L2DPose","load","warn","loadPhysics","L2DPhysics","hitTestSimple","drawID","testX","testY","drawIndex","points","tx","ty","paramList","EXPRESSION_DEFAULT","TYPE_SET","TYPE_ADD","TYPE_MULT","ret","json","jsonParseFromBytes","fade_in","fade_out","params","paramNum","param","paramID","value","parseFloat","val","calcTypeInt","calc","defaultValue","def","item","L2DExpressionParam","timeMSec","weight","motionQueueEnt","L2DEyeBlink","nextBlinkTime","stateStartTime","blinkIntervalMsec","eyeState","EYE_STATE","closingMotionMsec","closedMotionMsec","openingMotionMsec","closeIfZero","eyeID_L","eyeID_R","calcNextBlink","random","setInterval","setEyeMotion","eyeParamValue","time","mul","dst","getScaleX","getScaleY","src","shiftX","shiftY","tr1","translateX","translateY","scaleX","scaleY","setPosition","setY","setX","centerX","centerY","setHeight","currentPriority","reservePriority","super","getCurrentPriority","getReservePriority","reserveMotion","priority","setReservePriority","updated","startMotionPrio","physicsList","physics_hair","resist","regist","mass","srcList","srcNum","typeStr","ptype","targetList","targets","targetNum","lastTime","lastModel","partsGroups","poseListInfo","parts_visible","poseNum","i_pose","idListInfo","group","idNum","partsGroup","i_group","partsInfo","parts","L2DPartsParam","link","linkListInfo","linkNum","i_link","linkParts","initParam","curTime","deltaTimeSec","normalizePartsOpacityGroup","copyOpacityOtherParts","initIndex","partsIndex","paramIndex","visibleParts","visibleOpacity","opacity","partsParam","EPSILON","faceTargetX","faceTargetY","faceX","faceY","faceVX","faceVY","lastTimeSec","FRAME_RATE","MAX_V","curTimeSec","deltaTimeWeight","MAX_A","dx","dy","abs","max_v","cur_v","screenLeft","screenRight","screenTop","screenBottom","maxLeft","maxRight","maxTop","maxBottom","adjustTranslate","cx","cy","tr2","tr3","getScreenLeft","getScreenRight","getScreenBottom","getScreenTop","getMaxLeft","getMaxRight","getMaxBottom","getMaxTop","platformManager","setPlatformManager","PRIORITY_NONE","PRIORITY_IDLE","PRIORITY_NORMAL","PRIORITY_FORCE","MOTION_GROUP_IDLE","MOTION_GROUP_TAP_BODY","MOTION_GROUP_FLICK_HEAD","MOTION_GROUP_PINCH_IN","MOTION_GROUP_PINCH_OUT","MOTION_GROUP_SHAKE","HIT_AREA_HEAD","HIT_AREA_BODY","_dialog","getElementById","div","body","removeChild","newElem","className","style","setProperty","display","position","hOffset","vOffset","react","appendChild","dialog","createDialogElement","newCanvasElem","superSample","dev","border","exports","NAMES","ctx","antialias","failIfMajorPerformanceCaveat","WebGLRenderingContext","initWebGL","matrixStack","depth","currentMatrix","tmp","nextOffset","myError","offset","getMatrix","matNew","head","innerHTML","containerElement","dialogElement","closeTimer","displayDialog","hiddenDialog","alertText","text","innerText","clearTimeout","setTimeout","showHitokotoLoop","xhr","XMLHttpRequest","open","setRequestHeader","onreadystatechange","readyState","JSON","parse","responseText","hitokoto","send","module","root","import","_PlatformManager","_cModel","eventemitter","models","PlatformManager","createModel","cModel","releaseModel","DEBUG_LOG","hitTest","setRandomExpression","startRandomMotion","request","responseType","onload","status","response","loadString","loadedImage","Image","crossOrigin","onerror","pixelStorei","UNPACK_PREMULTIPLY_ALPHA_WEBGL","UNPACK_FLIP_Y_WEBGL","TEXTURE0","LINEAR_MIPMAP_NEAREST","generateMipmap","jsonStr","bomCode","Uint8Array","txt","_ModelSettingJson","modelHomeDir","modelSetting","tmpMatrix","modelSettingPath","lastIndexOf","ModelSettingJson","loadModelSetting","getModelFile","getTextureNum","getTextureFile","texPaths","getExpressionNum","expName","getExpressionName","expFilePath","getExpressionFile","getPhysicsFile","getPoseFile","getLayout","layout","getInitParamNum","getInitParamID","getInitParamValue","getInitPartsVisibleNum","getInitPartsVisibleID","getInitPartsVisibleValue","preloadMotionGroup","deleteTexture","getMotionNum","file","getMotionFile","getMotionFadeIn","getMotionFadeOut","Number","setExpression","motionName","mtn","setFadeInFadeOut","getMotionSound","soundName","snd","play","len","getHitAreaNum","getHitAreaName","getHitAreaID","NAME","ID","MODEL","TEXTURES","HIT_AREAS","PHYSICS","POSE","EXPRESSIONS","MOTION_GROUPS","SOUND","FADE_IN","FADE_OUT","LAYOUT","INIT_PARAM","INIT_PARTS_VISIBLE","VALUE","FILE","str","NaN"],"mappings":"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","file":"L2Dwidget.0.min.js","sourcesContent":["/**\n * @description The main part of live2d-widget\n */\n\n\nimport { config } from './config/configMgr';\nimport { createElement, currWebGL, currCanvas } from './elementMgr';\nimport { UtSystem,\n UtDebug,\n LDTransform,\n LDGL,\n Live2D,\n Live2DModelWebGL,\n Live2DModelJS,\n Live2DMotion,\n MotionQueueManager,\n PhysicsHair,\n AMotion,\n PartsDataID,\n DrawDataID,\n BaseDataID,\n ParamID } from './lib/live2d.core';\nimport { L2DTargetPoint, L2DViewMatrix, L2DMatrix44 } from \"./lib/Live2DFramework\";\nimport { cManager } from \"./cManager\";\nimport { MatrixStack } from \"./utils/MatrixStack\";\nimport { cDefine } from \"./cDefine\";\nimport device from 'current-device';\nimport { L2Dwidget } from './index';\n\nlet live2DMgr = null;\nlet captureFrameCB = undefined;\nlet isDrawStart = false;\nlet dragMgr = null;\nlet viewMatrix = null;\nlet projMatrix = null;\nlet deviceToScreen = null;\nlet drag = false;\nlet lastMouseX = 0;\nlet lastMouseY = 0;\nlet headPos = 0.5;\nlet opacityDefault = 0.7;\nlet opacityHover = 1;\n\n/**\n * Main function of live2d-widget\n * @return {null}\n */\n\nfunction theRealInit (){\n\n createElement();\n initEvent();\n\n live2DMgr = new cManager(L2Dwidget)\n dragMgr = new L2DTargetPoint();\n let rect = currCanvas.getBoundingClientRect();\n let ratio = rect.height / rect.width;\n let left = cDefine.VIEW_LOGICAL_LEFT;\n let right = cDefine.VIEW_LOGICAL_RIGHT;\n let bottom = -ratio;\n let top = ratio;\n\n viewMatrix = new L2DViewMatrix();\n\n viewMatrix.setScreenRect(left, right, bottom, top);\n\n viewMatrix.setMaxScreenRect(cDefine.VIEW_LOGICAL_MAX_LEFT,\n cDefine.VIEW_LOGICAL_MAX_RIGHT,\n cDefine.VIEW_LOGICAL_MAX_BOTTOM,\n cDefine.VIEW_LOGICAL_MAX_TOP);\n\n modelScaling(device.mobile() && config.mobile.scale || config.model.scale)\n\n projMatrix = new L2DMatrix44();\n projMatrix.multScale(1, (rect.width / rect.height));\n\n deviceToScreen = new L2DMatrix44();\n deviceToScreen.multTranslate(-rect.width / 2.0, -rect.height / 2.0); // #32\n deviceToScreen.multScale(2 / rect.width, -2 / rect.height); // #32\n\n\n Live2D.setGL(currWebGL);\n currWebGL.clearColor(0.0, 0.0, 0.0, 0.0);\n changeModel(config.model.jsonPath);\n startDraw();\n\n\n}\n\n/**\n * Capture current frame to png file\n * @param {Function} callback The callback function which will receive the current frame\n * @return {null}\n * @example\n * You can use codes below to let the user download the current frame\n *\n * L2Dwidget.captureFrame(\n * function(e){\n * let link = document.createElement('a');\n * document.body.appendChild(link);\n * link.setAttribute('type', 'hidden');\n * link.href = e;\n * link.download = 'live2d.png';\n * link.click();\n * }\n * );\n *\n * @description Thanks to @journey-ad https://github.com/journey-ad/live2d_src/commit/97356a19f93d2abd83966f032a53b5ca1109fbc3\n */\n\nfunction captureFrame(callback){\n captureFrameCB = callback;\n}\n\nfunction initEvent(){\n if (currCanvas.addEventListener) {\n window.addEventListener(\"click\", mouseEvent);\n window.addEventListener(\"mousedown\", mouseEvent);\n window.addEventListener(\"mousemove\", mouseEvent);\n window.addEventListener(\"mouseup\", mouseEvent);\n document.addEventListener(\"mouseleave\", mouseEvent);\n window.addEventListener(\"touchstart\", touchEvent);\n window.addEventListener(\"touchend\", touchEvent);\n window.addEventListener(\"touchmove\", touchEvent);\n }\n}\n\nfunction startDraw() {\n if (!isDrawStart) {\n isDrawStart = true;\n (function tick() {\n draw();\n let requestAnimationFrame =\n window.requestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.msRequestAnimationFrame;\n\n requestAnimationFrame(tick, currCanvas);\n if(captureFrameCB !== undefined){\n captureFrameCB(currCanvas.toDataURL());\n captureFrameCB = undefined;\n }\n })();\n }\n}\n\nfunction draw()\n{\n MatrixStack.reset();\n MatrixStack.loadIdentity();\n dragMgr.update();\n live2DMgr.setDrag(dragMgr.getX(), dragMgr.getY());\n\n currWebGL.clear(currWebGL.COLOR_BUFFER_BIT);\n\n MatrixStack.multMatrix(projMatrix.getArray());\n MatrixStack.multMatrix(viewMatrix.getArray());\n MatrixStack.push();\n\n for (let i = 0; i < live2DMgr.numModels(); i++)\n {\n let model = live2DMgr.getModel(i);\n\n if(model == null) return;\n\n if (model.initialized && !model.updating)\n {\n model.update();\n model.draw(currWebGL);\n }\n }\n MatrixStack.pop();\n}\n\nfunction changeModel(modelurl) // 更换模型\n{\n live2DMgr.reloadFlg = true;\n live2DMgr.count++; // 现在仍有多模型支持,稍后可以精简\n live2DMgr.changeModel(currWebGL, modelurl);\n}\n\nfunction modelScaling(scale) {\n viewMatrix.adjustScale(0, 0, scale);\n}\n/*\nfunction transformRange(center, transform, range)\n{\n let a = {\n x: transform.x - center.x,\n y: transform.y - center.y\n }\n let r = Math.sqrt(Math.pow(a.x,2) + Math.pow(a.y,2));\n if (r > range) {\n a = {\n x: a.x / r * range + center.x,\n y: a.y / r * range + center.y\n };\n return a;\n } else {\n return transform;\n }\n}\n*/\nfunction dot(A,B)\n{\n return A.x * B.x + A.y * B.y;\n}\n\nfunction normalize(x,y)\n{\n let length = Math.sqrt(x * x + y * y)\n return {\n x: x / length,\n y: y / length\n }\n}\n\nfunction transformRect(center, transform, rect)\n{\n if (transform.x < rect.left + rect.width && transform.y < rect.top + rect.height &&\n transform.x > rect.left && transform.y > rect.top) return transform;\n let Len_X = center.x - transform.x;\n let Len_Y = center.y - transform.y;\n\n function angle(Len_X, Len_Y)\n {\n return Math.acos(dot({\n x: 0,\n y: 1\n }, normalize(Len_X, Len_Y))) * 180 / Math.PI\n }\n\n let angleTarget = angle(Len_X, Len_Y);\n if (transform.x < center.x) angleTarget = 360 - angleTarget;\n let angleLeftTop = 360 - angle(rect.left - center.x, (rect.top - center.y) * -1);\n let angleLeftBottom = 360 - angle(rect.left - center.x, (rect.top + rect.height - center.y) * -1);\n let angleRightTop = angle(rect.left + rect.width - center.x, (rect.top - center.y) * -1);\n let angleRightBottom = angle(rect.left + rect.width - center.x, (rect.top + rect.height - center.y) * -1);\n let scale = Len_Y / Len_X;\n let res = {};\n\n if (angleTarget < angleRightTop) {\n let y3 = rect.top - center.y;\n let x3 = y3 / scale;\n res = {\n y: center.y + y3,\n x: center.x + x3\n }\n } else if(angleTarget < angleRightBottom) {\n let x3 = rect.left + rect.width - center.x;\n let y3 = x3 * scale;\n res = {\n y: center.y + y3,\n x: center.x + x3\n }\n } else if (angleTarget < angleLeftBottom) {\n let y3 = rect.top + rect.height - center.y;\n let x3 = y3 / scale;\n res = {\n y: center.y + y3,\n x: center.x + x3\n }\n } else if (angleTarget < angleLeftTop) {\n let x3 = center.x - rect.left;\n let y3 = x3 * scale;\n res = {\n y: center.y - y3,\n x: center.x - x3\n }\n } else {\n let y3 = rect.top - center.y;\n let x3 = y3 / scale;\n res = {\n y: center.y + y3,\n x: center.x + x3\n }\n }\n\n return res;\n}\n\nfunction modelTurnHead(event)\n{\n drag = true;\n\n let rect = currCanvas.getBoundingClientRect();\n\n let sx = transformScreenX(event.clientX - rect.left);\n let sy = transformScreenY(event.clientY - rect.top);\n let target = transformRect({\n x: rect.left + rect.width / 2,\n y: rect.top + rect.height * headPos\n }, {\n x: event.clientX,\n y: event.clientY\n }, rect)\n let vx = transformViewX(target.x - rect.left);\n let vy = transformViewY(target.y - rect.top);\n\n if (cDefine.DEBUG_MOUSE_LOG)\n console.log(\"modelTurnHead onMouseMove device( x:\" + event.clientX + \" y:\" + event.clientY + \" ) view( x:\" + vx + \" y:\" + vy + \")\");\n\n lastMouseX = sx;\n lastMouseY = sy;\n\n dragMgr.setPoint(vx, vy);\n}\n\nfunction modelTapEvent(event)\n{\n drag = true;\n\n let rect = currCanvas.getBoundingClientRect();\n\n let sx = transformScreenX(event.clientX - rect.left);\n let sy = transformScreenY(event.clientY - rect.top);\n let target = transformRect({\n x: rect.left + rect.width / 2,\n y: rect.top + rect.height * headPos\n }, {\n x: event.clientX,\n y: event.clientY\n }, rect)\n let vx = transformViewX(target.x - rect.left);\n let vy = transformViewY(target.y - rect.top);\n\n if (cDefine.DEBUG_MOUSE_LOG)\n console.log(\"modelTapEvent onMouseDown device( x:\" + event.clientX + \" y:\" + event.clientY + \" ) view( x:\" + vx + \" y:\" + vy + \")\");\n\n lastMouseX = sx;\n lastMouseY = sy;\n\n L2Dwidget.emit('tap', event);\n\n live2DMgr.tapEvent(vx, vy);\n}\n\nfunction followPointer(event)\n{\n let rect = currCanvas.getBoundingClientRect();\n\n let sx = transformScreenX(event.clientX - rect.left);\n let sy = transformScreenY(event.clientY - rect.top);\n\n // log but seems ok\n // console.log(\"ecx=\" + event.clientX + \" ecy=\" + event.clientY + \" sx=\" + sx + \" sy=\" + sy);\n\n let target = transformRect({// seems ok here\n x: rect.left + rect.width / 2,\n y: rect.top + rect.height * headPos\n }, {\n x: event.clientX,\n y: event.clientY\n }, rect)\n let vx = transformViewX(target.x - rect.left);\n let vy = transformViewY(target.y - rect.top);\n\n if (cDefine.DEBUG_MOUSE_LOG)\n console.log(\"followPointer onMouseMove device( x:\" + event.clientX + \" y:\" + event.clientY + \" ) view( x:\" + vx + \" y:\" + vy + \")\");\n\n if (drag)\n {\n lastMouseX = sx;\n lastMouseY = sy;\n dragMgr.setPoint(vx, vy);\n }\n}\n\nfunction lookFront()\n{\n if (drag) {\n drag = false;\n }\n dragMgr.setPoint(0, 0);\n}\n\nfunction mouseEvent(e)\n{\n //e.preventDefault();\n if (e.type == \"mousedown\") {\n modelTapEvent(e);\n } else if (e.type == \"mousemove\") {\n modelTurnHead(e);\n } else if (e.type == \"mouseup\") {\n if(\"button\" in e && e.button != 0) return;\n // lookFront();\n } else if (e.type == \"mouseleave\") {\n lookFront();\n }\n}\n\nfunction touchEvent(e)\n{\n var touch = e.touches[0];\n if (e.type == \"touchstart\") {\n if (e.touches.length == 1) modelTapEvent(touch);\n // onClick(touch);\n } else if (e.type == \"touchmove\") {\n followPointer(touch);\n } else if (e.type == \"touchend\") {\n lookFront();\n }\n}\n\nfunction transformViewX(deviceX)\n{\n var screenX = deviceToScreen.transformX(deviceX);\n return viewMatrix.invertTransformX(screenX);\n}\n\n\nfunction transformViewY(deviceY)\n{\n var screenY = deviceToScreen.transformY(deviceY);\n return viewMatrix.invertTransformY(screenY);\n}\n\n\nfunction transformScreenX(deviceX)\n{\n return deviceToScreen.transformX(deviceX);\n}\n\n\nfunction transformScreenY(deviceY)\n{\n return deviceToScreen.transformY(deviceY);\n}\n\nexport{\n theRealInit,\n captureFrame,\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/cLive2DApp.js","/**\n * ============================================================\n * Live2D Cubism SDK for WebGL Version 2.1.00_1\n *\n * (c) Live2D Inc.\n * ============================================================\n *\n * This is a Software Development Kit (SDK) for developing Live2D-Cubism-powered applications on WebGL.\n * The SDK contains proprietary libraries and sample projects.\n * Read this document when using the SDK.\n *\n * ------------------------------\n * License\n * ------------------------------\n * Read Live2D License Agreement\n * for business\n * http://live2d.com/en/sdk_license_cubism3\n *\n * for indie\n * http://live2d.com/en/sdk_license_cubism_indie\n *\n * After agree and accept Live2D SDK License Agreement, the content in the following folders may be placed in the server which you control.\n * SDK\n * ├─framework\n * │ Live2DFramework.js\n * │\n * ├─lib\n * │ live2d.min.js\n * │\n * └─sample\n */\n\n// Changes have been done and intention:\n// 1. Pretty the code using Chrome for easy editing.\n// 2. Use ES6's module system to prevent functions from exposing to 'window' and easy compatibility for ES6.\n\n\nvar j = true;\nfunction aa() {\n if (j) {\n return;\n }\n this._$MT = null;\n this._$5S = null;\n this._$NP = 0;\n aa._$42++;\n this._$5S = new y(this);\n}\naa._$0s = 1;\naa._$4s = 2;\naa._$42 = 0;\naa._$62 = function(aQ, aU) {\n try {\n if (aU instanceof ArrayBuffer) {\n aU = new DataView(aU);\n }\n if (!(aU instanceof DataView)) {\n throw new J(\"_$SS#loadModel(b) / b _$x be DataView or ArrayBuffer\");\n }\n var aS = new K(aU);\n var aM = aS._$ST();\n var aK = aS._$ST();\n var aJ = aS._$ST();\n var aN;\n if (aM == 109 && aK == 111 && aJ == 99) {\n aN = aS._$ST();\n } else {\n throw new J(\"_$gi _$C _$li , _$Q0 _$P0.\");\n }\n aS._$gr(aN);\n if (aN > ay._$T7) {\n aQ._$NP |= aa._$4s;\n var aR = ay._$T7;\n var aI = \"_$gi _$C _$li , _$n0 _$_ version _$li ( SDK : \" + aR + \" < _$f0 : \" + aN + \" )@_$SS#loadModel()\\n\";\n throw new J(aI);\n }\n var aL = aS._$nP();\n if (aN >= ay._$s7) {\n var aH = aS._$9T();\n var aT = aS._$9T();\n if (aH != -30584 || aT != -30584) {\n aQ._$NP |= aa._$0s;\n throw new J(\"_$gi _$C _$li , _$0 _$6 _$Ui.\");\n }\n }\n aQ._$KS(aL);\n var aP = aQ.getModelContext();\n aP.setDrawParam(aQ.getDrawParam());\n aP.init();\n } catch (aO) {\n q._$Rb(aO);\n }\n}\n;\naa.prototype._$KS = function(aH) {\n this._$MT = aH;\n}\n;\naa.prototype.getModelImpl = function() {\n if (this._$MT == null) {\n this._$MT = new w();\n this._$MT._$zP();\n }\n return this._$MT;\n}\n;\naa.prototype.getCanvasWidth = function() {\n if (this._$MT == null) {\n return 0;\n }\n return this._$MT.getCanvasWidth();\n}\n;\naa.prototype.getCanvasHeight = function() {\n if (this._$MT == null) {\n return 0;\n }\n return this._$MT.getCanvasHeight();\n}\n;\naa.prototype.getParamFloat = function(aH) {\n if (typeof aH != \"number\") {\n aH = this._$5S.getParamIndex(z.getID(aH));\n }\n return this._$5S.getParamFloat(aH);\n}\n;\naa.prototype.setParamFloat = function(aH, aJ, aI) {\n if (typeof aH != \"number\") {\n aH = this._$5S.getParamIndex(z.getID(aH));\n }\n if (arguments.length < 3) {\n aI = 1;\n }\n this._$5S.setParamFloat(aH, this._$5S.getParamFloat(aH) * (1 - aI) + aJ * aI);\n}\n;\naa.prototype.addToParamFloat = function(aH, aJ, aI) {\n if (typeof aH != \"number\") {\n aH = this._$5S.getParamIndex(z.getID(aH));\n }\n if (arguments.length < 3) {\n aI = 1;\n }\n this._$5S.setParamFloat(aH, this._$5S.getParamFloat(aH) + aJ * aI);\n}\n;\naa.prototype.multParamFloat = function(aH, aJ, aI) {\n if (typeof aH != \"number\") {\n aH = this._$5S.getParamIndex(z.getID(aH));\n }\n if (arguments.length < 3) {\n aI = 1;\n }\n this._$5S.setParamFloat(aH, this._$5S.getParamFloat(aH) * (1 + (aJ - 1) * aI));\n}\n;\naa.prototype.getParamIndex = function(aH) {\n return this._$5S.getParamIndex(z.getID(aH));\n}\n;\naa.prototype.loadParam = function() {\n this._$5S.loadParam();\n}\n;\naa.prototype.saveParam = function() {\n this._$5S.saveParam();\n}\n;\naa.prototype.init = function() {\n this._$5S.init();\n}\n;\naa.prototype.update = function() {\n this._$5S.update();\n}\n;\naa.prototype._$Rs = function() {\n q._$li(\"_$60 _$PT _$Rs()\");\n return -1;\n}\n;\naa.prototype._$Ds = function(aH) {\n q._$li(\"_$60 _$PT _$SS#_$Ds() \\n\");\n}\n;\naa.prototype._$K2 = function() {}\n;\naa.prototype.draw = function() {}\n;\naa.prototype.getModelContext = function() {\n return this._$5S;\n}\n;\naa.prototype._$s2 = function() {\n return this._$NP;\n}\n;\naa.prototype._$P7 = function(aK, aR, aH, a0) {\n var aU = -1;\n var aY = 0;\n var aM = this;\n var aJ = 0.5;\n var aI = 0.15;\n var aX = true;\n if (aH == 0) {\n for (var aV = 0; aV < aK.length; aV++) {\n var aP = aK[aV];\n var aO = aR[aV];\n var aS = (aM.getParamFloat(aP) != 0);\n aM.setPartsOpacity(aO, (aS ? 1 : 0));\n }\n return;\n } else {\n if (aK.length == 1) {\n var aP = aK[0];\n var aT = (aM.getParamFloat(aP) != 0);\n var aO = aR[0];\n var aQ = aM.getPartsOpacity(aO);\n var aW = aH / a0;\n if (aT) {\n aQ += aW;\n if (aQ > 1) {\n aQ = 1;\n }\n } else {\n aQ -= aW;\n if (aQ < 0) {\n aQ = 0;\n }\n }\n aM.setPartsOpacity(aO, aQ);\n } else {\n for (var aV = 0; aV < aK.length; aV++) {\n var aP = aK[aV];\n var aS = (aM.getParamFloat(aP) != 0);\n if (aS) {\n if (aU >= 0) {\n break;\n }\n aU = aV;\n var aO = aR[aV];\n aY = aM.getPartsOpacity(aO);\n aY += aH / a0;\n if (aY > 1) {\n aY = 1;\n }\n }\n }\n if (aU < 0) {\n console.log(\"No _$wi _$q0/ _$U default[%s]\", aK[0]);\n aU = 0;\n aY = 1;\n aM.loadParam();\n aM.setParamFloat(aK[aU], aY);\n aM.saveParam();\n }\n for (var aV = 0; aV < aK.length; aV++) {\n var aO = aR[aV];\n if (aU == aV) {\n aM.setPartsOpacity(aO, aY);\n } else {\n var aL = aM.getPartsOpacity(aO);\n var aZ;\n if (aY < aJ) {\n aZ = aY * (aJ - 1) / aJ + 1;\n } else {\n aZ = (1 - aY) * aJ / (1 - aJ);\n }\n if (aX) {\n var aN = (1 - aZ) * (1 - aY);\n if (aN > aI) {\n aZ = 1 - aI / (1 - aY);\n }\n }\n if (aL > aZ) {\n aL = aZ;\n }\n aM.setPartsOpacity(aO, aL);\n }\n }\n }\n }\n}\n;\naa.prototype.setPartsOpacity = function(aI, aH) {\n if (typeof aI != \"number\") {\n aI = this._$5S.getPartsDataIndex(i.getID(aI));\n }\n this._$5S.setPartsOpacity(aI, aH);\n}\n;\naa.prototype.getPartsDataIndex = function(aH) {\n if (!(aH instanceof i)) {\n aH = i.getID(aH);\n }\n return this._$5S.getPartsDataIndex(aH);\n}\n;\naa.prototype.getPartsOpacity = function(aH) {\n if (typeof aH != \"number\") {\n aH = this._$5S.getPartsDataIndex(i.getID(aH));\n }\n if (aH < 0) {\n return 0;\n }\n return this._$5S.getPartsOpacity(aH);\n}\n;\naa.prototype.getDrawParam = function() {}\n;\naa.prototype.getDrawDataIndex = function(aH) {\n return this._$5S.getDrawDataIndex(Z.getID(aH));\n}\n;\naa.prototype.getDrawData = function(aH) {\n return this._$5S.getDrawData(aH);\n}\n;\naa.prototype.getTransformedPoints = function(aH) {\n var aI = this._$5S._$C2(aH);\n if (aI instanceof ag) {\n return (aI).getTransformedPoints();\n }\n return null;\n}\n;\naa.prototype.getIndexArray = function(aI) {\n if (aI < 0 || aI >= this._$5S._$aS.length) {\n return null;\n }\n var aH = this._$5S._$aS[aI];\n if (aH != null && aH.getType() == a._$wb) {\n if (aH instanceof b) {\n return aH.getIndexArray();\n }\n }\n return null;\n}\n;\nfunction W(aJ) {\n if (j) {\n return;\n }\n this.clipContextList = new Array();\n this.glcontext = aJ.gl;\n this.dp_webgl = aJ;\n this.curFrameNo = 0;\n this.firstError_clipInNotUpdate = true;\n this.colorBuffer = 0;\n this.isInitGLFBFunc = false;\n this.tmpBoundsOnModel = new av();\n if (Q.glContext.length > Q.frameBuffers.length) {\n this.curFrameNo = this.getMaskRenderTexture();\n } else {}\n this.tmpModelToViewMatrix = new ac();\n this.tmpMatrix2 = new ac();\n this.tmpMatrixForMask = new ac();\n this.tmpMatrixForDraw = new ac();\n this.CHANNEL_COLORS = new Array();\n var aI = new o();\n aI = new o();\n aI.r = 0;\n aI.g = 0;\n aI.b = 0;\n aI.a = 1;\n this.CHANNEL_COLORS.push(aI);\n aI = new o();\n aI.r = 1;\n aI.g = 0;\n aI.b = 0;\n aI.a = 0;\n this.CHANNEL_COLORS.push(aI);\n aI = new o();\n aI.r = 0;\n aI.g = 1;\n aI.b = 0;\n aI.a = 0;\n this.CHANNEL_COLORS.push(aI);\n aI = new o();\n aI.r = 0;\n aI.g = 0;\n aI.b = 1;\n aI.a = 0;\n this.CHANNEL_COLORS.push(aI);\n for (var aH = 0; aH < this.CHANNEL_COLORS.length; aH++) {\n this.dp_webgl.setChannelFlagAsColor(aH, this.CHANNEL_COLORS[aH]);\n }\n}\nW.CHANNEL_COUNT = 4;\nW.RENDER_TEXTURE_USE_MIPMAP = false;\nW.NOT_USED_FRAME = -100;\nW.prototype._$L7 = function() {\n if (this.tmpModelToViewMatrix) {\n this.tmpModelToViewMatrix = null;\n }\n if (this.tmpMatrix2) {\n this.tmpMatrix2 = null;\n }\n if (this.tmpMatrixForMask) {\n this.tmpMatrixForMask = null;\n }\n if (this.tmpMatrixForDraw) {\n this.tmpMatrixForDraw = null;\n }\n if (this.tmpBoundsOnModel) {\n this.tmpBoundsOnModel = null;\n }\n if (this.CHANNEL_COLORS) {\n for (var aH = this.CHANNEL_COLORS.length - 1; aH >= 0; --aH) {\n this.CHANNEL_COLORS.splice(aH, 1);\n }\n this.CHANNEL_COLORS = [];\n }\n this.releaseShader();\n}\n;\nW.prototype.releaseShader = function() {\n var aI = Q.frameBuffers.length;\n for (var aH = 0; aH < aI; aH++) {\n this.gl.deleteFramebuffer(Q.frameBuffers[aH].framebuffer);\n }\n Q.frameBuffers = [];\n Q.glContext = [];\n}\n;\nW.prototype.init = function(aO, aN, aL) {\n for (var aM = 0; aM < aN.length; aM++) {\n var aH = aN[aM].getClipIDList();\n if (aH == null) {\n continue;\n }\n var aJ = this.findSameClip(aH);\n if (aJ == null) {\n aJ = new U(this,aO,aH);\n this.clipContextList.push(aJ);\n }\n var aI = aN[aM].getDrawDataID();\n var aK = aO.getDrawDataIndex(aI);\n aJ.addClippedDrawData(aI, aK);\n var aP = aL[aM];\n aP.clipBufPre_clipContext = aJ;\n }\n}\n;\nW.prototype.getMaskRenderTexture = function() {\n var aH = null;\n aH = this.dp_webgl.createFramebuffer();\n Q.frameBuffers[this.dp_webgl.glno] = aH;\n return this.dp_webgl.glno;\n}\n;\nW.prototype.setupClip = function(a1, aQ) {\n var aK = 0;\n for (var aO = 0; aO < this.clipContextList.length; aO++) {\n var aP = this.clipContextList[aO];\n this.calcClippedDrawTotalBounds(a1, aP);\n if (aP.isUsing) {\n aK++;\n }\n }\n if (aK > 0) {\n var aM = aQ.gl.getParameter(aQ.gl.FRAMEBUFFER_BINDING);\n var aW = new Array(4);\n aW[0] = 0;\n aW[1] = 0;\n aW[2] = aQ.gl.canvas.width;\n aW[3] = aQ.gl.canvas.height;\n aQ.gl.viewport(0, 0, Q.clippingMaskBufferSize, Q.clippingMaskBufferSize);\n this.setupLayoutBounds(aK);\n aQ.gl.bindFramebuffer(aQ.gl.FRAMEBUFFER, Q.frameBuffers[this.curFrameNo].framebuffer);\n aQ.gl.clearColor(0, 0, 0, 0);\n aQ.gl.clear(aQ.gl.COLOR_BUFFER_BIT);\n for (var aO = 0; aO < this.clipContextList.length; aO++) {\n var aP = this.clipContextList[aO];\n var aT = aP.allClippedDrawRect;\n var aN = aP.layoutChannelNo;\n var aV = aP.layoutBounds;\n var aJ = 0.05;\n this.tmpBoundsOnModel._$jL(aT);\n this.tmpBoundsOnModel.expand(aT.width * aJ, aT.height * aJ);\n var aZ = aV.width / this.tmpBoundsOnModel.width;\n var aY = aV.height / this.tmpBoundsOnModel.height;\n this.tmpMatrix2.identity();\n this.tmpMatrix2.translate(-1, -1, 0);\n this.tmpMatrix2.scale(2, 2, 1);\n this.tmpMatrix2.translate(aV.x, aV.y, 0);\n this.tmpMatrix2.scale(aZ, aY, 1);\n this.tmpMatrix2.translate(-this.tmpBoundsOnModel.x, -this.tmpBoundsOnModel.y, 0);\n this.tmpMatrixForMask.setMatrix(this.tmpMatrix2.m);\n this.tmpMatrix2.identity();\n this.tmpMatrix2.translate(aV.x, aV.y, 0);\n this.tmpMatrix2.scale(aZ, aY, 1);\n this.tmpMatrix2.translate(-this.tmpBoundsOnModel.x, -this.tmpBoundsOnModel.y, 0);\n this.tmpMatrixForDraw.setMatrix(this.tmpMatrix2.m);\n var aH = this.tmpMatrixForMask.getArray();\n for (var aX = 0; aX < 16; aX++) {\n aP.matrixForMask[aX] = aH[aX];\n }\n var a0 = this.tmpMatrixForDraw.getArray();\n for (var aX = 0; aX < 16; aX++) {\n aP.matrixForDraw[aX] = a0[aX];\n }\n var aS = aP.clippingMaskDrawIndexList.length;\n for (var aU = 0; aU < aS; aU++) {\n var aR = aP.clippingMaskDrawIndexList[aU];\n var aI = a1.getDrawData(aR);\n var aL = a1._$C2(aR);\n aQ.setClipBufPre_clipContextForMask(aP);\n aI.draw(aQ, a1, aL);\n }\n }\n aQ.gl.bindFramebuffer(aQ.gl.FRAMEBUFFER, aM);\n aQ.setClipBufPre_clipContextForMask(null);\n aQ.gl.viewport(aW[0], aW[1], aW[2], aW[3]);\n }\n}\n;\nW.prototype.getColorBuffer = function() {\n return this.colorBuffer;\n}\n;\nW.prototype.findSameClip = function(aK) {\n for (var aN = 0; aN < this.clipContextList.length; aN++) {\n var aO = this.clipContextList[aN];\n var aH = aO.clipIDList.length;\n if (aH != aK.length) {\n continue;\n }\n var aI = 0;\n for (var aM = 0; aM < aH; aM++) {\n var aL = aO.clipIDList[aM];\n for (var aJ = 0; aJ < aH; aJ++) {\n if (aK[aJ] == aL) {\n aI++;\n break;\n }\n }\n }\n if (aI == aH) {\n return aO;\n }\n }\n return null;\n}\n;\nW.prototype.calcClippedDrawTotalBounds = function(a6, aV) {\n var aU = a6._$Ri.getModelImpl().getCanvasWidth();\n var a5 = a6._$Ri.getModelImpl().getCanvasHeight();\n var aJ = aU > a5 ? aU : a5;\n var aT = aJ;\n var aR = aJ;\n var aS = 0;\n var aP = 0;\n var aL = aV.clippedDrawContextList.length;\n for (var aM = 0; aM < aL; aM++) {\n var aW = aV.clippedDrawContextList[aM];\n var aN = aW.drawDataIndex;\n var aK = a6._$C2(aN);\n if (aK._$yo()) {\n var aX = aK.getTransformedPoints();\n var a4 = aX.length;\n var aI = [];\n var aH = [];\n var aO = 0;\n for (var a3 = aw._$i2; a3 < a4; a3 += aw._$No) {\n aI[aO] = aX[a3];\n aH[aO] = aX[a3 + 1];\n aO++;\n }\n var a2 = Math.min.apply(null, aI);\n var a1 = Math.min.apply(null, aH);\n var a0 = Math.max.apply(null, aI);\n var aZ = Math.max.apply(null, aH);\n if (a2 < aT) {\n aT = a2;\n }\n if (a1 < aR) {\n aR = a1;\n }\n if (a0 > aS) {\n aS = a0;\n }\n if (aZ > aP) {\n aP = aZ;\n }\n }\n }\n if (aT == aJ) {\n aV.allClippedDrawRect.x = 0;\n aV.allClippedDrawRect.y = 0;\n aV.allClippedDrawRect.width = 0;\n aV.allClippedDrawRect.height = 0;\n aV.isUsing = false;\n } else {\n var aQ = aS - aT;\n var aY = aP - aR;\n aV.allClippedDrawRect.x = aT;\n aV.allClippedDrawRect.y = aR;\n aV.allClippedDrawRect.width = aQ;\n aV.allClippedDrawRect.height = aY;\n aV.isUsing = true;\n }\n}\n;\nW.prototype.setupLayoutBounds = function(aQ) {\n var aI = aQ / W.CHANNEL_COUNT;\n var aP = aQ % W.CHANNEL_COUNT;\n aI = ~~aI;\n aP = ~~aP;\n var aH = 0;\n for (var aJ = 0; aJ < W.CHANNEL_COUNT; aJ++) {\n var aM = aI + (aJ < aP ? 1 : 0);\n if (aM == 0) {} else {\n if (aM == 1) {\n var aL = this.clipContextList[aH++];\n aL.layoutChannelNo = aJ;\n aL.layoutBounds.x = 0;\n aL.layoutBounds.y = 0;\n aL.layoutBounds.width = 1;\n aL.layoutBounds.height = 1;\n } else {\n if (aM == 2) {\n for (var aO = 0; aO < aM; aO++) {\n var aN = aO % 2;\n var aK = 0;\n aN = ~~aN;\n var aL = this.clipContextList[aH++];\n aL.layoutChannelNo = aJ;\n aL.layoutBounds.x = aN * 0.5;\n aL.layoutBounds.y = 0;\n aL.layoutBounds.width = 0.5;\n aL.layoutBounds.height = 1;\n }\n } else {\n if (aM <= 4) {\n for (var aO = 0; aO < aM; aO++) {\n var aN = aO % 2;\n var aK = aO / 2;\n aN = ~~aN;\n aK = ~~aK;\n var aL = this.clipContextList[aH++];\n aL.layoutChannelNo = aJ;\n aL.layoutBounds.x = aN * 0.5;\n aL.layoutBounds.y = aK * 0.5;\n aL.layoutBounds.width = 0.5;\n aL.layoutBounds.height = 0.5;\n }\n } else {\n if (aM <= 9) {\n for (var aO = 0; aO < aM; aO++) {\n var aN = aO % 3;\n var aK = aO / 3;\n aN = ~~aN;\n aK = ~~aK;\n var aL = this.clipContextList[aH++];\n aL.layoutChannelNo = aJ;\n aL.layoutBounds.x = aN / 3;\n aL.layoutBounds.y = aK / 3;\n aL.layoutBounds.width = 1 / 3;\n aL.layoutBounds.height = 1 / 3;\n }\n } else {\n q._$li(\"_$6 _$0P mask count : %d\", aM);\n }\n }\n }\n }\n }\n }\n}\n;\nfunction U(aH, aK, aI) {\n this.clipIDList = new Array();\n this.clipIDList = aI;\n this.clippingMaskDrawIndexList = new Array();\n for (var aJ = 0; aJ < aI.length; aJ++) {\n this.clippingMaskDrawIndexList.push(aK.getDrawDataIndex(aI[aJ]));\n }\n this.clippedDrawContextList = new Array();\n this.isUsing = true;\n this.layoutChannelNo = 0;\n this.layoutBounds = new av();\n this.allClippedDrawRect = new av();\n this.matrixForMask = new Float32Array(16);\n this.matrixForDraw = new Float32Array(16);\n this.owner = aH;\n}\nU.prototype.addClippedDrawData = function(aJ, aI) {\n var aH = new R(aJ,aI);\n this.clippedDrawContextList.push(aH);\n}\n;\nfunction R(aI, aH) {\n this._$gP = aI;\n this.drawDataIndex = aH;\n}\nfunction I() {\n if (j) {\n return;\n }\n this.color = null;\n}\nfunction ah() {\n if (j) {\n return;\n }\n this._$dP = null;\n this._$eo = null;\n this._$V0 = null;\n this._$dP = 1000;\n this._$eo = 1000;\n this._$V0 = 1;\n this._$a0();\n}\nah._$JT = function(aP, aN, aO) {\n var aQ = aP / aN;\n var a1 = aO / aN;\n var aU = a1;\n var aZ = 1 / 3;\n var aR = 2 / 3;\n var a0 = 1 - (1 - a1) * (1 - a1);\n var a2 = 1 - (1 - aU) * (1 - aU);\n var aM = 0;\n var aL = ((1 - a1) * aZ) * a0 + (aU * aR + (1 - aU) * aZ) * (1 - a0);\n var aK = (aU + (1 - aU) * aR) * a2 + (a1 * aZ + (1 - a1) * aR) * (1 - a2);\n var aJ = 1;\n var aY = aJ - 3 * aK + 3 * aL - aM;\n var aX = 3 * aK - 6 * aL + 3 * aM;\n var aW = 3 * aL - 3 * aM;\n var aV = aM;\n if (aQ <= 0) {\n return 0;\n } else {\n if (aQ >= 1) {\n return 1;\n }\n }\n var aS = aQ;\n var aI = aS * aS;\n var aH = aS * aI;\n var aT = aY * aH + aX * aI + aW * aS + aV;\n return aT;\n}\n;\nah.prototype._$a0 = function() {}\n;\nah.prototype.setFadeIn = function(aH) {\n this._$dP = aH;\n}\n;\nah.prototype.setFadeOut = function(aH) {\n this._$eo = aH;\n}\n;\nah.prototype._$pT = function(aH) {\n this._$V0 = aH;\n}\n;\nah.prototype.getFadeOut = function() {\n return this._$eo;\n}\n;\nah.prototype._$4T = function() {\n return this._$eo;\n}\n;\nah.prototype._$mT = function() {\n return this._$V0;\n}\n;\nah.prototype.getDurationMSec = function() {\n return -1;\n}\n;\nah.prototype.getLoopDurationMSec = function() {\n return -1;\n}\n;\nah.prototype.updateParam = function(aJ, aN) {\n if (!aN._$AT || aN._$9L) {\n return;\n }\n var aL = P.getUserTimeMSec();\n if (aN._$z2 < 0) {\n aN._$z2 = aL;\n aN._$bs = aL;\n var aM = this.getDurationMSec();\n if (aN._$Do < 0) {\n aN._$Do = (aM <= 0) ? -1 : aN._$z2 + aM;\n }\n }\n var aI = this._$V0;\n var aH = (this._$dP == 0) ? 1 : A._$r2(((aL - aN._$bs) / (this._$dP)));\n var aK = (this._$eo == 0 || aN._$Do < 0) ? 1 : A._$r2(((aN._$Do - aL) / (this._$eo)));\n aI = aI * aH * aK;\n if (!((0 <= aI && aI <= 1))) {\n console.log(\"### assert!! ### \");\n }\n this.updateParamExe(aJ, aL, aI, aN);\n if (aN._$Do > 0 && aN._$Do < aL) {\n aN._$9L = true;\n }\n}\n;\nah.prototype.updateParamExe = function(aH, aI, aJ, aK) {}\n;\nfunction q() {}\nq._$8s = 0;\nq._$fT = new Object();\nq.start = function(aI) {\n var aH = q._$fT[aI];\n if (aH == null) {\n aH = new af();\n aH._$r = aI;\n q._$fT[aI] = aH;\n }\n aH._$0S = P.getSystemTimeMSec();\n}\n;\nq.dump = function(aJ) {\n var aH = q._$fT[aJ];\n if (aH != null) {\n var aI = P.getSystemTimeMSec();\n var aK = aI - aH._$0S;\n console.log(aJ + \" : \" + aK + \"ms\");\n return aK;\n } else {\n return -1;\n }\n}\n;\nq.end = function(aJ) {\n var aH = q._$fT[aJ];\n if (aH != null) {\n var aI = P.getSystemTimeMSec();\n return aI - aH._$0S;\n } else {\n return -1;\n }\n}\n;\nq._$li = function(aI, aH) {\n console.log(\"_$li : \" + aI + \"\\n\", aH);\n}\n;\nq._$Ji = function(aI, aH) {\n console.log(aI, aH);\n}\n;\nq._$dL = function(aI, aH) {\n console.log(aI, aH);\n console.log(\"\\n\");\n}\n;\nq._$KL = function(aJ, aI) {\n for (var aH = 0; aH < aI; aH++) {\n if (aH % 16 == 0 && aH > 0) {\n console.log(\"\\n\");\n } else {\n if (aH % 8 == 0 && aH > 0) {\n console.log(\" \");\n }\n }\n console.log(\"%02X \", (aJ[aH] & 255));\n }\n console.log(\"\\n\");\n}\n;\nq._$nr = function(aL, aI, aK) {\n console.log(\"%s\\n\", aL);\n var aH = aI.length;\n for (var aJ = 0; aJ < aH; ++aJ) {\n console.log(\"%5d\", aI[aJ]);\n console.log(\"%s\\n\", aK);\n console.log(\",\");\n }\n console.log(\"\\n\");\n}\n;\nq._$Rb = function(aH) {\n console.log(\"dump exception : \" + aH);\n console.log(\"stack :: \" + aH.stack);\n}\n;\nfunction af() {\n this._$r = null;\n this._$0S = null;\n}\nfunction F() {\n if (j) {\n return;\n }\n this.x = null;\n this.y = null;\n this.width = null;\n this.height = null;\n}\nF.prototype._$8P = function() {\n return 0.5 * (this.x + this.x + this.width);\n}\n;\nF.prototype._$6P = function() {\n return 0.5 * (this.y + this.y + this.height);\n}\n;\nF.prototype._$EL = function() {\n return this.x + this.width;\n}\n;\nF.prototype._$5T = function() {\n return this.y + this.height;\n}\n;\nF.prototype._$jL = function(aI, aK, aJ, aH) {\n this.x = aI;\n this.y = aK;\n this.width = aJ;\n this.height = aH;\n}\n;\nF.prototype._$jL = function(aH) {\n this.x = aH.x;\n this.y = aH.y;\n this.width = aH.width;\n this.height = aH.height;\n}\n;\nfunction i(aH) {\n if (j) {\n return;\n }\n ak.prototype.constructor.call(this, aH);\n}\ni.prototype = new ak();\ni._$tP = new Object();\ni._$27 = function() {\n i._$tP.clear();\n}\n;\ni.getID = function(aH) {\n var aI = i._$tP[aH];\n if (aI == null) {\n aI = new i(aH);\n i._$tP[aH] = aI;\n }\n return aI;\n}\n;\ni.prototype._$3s = function() {\n return new i();\n}\n;\nfunction S() {}\nfunction z(aH) {\n if (j) {\n return;\n }\n ak.prototype.constructor.call(this, aH);\n}\nz.prototype = new ak();\nz._$tP = new Object();\nz._$27 = function() {\n z._$tP.clear();\n}\n;\nz.getID = function(aH) {\n var aI = z._$tP[aH];\n if (aI == null) {\n aI = new z(aH);\n z._$tP[aH] = aI;\n }\n return aI;\n}\n;\nz.prototype._$3s = function() {\n return new z();\n}\n;\nfunction w() {\n if (j) {\n return;\n }\n this._$vo = null;\n this._$F2 = null;\n this._$ao = 400;\n this._$1S = 400;\n w._$42++;\n}\nw._$42 = 0;\nw.prototype._$zP = function() {\n if (this._$vo == null) {\n this._$vo = new an();\n }\n if (this._$F2 == null) {\n this._$F2 = new Array();\n }\n}\n;\nw.prototype.getCanvasWidth = function() {\n return this._$ao;\n}\n;\nw.prototype.getCanvasHeight = function() {\n return this._$1S;\n}\n;\nw.prototype._$F0 = function(aH) {\n this._$vo = aH._$nP();\n this._$F2 = aH._$nP();\n this._$ao = aH._$6L();\n this._$1S = aH._$6L();\n}\n;\nw.prototype._$6S = function(aH) {\n this._$F2.push(aH);\n}\n;\nw.prototype._$Xr = function() {\n return this._$F2;\n}\n;\nw.prototype._$E2 = function() {\n return this._$vo;\n}\n;\nfunction u() {\n if (j) {\n return;\n }\n this.p1 = new N();\n this.p2 = new N();\n this._$Fo = 0;\n this._$Db = 0;\n this._$L2 = 0;\n this._$M2 = 0;\n this._$ks = 0;\n this._$9b = 0;\n this._$iP = 0;\n this._$iT = 0;\n this._$lL = new Array();\n this._$qP = new Array();\n this.setup(0.3, 0.5, 0.1);\n}\nu.prototype.setup = function(aJ, aI, aH) {\n this._$ks = this._$Yb();\n this.p2._$xT();\n if (arguments.length == 3) {\n this._$Fo = aJ;\n this._$L2 = aI;\n this.p1._$p = aH;\n this.p2._$p = aH;\n this.p2.y = aJ;\n this.setup();\n }\n}\n;\nu.prototype.getPhysicsPoint1 = function() {\n return this.p1;\n}\n;\nu.prototype.getPhysicsPoint2 = function() {\n return this.p2;\n}\n;\nu.prototype._$qr = function() {\n return this._$Db;\n}\n;\nu.prototype._$pr = function(aH) {\n this._$Db = aH;\n}\n;\nu.prototype._$5r = function() {\n return this._$M2;\n}\n;\nu.prototype._$Cs = function() {\n return this._$9b;\n}\n;\nu.prototype._$Yb = function() {\n return (-180 * (Math.atan2(this.p1.x - this.p2.x, -(this.p1.y - this.p2.y))) / Math.PI);\n}\n;\nu.prototype.addSrcParam = function(aJ, aH, aL, aI) {\n var aK = new h(aJ,aH,aL,aI);\n this._$lL.push(aK);\n}\n;\nu.prototype.addTargetParam = function(aJ, aH, aK, aI) {\n var aL = new aF(aJ,aH,aK,aI);\n this._$qP.push(aL);\n}\n;\nu.prototype.update = function(aI, aL) {\n if (this._$iP == 0) {\n this._$iP = this._$iT = aL;\n this._$Fo = (Math.sqrt((this.p1.x - this.p2.x) * (this.p1.x - this.p2.x) + (this.p1.y - this.p2.y) * (this.p1.y - this.p2.y)));\n return;\n }\n var aK = (aL - this._$iT) / 1000;\n if (aK != 0) {\n for (var aJ = this._$lL.length - 1; aJ >= 0; --aJ) {\n var aM = this._$lL[aJ];\n aM._$oP(aI, this);\n }\n this._$oo(aI, aK);\n this._$M2 = this._$Yb();\n this._$9b = (this._$M2 - this._$ks) / aK;\n this._$ks = this._$M2;\n }\n for (var aJ = this._$qP.length - 1; aJ >= 0; --aJ) {\n var aH = this._$qP[aJ];\n aH._$YS(aI, this);\n }\n this._$iT = aL;\n}\n;\nu.prototype._$oo = function(aN, aI) {\n if (aI < 0.033) {\n aI = 0.033;\n }\n var aU = 1 / aI;\n this.p1.vx = (this.p1.x - this.p1._$s0) * aU;\n this.p1.vy = (this.p1.y - this.p1._$70) * aU;\n this.p1.ax = (this.p1.vx - this.p1._$7L) * aU;\n this.p1.ay = (this.p1.vy - this.p1._$HL) * aU;\n this.p1.fx = this.p1.ax * this.p1._$p;\n this.p1.fy = this.p1.ay * this.p1._$p;\n this.p1._$xT();\n var aM = -(Math.atan2((this.p1.y - this.p2.y), this.p1.x - this.p2.x));\n var aL;\n var aV;\n var aR = Math.cos(aM);\n var aH = Math.sin(aM);\n var aW = 9.8 * this.p2._$p;\n var aQ = (this._$Db * aC._$bS);\n var aP = (aW * Math.cos(aM - aQ));\n aL = (aP * aH);\n aV = (aP * aR);\n var aK = (-this.p1.fx * aH * aH);\n var aT = (-this.p1.fy * aH * aR);\n var aJ = ((-this.p2.vx * this._$L2));\n var aS = ((-this.p2.vy * this._$L2));\n this.p2.fx = ((aL + aK + aJ));\n this.p2.fy = ((aV + aT + aS));\n this.p2.ax = this.p2.fx / this.p2._$p;\n this.p2.ay = this.p2.fy / this.p2._$p;\n this.p2.vx += this.p2.ax * aI;\n this.p2.vy += this.p2.ay * aI;\n this.p2.x += this.p2.vx * aI;\n this.p2.y += this.p2.vy * aI;\n var aO = (Math.sqrt((this.p1.x - this.p2.x) * (this.p1.x - this.p2.x) + (this.p1.y - this.p2.y) * (this.p1.y - this.p2.y)));\n this.p2.x = this.p1.x + this._$Fo * (this.p2.x - this.p1.x) / aO;\n this.p2.y = this.p1.y + this._$Fo * (this.p2.y - this.p1.y) / aO;\n this.p2.vx = (this.p2.x - this.p2._$s0) * aU;\n this.p2.vy = (this.p2.y - this.p2._$70) * aU;\n this.p2._$xT();\n}\n;\nfunction N() {\n this._$p = 1;\n this.x = 0;\n this.y = 0;\n this.vx = 0;\n this.vy = 0;\n this.ax = 0;\n this.ay = 0;\n this.fx = 0;\n this.fy = 0;\n this._$s0 = 0;\n this._$70 = 0;\n this._$7L = 0;\n this._$HL = 0;\n}\nN.prototype._$xT = function() {\n this._$s0 = this.x;\n this._$70 = this.y;\n this._$7L = this.vx;\n this._$HL = this.vy;\n}\n;\nfunction at(aJ, aI, aH) {\n this._$wL = null;\n this.scale = null;\n this._$V0 = null;\n this._$wL = aJ;\n this.scale = aI;\n this._$V0 = aH;\n}\nat.prototype._$oP = function(aI, aH) {}\n;\nfunction h(aJ, aK, aI, aH) {\n at.prototype.constructor.call(this, aK, aI, aH);\n this._$tL = null;\n this._$tL = aJ;\n}\nh.prototype = new at();\nh.prototype._$oP = function(aJ, aH) {\n var aK = this.scale * aJ.getParamFloat(this._$wL);\n var aL = aH.getPhysicsPoint1();\n switch (this._$tL) {\n default:\n case u.Src.SRC_TO_X:\n aL.x = aL.x + (aK - aL.x) * this._$V0;\n break;\n case u.Src.SRC_TO_Y:\n aL.y = aL.y + (aK - aL.y) * this._$V0;\n break;\n case u.Src.SRC_TO_G_ANGLE:\n var aI = aH._$qr();\n aI = aI + (aK - aI) * this._$V0;\n aH._$pr(aI);\n break;\n }\n}\n;\nfunction d(aJ, aI, aH) {\n this._$wL = null;\n this.scale = null;\n this._$V0 = null;\n this._$wL = aJ;\n this.scale = aI;\n this._$V0 = aH;\n}\nd.prototype._$YS = function(aI, aH) {}\n;\nfunction aF(aI, aK, aJ, aH) {\n d.prototype.constructor.call(this, aK, aJ, aH);\n this._$YP = null;\n this._$YP = aI;\n}\naF.prototype = new d();\naF.prototype._$YS = function(aI, aH) {\n switch (this._$YP) {\n default:\n case u.Target.TARGET_FROM_ANGLE:\n aI.setParamFloat(this._$wL, this.scale * aH._$5r(), this._$V0);\n break;\n case u.Target.TARGET_FROM_ANGLE_V:\n aI.setParamFloat(this._$wL, this.scale * aH._$Cs(), this._$V0);\n break;\n }\n}\n;\nu.Src = function() {}\n;\nu.Src.SRC_TO_X = \"SRC_TO_X\";\nu.Src.SRC_TO_Y = \"SRC_TO_Y\";\nu.Src.SRC_TO_G_ANGLE = \"SRC_TO_G_ANGLE\";\nu.Target = function() {}\n;\nu.Target.TARGET_FROM_ANGLE = \"TARGET_FROM_ANGLE\";\nu.Target.TARGET_FROM_ANGLE_V = \"TARGET_FROM_ANGLE_V\";\nfunction X() {\n if (j) {\n return;\n }\n this._$fL = 0;\n this._$gL = 0;\n this._$B0 = 1;\n this._$z0 = 1;\n this._$qT = 0;\n this.reflectX = false;\n this.reflectY = false;\n}\nX.prototype.init = function(aH) {\n this._$fL = aH._$fL;\n this._$gL = aH._$gL;\n this._$B0 = aH._$B0;\n this._$z0 = aH._$z0;\n this._$qT = aH._$qT;\n this.reflectX = aH.reflectX;\n this.reflectY = aH.reflectY;\n}\n;\nX.prototype._$F0 = function(aH) {\n this._$fL = aH._$_T();\n this._$gL = aH._$_T();\n this._$B0 = aH._$_T();\n this._$z0 = aH._$_T();\n this._$qT = aH._$_T();\n if (aH.getFormatVersion() >= ay.LIVE2D_FORMAT_VERSION_V2_10_SDK2) {\n this.reflectX = aH._$po();\n this.reflectY = aH._$po();\n }\n}\n;\nX.prototype._$e = function() {}\n;\nvar ad = function() {};\nad._$ni = function(aL, aJ, aR, aQ, aK, aI, aH, aS, aN) {\n var aM = (aH * aI - aS * aK);\n if (aM == 0) {\n return null;\n } else {\n var aO = ((aL - aR) * aI - (aJ - aQ) * aK) / aM;\n var aP;\n if (aK != 0) {\n aP = (aL - aR - aO * aH) / aK;\n } else {\n aP = (aJ - aQ - aO * aS) / aI;\n }\n if (isNaN(aP)) {\n aP = (aL - aR - aO * aH) / aK;\n if (isNaN(aP)) {\n aP = (aJ - aQ - aO * aS) / aI;\n }\n if (isNaN(aP)) {\n console.log(\"a is NaN @UtVector#_$ni() \");\n console.log(\"v1x : \" + aK);\n console.log(\"v1x != 0 ? \" + (aK != 0));\n }\n }\n if (aN == null) {\n return new Array(aP,aO);\n } else {\n aN[0] = aP;\n aN[1] = aO;\n return aN;\n }\n }\n}\n;\nfunction av() {\n if (j) {\n return;\n }\n this.x = null;\n this.y = null;\n this.width = null;\n this.height = null;\n}\nav.prototype._$8P = function() {\n return this.x + 0.5 * this.width;\n}\n;\nav.prototype._$6P = function() {\n return this.y + 0.5 * this.height;\n}\n;\nav.prototype._$EL = function() {\n return this.x + this.width;\n}\n;\nav.prototype._$5T = function() {\n return this.y + this.height;\n}\n;\nav.prototype._$jL = function(aI, aK, aJ, aH) {\n this.x = aI;\n this.y = aK;\n this.width = aJ;\n this.height = aH;\n}\n;\nav.prototype._$jL = function(aH) {\n this.x = aH.x;\n this.y = aH.y;\n this.width = aH.width;\n this.height = aH.height;\n}\n;\nav.prototype.contains = function(aH, aI) {\n return this.x <= this.x && this.y <= this.y && (this.x <= this.x + this.width) && (this.y <= this.y + this.height);\n}\n;\nav.prototype.expand = function(aH, aI) {\n this.x -= aH;\n this.y -= aI;\n this.width += aH * 2;\n this.height += aI * 2;\n}\n;\nfunction aG() {}\naG._$Z2 = function(bb, bo, bp, a2) {\n var a1 = bo._$Q2(bb, bp);\n var a3 = bb._$vs();\n var ba = bb._$Tr();\n bo._$zr(a3, ba, a1);\n if (a1 <= 0) {\n return a2[a3[0]];\n } else {\n if (a1 == 1) {\n var bj = a2[a3[0]];\n var bi = a2[a3[1]];\n var a9 = ba[0];\n return (bj + (bi - bj) * a9) | 0;\n } else {\n if (a1 == 2) {\n var bj = a2[a3[0]];\n var bi = a2[a3[1]];\n var a0 = a2[a3[2]];\n var aZ = a2[a3[3]];\n var a9 = ba[0];\n var a8 = ba[1];\n var br = (bj + (bi - bj) * a9) | 0;\n var bq = (a0 + (aZ - a0) * a9) | 0;\n return (br + (bq - br) * a8) | 0;\n } else {\n if (a1 == 3) {\n var aP = a2[a3[0]];\n var aO = a2[a3[1]];\n var bn = a2[a3[2]];\n var bm = a2[a3[3]];\n var aK = a2[a3[4]];\n var aJ = a2[a3[5]];\n var bg = a2[a3[6]];\n var bf = a2[a3[7]];\n var a9 = ba[0];\n var a8 = ba[1];\n var a6 = ba[2];\n var bj = (aP + (aO - aP) * a9) | 0;\n var bi = (bn + (bm - bn) * a9) | 0;\n var a0 = (aK + (aJ - aK) * a9) | 0;\n var aZ = (bg + (bf - bg) * a9) | 0;\n var br = (bj + (bi - bj) * a8) | 0;\n var bq = (a0 + (aZ - a0) * a8) | 0;\n return (br + (bq - br) * a6) | 0;\n } else {\n if (a1 == 4) {\n var aT = a2[a3[0]];\n var aS = a2[a3[1]];\n var bu = a2[a3[2]];\n var bt = a2[a3[3]];\n var aN = a2[a3[4]];\n var aM = a2[a3[5]];\n var bl = a2[a3[6]];\n var bk = a2[a3[7]];\n var be = a2[a3[8]];\n var bc = a2[a3[9]];\n var aX = a2[a3[10]];\n var aW = a2[a3[11]];\n var a7 = a2[a3[12]];\n var a5 = a2[a3[13]];\n var aR = a2[a3[14]];\n var aQ = a2[a3[15]];\n var a9 = ba[0];\n var a8 = ba[1];\n var a6 = ba[2];\n var a4 = ba[3];\n var aP = (aT + (aS - aT) * a9) | 0;\n var aO = (bu + (bt - bu) * a9) | 0;\n var bn = (aN + (aM - aN) * a9) | 0;\n var bm = (bl + (bk - bl) * a9) | 0;\n var aK = (be + (bc - be) * a9) | 0;\n var aJ = (aX + (aW - aX) * a9) | 0;\n var bg = (a7 + (a5 - a7) * a9) | 0;\n var bf = (aR + (aQ - aR) * a9) | 0;\n var bj = (aP + (aO - aP) * a8) | 0;\n var bi = (bn + (bm - bn) * a8) | 0;\n var a0 = (aK + (aJ - aK) * a8) | 0;\n var aZ = (bg + (bf - bg) * a8) | 0;\n var br = (bj + (bi - bj) * a6) | 0;\n var bq = (a0 + (aZ - a0) * a6) | 0;\n return (br + (bq - br) * a4) | 0;\n } else {\n var aV = 1 << a1;\n var aY = new Float32Array(aV);\n for (var bh = 0; bh < aV; bh++) {\n var aI = bh;\n var aH = 1;\n for (var aL = 0; aL < a1; aL++) {\n aH *= (aI % 2 == 0) ? (1 - ba[aL]) : ba[aL];\n aI /= 2;\n }\n aY[bh] = aH;\n }\n var bs = new Float32Array(aV);\n for (var aU = 0; aU < aV; aU++) {\n bs[aU] = a2[a3[aU]];\n }\n var bd = 0;\n for (var aU = 0; aU < aV; aU++) {\n bd += aY[aU] * bs[aU];\n }\n return (bd + 0.5) | 0;\n }\n }\n }\n }\n }\n}\n;\naG._$br = function(ba, bo, bp, bg) {\n var a1 = bo._$Q2(ba, bp);\n var a2 = ba._$vs();\n var a9 = ba._$Tr();\n bo._$zr(a2, a9, a1);\n if (a1 <= 0) {\n return bg[a2[0]];\n } else {\n if (a1 == 1) {\n var bj = bg[a2[0]];\n var bi = bg[a2[1]];\n var a8 = a9[0];\n return bj + (bi - bj) * a8;\n } else {\n if (a1 == 2) {\n var bj = bg[a2[0]];\n var bi = bg[a2[1]];\n var a0 = bg[a2[2]];\n var aZ = bg[a2[3]];\n var a8 = a9[0];\n var a7 = a9[1];\n return (1 - a7) * (bj + (bi - bj) * a8) + a7 * (a0 + (aZ - a0) * a8);\n } else {\n if (a1 == 3) {\n var aP = bg[a2[0]];\n var aO = bg[a2[1]];\n var bn = bg[a2[2]];\n var bm = bg[a2[3]];\n var aK = bg[a2[4]];\n var aJ = bg[a2[5]];\n var bf = bg[a2[6]];\n var be = bg[a2[7]];\n var a8 = a9[0];\n var a7 = a9[1];\n var a5 = a9[2];\n return (1 - a5) * ((1 - a7) * (aP + (aO - aP) * a8) + a7 * (bn + (bm - bn) * a8)) + a5 * ((1 - a7) * (aK + (aJ - aK) * a8) + a7 * (bf + (be - bf) * a8));\n } else {\n if (a1 == 4) {\n var aT = bg[a2[0]];\n var aS = bg[a2[1]];\n var bs = bg[a2[2]];\n var br = bg[a2[3]];\n var aN = bg[a2[4]];\n var aM = bg[a2[5]];\n var bl = bg[a2[6]];\n var bk = bg[a2[7]];\n var bd = bg[a2[8]];\n var bb = bg[a2[9]];\n var aX = bg[a2[10]];\n var aW = bg[a2[11]];\n var a6 = bg[a2[12]];\n var a4 = bg[a2[13]];\n var aR = bg[a2[14]];\n var aQ = bg[a2[15]];\n var a8 = a9[0];\n var a7 = a9[1];\n var a5 = a9[2];\n var a3 = a9[3];\n return (1 - a3) * ((1 - a5) * ((1 - a7) * (aT + (aS - aT) * a8) + a7 * (bs + (br - bs) * a8)) + a5 * ((1 - a7) * (aN + (aM - aN) * a8) + a7 * (bl + (bk - bl) * a8))) + a3 * ((1 - a5) * ((1 - a7) * (bd + (bb - bd) * a8) + a7 * (aX + (aW - aX) * a8)) + a5 * ((1 - a7) * (a6 + (a4 - a6) * a8) + a7 * (aR + (aQ - aR) * a8)));\n } else {\n var aV = 1 << a1;\n var aY = new Float32Array(aV);\n for (var bh = 0; bh < aV; bh++) {\n var aI = bh;\n var aH = 1;\n for (var aL = 0; aL < a1; aL++) {\n aH *= (aI % 2 == 0) ? (1 - a9[aL]) : a9[aL];\n aI /= 2;\n }\n aY[bh] = aH;\n }\n var bq = new Float32Array(aV);\n for (var aU = 0; aU < aV; aU++) {\n bq[aU] = bg[a2[aU]];\n }\n var bc = 0;\n for (var aU = 0; aU < aV; aU++) {\n bc += aY[aU] * bq[aU];\n }\n return bc;\n }\n }\n }\n }\n }\n}\n;\naG._$Vr = function(bV, bW, a5, aI, bC, a3, bX, bH) {\n var aN = bW._$Q2(bV, a5);\n var bw = bV._$vs();\n var a2 = bV._$Tr();\n bW._$zr(bw, a2, aN);\n var aJ = aI * 2;\n var aQ = bX;\n if (aN <= 0) {\n var bI = bw[0];\n var bq = bC[bI];\n if (bH == 2 && bX == 0) {\n P._$jT(bq, 0, a3, 0, aJ);\n } else {\n for (var bt = 0; bt < aJ; ) {\n a3[aQ] = bq[bt++];\n a3[aQ + 1] = bq[bt++];\n aQ += bH;\n }\n }\n } else {\n if (aN == 1) {\n var bq = bC[bw[0]];\n var bp = bC[bw[1]];\n var b3 = a2[0];\n var bT = 1 - b3;\n for (var bt = 0; bt < aJ; ) {\n a3[aQ] = bq[bt] * bT + bp[bt] * b3;\n ++bt;\n a3[aQ + 1] = bq[bt] * bT + bp[bt] * b3;\n ++bt;\n aQ += bH;\n }\n } else {\n if (aN == 2) {\n var bq = bC[bw[0]];\n var bp = bC[bw[1]];\n var aZ = bC[bw[2]];\n var aY = bC[bw[3]];\n var b3 = a2[0];\n var b1 = a2[1];\n var bT = 1 - b3;\n var bP = 1 - b1;\n var b2 = bP * bT;\n var b0 = bP * b3;\n var bM = b1 * bT;\n var bL = b1 * b3;\n for (var bt = 0; bt < aJ; ) {\n a3[aQ] = b2 * bq[bt] + b0 * bp[bt] + bM * aZ[bt] + bL * aY[bt];\n ++bt;\n a3[aQ + 1] = b2 * bq[bt] + b0 * bp[bt] + bM * aZ[bt] + bL * aY[bt];\n ++bt;\n aQ += bH;\n }\n } else {\n if (aN == 3) {\n var ba = bC[bw[0]];\n var a9 = bC[bw[1]];\n var aP = bC[bw[2]];\n var aO = bC[bw[3]];\n var a6 = bC[bw[4]];\n var a4 = bC[bw[5]];\n var aL = bC[bw[6]];\n var aK = bC[bw[7]];\n var b3 = a2[0];\n var b1 = a2[1];\n var bZ = a2[2];\n var bT = 1 - b3;\n var bP = 1 - b1;\n var bN = 1 - bZ;\n var b8 = bN * bP * bT;\n var b7 = bN * bP * b3;\n var bU = bN * b1 * bT;\n var bS = bN * b1 * b3;\n var b6 = bZ * bP * bT;\n var b5 = bZ * bP * b3;\n var bQ = bZ * b1 * bT;\n var bO = bZ * b1 * b3;\n for (var bt = 0; bt < aJ; ) {\n a3[aQ] = b8 * ba[bt] + b7 * a9[bt] + bU * aP[bt] + bS * aO[bt] + b6 * a6[bt] + b5 * a4[bt] + bQ * aL[bt] + bO * aK[bt];\n ++bt;\n a3[aQ + 1] = b8 * ba[bt] + b7 * a9[bt] + bU * aP[bt] + bS * aO[bt] + b6 * a6[bt] + b5 * a4[bt] + bQ * aL[bt] + bO * aK[bt];\n ++bt;\n aQ += bH;\n }\n } else {\n if (aN == 4) {\n var bD = bC[bw[0]];\n var bB = bC[bw[1]];\n var bo = bC[bw[2]];\n var bm = bC[bw[3]];\n var by = bC[bw[4]];\n var bx = bC[bw[5]];\n var be = bC[bw[6]];\n var bd = bC[bw[7]];\n var bG = bC[bw[8]];\n var bE = bC[bw[9]];\n var bv = bC[bw[10]];\n var bu = bC[bw[11]];\n var bA = bC[bw[12]];\n var bz = bC[bw[13]];\n var bn = bC[bw[14]];\n var bl = bC[bw[15]];\n var b3 = a2[0];\n var b1 = a2[1];\n var bZ = a2[2];\n var bY = a2[3];\n var bT = 1 - b3;\n var bP = 1 - b1;\n var bN = 1 - bZ;\n var bK = 1 - bY;\n var bk = bK * bN * bP * bT;\n var bi = bK * bN * bP * b3;\n var aW = bK * bN * b1 * bT;\n var aV = bK * bN * b1 * b3;\n var bc = bK * bZ * bP * bT;\n var bb = bK * bZ * bP * b3;\n var aS = bK * bZ * b1 * bT;\n var aR = bK * bZ * b1 * b3;\n var bs = bY * bN * bP * bT;\n var br = bY * bN * bP * b3;\n var a1 = bY * bN * b1 * bT;\n var a0 = bY * bN * b1 * b3;\n var bh = bY * bZ * bP * bT;\n var bf = bY * bZ * bP * b3;\n var aU = bY * bZ * b1 * bT;\n var aT = bY * bZ * b1 * b3;\n for (var bt = 0; bt < aJ; ) {\n a3[aQ] = bk * bD[bt] + bi * bB[bt] + aW * bo[bt] + aV * bm[bt] + bc * by[bt] + bb * bx[bt] + aS * be[bt] + aR * bd[bt] + bs * bG[bt] + br * bE[bt] + a1 * bv[bt] + a0 * bu[bt] + bh * bA[bt] + bf * bz[bt] + aU * bn[bt] + aT * bl[bt];\n ++bt;\n a3[aQ + 1] = bk * bD[bt] + bi * bB[bt] + aW * bo[bt] + aV * bm[bt] + bc * by[bt] + bb * bx[bt] + aS * be[bt] + aR * bd[bt] + bs * bG[bt] + br * bE[bt] + a1 * bv[bt] + a0 * bu[bt] + bh * bA[bt] + bf * bz[bt] + aU * bn[bt] + aT * bl[bt];\n ++bt;\n aQ += bH;\n }\n } else {\n var b4 = 1 << aN;\n var bJ = new Float32Array(b4);\n for (var bj = 0; bj < b4; bj++) {\n var aH = bj;\n var aM = 1;\n for (var bF = 0; bF < aN; bF++) {\n aM *= (aH % 2 == 0) ? (1 - a2[bF]) : a2[bF];\n aH /= 2;\n }\n bJ[bj] = aM;\n }\n var bg = new Float32Array(b4);\n for (var aX = 0; aX < b4; aX++) {\n bg[aX] = bC[bw[aX]];\n }\n for (var bt = 0; bt < aJ; ) {\n var a8 = 0\n , a7 = 0;\n var bR = bt + 1;\n for (var aX = 0; aX < b4; aX++) {\n a8 += bJ[aX] * bg[aX][bt];\n a7 += bJ[aX] * bg[aX][bR];\n }\n bt += 2;\n a3[aQ] = a8;\n a3[aQ + 1] = a7;\n aQ += bH;\n }\n }\n }\n }\n }\n }\n}\n;\nfunction e() {\n if (j) {\n return;\n }\n this.x = null;\n this.y = null;\n}\ne.prototype._$HT = function(aH, aI) {\n this.x = aH;\n this.y = aI;\n}\n;\ne.prototype._$HT = function(aH) {\n this.x = aH.x;\n this.y = aH.y;\n}\n;\nfunction ae() {\n if (j) {\n return;\n }\n this._$gP = null;\n this._$dr = null;\n this._$GS = null;\n this._$qb = null;\n this._$Lb = null;\n this._$mS = null;\n this.clipID = null;\n this.clipIDList = new Array();\n}\nae._$ur = -2;\nae._$ES = 500;\nae._$wb = 2;\nae._$8S = 3;\nae._$52 = ae._$ES;\nae._$R2 = ae._$ES;\nae._$or = function() {\n return ae._$52;\n}\n;\nae._$Pr = function() {\n return ae._$R2;\n}\n;\nae.prototype.convertClipIDForV2_11 = function(aI) {\n var aH = [];\n if (aI == null) {\n return null;\n }\n if (aI.length == 0) {\n return null;\n }\n if (!/,/.test(aI)) {\n aH.push(aI.id);\n return aH;\n }\n aH = aI.id.split(\",\");\n return aH;\n}\n;\nae.prototype._$F0 = function(aH) {\n this._$gP = aH._$nP();\n this._$dr = aH._$nP();\n this._$GS = aH._$nP();\n this._$qb = aH._$6L();\n this._$Lb = aH._$cS();\n this._$mS = aH._$Tb();\n if (aH.getFormatVersion() >= ay._$T7) {\n this.clipID = aH._$nP();\n this.clipIDList = this.convertClipIDForV2_11(this.clipID);\n } else {\n this.clipIDList = [];\n }\n this._$MS(this._$Lb);\n}\n;\nae.prototype.getClipIDList = function() {\n return this.clipIDList;\n}\n;\nae.prototype.init = function(aH) {}\n;\nae.prototype._$Nr = function(aH, aI) {\n aI._$IS[0] = false;\n aI._$Us = aG._$Z2(aH, this._$GS, aI._$IS, this._$Lb);\n if (Q._$Zs) {} else {\n if (aI._$IS[0]) {\n return;\n }\n }\n aI._$7s = aG._$br(aH, this._$GS, aI._$IS, this._$mS);\n}\n;\nae.prototype._$2b = function(aH, aI) {}\n;\nae.prototype.getDrawDataID = function() {\n return this._$gP;\n}\n;\nae.prototype._$j2 = function(aH) {\n this._$gP = aH;\n}\n;\nae.prototype.getOpacity = function(aH, aI) {\n return aI._$7s;\n}\n;\nae.prototype._$zS = function(aH, aI) {\n return aI._$Us;\n}\n;\nae.prototype._$MS = function(aJ) {\n for (var aI = aJ.length - 1; aI >= 0; --aI) {\n var aH = aJ[aI];\n if (aH < ae._$52) {\n ae._$52 = aH;\n } else {\n if (aH > ae._$R2) {\n ae._$R2 = aH;\n }\n }\n }\n}\n;\nae.prototype.getTargetBaseDataID = function() {\n return this._$dr;\n}\n;\nae.prototype._$gs = function(aH) {\n this._$dr = aH;\n}\n;\nae.prototype._$32 = function() {\n return (this._$dr != null && (this._$dr != n._$2o()));\n}\n;\nae.prototype.preDraw = function(aJ, aH, aI) {}\n;\nae.prototype.draw = function(aJ, aH, aI) {}\n;\nae.prototype.getType = function() {}\n;\nae.prototype._$B2 = function(aI, aH, aJ) {}\n;\nfunction ax() {\n if (j) {\n return;\n }\n this._$Eb = ax._$ps;\n this._$lT = 1;\n this._$C0 = 1;\n this._$tT = 1;\n this._$WL = 1;\n this.culling = false;\n this.matrix4x4 = new Float32Array(16);\n this.premultipliedAlpha = false;\n this.anisotropy = 0;\n this.clippingProcess = ax.CLIPPING_PROCESS_NONE;\n this.clipBufPre_clipContextMask = null;\n this.clipBufPre_clipContextDraw = null;\n this.CHANNEL_COLORS = new Array();\n}\nax._$ps = 32;\nax.CLIPPING_PROCESS_NONE = 0;\nax.CLIPPING_PROCESS_OVERWRITE_ALPHA = 1;\nax.CLIPPING_PROCESS_MULTIPLY_ALPHA = 2;\nax.CLIPPING_PROCESS_DRAW = 3;\nax.CLIPPING_PROCESS_CLEAR_ALPHA = 4;\nax.prototype.setChannelFlagAsColor = function(aH, aI) {\n this.CHANNEL_COLORS[aH] = aI;\n}\n;\nax.prototype.getChannelFlagAsColor = function(aH) {\n return this.CHANNEL_COLORS[aH];\n}\n;\nax.prototype._$ZT = function() {}\n;\nax.prototype._$Uo = function(aM, aK, aJ, aL, aN, aI, aH) {}\n;\nax.prototype._$Rs = function() {\n return -1;\n}\n;\nax.prototype._$Ds = function(aH) {}\n;\nax.prototype.setBaseColor = function(aK, aJ, aI, aH) {\n if (aK < 0) {\n aK = 0;\n } else {\n if (aK > 1) {\n aK = 1;\n }\n }\n if (aJ < 0) {\n aJ = 0;\n } else {\n if (aJ > 1) {\n aJ = 1;\n }\n }\n if (aI < 0) {\n aI = 0;\n } else {\n if (aI > 1) {\n aI = 1;\n }\n }\n if (aH < 0) {\n aH = 0;\n } else {\n if (aH > 1) {\n aH = 1;\n }\n }\n this._$lT = aK;\n this._$C0 = aJ;\n this._$tT = aI;\n this._$WL = aH;\n}\n;\nax.prototype._$WP = function(aH) {\n this.culling = aH;\n}\n;\nax.prototype.setMatrix = function(aH) {\n for (var aI = 0; aI < 16; aI++) {\n this.matrix4x4[aI] = aH[aI];\n }\n}\n;\nax.prototype._$IT = function() {\n return this.matrix4x4;\n}\n;\nax.prototype.setPremultipliedAlpha = function(aH) {\n this.premultipliedAlpha = aH;\n}\n;\nax.prototype.isPremultipliedAlpha = function() {\n return this.premultipliedAlpha;\n}\n;\nax.prototype.setAnisotropy = function(aH) {\n this.anisotropy = aH;\n}\n;\nax.prototype.getAnisotropy = function() {\n return this.anisotropy;\n}\n;\nax.prototype.getClippingProcess = function() {\n return this.clippingProcess;\n}\n;\nax.prototype.setClippingProcess = function(aH) {\n this.clippingProcess = aH;\n}\n;\nax.prototype.setClipBufPre_clipContextForMask = function(aH) {\n this.clipBufPre_clipContextMask = aH;\n}\n;\nax.prototype.getClipBufPre_clipContextMask = function() {\n return this.clipBufPre_clipContextMask;\n}\n;\nax.prototype.setClipBufPre_clipContextForDraw = function(aH) {\n this.clipBufPre_clipContextDraw = aH;\n}\n;\nax.prototype.getClipBufPre_clipContextDraw = function() {\n return this.clipBufPre_clipContextDraw;\n}\n;\nfunction o() {\n if (j) {\n return;\n }\n this.a = 1;\n this.r = 1;\n this.g = 1;\n this.b = 1;\n this.scale = 1;\n this._$ho = 1;\n this.blendMode = Q.L2D_COLOR_BLEND_MODE_MULT;\n}\nfunction c() {\n if (j) {\n return;\n }\n this._$kP = null;\n this._$dr = null;\n this._$Ai = true;\n this._$mS = null;\n}\nc._$ur = -2;\nc._$c2 = 1;\nc._$_b = 2;\nc.prototype._$F0 = function(aH) {\n this._$kP = aH._$nP();\n this._$dr = aH._$nP();\n}\n;\nc.prototype.readV2_opacity = function(aH) {\n if (aH.getFormatVersion() >= ay.LIVE2D_FORMAT_VERSION_V2_10_SDK2) {\n this._$mS = aH._$Tb();\n }\n}\n;\nc.prototype.init = function(aH) {}\n;\nc.prototype._$Nr = function(aI, aH) {}\n;\nc.prototype.interpolateOpacity = function(aJ, aK, aI, aH) {\n if (this._$mS == null) {\n aI.setInterpolatedOpacity(1);\n } else {\n aI.setInterpolatedOpacity(aG._$br(aJ, aK, aH, this._$mS));\n }\n}\n;\nc.prototype._$2b = function(aI, aH) {}\n;\nc.prototype._$nb = function(aL, aK, aM, aH, aI, aJ, aN) {}\n;\nc.prototype.getType = function() {}\n;\nc.prototype._$gs = function(aH) {\n this._$dr = aH;\n}\n;\nc.prototype._$a2 = function(aH) {\n this._$kP = aH;\n}\n;\nc.prototype.getTargetBaseDataID = function() {\n return this._$dr;\n}\n;\nc.prototype.getBaseDataID = function() {\n return this._$kP;\n}\n;\nc.prototype._$32 = function() {\n return (this._$dr != null && (this._$dr != n._$2o()));\n}\n;\nfunction P() {}\nP._$W2 = 0;\nP._$CS = P._$W2;\nP._$Mo = function() {\n return true;\n}\n;\nP._$XP = function(aI) {\n try {\n var aJ = getTimeMSec();\n while (getTimeMSec() - aJ < aI) {}\n } catch (aH) {\n aH._$Rb();\n }\n}\n;\nP.getUserTimeMSec = function() {\n return (P._$CS == P._$W2) ? P.getSystemTimeMSec() : P._$CS;\n}\n;\nP.setUserTimeMSec = function(aH) {\n P._$CS = aH;\n}\n;\nP.updateUserTimeMSec = function() {\n return (P._$CS = P.getSystemTimeMSec());\n}\n;\nP.getTimeMSec = function() {\n return new Date().getTime();\n}\n;\nP.getSystemTimeMSec = function() {\n return new Date().getTime();\n}\n;\nP._$Q = function(aH) {}\n;\nP._$jT = function(aM, aJ, aI, aL, aH) {\n for (var aK = 0; aK < aH; aK++) {\n aI[aL + aK] = aM[aJ + aK];\n }\n}\n;\nfunction aA() {\n if (j) {\n return;\n }\n this._$VP = 0;\n this._$wL = null;\n this._$GP = null;\n this._$8o = aA._$ds;\n this._$2r = -1;\n this._$O2 = 0;\n this._$ri = 0;\n}\naA._$ds = -2;\naA.prototype._$F0 = function(aH) {\n this._$wL = aH._$nP();\n this._$VP = aH._$6L();\n this._$GP = aH._$nP();\n}\n;\naA.prototype.getParamIndex = function(aH) {\n if (this._$2r != aH) {\n this._$8o = aA._$ds;\n }\n return this._$8o;\n}\n;\naA.prototype._$Pb = function(aI, aH) {\n this._$8o = aI;\n this._$2r = aH;\n}\n;\naA.prototype.getParamID = function() {\n return this._$wL;\n}\n;\naA.prototype._$yP = function(aH) {\n this._$wL = aH;\n}\n;\naA.prototype._$N2 = function() {\n return this._$VP;\n}\n;\naA.prototype._$d2 = function() {\n return this._$GP;\n}\n;\naA.prototype._$t2 = function(aI, aH) {\n this._$VP = aI;\n this._$GP = aH;\n}\n;\naA.prototype._$Lr = function() {\n return this._$O2;\n}\n;\naA.prototype._$wr = function(aH) {\n this._$O2 = aH;\n}\n;\naA.prototype._$SL = function() {\n return this._$ri;\n}\n;\naA.prototype._$AL = function(aH) {\n this._$ri = aH;\n}\n;\nfunction G() {}\nG.startsWith = function(aJ, aL, aK) {\n var aH = aL + aK.length;\n if (aH >= aJ.length) {\n return false;\n }\n for (var aI = aL; aI < aH; aI++) {\n if (G.getChar(aJ, aI) != aK.charAt(aI - aL)) {\n return false;\n }\n }\n return true;\n}\n;\nG.getChar = function(aI, aH) {\n return String.fromCharCode(aI.getUint8(aH));\n}\n;\nG.createString = function(aM, aL, aJ) {\n var aH = new ArrayBuffer(aJ * 2);\n var aK = new Uint16Array(aH);\n for (var aI = 0; aI < aJ; aI++) {\n aK[aI] = aM.getUint8(aL + aI);\n }\n return String.fromCharCode.apply(null, aK);\n}\n;\nG._$LS = function(aP, aM, aR, aK) {\n if (aP instanceof ArrayBuffer) {\n aP = new DataView(aP);\n }\n var aL = aR;\n var aJ = false;\n var aQ = false;\n var aS = 0;\n var aO = G.getChar(aP, aL);\n if (aO == \"-\") {\n aJ = true;\n aL++;\n }\n var aN = false;\n for (; aL < aM; aL++) {\n aO = G.getChar(aP, aL);\n switch (aO) {\n case \"0\":\n aS = aS * 10;\n break;\n case \"1\":\n aS = aS * 10 + 1;\n break;\n case \"2\":\n aS = aS * 10 + 2;\n break;\n case \"3\":\n aS = aS * 10 + 3;\n break;\n case \"4\":\n aS = aS * 10 + 4;\n break;\n case \"5\":\n aS = aS * 10 + 5;\n break;\n case \"6\":\n aS = aS * 10 + 6;\n break;\n case \"7\":\n aS = aS * 10 + 7;\n break;\n case \"8\":\n aS = aS * 10 + 8;\n break;\n case \"9\":\n aS = aS * 10 + 9;\n break;\n case \".\":\n aQ = true;\n aL++;\n aN = true;\n break;\n default:\n aN = true;\n break;\n }\n if (aN) {\n break;\n }\n }\n if (aQ) {\n var aI = 0.1;\n var aH = false;\n for (; aL < aM; aL++) {\n aO = G.getChar(aP, aL);\n switch (aO) {\n case \"0\":\n break;\n case \"1\":\n aS += aI * 1;\n break;\n case \"2\":\n aS += aI * 2;\n break;\n case \"3\":\n aS += aI * 3;\n break;\n case \"4\":\n aS += aI * 4;\n break;\n case \"5\":\n aS += aI * 5;\n break;\n case \"6\":\n aS += aI * 6;\n break;\n case \"7\":\n aS += aI * 7;\n break;\n case \"8\":\n aS += aI * 8;\n break;\n case \"9\":\n aS += aI * 9;\n break;\n default:\n aH = true;\n break;\n }\n aI *= 0.1;\n if (aH) {\n break;\n }\n }\n }\n if (aJ) {\n aS = -aS;\n }\n aK[0] = aL;\n return aS;\n}\n;\nfunction g() {\n if (j) {\n return;\n }\n this._$Ob = null;\n}\ng.prototype._$zP = function() {\n this._$Ob = new Array();\n}\n;\ng.prototype._$F0 = function(aH) {\n this._$Ob = aH._$nP();\n}\n;\ng.prototype._$Ur = function(aK) {\n if (aK._$WS()) {\n return true;\n }\n var aH = aK._$v2();\n for (var aJ = this._$Ob.length - 1; aJ >= 0; --aJ) {\n var aI = this._$Ob[aJ].getParamIndex(aH);\n if (aI == aA._$ds) {\n aI = aK.getParamIndex(this._$Ob[aJ].getParamID());\n }\n if (aK._$Xb(aI)) {\n return true;\n }\n }\n return false;\n}\n;\ng.prototype._$Q2 = function(aL, aV) {\n var aX = this._$Ob.length;\n var aJ = aL._$v2();\n var aN = 0;\n var aI;\n var aQ;\n for (var aK = 0; aK < aX; aK++) {\n var aH = this._$Ob[aK];\n aI = aH.getParamIndex(aJ);\n if (aI == aA._$ds) {\n aI = aL.getParamIndex(aH.getParamID());\n aH._$Pb(aI, aJ);\n }\n if (aI < 0) {\n throw new Exception(\"err 23242 : \" + aH.getParamID());\n }\n var aU = aI < 0 ? 0 : aL.getParamFloat(aI);\n aQ = aH._$N2();\n var aM = aH._$d2();\n var aP = -1;\n var aT = 0;\n var aS;\n var aR;\n if (aQ < 1) {} else {\n if (aQ == 1) {\n aS = aM[0];\n if (aS - aw._$J < aU && aU < aS + aw._$J) {\n aP = 0;\n aT = 0;\n } else {\n aP = 0;\n aV[0] = true;\n }\n } else {\n aS = aM[0];\n if (aU < aS - aw._$J) {\n aP = 0;\n aV[0] = true;\n } else {\n if (aU < aS + aw._$J) {\n aP = 0;\n } else {\n var aW = false;\n for (var aO = 1; aO < aQ; ++aO) {\n aR = aM[aO];\n if (aU < aR + aw._$J) {\n if (aR - aw._$J < aU) {\n aP = aO;\n } else {\n aP = aO - 1;\n aT = (aU - aS) / (aR - aS);\n aN++;\n }\n aW = true;\n break;\n }\n aS = aR;\n }\n if (!aW) {\n aP = aQ - 1;\n aT = 0;\n aV[0] = true;\n }\n }\n }\n }\n }\n aH._$wr(aP);\n aH._$AL(aT);\n }\n return aN;\n}\n;\ng.prototype._$zr = function(aN, aT, aP) {\n var aR = 1 << aP;\n if (aR + 1 > aw._$Qb) {\n console.log(\"err 23245\\n\");\n }\n var aS = this._$Ob.length;\n var aK = 1;\n var aH = 1;\n var aJ = 0;\n for (var aQ = 0; aQ < aR; ++aQ) {\n aN[aQ] = 0;\n }\n for (var aL = 0; aL < aS; ++aL) {\n var aI = this._$Ob[aL];\n if (aI._$SL() == 0) {\n var aO = aI._$Lr() * aK;\n if (aO < 0 && Q._$3T) {\n throw new Exception(\"err 23246\");\n }\n for (var aQ = 0; aQ < aR; ++aQ) {\n aN[aQ] += aO;\n }\n } else {\n var aO = aK * aI._$Lr();\n var aM = aK * (aI._$Lr() + 1);\n for (var aQ = 0; aQ < aR; ++aQ) {\n aN[aQ] += ((aQ / aH | 0) % 2 == 0) ? aO : aM;\n }\n aT[aJ++] = aI._$SL();\n aH *= 2;\n }\n aK *= aI._$N2();\n }\n aN[aR] = 65535;\n aT[aJ] = -1;\n}\n;\ng.prototype._$h2 = function(aJ, aH, aK) {\n var aM = new Float32Array(aH);\n for (var aL = 0; aL < aH; ++aL) {\n aM[aL] = aK[aL];\n }\n var aI = new aA();\n aI._$yP(aJ);\n aI._$t2(aH, aM);\n this._$Ob.push(aI);\n}\n;\ng.prototype._$J2 = function(aO) {\n var aN = aO;\n var aM = this._$Ob.length;\n for (var aK = 0; aK < aM; ++aK) {\n var aI = this._$Ob[aK];\n var aH = aI._$N2();\n var aJ = aN % aI._$N2();\n var aL = aI._$d2()[aJ];\n console.log(\"%s[%d]=%7.2f / \", aI.getParamID(), aJ, aL);\n aN /= aH;\n }\n console.log(\"\\n\");\n}\n;\ng.prototype.getParamCount = function() {\n return this._$Ob.length;\n}\n;\ng.prototype._$zs = function() {\n return this._$Ob;\n}\n;\nfunction ac() {\n this.m = new Float32Array(16);\n this.identity();\n}\nac.prototype.identity = function() {\n for (var aH = 0; aH < 16; aH++) {\n this.m[aH] = ((aH % 5) == 0) ? 1 : 0;\n }\n}\n;\nac.prototype.getArray = function() {\n return this.m;\n}\n;\nac.prototype.getCopyMatrix = function() {\n return new Float32Array(this.m);\n}\n;\nac.prototype.setMatrix = function(aI) {\n if (aI == null || aI.length != 16) {\n return;\n }\n for (var aH = 0; aH < 16; aH++) {\n this.m[aH] = aI[aH];\n }\n}\n;\nac.prototype.mult = function(aH, aJ, aI) {\n if (aJ == null) {\n return null;\n }\n if (this == aJ) {\n this.mult_safe(this.m, aH.m, aJ.m, aI);\n } else {\n this.mult_fast(this.m, aH.m, aJ.m, aI);\n }\n return aJ;\n}\n;\nac.prototype.mult_safe = function(aI, aH, aM, aJ) {\n if (aI == aM) {\n var aL = new Array(16);\n this.mult_fast(aI, aH, aL, aJ);\n for (var aK = 15; aK >= 0; --aK) {\n aM[aK] = aL[aK];\n }\n } else {\n this.mult_fast(aI, aH, aM, aJ);\n }\n}\n;\nac.prototype.mult_fast = function(aI, aH, aK, aJ) {\n if (aJ) {\n aK[0] = aI[0] * aH[0] + aI[4] * aH[1] + aI[8] * aH[2];\n aK[4] = aI[0] * aH[4] + aI[4] * aH[5] + aI[8] * aH[6];\n aK[8] = aI[0] * aH[8] + aI[4] * aH[9] + aI[8] * aH[10];\n aK[12] = aI[0] * aH[12] + aI[4] * aH[13] + aI[8] * aH[14] + aI[12];\n aK[1] = aI[1] * aH[0] + aI[5] * aH[1] + aI[9] * aH[2];\n aK[5] = aI[1] * aH[4] + aI[5] * aH[5] + aI[9] * aH[6];\n aK[9] = aI[1] * aH[8] + aI[5] * aH[9] + aI[9] * aH[10];\n aK[13] = aI[1] * aH[12] + aI[5] * aH[13] + aI[9] * aH[14] + aI[13];\n aK[2] = aI[2] * aH[0] + aI[6] * aH[1] + aI[10] * aH[2];\n aK[6] = aI[2] * aH[4] + aI[6] * aH[5] + aI[10] * aH[6];\n aK[10] = aI[2] * aH[8] + aI[6] * aH[9] + aI[10] * aH[10];\n aK[14] = aI[2] * aH[12] + aI[6] * aH[13] + aI[10] * aH[14] + aI[14];\n aK[3] = aK[7] = aK[11] = 0;\n aK[15] = 1;\n } else {\n aK[0] = aI[0] * aH[0] + aI[4] * aH[1] + aI[8] * aH[2] + aI[12] * aH[3];\n aK[4] = aI[0] * aH[4] + aI[4] * aH[5] + aI[8] * aH[6] + aI[12] * aH[7];\n aK[8] = aI[0] * aH[8] + aI[4] * aH[9] + aI[8] * aH[10] + aI[12] * aH[11];\n aK[12] = aI[0] * aH[12] + aI[4] * aH[13] + aI[8] * aH[14] + aI[12] * aH[15];\n aK[1] = aI[1] * aH[0] + aI[5] * aH[1] + aI[9] * aH[2] + aI[13] * aH[3];\n aK[5] = aI[1] * aH[4] + aI[5] * aH[5] + aI[9] * aH[6] + aI[13] * aH[7];\n aK[9] = aI[1] * aH[8] + aI[5] * aH[9] + aI[9] * aH[10] + aI[13] * aH[11];\n aK[13] = aI[1] * aH[12] + aI[5] * aH[13] + aI[9] * aH[14] + aI[13] * aH[15];\n aK[2] = aI[2] * aH[0] + aI[6] * aH[1] + aI[10] * aH[2] + aI[14] * aH[3];\n aK[6] = aI[2] * aH[4] + aI[6] * aH[5] + aI[10] * aH[6] + aI[14] * aH[7];\n aK[10] = aI[2] * aH[8] + aI[6] * aH[9] + aI[10] * aH[10] + aI[14] * aH[11];\n aK[14] = aI[2] * aH[12] + aI[6] * aH[13] + aI[10] * aH[14] + aI[14] * aH[15];\n aK[3] = aI[3] * aH[0] + aI[7] * aH[1] + aI[11] * aH[2] + aI[15] * aH[3];\n aK[7] = aI[3] * aH[4] + aI[7] * aH[5] + aI[11] * aH[6] + aI[15] * aH[7];\n aK[11] = aI[3] * aH[8] + aI[7] * aH[9] + aI[11] * aH[10] + aI[15] * aH[11];\n aK[15] = aI[3] * aH[12] + aI[7] * aH[13] + aI[11] * aH[14] + aI[15] * aH[15];\n }\n}\n;\nac.prototype.translate = function(aH, aJ, aI) {\n this.m[12] = this.m[0] * aH + this.m[4] * aJ + this.m[8] * aI + this.m[12];\n this.m[13] = this.m[1] * aH + this.m[5] * aJ + this.m[9] * aI + this.m[13];\n this.m[14] = this.m[2] * aH + this.m[6] * aJ + this.m[10] * aI + this.m[14];\n this.m[15] = this.m[3] * aH + this.m[7] * aJ + this.m[11] * aI + this.m[15];\n}\n;\nac.prototype.scale = function(aJ, aI, aH) {\n this.m[0] *= aJ;\n this.m[4] *= aI;\n this.m[8] *= aH;\n this.m[1] *= aJ;\n this.m[5] *= aI;\n this.m[9] *= aH;\n this.m[2] *= aJ;\n this.m[6] *= aI;\n this.m[10] *= aH;\n this.m[3] *= aJ;\n this.m[7] *= aI;\n this.m[11] *= aH;\n}\n;\nac.prototype.rotateX = function(aH) {\n var aK = aC.fcos(aH);\n var aJ = aC._$9(aH);\n var aI = this.m[4];\n this.m[4] = aI * aK + this.m[8] * aJ;\n this.m[8] = aI * -aJ + this.m[8] * aK;\n aI = this.m[5];\n this.m[5] = aI * aK + this.m[9] * aJ;\n this.m[9] = aI * -aJ + this.m[9] * aK;\n aI = this.m[6];\n this.m[6] = aI * aK + this.m[10] * aJ;\n this.m[10] = aI * -aJ + this.m[10] * aK;\n aI = this.m[7];\n this.m[7] = aI * aK + this.m[11] * aJ;\n this.m[11] = aI * -aJ + this.m[11] * aK;\n}\n;\nac.prototype.rotateY = function(aH) {\n var aK = aC.fcos(aH);\n var aJ = aC._$9(aH);\n var aI = this.m[0];\n this.m[0] = aI * aK + this.m[8] * -aJ;\n this.m[8] = aI * aJ + this.m[8] * aK;\n aI = this.m[1];\n this.m[1] = aI * aK + this.m[9] * -aJ;\n this.m[9] = aI * aJ + this.m[9] * aK;\n aI = m[2];\n this.m[2] = aI * aK + this.m[10] * -aJ;\n this.m[10] = aI * aJ + this.m[10] * aK;\n aI = m[3];\n this.m[3] = aI * aK + this.m[11] * -aJ;\n this.m[11] = aI * aJ + this.m[11] * aK;\n}\n;\nac.prototype.rotateZ = function(aH) {\n var aK = aC.fcos(aH);\n var aJ = aC._$9(aH);\n var aI = this.m[0];\n this.m[0] = aI * aK + this.m[4] * aJ;\n this.m[4] = aI * -aJ + this.m[4] * aK;\n aI = this.m[1];\n this.m[1] = aI * aK + this.m[5] * aJ;\n this.m[5] = aI * -aJ + this.m[5] * aK;\n aI = this.m[2];\n this.m[2] = aI * aK + this.m[6] * aJ;\n this.m[6] = aI * -aJ + this.m[6] * aK;\n aI = this.m[3];\n this.m[3] = aI * aK + this.m[7] * aJ;\n this.m[7] = aI * -aJ + this.m[7] * aK;\n}\n;\nfunction Z(aH) {\n if (j) {\n return;\n }\n ak.prototype.constructor.call(this, aH);\n}\nZ.prototype = new ak();\nZ._$tP = new Object();\nZ._$27 = function() {\n Z._$tP.clear();\n}\n;\nZ.getID = function(aH) {\n var aI = Z._$tP[aH];\n if (aI == null) {\n aI = new Z(aH);\n Z._$tP[aH] = aI;\n }\n return aI;\n}\n;\nZ.prototype._$3s = function() {\n return new Z();\n}\n;\nfunction aD() {\n if (j) {\n return;\n }\n this._$7 = 1;\n this._$f = 0;\n this._$H = 0;\n this._$g = 1;\n this._$k = 0;\n this._$w = 0;\n this._$hi = STATE_IDENTITY;\n this._$Z = _$pS;\n}\naD._$kS = -1;\naD._$pS = 0;\naD._$hb = 1;\naD.STATE_IDENTITY = 0;\naD._$gb = 1;\naD._$fo = 2;\naD._$go = 4;\naD.prototype.transform = function(aK, aI, aH) {\n var aT, aS, aR, aM, aL, aJ;\n var aQ = 0;\n var aN = 0;\n switch (this._$hi) {\n default:\n return;\n case (aD._$go | aD._$fo | aD._$gb):\n aT = this._$7;\n aS = this._$H;\n aR = this._$k;\n aM = this._$f;\n aL = this._$g;\n aJ = this._$w;\n while (--aH >= 0) {\n var aP = aK[aQ++];\n var aO = aK[aQ++];\n aI[aN++] = (aT * aP + aS * aO + aR);\n aI[aN++] = (aM * aP + aL * aO + aJ);\n }\n return;\n case (aD._$go | aD._$fo):\n aT = this._$7;\n aS = this._$H;\n aM = this._$f;\n aL = this._$g;\n while (--aH >= 0) {\n var aP = aK[aQ++];\n var aO = aK[aQ++];\n aI[aN++] = (aT * aP + aS * aO);\n aI[aN++] = (aM * aP + aL * aO);\n }\n return;\n case (aD._$go | aD._$gb):\n aS = this._$H;\n aR = this._$k;\n aM = this._$f;\n aJ = this._$w;\n while (--aH >= 0) {\n var aP = aK[aQ++];\n aI[aN++] = (aS * aK[aQ++] + aR);\n aI[aN++] = (aM * aP + aJ);\n }\n return;\n case (aD._$go):\n aS = this._$H;\n aM = this._$f;\n while (--aH >= 0) {\n var aP = aK[aQ++];\n aI[aN++] = (aS * aK[aQ++]);\n aI[aN++] = (aM * aP);\n }\n return;\n case (aD._$fo | aD._$gb):\n aT = this._$7;\n aR = this._$k;\n aL = this._$g;\n aJ = this._$w;\n while (--aH >= 0) {\n aI[aN++] = (aT * aK[aQ++] + aR);\n aI[aN++] = (aL * aK[aQ++] + aJ);\n }\n return;\n case (aD._$fo):\n aT = this._$7;\n aL = this._$g;\n while (--aH >= 0) {\n aI[aN++] = (aT * aK[aQ++]);\n aI[aN++] = (aL * aK[aQ++]);\n }\n return;\n case (aD._$gb):\n aR = this._$k;\n aJ = this._$w;\n while (--aH >= 0) {\n aI[aN++] = (aK[aQ++] + aR);\n aI[aN++] = (aK[aQ++] + aJ);\n }\n return;\n case (aD.STATE_IDENTITY):\n if (aK != aI || aQ != aN) {\n P._$jT(aK, aQ, aI, aN, aH * 2);\n }\n return;\n }\n}\n;\naD.prototype.update = function() {\n if (this._$H == 0 && this._$f == 0) {\n if (this._$7 == 1 && this._$g == 1) {\n if (this._$k == 0 && this._$w == 0) {\n this._$hi = aD.STATE_IDENTITY;\n this._$Z = aD._$pS;\n } else {\n this._$hi = aD._$gb;\n this._$Z = aD._$hb;\n }\n } else {\n if (this._$k == 0 && this._$w == 0) {\n this._$hi = aD._$fo;\n this._$Z = aD._$kS;\n } else {\n this._$hi = (aD._$fo | aD._$gb);\n this._$Z = aD._$kS;\n }\n }\n } else {\n if (this._$7 == 0 && this._$g == 0) {\n if (this._$k == 0 && this._$w == 0) {\n this._$hi = aD._$go;\n this._$Z = aD._$kS;\n } else {\n this._$hi = (aD._$go | aD._$gb);\n this._$Z = aD._$kS;\n }\n } else {\n if (this._$k == 0 && this._$w == 0) {\n this._$hi = (aD._$go | aD._$fo);\n this._$Z = aD._$kS;\n } else {\n this._$hi = (aD._$go | aD._$fo | aD._$gb);\n this._$Z = aD._$kS;\n }\n }\n }\n}\n;\naD.prototype._$RT = function(aK) {\n this._$IT(aK);\n var aJ = aK[0];\n var aH = aK[2];\n var aN = aK[1];\n var aM = aK[3];\n var aI = Math.sqrt(aJ * aJ + aN * aN);\n var aL = aJ * aM - aH * aN;\n if (aI == 0) {\n if (Q._$so) {\n console.log(\"affine._$RT() / rt==0\");\n }\n } else {\n aK[0] = aI;\n aK[1] = aL / aI;\n aK[2] = (aN * aM + aJ * aH) / aL;\n aK[3] = Math.atan2(aN, aJ);\n }\n}\n;\naD.prototype._$ho = function(aN, aM, aI, aH) {\n var aL = new Float32Array(6);\n var aK = new Float32Array(6);\n aN._$RT(aL);\n aM._$RT(aK);\n var aJ = new Float32Array(6);\n aJ[0] = aL[0] + (aK[0] - aL[0]) * aI;\n aJ[1] = aL[1] + (aK[1] - aL[1]) * aI;\n aJ[2] = aL[2] + (aK[2] - aL[2]) * aI;\n aJ[3] = aL[3] + (aK[3] - aL[3]) * aI;\n aJ[4] = aL[4] + (aK[4] - aL[4]) * aI;\n aJ[5] = aL[5] + (aK[5] - aL[5]) * aI;\n aH._$CT(aJ);\n}\n;\naD.prototype._$CT = function(aJ) {\n var aI = Math.cos(aJ[3]);\n var aH = Math.sin(aJ[3]);\n this._$7 = aJ[0] * aI;\n this._$f = aJ[0] * aH;\n this._$H = aJ[1] * (aJ[2] * aI - aH);\n this._$g = aJ[1] * (aJ[2] * aH + aI);\n this._$k = aJ[4];\n this._$w = aJ[5];\n this.update();\n}\n;\naD.prototype._$IT = function(aH) {\n aH[0] = this._$7;\n aH[1] = this._$f;\n aH[2] = this._$H;\n aH[3] = this._$g;\n aH[4] = this._$k;\n aH[5] = this._$w;\n}\n;\nfunction Y() {\n if (j) {\n return;\n }\n ah.prototype.constructor.call(this);\n this.motions = new Array();\n this._$7r = null;\n this._$7r = Y._$Co++;\n this._$D0 = 30;\n this._$yT = 0;\n this._$E = true;\n this.loopFadeIn = true;\n this._$AS = -1;\n _$a0();\n}\nY.prototype = new ah();\nY._$cs = \"VISIBLE:\";\nY._$ar = \"LAYOUT:\";\nY._$Co = 0;\nY._$D2 = [];\nY._$1T = 1;\nY.loadMotion = function(aR) {\n var aM = new Y();\n var aI = [0];\n var aP = aR.length;\n aM._$yT = 0;\n for (var aJ = 0; aJ < aP; ++aJ) {\n var aQ = (aR[aJ] & 255);\n if (aQ == \"\\n\" || aQ == \"\\r\") {\n continue;\n }\n if (aQ == \"#\") {\n for (; aJ < aP; ++aJ) {\n if (aR[aJ] == \"\\n\" || aR[aJ] == \"\\r\") {\n break;\n }\n }\n continue;\n }\n if (aQ == \"$\") {\n var aT = aJ;\n var aK = -1;\n for (; aJ < aP; ++aJ) {\n aQ = (aR[aJ] & 255);\n if (aQ == \"\\r\" || aQ == \"\\n\") {\n break;\n }\n if (aQ == \"=\") {\n aK = aJ;\n break;\n }\n }\n var aO = false;\n if (aK >= 0) {\n if (aK == aT + 4 && aR[aT + 1] == \"f\" && aR[aT + 2] == \"p\" && aR[aT + 3] == \"s\") {\n aO = true;\n }\n for (aJ = aK + 1; aJ < aP; ++aJ) {\n aQ = (aR[aJ] & 255);\n if (aQ == \"\\r\" || aQ == \"\\n\") {\n break;\n }\n if (aQ == \",\" || aQ == \" \" || aQ == \"\\t\") {\n continue;\n }\n var aL = G._$LS(aR, aP, aJ, aI);\n if (aI[0] > 0) {\n if (aO && 5 < aL && aL < 121) {\n aM._$D0 = aL;\n }\n }\n aJ = aI[0];\n }\n }\n for (; aJ < aP; ++aJ) {\n if (aR[aJ] == \"\\n\" || aR[aJ] == \"\\r\") {\n break;\n }\n }\n continue;\n }\n if ((\"a\" <= aQ && aQ <= \"z\") || (\"A\" <= aQ && aQ <= \"Z\") || aQ == \"_\") {\n var aT = aJ;\n var aK = -1;\n for (; aJ < aP; ++aJ) {\n aQ = (aR[aJ] & 255);\n if (aQ == \"\\r\" || aQ == \"\\n\") {\n break;\n }\n if (aQ == \"=\") {\n aK = aJ;\n break;\n }\n }\n if (aK >= 0) {\n var aN = new t();\n if (G.startsWith(aR, aT, Y._$cs)) {\n aN._$RP = t._$hs;\n aN._$4P = new String(aR,aT,aK - aT);\n } else {\n if (G.startsWith(aR, aT, Y._$ar)) {\n aN._$4P = new String(aR,aT + 7,aK - aT - 7);\n if (G.startsWith(aR, aT + 7, \"ANCHOR_X\")) {\n aN._$RP = t._$xs;\n } else {\n if (G.startsWith(aR, aT + 7, \"ANCHOR_Y\")) {\n aN._$RP = t._$us;\n } else {\n if (G.startsWith(aR, aT + 7, \"SCALE_X\")) {\n aN._$RP = t._$qs;\n } else {\n if (G.startsWith(aR, aT + 7, \"SCALE_Y\")) {\n aN._$RP = t._$Ys;\n } else {\n if (G.startsWith(aR, aT + 7, \"X\")) {\n aN._$RP = t._$ws;\n } else {\n if (G.startsWith(aR, aT + 7, \"Y\")) {\n aN._$RP = t._$Ns;\n }\n }\n }\n }\n }\n }\n } else {\n aN._$RP = t._$Fr;\n aN._$4P = new String(aR,aT,aK - aT);\n }\n }\n aM.motions.push(aN);\n var aS = 0;\n Y._$D2.clear();\n for (aJ = aK + 1; aJ < aP; ++aJ) {\n aQ = (aR[aJ] & 255);\n if (aQ == \"\\r\" || aQ == \"\\n\") {\n break;\n }\n if (aQ == \",\" || aQ == \" \" || aQ == \"\\t\") {\n continue;\n }\n var aL = G._$LS(aR, aP, aJ, aI);\n if (aI[0] > 0) {\n Y._$D2.push(aL);\n aS++;\n var aH = aI[0];\n if (aH < aJ) {\n console.log(\"_$n0 _$hi . @Live2DMotion loadMotion()\\n\");\n break;\n }\n aJ = aH;\n }\n }\n aN._$I0 = Y._$D2._$BL();\n if (aS > aM._$yT) {\n aM._$yT = aS;\n }\n }\n }\n }\n aM._$AS = ((1000 * aM._$yT) / aM._$D0) | 0;\n return aM;\n}\n;\nY.prototype.getDurationMSec = function() {\n return this._$AS;\n}\n;\nY.prototype.dump = function() {\n for (var aJ = 0; aJ < this.motions.length; aJ++) {\n var aH = this.motions[aJ];\n console.log(\"_$wL[%s] [%d]. \", aH._$4P, aH._$I0.length);\n for (var aI = 0; aI < aH._$I0.length && aI < 10; aI++) {\n console.log(\"%5.2f ,\", aH._$I0[aI]);\n }\n console.log(\"\\n\");\n }\n}\n;\nY.prototype.updateParamExe = function(aH, aL, aO, aX) {\n var aM = aL - aX._$z2;\n var aV = aM * this._$D0 / 1000;\n var aJ = aV | 0;\n var aP = aV - aJ;\n for (var aU = 0; aU < this.motions.length; aU++) {\n var aS = this.motions[aU];\n var aK = aS._$I0.length;\n var aQ = aS._$4P;\n if (aS._$RP == t._$hs) {\n var aT = aS._$I0[(aJ >= aK ? aK - 1 : aJ)];\n aH.setParamFloat(aQ, aT);\n } else {\n if (t._$ws <= aS._$RP && aS._$RP <= t._$Ys) {} else {\n var aR = aH.getParamFloat(aQ);\n var aY = aS._$I0[(aJ >= aK ? aK - 1 : aJ)];\n var aW = aS._$I0[(aJ + 1 >= aK ? aK - 1 : aJ + 1)];\n var aI = aY + (aW - aY) * aP;\n var aN = aR + (aI - aR) * aO;\n aH.setParamFloat(aQ, aN);\n }\n }\n }\n if (aJ >= this._$yT) {\n if (this._$E) {\n aX._$z2 = aL;\n if (this.loopFadeIn) {\n aX._$bs = aL;\n }\n } else {\n aX._$9L = true;\n }\n }\n}\n;\nY.prototype._$r0 = function() {\n return this._$E;\n}\n;\nY.prototype._$aL = function(aH) {\n this._$E = aH;\n}\n;\nY.prototype.isLoopFadeIn = function() {\n return this.loopFadeIn;\n}\n;\nY.prototype.setLoopFadeIn = function(aH) {\n this.loopFadeIn = aH;\n}\n;\nfunction aE() {\n this._$P = new Float32Array(100);\n this.size = 0;\n}\naE.prototype.clear = function() {\n this.size = 0;\n}\n;\naE.prototype.add = function(aI) {\n if (this._$P.length <= this.size) {\n var aH = new Float32Array(this.size * 2);\n P._$jT(this._$P, 0, aH, 0, this.size);\n this._$P = aH;\n }\n this._$P[this.size++] = aI;\n}\n;\naE.prototype._$BL = function() {\n var aH = new Float32Array(this.size);\n P._$jT(this._$P, 0, aH, 0, this.size);\n return aH;\n}\n;\nfunction t() {\n this._$4P = null;\n this._$I0 = null;\n this._$RP = null;\n}\nt._$Fr = 0;\nt._$hs = 1;\nt._$ws = 100;\nt._$Ns = 101;\nt._$xs = 102;\nt._$us = 103;\nt._$qs = 104;\nt._$Ys = 105;\nfunction aw() {}\naw._$Ms = 1;\naw._$Qs = 2;\naw._$i2 = 0;\naw._$No = 2;\naw._$do = aw._$Ms;\naw._$Ls = true;\naw._$1r = 5;\naw._$Qb = 65;\naw._$J = 0.0001;\naw._$FT = 0.001;\naw._$Ss = 3;\nfunction ay() {}\nay._$o7 = 6;\nay._$S7 = 7;\nay._$s7 = 8;\nay._$77 = 9;\nay.LIVE2D_FORMAT_VERSION_V2_10_SDK2 = 10;\nay.LIVE2D_FORMAT_VERSION_V2_11_SDK2_1 = 11;\nay._$T7 = ay.LIVE2D_FORMAT_VERSION_V2_11_SDK2_1;\nay._$Is = -2004318072;\nay._$h0 = 0;\nay._$4L = 23;\nay._$7P = 33;\nay._$uT = function(aH) {\n console.log(\"_$bo :: _$6 _$mo _$E0 : %d\\n\", aH);\n}\n;\nay._$9o = function(aH) {\n if (aH < 40) {\n ay._$uT(aH);\n return null;\n } else {\n if (aH < 50) {\n ay._$uT(aH);\n return null;\n } else {\n if (aH < 60) {\n ay._$uT(aH);\n return null;\n } else {\n if (aH < 100) {\n switch (aH) {\n case 65:\n return new E();\n case 66:\n return new g();\n case 67:\n return new aA();\n case 68:\n return new ab();\n case 69:\n return new X();\n case 70:\n return new b();\n default:\n ay._$uT(aH);\n return null;\n }\n } else {\n if (aH < 150) {\n switch (aH) {\n case 131:\n return new f();\n case 133:\n return new s();\n case 136:\n return new w();\n case 137:\n return new an();\n case 142:\n return new aq();\n }\n }\n }\n }\n }\n }\n ay._$uT(aH);\n return null;\n}\n;\nfunction y(aH) {\n if (j) {\n return;\n }\n this._$QT = true;\n this._$co = -1;\n this._$qo = 0;\n this._$pb = new Array(y._$is);\n this._$_2 = new Float32Array(y._$is);\n this._$vr = new Float32Array(y._$is);\n this._$Rr = new Float32Array(y._$is);\n this._$Or = new Float32Array(y._$is);\n this._$fs = new Float32Array(y._$is);\n this._$Js = new Array(y._$is);\n this._$3S = new Array();\n this._$aS = new Array();\n this._$Bo = null;\n this._$F2 = new Array();\n this._$db = new Array();\n this._$8b = new Array();\n this._$Hr = new Array();\n this._$Ws = null;\n this._$Vs = null;\n this._$Er = null;\n this._$Es = new Int16Array(aw._$Qb);\n this._$ZP = new Float32Array(aw._$1r * 2);\n this._$Ri = aH;\n this._$b0 = y._$HP++;\n this.clipManager = null;\n this.dp_webgl = null;\n}\ny._$HP = 0;\ny._$_0 = true;\ny._$V2 = -1;\ny._$W0 = -1;\ny._$jr = false;\ny._$ZS = true;\ny._$tr = (-1000000);\ny._$lr = (1000000);\ny._$is = 32;\ny._$e = false;\ny.prototype.getDrawDataIndex = function(aI) {\n for (var aH = this._$aS.length - 1; aH >= 0; --aH) {\n if (this._$aS[aH] != null && this._$aS[aH].getDrawDataID() == aI) {\n return aH;\n }\n }\n return -1;\n}\n;\ny.prototype.getDrawData = function(aH) {\n if (aH instanceof Z) {\n if (this._$Bo == null) {\n this._$Bo = new Object();\n var aJ = this._$aS.length;\n for (var aI = 0; aI < aJ; aI++) {\n var aL = this._$aS[aI];\n var aK = aL.getDrawDataID();\n if (aK == null) {\n continue;\n }\n this._$Bo[aK] = aL;\n }\n }\n return this._$Bo[id];\n } else {\n if (aH < this._$aS.length) {\n return this._$aS[aH];\n } else {\n return null;\n }\n }\n}\n;\ny.prototype.release = function() {\n this._$3S.clear();\n this._$aS.clear();\n this._$F2.clear();\n if (this._$Bo != null) {\n this._$Bo.clear();\n }\n this._$db.clear();\n this._$8b.clear();\n this._$Hr.clear();\n}\n;\ny.prototype.init = function() {\n this._$co++;\n if (this._$F2.length > 0) {\n this.release();\n }\n var aO = this._$Ri.getModelImpl();\n var aT = aO._$Xr();\n var aS = aT.length;\n var aH = new Array();\n var a3 = new Array();\n for (var aV = 0; aV < aS; ++aV) {\n var a4 = aT[aV];\n this._$F2.push(a4);\n this._$Hr.push(a4.init(this));\n var aK = a4.getBaseData();\n var aR = aK.length;\n for (var aU = 0; aU < aR; ++aU) {\n aH.push(aK[aU]);\n }\n for (var aU = 0; aU < aR; ++aU) {\n var aM = aK[aU].init(this);\n aM._$l2(aV);\n a3.push(aM);\n }\n var a1 = a4.getDrawData();\n var aP = a1.length;\n for (var aU = 0; aU < aP; ++aU) {\n var aZ = a1[aU];\n var a0 = aZ.init(this);\n a0._$IP = aV;\n this._$aS.push(aZ);\n this._$8b.push(a0);\n }\n }\n var aY = aH.length;\n var aN = n._$2o();\n while (true) {\n var aX = false;\n for (var aV = 0; aV < aY; ++aV) {\n var aL = aH[aV];\n if (aL == null) {\n continue;\n }\n var a2 = aL.getTargetBaseDataID();\n if (a2 == null || a2 == aN || this.getBaseDataIndex(a2) >= 0) {\n this._$3S.push(aL);\n this._$db.push(a3[aV]);\n aH[aV] = null;\n aX = true;\n }\n }\n if (!aX) {\n break;\n }\n }\n var aI = aO._$E2();\n if (aI != null) {\n var aJ = aI._$1s();\n if (aJ != null) {\n var aW = aJ.length;\n for (var aV = 0; aV < aW; ++aV) {\n var aQ = aJ[aV];\n if (aQ == null) {\n continue;\n }\n this._$02(aQ.getParamID(), aQ.getDefaultValue(), aQ.getMinValue(), aQ.getMaxValue());\n }\n }\n }\n this.clipManager = new W(this.dp_webgl);\n this.clipManager.init(this, this._$aS, this._$8b);\n this._$QT = true;\n}\n;\ny.prototype.update = function() {\n if (y._$e) {\n q.start(\"_$zL\");\n }\n var aK = this._$_2.length;\n for (var aW = 0; aW < aK; aW++) {\n if (this._$_2[aW] != this._$vr[aW]) {\n this._$Js[aW] = y._$ZS;\n this._$vr[aW] = this._$_2[aW];\n }\n }\n var aX = false;\n var aQ = this._$3S.length;\n var aN = this._$aS.length;\n var aS = a._$or();\n var aZ = a._$Pr();\n var aU = aZ - aS + 1;\n if (this._$Ws == null || this._$Ws.length < aU) {\n this._$Ws = new Int16Array(aU);\n this._$Vs = new Int16Array(aU);\n }\n for (var aW = 0; aW < aU; aW++) {\n this._$Ws[aW] = y._$V2;\n this._$Vs[aW] = y._$V2;\n }\n if (this._$Er == null || this._$Er.length < aN) {\n this._$Er = new Int16Array(aN);\n }\n for (var aW = 0; aW < aN; aW++) {\n this._$Er[aW] = y._$W0;\n }\n if (y._$e) {\n q.dump(\"_$zL\");\n }\n if (y._$e) {\n q.start(\"_$UL\");\n }\n var aL = null;\n for (var aV = 0; aV < aQ; ++aV) {\n var aJ = this._$3S[aV];\n var aH = this._$db[aV];\n try {\n aJ._$Nr(this, aH);\n aJ._$2b(this, aH);\n } catch (aY) {\n if (aL == null) {\n aL = aY;\n }\n }\n }\n if (aL != null) {\n if (y._$_0) {\n q._$Rb(aL);\n }\n }\n if (y._$e) {\n q.dump(\"_$UL\");\n }\n if (y._$e) {\n q.start(\"_$DL\");\n }\n var aR = null;\n for (var aO = 0; aO < aN; ++aO) {\n var aM = this._$aS[aO];\n var aI = this._$8b[aO];\n try {\n aM._$Nr(this, aI);\n if (aI._$u2()) {\n continue;\n }\n aM._$2b(this, aI);\n var aT = Math.floor(aM._$zS(this, aI) - aS);\n var aP;\n try {\n aP = this._$Vs[aT];\n } catch (aY) {\n console.log(\"_$li :: %s / %s @@_$fS\\n\", aY.toString(), aM.getDrawDataID().toString());\n aT = Math.floor(aM._$zS(this, aI) - aS);\n continue;\n }\n if (aP == y._$V2) {\n this._$Ws[aT] = aO;\n } else {\n this._$Er[aP] = aO;\n }\n this._$Vs[aT] = aO;\n } catch (aY) {\n if (aR == null) {\n aR = aY;\n Q._$sT(Q._$H7);\n }\n }\n }\n if (aR != null) {\n if (y._$_0) {\n q._$Rb(aR);\n }\n }\n if (y._$e) {\n q.dump(\"_$DL\");\n }\n if (y._$e) {\n q.start(\"_$eL\");\n }\n for (var aW = this._$Js.length - 1; aW >= 0; aW--) {\n this._$Js[aW] = y._$jr;\n }\n this._$QT = false;\n if (y._$e) {\n q.dump(\"_$eL\");\n }\n return aX;\n}\n;\ny.prototype.preDraw = function(aH) {\n if (this.clipManager != null) {\n aH._$ZT();\n this.clipManager.setupClip(this, aH);\n }\n}\n;\ny.prototype.draw = function(aM) {\n if (this._$Ws == null) {\n q._$li(\"call _$Ri.update() before _$Ri.draw() \");\n return;\n }\n var aP = this._$Ws.length;\n aM._$ZT();\n for (var aK = 0; aK < aP; ++aK) {\n var aN = this._$Ws[aK];\n if (aN == y._$V2) {\n continue;\n }\n do {\n var aH = this._$aS[aN];\n var aI = this._$8b[aN];\n if (aI._$yo()) {\n var aJ = aI._$IP;\n var aL = this._$Hr[aJ];\n aI._$VS = aL.getPartsOpacity();\n aH.draw(aM, this, aI);\n }\n var aO = this._$Er[aN];\n if (aO <= aN || aO == y._$W0) {\n break;\n }\n aN = aO;\n } while (true);\n }\n}\n;\ny.prototype.getParamIndex = function(aH) {\n for (var aI = this._$pb.length - 1; aI >= 0; --aI) {\n if (this._$pb[aI] == aH) {\n return aI;\n }\n }\n return this._$02(aH, 0, y._$tr, y._$lr);\n}\n;\ny.prototype._$BS = function(aH) {\n return this.getBaseDataIndex(aH);\n}\n;\ny.prototype.getBaseDataIndex = function(aH) {\n for (var aI = this._$3S.length - 1; aI >= 0; --aI) {\n if (this._$3S[aI] != null && this._$3S[aI].getBaseDataID() == aH) {\n return aI;\n }\n }\n return -1;\n}\n;\ny.prototype._$UT = function(aJ, aH) {\n var aI = new Float32Array(aH);\n P._$jT(aJ, 0, aI, 0, aJ.length);\n return aI;\n}\n;\ny.prototype._$02 = function(aN, aM, aL, aH) {\n if (this._$qo >= this._$pb.length) {\n var aK = this._$pb.length;\n var aJ = new Array(aK * 2);\n P._$jT(this._$pb, 0, aJ, 0, aK);\n this._$pb = aJ;\n this._$_2 = this._$UT(this._$_2, aK * 2);\n this._$vr = this._$UT(this._$vr, aK * 2);\n this._$Rr = this._$UT(this._$Rr, aK * 2);\n this._$Or = this._$UT(this._$Or, aK * 2);\n var aI = new Array();\n P._$jT(this._$Js, 0, aI, 0, aK);\n this._$Js = aI;\n }\n this._$pb[this._$qo] = aN;\n this._$_2[this._$qo] = aM;\n this._$vr[this._$qo] = aM;\n this._$Rr[this._$qo] = aL;\n this._$Or[this._$qo] = aH;\n this._$Js[this._$qo] = y._$ZS;\n return this._$qo++;\n}\n;\ny.prototype._$Zo = function(aI, aH) {\n this._$3S[aI] = aH;\n}\n;\ny.prototype.setParamFloat = function(aH, aI) {\n if (aI < this._$Rr[aH]) {\n aI = this._$Rr[aH];\n }\n if (aI > this._$Or[aH]) {\n aI = this._$Or[aH];\n }\n this._$_2[aH] = aI;\n}\n;\ny.prototype.loadParam = function() {\n var aH = this._$_2.length;\n if (aH > this._$fs.length) {\n aH = this._$fs.length;\n }\n P._$jT(this._$fs, 0, this._$_2, 0, aH);\n}\n;\ny.prototype.saveParam = function() {\n var aH = this._$_2.length;\n if (aH > this._$fs.length) {\n this._$fs = new Float32Array(aH);\n }\n P._$jT(this._$_2, 0, this._$fs, 0, aH);\n}\n;\ny.prototype._$v2 = function() {\n return this._$co;\n}\n;\ny.prototype._$WS = function() {\n return this._$QT;\n}\n;\ny.prototype._$Xb = function(aH) {\n return this._$Js[aH] == y._$ZS;\n}\n;\ny.prototype._$vs = function() {\n return this._$Es;\n}\n;\ny.prototype._$Tr = function() {\n return this._$ZP;\n}\n;\ny.prototype.getBaseData = function(aH) {\n return this._$3S[aH];\n}\n;\ny.prototype.getParamFloat = function(aH) {\n return this._$_2[aH];\n}\n;\ny.prototype.getParamMax = function(aH) {\n return this._$Or[aH];\n}\n;\ny.prototype.getParamMin = function(aH) {\n return this._$Rr[aH];\n}\n;\ny.prototype.setPartsOpacity = function(aJ, aH) {\n var aI = this._$Hr[aJ];\n aI.setPartsOpacity(aH);\n}\n;\ny.prototype.getPartsOpacity = function(aI) {\n var aH = this._$Hr[aI];\n return aH.getPartsOpacity();\n}\n;\ny.prototype.getPartsDataIndex = function(aI) {\n for (var aH = this._$F2.length - 1; aH >= 0; --aH) {\n if (this._$F2[aH] != null && this._$F2[aH]._$p2() == aI) {\n return aH;\n }\n }\n return -1;\n}\n;\ny.prototype._$q2 = function(aH) {\n return this._$db[aH];\n}\n;\ny.prototype._$C2 = function(aH) {\n return this._$8b[aH];\n}\n;\ny.prototype._$Bb = function(aH) {\n return this._$Hr[aH];\n}\n;\ny.prototype._$5s = function(aO, aK) {\n var aJ = this._$Ws.length;\n var aN = aO;\n for (var aL = 0; aL < aJ; ++aL) {\n var aI = this._$Ws[aL];\n if (aI == y._$V2) {\n continue;\n }\n do {\n var aM = this._$8b[aI];\n if (aM._$yo()) {\n aM._$GT()._$B2(this, aM, aN);\n aN += aK;\n }\n var aH = this._$Er[aI];\n if (aH <= aI || aH == y._$W0) {\n break;\n }\n aI = aH;\n } while (true);\n }\n}\n;\ny.prototype.setDrawParam = function(aH) {\n this.dp_webgl = aH;\n}\n;\ny.prototype.getDrawParam = function() {\n return this.dp_webgl;\n}\n;\nfunction ap() {}\nap._$0T = function(aH) {\n return ap._$0T(new _$5(aH));\n}\n;\nap._$0T = function(aJ) {\n if (!aJ.exists()) {\n throw new _$ls(aJ._$3b());\n }\n var aH = aJ.length();\n var aI = new Int8Array(aH);\n var aM = new _$Xs(new _$kb(aJ),8192);\n var aK;\n var aL = 0;\n while ((aK = aM.read(aI, aL, aH - aL)) > 0) {\n aL += aK;\n }\n return aI;\n}\n;\nap._$C = function(aJ) {\n var aI = null;\n var aL = null;\n try {\n aI = (aJ instanceof Array) ? aJ : new _$Xs(aJ,8192);\n aL = new _$js();\n var aM = 1000;\n var aK;\n var aH = new Int8Array(aM);\n while ((aK = aI.read(aH)) > 0) {\n aL.write(aH, 0, aK);\n }\n return aL._$TS();\n } finally {\n if (aJ != null) {\n aJ.close();\n }\n if (aL != null) {\n aL.flush();\n aL.close();\n }\n }\n}\n;\nfunction ar() {\n if (j) {\n return;\n }\n this._$12 = null;\n this._$bb = null;\n this._$_L = null;\n this._$jo = null;\n this._$iL = null;\n this._$0L = null;\n this._$Br = null;\n this._$Dr = null;\n this._$Cb = null;\n this._$mr = null;\n this._$_L = az.STATE_FIRST;\n this._$Br = 4000;\n this._$Dr = 100;\n this._$Cb = 50;\n this._$mr = 150;\n this._$jo = true;\n this._$iL = \"PARAM_EYE_L_OPEN\";\n this._$0L = \"PARAM_EYE_R_OPEN\";\n}\nar.prototype._$T2 = function() {\n var aI = P.getUserTimeMSec();\n var aH = Math._$10();\n return (aI + aH * (2 * this._$Br - 1));\n}\n;\nar.prototype._$uo = function(aH) {\n this._$Br = aH;\n}\n;\nar.prototype._$QS = function(aI, aH, aJ) {\n this._$Dr = aI;\n this._$Cb = aH;\n this._$mr = aJ;\n}\n;\nar.prototype._$7T = function(aI) {\n var aK = P.getUserTimeMSec();\n var aH;\n var aJ = 0;\n switch (this._$_L) {\n case STATE_CLOSING:\n aJ = (aK - this._$bb) / this._$Dr;\n if (aJ >= 1) {\n aJ = 1;\n this._$_L = az.STATE_CLOSED;\n this._$bb = aK;\n }\n aH = 1 - aJ;\n break;\n case STATE_CLOSED:\n aJ = (aK - this._$bb) / this._$Cb;\n if (aJ >= 1) {\n this._$_L = az.STATE_OPENING;\n this._$bb = aK;\n }\n aH = 0;\n break;\n case STATE_OPENING:\n aJ = (aK - this._$bb) / this._$mr;\n if (aJ >= 1) {\n aJ = 1;\n this._$_L = az.STATE_INTERVAL;\n this._$12 = this._$T2();\n }\n aH = aJ;\n break;\n case STATE_INTERVAL:\n if (this._$12 < aK) {\n this._$_L = az.STATE_CLOSING;\n this._$bb = aK;\n }\n aH = 1;\n break;\n case STATE_FIRST:\n default:\n this._$_L = az.STATE_INTERVAL;\n this._$12 = this._$T2();\n aH = 1;\n break;\n }\n if (!this._$jo) {\n aH = -aH;\n }\n aI.setParamFloat(this._$iL, aH);\n aI.setParamFloat(this._$0L, aH);\n}\n;\nvar az = function() {};\naz.STATE_FIRST = \"STATE_FIRST\";\naz.STATE_INTERVAL = \"STATE_INTERVAL\";\naz.STATE_CLOSING = \"STATE_CLOSING\";\naz.STATE_CLOSED = \"STATE_CLOSED\";\naz.STATE_OPENING = \"STATE_OPENING\";\nfunction x() {\n if (j) {\n return;\n }\n ax.prototype.constructor.call(this);\n this._$sb = new Int32Array(x._$As);\n this._$U2 = new Array();\n this.transform = null;\n this.gl = null;\n if (x._$NT == null) {\n x._$NT = x._$9r(256);\n x._$vS = x._$9r(256);\n x._$no = x._$vb(256);\n }\n}\nx.prototype = new ax();\nx._$As = 32;\nx._$Gr = false;\nx._$NT = null;\nx._$vS = null;\nx._$no = null;\nx._$9r = function(aH) {\n var aI = new Float32Array(aH);\n return aI;\n}\n;\nx._$vb = function(aH) {\n var aI = new Int16Array(aH);\n return aI;\n}\n;\nx._$cr = function(aI, aH) {\n if (aI == null || aI._$yL() < aH.length) {\n aI = x._$9r(aH.length * 2);\n aI.put(aH);\n aI._$oT(0);\n } else {\n aI.clear();\n aI.put(aH);\n aI._$oT(0);\n }\n return aI;\n}\n;\nx._$mb = function(aI, aH) {\n if (aI == null || aI._$yL() < aH.length) {\n aI = x._$vb(aH.length * 2);\n aI.put(aH);\n aI._$oT(0);\n } else {\n aI.clear();\n aI.put(aH);\n aI._$oT(0);\n }\n return aI;\n}\n;\nx._$Hs = function() {\n return x._$Gr;\n}\n;\nx._$as = function(aH) {\n x._$Gr = aH;\n}\n;\nx.prototype.setGL = function(aH) {\n this.gl = aH;\n}\n;\nx.prototype.setTransform = function(aH) {\n this.transform = aH;\n}\n;\nx.prototype._$ZT = function() {}\n;\nx.prototype._$Uo = function(aO, aH, aP, aI, aQ, aM, aK, aJ) {\n if (aM < 0.01) {\n return;\n }\n var aL = this._$U2[aO];\n var aN = aM > 0.9 ? Q.EXPAND_W : 0;\n this.gl.drawElements(aL, aP, aI, aQ, aM, aN, this.transform, aJ);\n}\n;\nx.prototype._$Rs = function() {\n throw new Error(\"_$Rs\");\n}\n;\nx.prototype._$Ds = function(aH) {\n throw new Error(\"_$Ds\");\n}\n;\nx.prototype._$K2 = function() {\n for (var aH = 0; aH < this._$sb.length; aH++) {\n var aI = this._$sb[aH];\n if (aI != 0) {\n this.gl._$Sr(1, this._$sb, aH);\n this._$sb[aH] = 0;\n }\n }\n}\n;\nx.prototype.setTexture = function(aI, aH) {\n if (this._$sb.length < aI + 1) {\n this._$nS(aI);\n }\n this._$sb[aI] = aH;\n}\n;\nx.prototype.setTexture = function(aH, aI) {\n if (this._$sb.length < aH + 1) {\n this._$nS(aH);\n }\n this._$U2[aH] = aI;\n}\n;\nx.prototype._$nS = function(aH) {\n var aK = Math.max(this._$sb.length * 2, aH + 1 + 10);\n var aI = new Int32Array(aK);\n P._$jT(this._$sb, 0, aI, 0, this._$sb.length);\n this._$sb = aI;\n var aJ = new Array();\n P._$jT(this._$U2, 0, aJ, 0, this._$U2.length);\n this._$U2 = aJ;\n}\n;\nfunction ab() {\n if (j) {\n return;\n }\n c.prototype.constructor.call(this);\n this._$GS = null;\n this._$Y0 = null;\n}\nab.prototype = new c();\nab._$Xo = new Float32Array(2);\nab._$io = new Float32Array(2);\nab._$0o = new Float32Array(2);\nab._$Lo = new Float32Array(2);\nab._$To = new Float32Array(2);\nab._$Po = new Float32Array(2);\nab._$gT = new Array();\nab.prototype._$zP = function() {\n this._$GS = new g();\n this._$GS._$zP();\n this._$Y0 = new Array();\n}\n;\nab.prototype.getType = function() {\n return c._$c2;\n}\n;\nab.prototype._$F0 = function(aH) {\n c.prototype._$F0.call(this, aH);\n this._$GS = aH._$nP();\n this._$Y0 = aH._$nP();\n c.prototype.readV2_opacity.call(this, aH);\n}\n;\nab.prototype.init = function(aH) {\n var aI = new al(this);\n aI._$Yr = new X();\n if (this._$32()) {\n aI._$Wr = new X();\n }\n return aI;\n}\n;\nab.prototype._$Nr = function(bf, bx) {\n if (!((this == bx._$GT()))) {\n console.log(\"### assert!! ### \");\n }\n var bm = bx;\n if (!this._$GS._$Ur(bf)) {\n return;\n }\n var bw = ab._$gT;\n bw[0] = false;\n var a2 = this._$GS._$Q2(bf, bw);\n bx._$Ib(bw[0]);\n this.interpolateOpacity(bf, this._$GS, bx, bw);\n var a3 = bf._$vs();\n var ba = bf._$Tr();\n this._$GS._$zr(a3, ba, a2);\n if (a2 <= 0) {\n var bn = this._$Y0[a3[0]];\n bm._$Yr.init(bn);\n } else {\n if (a2 == 1) {\n var bn = this._$Y0[a3[0]];\n var bl = this._$Y0[a3[1]];\n var a9 = ba[0];\n bm._$Yr._$fL = bn._$fL + (bl._$fL - bn._$fL) * a9;\n bm._$Yr._$gL = bn._$gL + (bl._$gL - bn._$gL) * a9;\n bm._$Yr._$B0 = bn._$B0 + (bl._$B0 - bn._$B0) * a9;\n bm._$Yr._$z0 = bn._$z0 + (bl._$z0 - bn._$z0) * a9;\n bm._$Yr._$qT = bn._$qT + (bl._$qT - bn._$qT) * a9;\n } else {\n if (a2 == 2) {\n var bn = this._$Y0[a3[0]];\n var bl = this._$Y0[a3[1]];\n var a1 = this._$Y0[a3[2]];\n var a0 = this._$Y0[a3[3]];\n var a9 = ba[0];\n var a8 = ba[1];\n var bC = bn._$fL + (bl._$fL - bn._$fL) * a9;\n var bB = a1._$fL + (a0._$fL - a1._$fL) * a9;\n bm._$Yr._$fL = bC + (bB - bC) * a8;\n bC = bn._$gL + (bl._$gL - bn._$gL) * a9;\n bB = a1._$gL + (a0._$gL - a1._$gL) * a9;\n bm._$Yr._$gL = bC + (bB - bC) * a8;\n bC = bn._$B0 + (bl._$B0 - bn._$B0) * a9;\n bB = a1._$B0 + (a0._$B0 - a1._$B0) * a9;\n bm._$Yr._$B0 = bC + (bB - bC) * a8;\n bC = bn._$z0 + (bl._$z0 - bn._$z0) * a9;\n bB = a1._$z0 + (a0._$z0 - a1._$z0) * a9;\n bm._$Yr._$z0 = bC + (bB - bC) * a8;\n bC = bn._$qT + (bl._$qT - bn._$qT) * a9;\n bB = a1._$qT + (a0._$qT - a1._$qT) * a9;\n bm._$Yr._$qT = bC + (bB - bC) * a8;\n } else {\n if (a2 == 3) {\n var aP = this._$Y0[a3[0]];\n var aO = this._$Y0[a3[1]];\n var bu = this._$Y0[a3[2]];\n var bs = this._$Y0[a3[3]];\n var aK = this._$Y0[a3[4]];\n var aJ = this._$Y0[a3[5]];\n var bj = this._$Y0[a3[6]];\n var bi = this._$Y0[a3[7]];\n var a9 = ba[0];\n var a8 = ba[1];\n var a6 = ba[2];\n var bC = aP._$fL + (aO._$fL - aP._$fL) * a9;\n var bB = bu._$fL + (bs._$fL - bu._$fL) * a9;\n var bz = aK._$fL + (aJ._$fL - aK._$fL) * a9;\n var by = bj._$fL + (bi._$fL - bj._$fL) * a9;\n bm._$Yr._$fL = (1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8);\n bC = aP._$gL + (aO._$gL - aP._$gL) * a9;\n bB = bu._$gL + (bs._$gL - bu._$gL) * a9;\n bz = aK._$gL + (aJ._$gL - aK._$gL) * a9;\n by = bj._$gL + (bi._$gL - bj._$gL) * a9;\n bm._$Yr._$gL = (1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8);\n bC = aP._$B0 + (aO._$B0 - aP._$B0) * a9;\n bB = bu._$B0 + (bs._$B0 - bu._$B0) * a9;\n bz = aK._$B0 + (aJ._$B0 - aK._$B0) * a9;\n by = bj._$B0 + (bi._$B0 - bj._$B0) * a9;\n bm._$Yr._$B0 = (1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8);\n bC = aP._$z0 + (aO._$z0 - aP._$z0) * a9;\n bB = bu._$z0 + (bs._$z0 - bu._$z0) * a9;\n bz = aK._$z0 + (aJ._$z0 - aK._$z0) * a9;\n by = bj._$z0 + (bi._$z0 - bj._$z0) * a9;\n bm._$Yr._$z0 = (1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8);\n bC = aP._$qT + (aO._$qT - aP._$qT) * a9;\n bB = bu._$qT + (bs._$qT - bu._$qT) * a9;\n bz = aK._$qT + (aJ._$qT - aK._$qT) * a9;\n by = bj._$qT + (bi._$qT - bj._$qT) * a9;\n bm._$Yr._$qT = (1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8);\n } else {\n if (a2 == 4) {\n var aT = this._$Y0[a3[0]];\n var aS = this._$Y0[a3[1]];\n var bE = this._$Y0[a3[2]];\n var bD = this._$Y0[a3[3]];\n var aN = this._$Y0[a3[4]];\n var aM = this._$Y0[a3[5]];\n var bp = this._$Y0[a3[6]];\n var bo = this._$Y0[a3[7]];\n var bh = this._$Y0[a3[8]];\n var bg = this._$Y0[a3[9]];\n var aY = this._$Y0[a3[10]];\n var aW = this._$Y0[a3[11]];\n var a7 = this._$Y0[a3[12]];\n var a5 = this._$Y0[a3[13]];\n var aR = this._$Y0[a3[14]];\n var aQ = this._$Y0[a3[15]];\n var a9 = ba[0];\n var a8 = ba[1];\n var a6 = ba[2];\n var a4 = ba[3];\n var bC = aT._$fL + (aS._$fL - aT._$fL) * a9;\n var bB = bE._$fL + (bD._$fL - bE._$fL) * a9;\n var bz = aN._$fL + (aM._$fL - aN._$fL) * a9;\n var by = bp._$fL + (bo._$fL - bp._$fL) * a9;\n var bv = bh._$fL + (bg._$fL - bh._$fL) * a9;\n var bt = aY._$fL + (aW._$fL - aY._$fL) * a9;\n var br = a7._$fL + (a5._$fL - a7._$fL) * a9;\n var bq = aR._$fL + (aQ._$fL - aR._$fL) * a9;\n bm._$Yr._$fL = (1 - a4) * ((1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8)) + a4 * ((1 - a6) * (bv + (bt - bv) * a8) + a6 * (br + (bq - br) * a8));\n bC = aT._$gL + (aS._$gL - aT._$gL) * a9;\n bB = bE._$gL + (bD._$gL - bE._$gL) * a9;\n bz = aN._$gL + (aM._$gL - aN._$gL) * a9;\n by = bp._$gL + (bo._$gL - bp._$gL) * a9;\n bv = bh._$gL + (bg._$gL - bh._$gL) * a9;\n bt = aY._$gL + (aW._$gL - aY._$gL) * a9;\n br = a7._$gL + (a5._$gL - a7._$gL) * a9;\n bq = aR._$gL + (aQ._$gL - aR._$gL) * a9;\n bm._$Yr._$gL = (1 - a4) * ((1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8)) + a4 * ((1 - a6) * (bv + (bt - bv) * a8) + a6 * (br + (bq - br) * a8));\n bC = aT._$B0 + (aS._$B0 - aT._$B0) * a9;\n bB = bE._$B0 + (bD._$B0 - bE._$B0) * a9;\n bz = aN._$B0 + (aM._$B0 - aN._$B0) * a9;\n by = bp._$B0 + (bo._$B0 - bp._$B0) * a9;\n bv = bh._$B0 + (bg._$B0 - bh._$B0) * a9;\n bt = aY._$B0 + (aW._$B0 - aY._$B0) * a9;\n br = a7._$B0 + (a5._$B0 - a7._$B0) * a9;\n bq = aR._$B0 + (aQ._$B0 - aR._$B0) * a9;\n bm._$Yr._$B0 = (1 - a4) * ((1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8)) + a4 * ((1 - a6) * (bv + (bt - bv) * a8) + a6 * (br + (bq - br) * a8));\n bC = aT._$z0 + (aS._$z0 - aT._$z0) * a9;\n bB = bE._$z0 + (bD._$z0 - bE._$z0) * a9;\n bz = aN._$z0 + (aM._$z0 - aN._$z0) * a9;\n by = bp._$z0 + (bo._$z0 - bp._$z0) * a9;\n bv = bh._$z0 + (bg._$z0 - bh._$z0) * a9;\n bt = aY._$z0 + (aW._$z0 - aY._$z0) * a9;\n br = a7._$z0 + (a5._$z0 - a7._$z0) * a9;\n bq = aR._$z0 + (aQ._$z0 - aR._$z0) * a9;\n bm._$Yr._$z0 = (1 - a4) * ((1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8)) + a4 * ((1 - a6) * (bv + (bt - bv) * a8) + a6 * (br + (bq - br) * a8));\n bC = aT._$qT + (aS._$qT - aT._$qT) * a9;\n bB = bE._$qT + (bD._$qT - bE._$qT) * a9;\n bz = aN._$qT + (aM._$qT - aN._$qT) * a9;\n by = bp._$qT + (bo._$qT - bp._$qT) * a9;\n bv = bh._$qT + (bg._$qT - bh._$qT) * a9;\n bt = aY._$qT + (aW._$qT - aY._$qT) * a9;\n br = a7._$qT + (a5._$qT - a7._$qT) * a9;\n bq = aR._$qT + (aQ._$qT - aR._$qT) * a9;\n bm._$Yr._$qT = (1 - a4) * ((1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8)) + a4 * ((1 - a6) * (bv + (bt - bv) * a8) + a6 * (br + (bq - br) * a8));\n } else {\n var aV = Math.pow(2, a2) | 0;\n var aZ = new Float32Array(aV);\n for (var bk = 0; bk < aV; bk++) {\n var aI = bk;\n var aH = 1;\n for (var aL = 0; aL < a2; aL++) {\n aH *= (aI % 2 == 0) ? (1 - ba[aL]) : ba[aL];\n aI /= 2;\n }\n aZ[bk] = aH;\n }\n var bA = new Array();\n for (var aU = 0; aU < aV; aU++) {\n bA[aU] = this._$Y0[a3[aU]];\n }\n var be = 0\n , bc = 0\n , bd = 0\n , bb = 0\n , aX = 0;\n for (var aU = 0; aU < aV; aU++) {\n be += aZ[aU] * bA[aU]._$fL;\n bc += aZ[aU] * bA[aU]._$gL;\n bd += aZ[aU] * bA[aU]._$B0;\n bb += aZ[aU] * bA[aU]._$z0;\n aX += aZ[aU] * bA[aU]._$qT;\n }\n bm._$Yr._$fL = be;\n bm._$Yr._$gL = bc;\n bm._$Yr._$B0 = bd;\n bm._$Yr._$z0 = bb;\n bm._$Yr._$qT = aX;\n }\n }\n }\n }\n }\n var bn = this._$Y0[a3[0]];\n bm._$Yr.reflectX = bn.reflectX;\n bm._$Yr.reflectY = bn.reflectY;\n}\n;\nab.prototype._$2b = function(aM, aH) {\n if (!((this == aH._$GT()))) {\n console.log(\"### assert!! ### \");\n }\n var aR = aH;\n aR._$hS(true);\n if (!this._$32()) {\n aR.setTotalScale_notForClient(aR._$Yr._$B0);\n aR.setTotalOpacity(aR.getInterpolatedOpacity());\n } else {\n var aT = this.getTargetBaseDataID();\n if (aR._$8r == c._$ur) {\n aR._$8r = aM.getBaseDataIndex(aT);\n }\n if (aR._$8r < 0) {\n if (Q._$so) {\n q._$li(\"_$L _$0P _$G :: %s\", aT);\n }\n aR._$hS(false);\n } else {\n var aI = aM.getBaseData(aR._$8r);\n if (aI != null) {\n var aL = aM._$q2(aR._$8r);\n var aS = ab._$Xo;\n aS[0] = aR._$Yr._$fL;\n aS[1] = aR._$Yr._$gL;\n var aJ = ab._$io;\n aJ[0] = 0;\n aJ[1] = -0.1;\n var aO = aL._$GT().getType();\n if (aO == c._$c2) {\n aJ[1] = -10;\n } else {\n aJ[1] = -0.1;\n }\n var aQ = ab._$0o;\n this._$Jr(aM, aI, aL, aS, aJ, aQ);\n var aP = aC._$92(aJ, aQ);\n aI._$nb(aM, aL, aS, aS, 1, 0, 2);\n aR._$Wr._$fL = aS[0];\n aR._$Wr._$gL = aS[1];\n aR._$Wr._$B0 = aR._$Yr._$B0;\n aR._$Wr._$z0 = aR._$Yr._$z0;\n aR._$Wr._$qT = aR._$Yr._$qT - aP * aC._$NS;\n var aK = aL.getTotalScale();\n aR.setTotalScale_notForClient(aK * aR._$Wr._$B0);\n var aN = aL.getTotalOpacity();\n aR.setTotalOpacity(aN * aR.getInterpolatedOpacity());\n aR._$Wr.reflectX = aR._$Yr.reflectX;\n aR._$Wr.reflectY = aR._$Yr.reflectY;\n aR._$hS(aL._$yo());\n } else {\n aR._$hS(false);\n }\n }\n }\n}\n;\nab.prototype._$nb = function(aJ, aR, aL, a4, aT, aO, a2) {\n if (!((this == aR._$GT()))) {\n console.log(\"### assert!! ### \");\n }\n var aH = aR;\n var aU = aH._$Wr != null ? aH._$Wr : aH._$Yr;\n var a0 = Math.sin(aC._$bS * aU._$qT);\n var aP = Math.cos(aC._$bS * aU._$qT);\n var a3 = aH.getTotalScale();\n var aW = aU.reflectX ? -1 : 1;\n var aV = aU.reflectY ? -1 : 1;\n var aS = aP * a3 * aW;\n var aQ = -a0 * a3 * aV;\n var a1 = a0 * a3 * aW;\n var aZ = aP * a3 * aV;\n var aY = aU._$fL;\n var aX = aU._$gL;\n var aN, aM;\n var aI = aT * a2;\n for (var aK = aO; aK < aI; aK += a2) {\n aN = aL[aK];\n aM = aL[aK + 1];\n a4[aK] = aS * aN + aQ * aM + aY;\n a4[aK + 1] = a1 * aN + aZ * aM + aX;\n }\n}\n;\nab.prototype._$Jr = function(aP, aK, aI, aR, aQ, aH) {\n if (!((aK == aI._$GT()))) {\n console.log(\"### assert!! ### \");\n }\n var aO = ab._$Lo;\n ab._$Lo[0] = aR[0];\n ab._$Lo[1] = aR[1];\n aK._$nb(aP, aI, aO, aO, 1, 0, 2);\n var aL = ab._$To;\n var aS = ab._$Po;\n var aN = 10;\n var aJ = 1;\n for (var aM = 0; aM < aN; aM++) {\n aS[0] = aR[0] + aJ * aQ[0];\n aS[1] = aR[1] + aJ * aQ[1];\n aK._$nb(aP, aI, aS, aL, 1, 0, 2);\n aL[0] -= aO[0];\n aL[1] -= aO[1];\n if (aL[0] != 0 || aL[1] != 0) {\n aH[0] = aL[0];\n aH[1] = aL[1];\n return;\n }\n aS[0] = aR[0] - aJ * aQ[0];\n aS[1] = aR[1] - aJ * aQ[1];\n aK._$nb(aP, aI, aS, aL, 1, 0, 2);\n aL[0] -= aO[0];\n aL[1] -= aO[1];\n if (aL[0] != 0 || aL[1] != 0) {\n aL[0] = -aL[0];\n aL[0] = -aL[0];\n aH[0] = aL[0];\n aH[1] = aL[1];\n return;\n }\n aJ *= 0.1;\n }\n if (Q._$so) {\n console.log(\"_$L0 to transform _$SP\\n\");\n }\n}\n;\nfunction al(aH) {\n B.prototype.constructor.call(this, aH);\n this._$8r = c._$ur;\n this._$Yr = null;\n this._$Wr = null;\n}\nal.prototype = new B();\nfunction a() {\n if (j) {\n return;\n }\n ae.prototype.constructor.call(this);\n this._$gP = null;\n this._$dr = null;\n this._$GS = null;\n this._$qb = null;\n this._$Lb = null;\n this._$mS = null;\n}\na.prototype = new ae();\na._$ur = -2;\na._$ES = 500;\na._$wb = 2;\na._$8S = 3;\na._$os = 4;\na._$52 = a._$ES;\na._$R2 = a._$ES;\na._$Sb = function(aJ) {\n for (var aI = aJ.length - 1; aI >= 0; --aI) {\n var aH = aJ[aI];\n if (aH < a._$52) {\n a._$52 = aH;\n } else {\n if (aH > a._$R2) {\n a._$R2 = aH;\n }\n }\n }\n}\n;\na._$or = function() {\n return a._$52;\n}\n;\na._$Pr = function() {\n return a._$R2;\n}\n;\na.prototype._$F0 = function(aH) {\n this._$gP = aH._$nP();\n this._$dr = aH._$nP();\n this._$GS = aH._$nP();\n this._$qb = aH._$6L();\n this._$Lb = aH._$cS();\n this._$mS = aH._$Tb();\n if (aH.getFormatVersion() >= ay._$T7) {\n this.clipID = aH._$nP();\n this.clipIDList = this.convertClipIDForV2_11(this.clipID);\n } else {\n this.clipIDList = null;\n }\n a._$Sb(this._$Lb);\n}\n;\na.prototype.getClipIDList = function() {\n return this.clipIDList;\n}\n;\na.prototype._$Nr = function(aI, aH) {\n aH._$IS[0] = false;\n aH._$Us = aG._$Z2(aI, this._$GS, aH._$IS, this._$Lb);\n if (Q._$Zs) {} else {\n if (aH._$IS[0]) {\n return;\n }\n }\n aH._$7s = aG._$br(aI, this._$GS, aH._$IS, this._$mS);\n}\n;\na.prototype._$2b = function(aH) {}\n;\na.prototype.getDrawDataID = function() {\n return this._$gP;\n}\n;\na.prototype._$j2 = function(aH) {\n this._$gP = aH;\n}\n;\na.prototype.getOpacity = function(aH, aI) {\n return aI._$7s;\n}\n;\na.prototype._$zS = function(aH, aI) {\n return aI._$Us;\n}\n;\na.prototype.getTargetBaseDataID = function() {\n return this._$dr;\n}\n;\na.prototype._$gs = function(aH) {\n this._$dr = aH;\n}\n;\na.prototype._$32 = function() {\n return (this._$dr != null && (this._$dr != n._$2o()));\n}\n;\na.prototype.getType = function() {}\n;\nfunction aq() {\n if (j) {\n return;\n }\n this._$NL = null;\n this._$3S = null;\n this._$aS = null;\n aq._$42++;\n}\naq._$42 = 0;\naq.prototype._$1b = function() {\n return this._$3S;\n}\n;\naq.prototype.getDrawDataList = function() {\n return this._$aS;\n}\n;\naq.prototype._$F0 = function(aH) {\n this._$NL = aH._$nP();\n this._$aS = aH._$nP();\n this._$3S = aH._$nP();\n}\n;\naq.prototype._$kr = function(aH) {\n aH._$Zo(this._$3S);\n aH._$xo(this._$aS);\n this._$3S = null;\n this._$aS = null;\n}\n;\nfunction v() {\n if (j) {\n return;\n }\n aa.prototype.constructor.call(this);\n this._$zo = new x();\n}\nv.prototype = new aa();\nv.loadModel = function(aI) {\n var aH = new v();\n aa._$62(aH, aI);\n return aH;\n}\n;\nv.loadModel = function(aI) {\n var aH = new v();\n aa._$62(aH, aI);\n return aH;\n}\n;\nv._$to = function() {\n var aH = new v();\n return aH;\n}\n;\nv._$er = function(aM) {\n var aJ = new _$5(\"../_$_r/_$t0/_$Ri/_$_P._$d\");\n if (aJ.exists() == false) {\n throw new _$ls(\"_$t0 _$_ _$6 _$Ui :: \" + aJ._$PL());\n }\n var aH = [\"../_$_r/_$t0/_$Ri/_$_P.512/_$CP._$1\", \"../_$_r/_$t0/_$Ri/_$_P.512/_$vP._$1\", \"../_$_r/_$t0/_$Ri/_$_P.512/_$EP._$1\", \"../_$_r/_$t0/_$Ri/_$_P.512/_$pP._$1\"];\n var aK = v.loadModel(aJ._$3b());\n for (var aI = 0; aI < aH.length; aI++) {\n var aL = new _$5(aH[aI]);\n if (aL.exists() == false) {\n throw new _$ls(\"_$t0 _$_ _$6 _$Ui :: \" + aL._$PL());\n }\n aK.setTexture(aI, _$nL._$_o(aM, aL._$3b()));\n }\n return aK;\n}\n;\nv.prototype.setGL = function(aH) {\n this._$zo.setGL(aH);\n}\n;\nv.prototype.setTransform = function(aH) {\n this._$zo.setTransform(aH);\n}\n;\nv.prototype.draw = function() {\n this._$5S.draw(this._$zo);\n}\n;\nv.prototype._$K2 = function() {\n this._$zo._$K2();\n}\n;\nv.prototype.setTexture = function(aI, aH) {\n if (this._$zo == null) {\n q._$li(\"_$Yi for QT _$ki / _$XS() is _$6 _$ui!!\");\n }\n this._$zo.setTexture(aI, aH);\n}\n;\nv.prototype.setTexture = function(aI, aH) {\n if (this._$zo == null) {\n q._$li(\"_$Yi for QT _$ki / _$XS() is _$6 _$ui!!\");\n }\n this._$zo.setTexture(aI, aH);\n}\n;\nv.prototype._$Rs = function() {\n return this._$zo._$Rs();\n}\n;\nv.prototype._$Ds = function(aH) {\n this._$zo._$Ds(aH);\n}\n;\nv.prototype.getDrawParam = function() {\n return this._$zo;\n}\n;\nfunction ao() {\n if (j) {\n return;\n }\n ah.prototype.constructor.call(this);\n this.motions = new Array();\n this._$o2 = null;\n this._$7r = ao._$Co++;\n this._$D0 = 30;\n this._$yT = 0;\n this._$E = false;\n this.loopFadeIn = true;\n this._$rr = -1;\n this._$eP = 0;\n}\nao.prototype = new ah();\nao._$cs = \"VISIBLE:\";\nao._$ar = \"LAYOUT:\";\nao.MTN_PREFIX_FADEIN = \"FADEIN:\";\nao.MTN_PREFIX_FADEOUT = \"FADEOUT:\";\nao._$Co = 0;\nao._$1T = 1;\nao.loadMotion = function(aJ) {\n var aI = ap._$C(aJ);\n var aH = ao.loadMotion(aI);\n return aH;\n}\n;\nfunction p(aI, aH) {\n return String.fromCharCode(aI.getUint8(aH));\n}\nao.loadMotion = function(aT) {\n if (aT instanceof ArrayBuffer) {\n aT = new DataView(aT);\n }\n var aN = new ao();\n var aI = [0];\n var aQ = aT.byteLength;\n aN._$yT = 0;\n for (var aJ = 0; aJ < aQ; ++aJ) {\n var aS = p(aT, aJ);\n var aL = aS.charCodeAt(0);\n if (aS == \"\\n\" || aS == \"\\r\") {\n continue;\n }\n if (aS == \"#\") {\n for (; aJ < aQ; ++aJ) {\n if (p(aT, aJ) == \"\\n\" || p(aT, aJ) == \"\\r\") {\n break;\n }\n }\n continue;\n }\n if (aS == \"$\") {\n var aV = aJ;\n var aK = -1;\n for (; aJ < aQ; ++aJ) {\n aS = p(aT, aJ);\n if (aS == \"\\r\" || aS == \"\\n\") {\n break;\n }\n if (aS == \"=\") {\n aK = aJ;\n break;\n }\n }\n var aP = false;\n if (aK >= 0) {\n if (aK == aV + 4 && p(aT, aV + 1) == \"f\" && p(aT, aV + 2) == \"p\" && p(aT, aV + 3) == \"s\") {\n aP = true;\n }\n for (aJ = aK + 1; aJ < aQ; ++aJ) {\n aS = p(aT, aJ);\n if (aS == \"\\r\" || aS == \"\\n\") {\n break;\n }\n if (aS == \",\" || aS == \" \" || aS == \"\\t\") {\n continue;\n }\n var aM = G._$LS(aT, aQ, aJ, aI);\n if (aI[0] > 0) {\n if (aP && 5 < aM && aM < 121) {\n aN._$D0 = aM;\n }\n }\n aJ = aI[0];\n }\n }\n for (; aJ < aQ; ++aJ) {\n if (p(aT, aJ) == \"\\n\" || p(aT, aJ) == \"\\r\") {\n break;\n }\n }\n continue;\n }\n if ((97 <= aL && aL <= 122) || (65 <= aL && aL <= 90) || aS == \"_\") {\n var aV = aJ;\n var aK = -1;\n for (; aJ < aQ; ++aJ) {\n aS = p(aT, aJ);\n if (aS == \"\\r\" || aS == \"\\n\") {\n break;\n }\n if (aS == \"=\") {\n aK = aJ;\n break;\n }\n }\n if (aK >= 0) {\n var aO = new t();\n if (G.startsWith(aT, aV, ao._$cs)) {\n aO._$RP = t._$hs;\n aO._$4P = G.createString(aT, aV, aK - aV);\n } else {\n if (G.startsWith(aT, aV, ao._$ar)) {\n aO._$4P = G.createString(aT, aV + 7, aK - aV - 7);\n if (G.startsWith(aT, aV + 7, \"ANCHOR_X\")) {\n aO._$RP = t._$xs;\n } else {\n if (G.startsWith(aT, aV + 7, \"ANCHOR_Y\")) {\n aO._$RP = t._$us;\n } else {\n if (G.startsWith(aT, aV + 7, \"SCALE_X\")) {\n aO._$RP = t._$qs;\n } else {\n if (G.startsWith(aT, aV + 7, \"SCALE_Y\")) {\n aO._$RP = t._$Ys;\n } else {\n if (G.startsWith(aT, aV + 7, \"X\")) {\n aO._$RP = t._$ws;\n } else {\n if (G.startsWith(aT, aV + 7, \"Y\")) {\n aO._$RP = t._$Ns;\n }\n }\n }\n }\n }\n }\n } else {\n aO._$RP = t._$Fr;\n aO._$4P = G.createString(aT, aV, aK - aV);\n }\n }\n aN.motions.push(aO);\n var aU = 0;\n var aR = [];\n for (aJ = aK + 1; aJ < aQ; ++aJ) {\n aS = p(aT, aJ);\n if (aS == \"\\r\" || aS == \"\\n\") {\n break;\n }\n if (aS == \",\" || aS == \" \" || aS == \"\\t\") {\n continue;\n }\n var aM = G._$LS(aT, aQ, aJ, aI);\n if (aI[0] > 0) {\n aR.push(aM);\n aU++;\n var aH = aI[0];\n if (aH < aJ) {\n console.log(\"_$n0 _$hi . @Live2DMotion loadMotion()\\n\");\n break;\n }\n aJ = aH - 1;\n }\n }\n aO._$I0 = new Float32Array(aR);\n if (aU > aN._$yT) {\n aN._$yT = aU;\n }\n }\n }\n }\n aN._$rr = ((1000 * aN._$yT) / aN._$D0) | 0;\n return aN;\n}\n;\nao.prototype.getDurationMSec = function() {\n return this._$E ? -1 : this._$rr;\n}\n;\nao.prototype.getLoopDurationMSec = function() {\n return this._$rr;\n}\n;\nao.prototype.dump = function() {\n for (var aJ = 0; aJ < this.motions.length; aJ++) {\n var aH = this.motions[aJ];\n console.log(\"_$wL[%s] [%d]. \", aH._$4P, aH._$I0.length);\n for (var aI = 0; aI < aH._$I0.length && aI < 10; aI++) {\n console.log(\"%5.2f ,\", aH._$I0[aI]);\n }\n console.log(\"\\n\");\n }\n}\n;\nao.prototype.updateParamExe = function(aJ, aN, aQ, a3) {\n var aO = aN - a3._$z2;\n var a0 = aO * this._$D0 / 1000;\n var aK = a0 | 0;\n var aR = a0 - aK;\n for (var aZ = 0; aZ < this.motions.length; aZ++) {\n var aV = this.motions[aZ];\n var aL = aV._$I0.length;\n var aT = aV._$4P;\n if (aV._$RP == t._$hs) {\n var aX = aV._$I0[(aK >= aL ? aL - 1 : aK)];\n aJ.setParamFloat(aT, aX);\n } else {\n if (t._$ws <= aV._$RP && aV._$RP <= t._$Ys) {} else {\n var aH = aJ.getParamIndex(aT);\n var a4 = aJ.getModelContext();\n var aY = a4.getParamMax(aH);\n var aW = a4.getParamMin(aH);\n var aM = 0.4;\n var aS = aM * (aY - aW);\n var aU = a4.getParamFloat(aH);\n var a2 = aV._$I0[(aK >= aL ? aL - 1 : aK)];\n var a1 = aV._$I0[(aK + 1 >= aL ? aL - 1 : aK + 1)];\n var aI;\n if ((a2 < a1 && a1 - a2 > aS) || (a2 > a1 && a2 - a1 > aS)) {\n aI = a2;\n } else {\n aI = a2 + (a1 - a2) * aR;\n }\n var aP = aU + (aI - aU) * aQ;\n aJ.setParamFloat(aT, aP);\n }\n }\n }\n if (aK >= this._$yT) {\n if (this._$E) {\n a3._$z2 = aN;\n if (this.loopFadeIn) {\n a3._$bs = aN;\n }\n } else {\n a3._$9L = true;\n }\n }\n this._$eP = aQ;\n}\n;\nao.prototype._$r0 = function() {\n return this._$E;\n}\n;\nao.prototype._$aL = function(aH) {\n this._$E = aH;\n}\n;\nao.prototype._$S0 = function() {\n return this._$D0;\n}\n;\nao.prototype._$U0 = function(aH) {\n this._$D0 = aH;\n}\n;\nao.prototype.isLoopFadeIn = function() {\n return this.loopFadeIn;\n}\n;\nao.prototype.setLoopFadeIn = function(aH) {\n this.loopFadeIn = aH;\n}\n;\nfunction aE() {\n this._$P = new Float32Array(100);\n this.size = 0;\n}\naE.prototype.clear = function() {\n this.size = 0;\n}\n;\naE.prototype.add = function(aI) {\n if (this._$P.length <= this.size) {\n var aH = new Float32Array(this.size * 2);\n P._$jT(this._$P, 0, aH, 0, this.size);\n this._$P = aH;\n }\n this._$P[this.size++] = aI;\n}\n;\naE.prototype._$BL = function() {\n var aH = new Float32Array(this.size);\n P._$jT(this._$P, 0, aH, 0, this.size);\n return aH;\n}\n;\nfunction t() {\n this._$4P = null;\n this._$I0 = null;\n this._$RP = null;\n}\nt._$Fr = 0;\nt._$hs = 1;\nt._$ws = 100;\nt._$Ns = 101;\nt._$xs = 102;\nt._$us = 103;\nt._$qs = 104;\nt._$Ys = 105;\nfunction E() {\n if (j) {\n return;\n }\n c.prototype.constructor.call(this);\n this._$o = 0;\n this._$A = 0;\n this._$GS = null;\n this._$Eo = null;\n}\nE.prototype = new c();\nE._$gT = new Array();\nE.prototype._$zP = function() {\n this._$GS = new g();\n this._$GS._$zP();\n}\n;\nE.prototype._$F0 = function(aH) {\n c.prototype._$F0.call(this, aH);\n this._$A = aH._$6L();\n this._$o = aH._$6L();\n this._$GS = aH._$nP();\n this._$Eo = aH._$nP();\n c.prototype.readV2_opacity.call(this, aH);\n}\n;\nE.prototype.init = function(aH) {\n var aI = new H(this);\n var aJ = (this._$o + 1) * (this._$A + 1);\n if (aI._$Cr != null) {\n aI._$Cr = null;\n }\n aI._$Cr = new Float32Array(aJ * 2);\n if (aI._$hr != null) {\n aI._$hr = null;\n }\n if (this._$32()) {\n aI._$hr = new Float32Array(aJ * 2);\n } else {\n aI._$hr = null;\n }\n return aI;\n}\n;\nE.prototype._$Nr = function(aJ, aI) {\n var aK = aI;\n if (!this._$GS._$Ur(aJ)) {\n return;\n }\n var aL = this._$VT();\n var aH = E._$gT;\n aH[0] = false;\n aG._$Vr(aJ, this._$GS, aH, aL, this._$Eo, aK._$Cr, 0, 2);\n aI._$Ib(aH[0]);\n this.interpolateOpacity(aJ, this._$GS, aI, aH);\n}\n;\nE.prototype._$2b = function(aK, aJ) {\n var aL = aJ;\n aL._$hS(true);\n if (!this._$32()) {\n aL.setTotalOpacity(aL.getInterpolatedOpacity());\n } else {\n var aH = this.getTargetBaseDataID();\n if (aL._$8r == c._$ur) {\n aL._$8r = aK.getBaseDataIndex(aH);\n }\n if (aL._$8r < 0) {\n if (Q._$so) {\n q._$li(\"_$L _$0P _$G :: %s\", aH);\n }\n aL._$hS(false);\n } else {\n var aN = aK.getBaseData(aL._$8r);\n var aI = aK._$q2(aL._$8r);\n if (aN != null && aI._$yo()) {\n var aM = aI.getTotalScale();\n aL.setTotalScale_notForClient(aM);\n var aO = aI.getTotalOpacity();\n aL.setTotalOpacity(aO * aL.getInterpolatedOpacity());\n aN._$nb(aK, aI, aL._$Cr, aL._$hr, this._$VT(), 0, 2);\n aL._$hS(true);\n } else {\n aL._$hS(false);\n }\n }\n }\n}\n;\nE.prototype._$nb = function(aL, aI, aH, aM, aO, aK, aJ) {\n if (true) {\n var aN = aI;\n var aP = (aN._$hr != null) ? aN._$hr : aN._$Cr;\n E.transformPoints_sdk2(aH, aM, aO, aK, aJ, aP, this._$o, this._$A);\n } else {\n this.transformPoints_sdk1(aL, aI, aH, aM, aO, aK, aJ);\n }\n}\n;\nE.transformPoints_sdk2 = function(a0, bc, a5, aP, aI, aR, aQ, aU) {\n var aW = a5 * aI;\n var aV;\n var bn, bm;\n var aT = 0;\n var aS = 0;\n var bl = 0;\n var bk = 0;\n var bf = 0;\n var be = 0;\n var aZ = false;\n for (var ba = aP; ba < aW; ba += aI) {\n var bd, a7, a4, aX;\n a4 = a0[ba];\n aX = a0[ba + 1];\n bd = a4 * aQ;\n a7 = aX * aU;\n if (bd < 0 || a7 < 0 || aQ <= bd || aU <= a7) {\n var a1 = aQ + 1;\n if (!aZ) {\n aZ = true;\n aT = 0.25 * (aR[((0) + (0) * a1) * 2] + aR[((aQ) + (0) * a1) * 2] + aR[((0) + (aU) * a1) * 2] + aR[((aQ) + (aU) * a1) * 2]);\n aS = 0.25 * (aR[((0) + (0) * a1) * 2 + 1] + aR[((aQ) + (0) * a1) * 2 + 1] + aR[((0) + (aU) * a1) * 2 + 1] + aR[((aQ) + (aU) * a1) * 2 + 1]);\n var aM = aR[((aQ) + (aU) * a1) * 2] - aR[((0) + (0) * a1) * 2];\n var aL = aR[((aQ) + (aU) * a1) * 2 + 1] - aR[((0) + (0) * a1) * 2 + 1];\n var bh = aR[((aQ) + (0) * a1) * 2] - aR[((0) + (aU) * a1) * 2];\n var bg = aR[((aQ) + (0) * a1) * 2 + 1] - aR[((0) + (aU) * a1) * 2 + 1];\n bl = (aM + bh) * 0.5;\n bk = (aL + bg) * 0.5;\n bf = (aM - bh) * 0.5;\n be = (aL - bg) * 0.5;\n if (bl == 0 && bk == 0) {}\n if (bf == 0 && be == 0) {}\n aT -= 0.5 * (bl + bf);\n aS -= 0.5 * (bk + be);\n }\n if ((-2 < a4 && a4 < 3) && (-2 < aX && aX < 3)) {\n if (a4 <= 0) {\n if (aX <= 0) {\n var a3 = aR[((0) + (0) * a1) * 2];\n var a2 = aR[((0) + (0) * a1) * 2 + 1];\n var a8 = aT - 2 * bl;\n var a6 = aS - 2 * bk;\n var aK = aT - 2 * bf;\n var aJ = aS - 2 * be;\n var aO = aT - 2 * bl - 2 * bf;\n var aN = aS - 2 * bk - 2 * be;\n var bj = 0.5 * (a4 - (-2));\n var bi = 0.5 * (aX - (-2));\n if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;\n bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);\n bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n } else {\n if (aX >= 1) {\n var aK = aR[((0) + (aU) * a1) * 2];\n var aJ = aR[((0) + (aU) * a1) * 2 + 1];\n var aO = aT - 2 * bl + 1 * bf;\n var aN = aS - 2 * bk + 1 * be;\n var a3 = aT + 3 * bf;\n var a2 = aS + 3 * be;\n var a8 = aT - 2 * bl + 3 * bf;\n var a6 = aS - 2 * bk + 3 * be;\n var bj = 0.5 * (a4 - (-2));\n var bi = 0.5 * (aX - (1));\n if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;\n bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);\n bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n } else {\n var aH = (a7 | 0);\n if (aH == aU) {\n aH = aU - 1;\n }\n var bj = 0.5 * (a4 - (-2));\n var bi = a7 - aH;\n var bb = aH / aU;\n var a9 = (aH + 1) / aU;\n var aK = aR[((0) + (aH) * a1) * 2];\n var aJ = aR[((0) + (aH) * a1) * 2 + 1];\n var a3 = aR[((0) + (aH + 1) * a1) * 2];\n var a2 = aR[((0) + (aH + 1) * a1) * 2 + 1];\n var aO = aT - 2 * bl + bb * bf;\n var aN = aS - 2 * bk + bb * be;\n var a8 = aT - 2 * bl + a9 * bf;\n var a6 = aS - 2 * bk + a9 * be;\n if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;\n bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);\n bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n }\n }\n } else {\n if (1 <= a4) {\n if (aX <= 0) {\n var a8 = aR[((aQ) + (0) * a1) * 2];\n var a6 = aR[((aQ) + (0) * a1) * 2 + 1];\n var a3 = aT + 3 * bl;\n var a2 = aS + 3 * bk;\n var aO = aT + 1 * bl - 2 * bf;\n var aN = aS + 1 * bk - 2 * be;\n var aK = aT + 3 * bl - 2 * bf;\n var aJ = aS + 3 * bk - 2 * be;\n var bj = 0.5 * (a4 - (1));\n var bi = 0.5 * (aX - (-2));\n if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;\n bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);\n bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n } else {\n if (aX >= 1) {\n var aO = aR[((aQ) + (aU) * a1) * 2];\n var aN = aR[((aQ) + (aU) * a1) * 2 + 1];\n var aK = aT + 3 * bl + 1 * bf;\n var aJ = aS + 3 * bk + 1 * be;\n var a8 = aT + 1 * bl + 3 * bf;\n var a6 = aS + 1 * bk + 3 * be;\n var a3 = aT + 3 * bl + 3 * bf;\n var a2 = aS + 3 * bk + 3 * be;\n var bj = 0.5 * (a4 - (1));\n var bi = 0.5 * (aX - (1));\n if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;\n bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);\n bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n } else {\n var aH = (a7 | 0);\n if (aH == aU) {\n aH = aU - 1;\n }\n var bj = 0.5 * (a4 - (1));\n var bi = a7 - aH;\n var bb = aH / aU;\n var a9 = (aH + 1) / aU;\n var aO = aR[((aQ) + (aH) * a1) * 2];\n var aN = aR[((aQ) + (aH) * a1) * 2 + 1];\n var a8 = aR[((aQ) + (aH + 1) * a1) * 2];\n var a6 = aR[((aQ) + (aH + 1) * a1) * 2 + 1];\n var aK = aT + 3 * bl + bb * bf;\n var aJ = aS + 3 * bk + bb * be;\n var a3 = aT + 3 * bl + a9 * bf;\n var a2 = aS + 3 * bk + a9 * be;\n if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;\n bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);\n bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n }\n }\n } else {\n if (aX <= 0) {\n var aY = (bd | 0);\n if (aY == aQ) {\n aY = aQ - 1;\n }\n var bj = bd - aY;\n var bi = 0.5 * (aX - (-2));\n var bp = aY / aQ;\n var bo = (aY + 1) / aQ;\n var a8 = aR[((aY) + (0) * a1) * 2];\n var a6 = aR[((aY) + (0) * a1) * 2 + 1];\n var a3 = aR[((aY + 1) + (0) * a1) * 2];\n var a2 = aR[((aY + 1) + (0) * a1) * 2 + 1];\n var aO = aT + bp * bl - 2 * bf;\n var aN = aS + bp * bk - 2 * be;\n var aK = aT + bo * bl - 2 * bf;\n var aJ = aS + bo * bk - 2 * be;\n if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;\n bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);\n bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n } else {\n if (aX >= 1) {\n var aY = (bd | 0);\n if (aY == aQ) {\n aY = aQ - 1;\n }\n var bj = bd - aY;\n var bi = 0.5 * (aX - (1));\n var bp = aY / aQ;\n var bo = (aY + 1) / aQ;\n var aO = aR[((aY) + (aU) * a1) * 2];\n var aN = aR[((aY) + (aU) * a1) * 2 + 1];\n var aK = aR[((aY + 1) + (aU) * a1) * 2];\n var aJ = aR[((aY + 1) + (aU) * a1) * 2 + 1];\n var a8 = aT + bp * bl + 3 * bf;\n var a6 = aS + bp * bk + 3 * be;\n var a3 = aT + bo * bl + 3 * bf;\n var a2 = aS + bo * bk + 3 * be;\n if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;\n bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);\n bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n } else {\n System.err.printf(\"_$li calc : %.4f , %.4f @@BDBoxGrid\\n\", a4, aX);\n }\n }\n }\n }\n } else {\n bc[ba] = aT + a4 * bl + aX * bf;\n bc[ba + 1] = aS + a4 * bk + aX * be;\n }\n } else {\n bn = bd - (bd | 0);\n bm = a7 - (a7 | 0);\n aV = 2 * ((bd | 0) + ((a7 | 0)) * (aQ + 1));\n if (bn + bm < 1) {\n bc[ba] = aR[aV] * (1 - bn - bm) + aR[aV + 2] * bn + aR[aV + 2 * (aQ + 1)] * bm;\n bc[ba + 1] = aR[aV + 1] * (1 - bn - bm) + aR[aV + 3] * bn + aR[aV + 2 * (aQ + 1) + 1] * bm;\n } else {\n bc[ba] = aR[aV + 2 * (aQ + 1) + 2] * (bn - 1 + bm) + aR[aV + 2 * (aQ + 1)] * (1 - bn) + aR[aV + 2] * (1 - bm);\n bc[ba + 1] = aR[aV + 2 * (aQ + 1) + 3] * (bn - 1 + bm) + aR[aV + 2 * (aQ + 1) + 1] * (1 - bn) + aR[aV + 3] * (1 - bm);\n }\n }\n }\n}\n;\nE.prototype.transformPoints_sdk1 = function(aJ, aR, aL, a0, aU, aP, aZ) {\n var aH = aR;\n var aO, aN;\n var aM = this._$o;\n var aQ = this._$A;\n var aI = aU * aZ;\n var aS, aY;\n var aV;\n var aX, aW;\n var aT = (aH._$hr != null) ? aH._$hr : aH._$Cr;\n for (var aK = aP; aK < aI; aK += aZ) {\n if (Q._$ts) {\n aO = aL[aK];\n aN = aL[aK + 1];\n if (aO < 0) {\n aO = 0;\n } else {\n if (aO > 1) {\n aO = 1;\n }\n }\n if (aN < 0) {\n aN = 0;\n } else {\n if (aN > 1) {\n aN = 1;\n }\n }\n aO *= aM;\n aN *= aQ;\n aS = (aO | 0);\n aY = (aN | 0);\n if (aS > aM - 1) {\n aS = aM - 1;\n }\n if (aY > aQ - 1) {\n aY = aQ - 1;\n }\n aX = aO - aS;\n aW = aN - aY;\n aV = 2 * (aS + aY * (aM + 1));\n } else {\n aO = aL[aK] * aM;\n aN = aL[aK + 1] * aQ;\n aX = aO - (aO | 0);\n aW = aN - (aN | 0);\n aV = 2 * ((aO | 0) + (aN | 0) * (aM + 1));\n }\n if (aX + aW < 1) {\n a0[aK] = aT[aV] * (1 - aX - aW) + aT[aV + 2] * aX + aT[aV + 2 * (aM + 1)] * aW;\n a0[aK + 1] = aT[aV + 1] * (1 - aX - aW) + aT[aV + 3] * aX + aT[aV + 2 * (aM + 1) + 1] * aW;\n } else {\n a0[aK] = aT[aV + 2 * (aM + 1) + 2] * (aX - 1 + aW) + aT[aV + 2 * (aM + 1)] * (1 - aX) + aT[aV + 2] * (1 - aW);\n a0[aK + 1] = aT[aV + 2 * (aM + 1) + 3] * (aX - 1 + aW) + aT[aV + 2 * (aM + 1) + 1] * (1 - aX) + aT[aV + 3] * (1 - aW);\n }\n }\n}\n;\nE.prototype._$VT = function() {\n return (this._$o + 1) * (this._$A + 1);\n}\n;\nE.prototype.getType = function() {\n return c._$_b;\n}\n;\nfunction H(aH) {\n B.prototype.constructor.call(this, aH);\n this._$8r = c._$ur;\n this._$Cr = null;\n this._$hr = null;\n}\nH.prototype = new B();\nfunction s() {\n if (j) {\n return;\n }\n this.visible = true;\n this._$g0 = false;\n this._$NL = null;\n this._$3S = null;\n this._$aS = null;\n s._$42++;\n}\ns._$42 = 0;\ns.prototype._$zP = function() {\n this._$3S = new Array();\n this._$aS = new Array();\n}\n;\ns.prototype._$F0 = function(aH) {\n this._$g0 = aH._$8L();\n this.visible = aH._$8L();\n this._$NL = aH._$nP();\n this._$3S = aH._$nP();\n this._$aS = aH._$nP();\n}\n;\ns.prototype.init = function(aI) {\n var aH = new aj(this);\n aH.setPartsOpacity(this.isVisible() ? 1 : 0);\n return aH;\n}\n;\ns.prototype._$6o = function(aH) {\n if (this._$3S == null) {\n throw new Error(\"_$3S _$6 _$Wo@_$6o\");\n }\n this._$3S.push(aH);\n}\n;\ns.prototype._$3o = function(aH) {\n if (this._$aS == null) {\n throw new Error(\"_$aS _$6 _$Wo@_$3o\");\n }\n this._$aS.push(aH);\n}\n;\ns.prototype._$Zo = function(aH) {\n this._$3S = aH;\n}\n;\ns.prototype._$xo = function(aH) {\n this._$aS = aH;\n}\n;\ns.prototype.isVisible = function() {\n return this.visible;\n}\n;\ns.prototype._$uL = function() {\n return this._$g0;\n}\n;\ns.prototype._$KP = function(aH) {\n this.visible = aH;\n}\n;\ns.prototype._$ET = function(aH) {\n this._$g0 = aH;\n}\n;\ns.prototype.getBaseData = function() {\n return this._$3S;\n}\n;\ns.prototype.getDrawData = function() {\n return this._$aS;\n}\n;\ns.prototype._$p2 = function() {\n return this._$NL;\n}\n;\ns.prototype._$ob = function(aH) {\n this._$NL = aH;\n}\n;\ns.prototype.getPartsID = function() {\n return this._$NL;\n}\n;\ns.prototype._$MP = function(aH) {\n this._$NL = aH;\n}\n;\nfunction aj(aH) {\n this._$VS = null;\n this._$e0 = null;\n this._$e0 = aH;\n}\naj.prototype = new S();\naj.prototype.getPartsOpacity = function() {\n return this._$VS;\n}\n;\naj.prototype.setPartsOpacity = function(aH) {\n this._$VS = aH;\n}\n;\nfunction ak(aH) {\n if (j) {\n return;\n }\n this.id = aH;\n}\nak._$L7 = function() {\n z._$27();\n n._$27();\n Z._$27();\n i._$27();\n}\n;\nak.prototype.toString = function() {\n return this.id;\n}\n;\nfunction D() {}\nD.prototype._$F0 = function(aH) {}\n;\nfunction an() {\n if (j) {\n return;\n }\n this._$4S = null;\n}\nan.prototype._$1s = function() {\n return this._$4S;\n}\n;\nan.prototype._$zP = function() {\n this._$4S = new Array();\n}\n;\nan.prototype._$F0 = function(aH) {\n this._$4S = aH._$nP();\n}\n;\nan.prototype._$Ks = function(aH) {\n this._$4S.push(aH);\n}\n;\nfunction au(aH, aI) {\n this.canvas = aH;\n this.context = aI;\n this.viewport = new Array(0,0,aH.width,aH.height);\n this._$6r = 1;\n this._$xP = 0;\n this._$3r = 1;\n this._$uP = 0;\n this._$Qo = -1;\n this.cacheImages = {};\n}\nau.tr = new am();\nau._$50 = new am();\nau._$Ti = new Array(0,0);\nau._$Pi = new Array(0,0);\nau._$B = new Array(0,0);\nau.prototype._$lP = function(aI, aK, aJ, aH) {\n this.viewport = new Array(aI,aK,aJ,aH);\n}\n;\nau.prototype._$bL = function() {\n this.context.save();\n var aH = this.viewport;\n if (aH != null) {\n this.context.beginPath();\n this.context._$Li(aH[0], aH[1], aH[2], aH[3]);\n this.context.clip();\n }\n}\n;\nau.prototype._$ei = function() {\n this.context.restore();\n}\n;\nau.prototype.drawElements = function(bc, bm, aX, aJ, bA, aM, bl, bz) {\n try {\n if (bA != this._$Qo) {\n this._$Qo = bA;\n this.context.globalAlpha = bA;\n }\n var a2 = bm.length;\n var aP = bc.width;\n var a5 = bc.height;\n var bE = this.context;\n var a7 = this._$xP;\n var a6 = this._$uP;\n var a1 = this._$6r;\n var aZ = this._$3r;\n var bD = au.tr;\n var aI = au._$Ti;\n var aH = au._$Pi;\n var bu = au._$B;\n for (var by = 0; by < a2; by += 3) {\n bE.save();\n var aW = bm[by];\n var aV = bm[by + 1];\n var aT = bm[by + 2];\n var aL = a7 + a1 * aX[aW * 2];\n var aK = a6 + aZ * aX[aW * 2 + 1];\n var br = a7 + a1 * aX[aV * 2];\n var bp = a6 + aZ * aX[aV * 2 + 1];\n var bh = a7 + a1 * aX[aT * 2];\n var bf = a6 + aZ * aX[aT * 2 + 1];\n if (bl) {\n bl._$PS(aL, aK, bu);\n aL = bu[0];\n aK = bu[1];\n bl._$PS(br, bp, bu);\n br = bu[0];\n bp = bu[1];\n bl._$PS(bh, bf, bu);\n bh = bu[0];\n bf = bu[1];\n }\n var aS = aP * aJ[aW * 2];\n var aQ = a5 - a5 * aJ[aW * 2 + 1];\n var bx = aP * aJ[aV * 2];\n var bw = a5 - a5 * aJ[aV * 2 + 1];\n var bk = aP * aJ[aT * 2];\n var bj = a5 - a5 * aJ[aT * 2 + 1];\n var a3 = Math.atan2(bw - aQ, bx - aS);\n var a0 = Math.atan2(bp - aK, br - aL);\n var aO = br - aL;\n var aN = bp - aK;\n var bi = Math.sqrt(aO * aO + aN * aN);\n var aU = bx - aS;\n var aR = bw - aQ;\n var bt = Math.sqrt(aU * aU + aR * aR);\n var bv = bi / bt;\n ad._$ni(bk, bj, aS, aQ, (bx - aS), (bw - aQ), -(bw - aQ), (bx - aS), aI);\n ad._$ni(bh, bf, aL, aK, (br - aL), (bp - aK), -(bp - aK), (br - aL), aH);\n var aY = (aH[0] - aI[0]) / aI[1];\n var bs = Math.min(aS, bx, bk);\n var bg = Math.max(aS, bx, bk);\n var bq = Math.min(aQ, bw, bj);\n var be = Math.max(aQ, bw, bj);\n var bo = Math.floor(bs);\n var bb = Math.floor(bq);\n var a4 = Math.ceil(bg);\n var bC = Math.ceil(be);\n bD.identity();\n bD.translate(aL, aK);\n bD.rotate(a0);\n bD.scale(1, aH[1] / aI[1]);\n bD.shear(aY, 0);\n bD.scale(bv, bv);\n bD.rotate(-a3);\n bD.translate(-aS, -aQ);\n bD.setContext(bE);\n var a8 = true;\n var a9 = 1.2;\n if (!aM) {\n aM = a8 ? a9 : 0;\n }\n if (Q.IGNORE_EXPAND) {\n aM = 0;\n }\n if (Q.USE_CACHED_POLYGON_IMAGE) {\n var bd = bz._$e0;\n bd.gl_cacheImage = bd.gl_cacheImage || {};\n if (!bd.gl_cacheImage[by]) {\n var bn = au.createCanvas(a4 - bo, bC - bb);\n Q.DEBUG_DATA.LDGL_CANVAS_MB = Q.DEBUG_DATA.LDGL_CANVAS_MB || 0;\n Q.DEBUG_DATA.LDGL_CANVAS_MB += (a4 - bo) * (bC - bb) * 4;\n var ba = bn.getContext(\"2d\");\n ba.translate(-bo, -bb);\n au.clip(ba, bD, aM, bi, aS, aQ, bx, bw, bk, bj, aL, aK, br, bp, bh, bf);\n ba.drawImage(bc, 0, 0);\n bd.gl_cacheImage[by] = {\n cacheCanvas: bn,\n cacheContext: ba\n };\n }\n bE.drawImage(bd.gl_cacheImage[by][\"cacheCanvas\"], bo, bb);\n } else {\n if (!Q.IGNORE_CLIP) {\n au.clip(bE, bD, aM, bi, aS, aQ, bx, bw, bk, bj, aL, aK, br, bp, bh, bf);\n }\n if (Q.USE_ADJUST_TRANSLATION) {\n bs = 0;\n bg = aP;\n bq = 0;\n be = a5;\n }\n bE.drawImage(bc, bs, bq, bg - bs, be - bq, bs, bq, bg - bs, be - bq);\n }\n bE.restore();\n }\n } catch (bB) {\n q._$Rb(bB);\n }\n}\n;\nau.clip = function(aK, aJ, aV, aI, aM, aL, aU, aT, aQ, aP, aO, aN, aH, aW, aS, aR) {\n if (aV > 0.02) {\n au.expandClip(aK, aJ, aV, aI, aO, aN, aH, aW, aS, aR);\n } else {\n au.clipWithTransform(aK, null, aM, aL, aU, aT, aQ, aP);\n }\n}\n;\nau.expandClip = function(aV, bg, aK, a3, aJ, aI, be, ba, aZ, aX) {\n var aP = be - aJ;\n var aO = ba - aI;\n var bi = aZ - aJ;\n var bh = aX - aI;\n var bj = aP * bh - aO * bi > 0 ? aK : -aK;\n var aL = -aO;\n var aH = aP;\n var bc = aZ - be;\n var a8 = aX - ba;\n var a7 = -a8;\n var a6 = bc;\n var aQ = Math.sqrt(bc * bc + a8 * a8);\n var bf = -bh;\n var bb = bi;\n var a2 = Math.sqrt(bi * bi + bh * bh);\n var bd = aJ - bj * aL / a3;\n var a9 = aI - bj * aH / a3;\n var aY = be - bj * aL / a3;\n var aW = ba - bj * aH / a3;\n var a5 = be - bj * a7 / aQ;\n var a4 = ba - bj * a6 / aQ;\n var aS = aZ - bj * a7 / aQ;\n var aR = aX - bj * a6 / aQ;\n var aN = aJ + bj * bf / a2;\n var aM = aI + bj * bb / a2;\n var a1 = aZ + bj * bf / a2;\n var a0 = aX + bj * bb / a2;\n var aU = au._$50;\n var aT = bg._$P2(aU);\n if (aT == null) {\n return false;\n }\n au.clipWithTransform(aV, aU, bd, a9, aY, aW, a5, a4, aS, aR, a1, a0, aN, aM);\n return true;\n}\n;\nau.clipWithTransform = function(aH, aI, aS, aN, aQ, aK, aP, aJ) {\n if (arguments.length < (1 + 3 * 2)) {\n q._$li(\"err : @LDGL.clip()\");\n return;\n }\n if (!(arguments[1]instanceof am)) {\n q._$li(\"err : a[0] is _$6 LDTransform @LDGL.clip()\");\n return;\n }\n var aM = au._$B;\n var aO = aI;\n var aR = arguments;\n aH.beginPath();\n if (aO) {\n aO._$PS(aR[2], aR[3], aM);\n aH.moveTo(aM[0], aM[1]);\n for (var aL = 4; aL < aR.length; aL += 2) {\n aO._$PS(aR[aL], aR[aL + 1], aM);\n aH.lineTo(aM[0], aM[1]);\n }\n } else {\n aH.moveTo(aR[2], aR[3]);\n for (var aL = 4; aL < aR.length; aL += 2) {\n aH.lineTo(aR[aL], aR[aL + 1]);\n }\n }\n aH.clip();\n}\n;\nau.createCanvas = function(aH, aJ) {\n var aI = document.createElement(\"canvas\");\n aI.setAttribute(\"width\", aH);\n aI.setAttribute(\"height\", aJ);\n if (!aI) {\n q._$li(\"err : \" + aI);\n }\n return aI;\n}\n;\nau.dumpValues = function() {\n var aI = \"\";\n for (var aH = 0; aH < arguments.length; aH++) {\n aI += \"[\" + aH + \"]= \" + arguments[aH].toFixed(3) + \" , \";\n }\n console.log(aI);\n}\n;\nfunction f() {\n if (j) {\n return;\n }\n this._$TT = null;\n this._$LT = null;\n this._$FS = null;\n this._$wL = null;\n}\nf.prototype._$F0 = function(aH) {\n this._$TT = aH._$_T();\n this._$LT = aH._$_T();\n this._$FS = aH._$_T();\n this._$wL = aH._$nP();\n}\n;\nf.prototype.getMinValue = function() {\n return this._$TT;\n}\n;\nf.prototype.getMaxValue = function() {\n return this._$LT;\n}\n;\nf.prototype.getDefaultValue = function() {\n return this._$FS;\n}\n;\nf.prototype.getParamID = function() {\n return this._$wL;\n}\n;\nfunction B(aH) {\n if (j) {\n return;\n }\n this._$e0 = null;\n this._$IP = null;\n this._$JS = false;\n this._$AT = true;\n this._$e0 = aH;\n this.totalScale = 1;\n this._$7s = 1;\n this.totalOpacity = 1;\n}\nB.prototype._$yo = function() {\n return this._$AT && !this._$JS;\n}\n;\nB.prototype._$hS = function(aH) {\n this._$AT = aH;\n}\n;\nB.prototype._$GT = function() {\n return this._$e0;\n}\n;\nB.prototype._$l2 = function(aH) {\n this._$IP = aH;\n}\n;\nB.prototype.getPartsIndex = function() {\n return this._$IP;\n}\n;\nB.prototype._$x2 = function() {\n return this._$JS;\n}\n;\nB.prototype._$Ib = function(aH) {\n this._$JS = aH;\n}\n;\nB.prototype.getTotalScale = function() {\n return this.totalScale;\n}\n;\nB.prototype.setTotalScale_notForClient = function(aH) {\n this.totalScale = aH;\n}\n;\nB.prototype.getInterpolatedOpacity = function() {\n return this._$7s;\n}\n;\nB.prototype.setInterpolatedOpacity = function(aH) {\n this._$7s = aH;\n}\n;\nB.prototype.getTotalOpacity = function(aH) {\n return this.totalOpacity;\n}\n;\nB.prototype.setTotalOpacity = function(aH) {\n this.totalOpacity = aH;\n}\n;\nfunction Q() {}\nQ._$2s = \"2.1.00_1\";\nQ._$Kr = 201001000;\nQ._$sP = true;\nQ._$so = true;\nQ._$cb = false;\nQ._$3T = true;\nQ._$Ts = true;\nQ._$fb = true;\nQ._$ts = true;\nQ.L2D_DEFORMER_EXTEND = true;\nQ._$Wb = false;\nQ._$yr = false;\nQ._$Zs = false;\nQ.L2D_NO_ERROR = 0;\nQ._$i7 = 1000;\nQ._$9s = 1001;\nQ._$es = 1100;\nQ._$r7 = 2000;\nQ._$07 = 2001;\nQ._$b7 = 2002;\nQ._$H7 = 4000;\nQ.L2D_COLOR_BLEND_MODE_MULT = 0;\nQ.L2D_COLOR_BLEND_MODE_ADD = 1;\nQ.L2D_COLOR_BLEND_MODE_INTERPOLATE = 2;\nQ._$6b = true;\nQ._$cT = 0;\nQ.clippingMaskBufferSize = 256;\nQ.glContext = new Array();\nQ.frameBuffers = new Array();\nQ.fTexture = new Array();\nQ.IGNORE_CLIP = false;\nQ.IGNORE_EXPAND = false;\nQ.EXPAND_W = 2;\nQ.USE_ADJUST_TRANSLATION = true;\nQ.USE_CANVAS_TRANSFORM = true;\nQ.USE_CACHED_POLYGON_IMAGE = false;\nQ.DEBUG_DATA = {};\nQ.PROFILE_IOS_SPEED = {\n PROFILE_NAME: \"iOS Speed\",\n USE_ADJUST_TRANSLATION: true,\n USE_CACHED_POLYGON_IMAGE: true,\n EXPAND_W: 4\n};\nQ.PROFILE_IOS_QUALITY = {\n PROFILE_NAME: \"iOS HiQ\",\n USE_ADJUST_TRANSLATION: true,\n USE_CACHED_POLYGON_IMAGE: false,\n EXPAND_W: 2\n};\nQ.PROFILE_IOS_DEFAULT = Q.PROFILE_IOS_QUALITY;\nQ.PROFILE_ANDROID = {\n PROFILE_NAME: \"Android\",\n USE_ADJUST_TRANSLATION: false,\n USE_CACHED_POLYGON_IMAGE: false,\n EXPAND_W: 2\n};\nQ.PROFILE_DESKTOP = {\n PROFILE_NAME: \"Desktop\",\n USE_ADJUST_TRANSLATION: false,\n USE_CACHED_POLYGON_IMAGE: false,\n EXPAND_W: 2\n};\nQ.initProfile = function() {\n if (r.isIOS()) {\n Q.setupProfile(Q.PROFILE_IOS_DEFAULT);\n } else {\n if (r.isAndroid()) {\n Q.setupProfile(Q.PROFILE_ANDROID);\n } else {\n Q.setupProfile(Q.PROFILE_DESKTOP);\n }\n }\n}\n;\nQ.setupProfile = function(aI, aJ) {\n if (typeof aI == \"number\") {\n switch (aI) {\n case 9901:\n aI = Q.PROFILE_IOS_SPEED;\n break;\n case 9902:\n aI = Q.PROFILE_IOS_QUALITY;\n break;\n case 9903:\n aI = Q.PROFILE_IOS_DEFAULT;\n break;\n case 9904:\n aI = Q.PROFILE_ANDROID;\n break;\n case 9905:\n aI = Q.PROFILE_DESKTOP;\n break;\n default:\n alert(\"profile _$6 _$Ui : \" + aI);\n break;\n }\n }\n if (arguments.length < 2) {\n aJ = true;\n }\n if (aJ) {\n console.log(\"profile : \" + aI.PROFILE_NAME);\n }\n for (var aH in aI) {\n Q[aH] = aI[aH];\n if (aJ) {\n console.log(\" [\" + aH + \"] = \" + aI[aH]);\n }\n }\n}\n;\nQ.init = function() {\n if (Q._$6b) {\n console.log(\"Live2D %s\", Q._$2s);\n Q._$6b = false;\n var aH = false;\n aH = true;\n Q.initProfile();\n }\n}\n;\nQ.getVersionStr = function() {\n return Q._$2s;\n}\n;\nQ.getVersionNo = function() {\n return Q._$Kr;\n}\n;\nQ._$sT = function(aH) {\n Q._$cT = aH;\n}\n;\nQ.getError = function() {\n var aH = Q._$cT;\n Q._$cT = 0;\n return aH;\n}\n;\nQ.dispose = function() {\n Q.glContext = [];\n Q.frameBuffers = [];\n Q.fTexture = [];\n}\n;\nQ.setGL = function(aJ, aI) {\n var aH = aI || 0;\n Q.glContext[aH] = aJ;\n}\n;\nQ.getGL = function(aH) {\n return Q.glContext[aH];\n}\n;\nQ.setClippingMaskBufferSize = function(aH) {\n Q.clippingMaskBufferSize = aH;\n}\n;\nQ.getClippingMaskBufferSize = function() {\n return Q.clippingMaskBufferSize;\n}\n;\nQ.deleteBuffer = function(aI) {\n var aH = Q.getGL(aI);\n aH.deleteFramebuffer(Q.frameBuffers[aI].framebuffer);\n delete Q.frameBuffers[aI];\n delete Q.glContext[aI];\n}\n;\nfunction A() {}\nA._$r2 = function(aH) {\n if (aH < 0) {\n return 0;\n } else {\n if (aH > 1) {\n return 1;\n }\n }\n return (0.5 - 0.5 * Math.cos(aH * aC.PI_F));\n}\n;\nfunction J(aH) {\n if (j) {\n return;\n }\n this._$ib = aH;\n}\nJ._$fr = -1;\nJ.prototype.toString = function() {\n return this._$ib;\n}\n;\nfunction b() {\n if (j) {\n return;\n }\n a.prototype.constructor.call(this);\n this._$LP = -1;\n this._$d0 = 0;\n this._$Yo = 0;\n this._$JP = null;\n this._$5P = null;\n this._$BP = null;\n this._$Eo = null;\n this._$Qi = null;\n this._$6s = b._$ms;\n this.culling = true;\n this.gl_cacheImage = null;\n this.instanceNo = b._$42++;\n}\nb.prototype = new a();\nb._$42 = 0;\nb._$Os = 30;\nb._$ms = 0;\nb._$ns = 1;\nb._$_s = 2;\nb._$gT = new Array();\nb.prototype._$_S = function(aH) {\n this._$LP = aH;\n}\n;\nb.prototype.getTextureNo = function() {\n return this._$LP;\n}\n;\nb.prototype._$ZL = function() {\n return this._$Qi;\n}\n;\nb.prototype._$H2 = function() {\n return this._$JP;\n}\n;\nb.prototype.getNumPoints = function() {\n return this._$d0;\n}\n;\nb.prototype.getType = function() {\n return a._$wb;\n}\n;\nb.prototype._$B2 = function(aL, aH, aO) {\n var aM = aH;\n var aN = (aM._$hr != null) ? aM._$hr : aM._$Cr;\n var aK = aw._$do;\n switch (aK) {\n default:\n case aw._$Ms:\n throw new Error(\"_$L _$ro \");\n case aw._$Qs:\n for (var aJ = this._$d0 - 1; aJ >= 0; --aJ) {\n var aI = aJ * aw._$No;\n aN[aI + 4] = aO;\n }\n break;\n }\n}\n;\nb.prototype._$zP = function() {\n this._$GS = new g();\n this._$GS._$zP();\n}\n;\nb.prototype._$F0 = function(aK) {\n a.prototype._$F0.call(this, aK);\n this._$LP = aK._$6L();\n this._$d0 = aK._$6L();\n this._$Yo = aK._$6L();\n var aH = aK._$nP();\n this._$BP = new Int16Array(this._$Yo * 3);\n for (var aJ = this._$Yo * 3 - 1; aJ >= 0; --aJ) {\n this._$BP[aJ] = aH[aJ];\n }\n this._$Eo = aK._$nP();\n this._$Qi = aK._$nP();\n if (aK.getFormatVersion() >= ay._$s7) {\n this._$JP = aK._$6L();\n if (this._$JP != 0) {\n if ((this._$JP & 1) != 0) {\n var aI = aK._$6L();\n if (this._$5P == null) {\n this._$5P = new Object();\n }\n this._$5P._$Hb = parseInt(aI);\n }\n if ((this._$JP & b._$Os) != 0) {\n this._$6s = (this._$JP & b._$Os) >> 1;\n } else {\n this._$6s = b._$ms;\n }\n if ((this._$JP & 32) != 0) {\n this.culling = false;\n }\n }\n } else {\n this._$JP = 0;\n }\n}\n;\nb.prototype.init = function(aL) {\n var aN = new ag(this);\n var aI = this._$d0 * aw._$No;\n var aH = this._$32();\n if (aN._$Cr != null) {\n aN._$Cr = null;\n }\n aN._$Cr = new Float32Array(aI);\n if (aN._$hr != null) {\n aN._$hr = null;\n }\n aN._$hr = aH ? new Float32Array(aI) : null;\n var aM = aw._$do;\n switch (aM) {\n default:\n case aw._$Ms:\n if (aw._$Ls) {\n for (var aJ = this._$d0 - 1; aJ >= 0; --aJ) {\n var aO = aJ << 1;\n this._$Qi[aO + 1] = 1 - this._$Qi[aO + 1];\n }\n }\n break;\n case aw._$Qs:\n for (var aJ = this._$d0 - 1; aJ >= 0; --aJ) {\n var aO = aJ << 1;\n var aK = aJ * aw._$No;\n var aQ = this._$Qi[aO];\n var aP = this._$Qi[aO + 1];\n aN._$Cr[aK] = aQ;\n aN._$Cr[aK + 1] = aP;\n aN._$Cr[aK + 4] = 0;\n if (aH) {\n aN._$hr[aK] = aQ;\n aN._$hr[aK + 1] = aP;\n aN._$hr[aK + 4] = 0;\n }\n }\n break;\n }\n return aN;\n}\n;\nb.prototype._$Nr = function(aJ, aH) {\n var aK = aH;\n if (!((this == aK._$GT()))) {\n console.log(\"### assert!! ### \");\n }\n if (!this._$GS._$Ur(aJ)) {\n return;\n }\n a.prototype._$Nr.call(this, aJ, aK);\n if (aK._$IS[0]) {\n return;\n }\n var aI = b._$gT;\n aI[0] = false;\n aG._$Vr(aJ, this._$GS, aI, this._$d0, this._$Eo, aK._$Cr, aw._$i2, aw._$No);\n}\n;\nb.prototype._$2b = function(aK, aI) {\n try {\n if (!((this == aI._$GT()))) {\n console.log(\"### assert!! ### \");\n }\n var aL = false;\n if (aI._$IS[0]) {\n aL = true;\n }\n var aM = aI;\n if (!aL) {\n a.prototype._$2b.call(this, aK);\n if (this._$32()) {\n var aH = this.getTargetBaseDataID();\n if (aM._$8r == a._$ur) {\n aM._$8r = aK.getBaseDataIndex(aH);\n }\n if (aM._$8r < 0) {\n if (Q._$so) {\n q._$li(\"_$L _$0P _$G :: %s\", aH);\n }\n } else {\n var aO = aK.getBaseData(aM._$8r);\n var aJ = aK._$q2(aM._$8r);\n if (aO != null && !aJ._$x2()) {\n aO._$nb(aK, aJ, aM._$Cr, aM._$hr, this._$d0, aw._$i2, aw._$No);\n aM._$AT = true;\n } else {\n aM._$AT = false;\n }\n aM.baseOpacity = aJ.getTotalOpacity();\n }\n }\n }\n } catch (aN) {\n throw aN;\n }\n}\n;\nb.prototype.draw = function(aN, aK, aI) {\n if (!((this == aI._$GT()))) {\n console.log(\"### assert!! ### \");\n }\n if (aI._$IS[0]) {\n return;\n }\n var aL = aI;\n var aJ = this._$LP;\n if (aJ < 0) {\n aJ = 1;\n }\n var aH = this.getOpacity(aK, aL) * aI._$VS * aI.baseOpacity;\n var aM = (aL._$hr != null) ? aL._$hr : aL._$Cr;\n aN.setClipBufPre_clipContextForDraw(aI.clipBufPre_clipContext);\n aN._$WP(this.culling);\n aN._$Uo(aJ, 3 * this._$Yo, this._$BP, aM, this._$Qi, aH, this._$6s, aL);\n}\n;\nb.prototype.dump = function() {\n console.log(\" _$yi( %d ) , _$d0( %d ) , _$Yo( %d ) \\n\", this._$LP, this._$d0, this._$Yo);\n console.log(\" _$Oi _$di = { \");\n for (var aJ = 0; aJ < this._$BP.length; aJ++) {\n console.log(\"%5d ,\", this._$BP[aJ]);\n }\n console.log(\"\\n _$5i _$30\");\n for (var aJ = 0; aJ < this._$Eo.length; aJ++) {\n console.log(\"\\n _$30[%d] = \", aJ);\n var aH = this._$Eo[aJ];\n for (var aI = 0; aI < aH.length; aI++) {\n console.log(\"%6.2f, \", aH[aI]);\n }\n }\n console.log(\"\\n\");\n}\n;\nb.prototype._$72 = function(aH) {\n if (this._$5P == null) {\n return null;\n }\n return this._$5P[aH];\n}\n;\nb.prototype.getIndexArray = function() {\n return this._$BP;\n}\n;\nfunction ag(aH) {\n aB.prototype.constructor.call(this, aH);\n this._$8r = a._$ur;\n this._$Cr = null;\n this._$hr = null;\n}\nag.prototype = new aB();\nag.prototype.getTransformedPoints = function() {\n return (this._$hr != null) ? this._$hr : this._$Cr;\n}\n;\nfunction k() {\n if (j) {\n return;\n }\n this.x = null;\n this.y = null;\n}\nk.prototype._$HT = function(aH) {\n this.x = aH.x;\n this.y = aH.y;\n}\n;\nk.prototype._$HT = function(aH, aI) {\n this.x = aH;\n this.y = aI;\n}\n;\nfunction l(aH) {\n if (j) {\n return;\n }\n aa.prototype.constructor.call(this);\n this.drawParamWebGL = new C(aH);\n this.drawParamWebGL.setGL(Q.getGL(aH));\n}\nl.prototype = new aa();\nl.loadModel = function(aI) {\n var aH = new l();\n aa._$62(aH, aI);\n return aH;\n}\n;\nl.loadModel = function(aI, aK) {\n var aJ = aK || 0;\n var aH = new l(aJ);\n aa._$62(aH, aI);\n return aH;\n}\n;\nl._$to = function() {\n var aH = new l();\n return aH;\n}\n;\nl._$er = function(aM) {\n var aJ = new _$5(\"../_$_r/_$t0/_$Ri/_$_P._$d\");\n if (aJ.exists() == false) {\n throw new _$ls(\"_$t0 _$_ _$6 _$Ui :: \" + aJ._$PL());\n }\n var aH = [\"../_$_r/_$t0/_$Ri/_$_P.512/_$CP._$1\", \"../_$_r/_$t0/_$Ri/_$_P.512/_$vP._$1\", \"../_$_r/_$t0/_$Ri/_$_P.512/_$EP._$1\", \"../_$_r/_$t0/_$Ri/_$_P.512/_$pP._$1\"];\n var aK = l.loadModel(aJ._$3b());\n for (var aI = 0; aI < aH.length; aI++) {\n var aL = new _$5(aH[aI]);\n if (aL.exists() == false) {\n throw new _$ls(\"_$t0 _$_ _$6 _$Ui :: \" + aL._$PL());\n }\n aK.setTexture(aI, _$nL._$_o(aM, aL._$3b()));\n }\n return aK;\n}\n;\nl.prototype.setGL = function(aH) {\n Q.setGL(aH);\n}\n;\nl.prototype.setTransform = function(aH) {\n this.drawParamWebGL.setTransform(aH);\n}\n;\nl.prototype.update = function() {\n this._$5S.update();\n this._$5S.preDraw(this.drawParamWebGL);\n}\n;\nl.prototype.draw = function() {\n this._$5S.draw(this.drawParamWebGL);\n}\n;\nl.prototype._$K2 = function() {\n this.drawParamWebGL._$K2();\n}\n;\nl.prototype.setTexture = function(aI, aH) {\n if (this.drawParamWebGL == null) {\n q._$li(\"_$Yi for QT _$ki / _$XS() is _$6 _$ui!!\");\n }\n this.drawParamWebGL.setTexture(aI, aH);\n}\n;\nl.prototype.setTexture = function(aI, aH) {\n if (this.drawParamWebGL == null) {\n q._$li(\"_$Yi for QT _$ki / _$XS() is _$6 _$ui!!\");\n }\n this.drawParamWebGL.setTexture(aI, aH);\n}\n;\nl.prototype._$Rs = function() {\n return this.drawParamWebGL._$Rs();\n}\n;\nl.prototype._$Ds = function(aH) {\n this.drawParamWebGL._$Ds(aH);\n}\n;\nl.prototype.getDrawParam = function() {\n return this.drawParamWebGL;\n}\n;\nl.prototype.setMatrix = function(aH) {\n this.drawParamWebGL.setMatrix(aH);\n}\n;\nl.prototype.setPremultipliedAlpha = function(aH) {\n this.drawParamWebGL.setPremultipliedAlpha(aH);\n}\n;\nl.prototype.isPremultipliedAlpha = function() {\n return this.drawParamWebGL.isPremultipliedAlpha();\n}\n;\nl.prototype.setAnisotropy = function(aH) {\n this.drawParamWebGL.setAnisotropy(aH);\n}\n;\nl.prototype.getAnisotropy = function() {\n return this.drawParamWebGL.getAnisotropy();\n}\n;\nfunction V() {\n if (j) {\n return;\n }\n this.motions = null;\n this._$eb = false;\n this.motions = new Array();\n}\nV.prototype._$tb = function() {\n return this.motions;\n}\n;\nV.prototype.startMotion = function(aJ, aI) {\n var aM = null;\n var aL = null;\n var aH = this.motions.length;\n for (var aK = 0; aK < aH; ++aK) {\n aL = this.motions[aK];\n if (aL == null) {\n continue;\n }\n aL._$qS(aL._$w0.getFadeOut());\n if (this._$eb) {\n q._$Ji(\"MotionQueueManager[size:%2d]->startMotion() / start _$K _$3 (m%d)\\n\", aH, aL._$sr);\n }\n }\n if (aJ == null) {\n return -1;\n }\n aL = new M();\n aL._$w0 = aJ;\n this.motions.push(aL);\n var aN = aL._$sr;\n if (this._$eb) {\n q._$Ji(\"MotionQueueManager[size:%2d]->startMotion() / new _$w0 (m%d)\\n\", aH, aN);\n }\n return aN;\n}\n;\nV.prototype.updateParam = function(aJ) {\n try {\n var aI = false;\n for (var aK = 0; aK < this.motions.length; aK++) {\n var aL = this.motions[aK];\n if (aL == null) {\n this.motions.splice(aK, 1);\n aK--;\n continue;\n }\n var aH = aL._$w0;\n if (aH == null) {\n this.motions = this.motions.splice(aK, 1);\n aK--;\n continue;\n }\n aH.updateParam(aJ, aL);\n aI = true;\n if (aL.isFinished()) {\n if (this._$eb) {\n q._$Ji(\"MotionQueueManager[size:%2d]->updateParam() / _$T0 _$w0 (m%d)\\n\", this.motions.length - 1, aL._$sr);\n }\n this.motions.splice(aK, 1);\n aK--;\n } else {}\n }\n return aI;\n } catch (aM) {\n q._$li(aM);\n return true;\n }\n}\n;\nV.prototype.isFinished = function(aK) {\n if (arguments.length >= 1) {\n for (var aI = 0; aI < this.motions.length; aI++) {\n var aJ = this.motions[aI];\n if (aJ == null) {\n continue;\n }\n if (aJ._$sr == aK && !aJ.isFinished()) {\n return false;\n }\n }\n return true;\n } else {\n for (var aI = 0; aI < this.motions.length; aI++) {\n var aJ = this.motions[aI];\n if (aJ == null) {\n this.motions.splice(aI, 1);\n aI--;\n continue;\n }\n var aH = aJ._$w0;\n if (aH == null) {\n this.motions.splice(aI, 1);\n aI--;\n continue;\n }\n if (!aJ.isFinished()) {\n return false;\n }\n }\n return true;\n }\n}\n;\nV.prototype.stopAllMotions = function() {\n for (var aI = 0; aI < this.motions.length; aI++) {\n var aJ = this.motions[aI];\n if (aJ == null) {\n this.motions.splice(aI, 1);\n aI--;\n continue;\n }\n var aH = aJ._$w0;\n if (aH == null) {\n this.motions.splice(aI, 1);\n aI--;\n continue;\n }\n if (true) {\n this.motions.splice(aI, 1);\n aI--;\n }\n }\n}\n;\nV.prototype._$Zr = function(aH) {\n this._$eb = aH;\n}\n;\nV.prototype._$e = function() {\n console.log(\"-- _$R --\\n\");\n for (var aH = 0; aH < this.motions.length; aH++) {\n var aI = this.motions[aH];\n var aJ = aI._$w0;\n console.log(\"MotionQueueEnt[%d] :: %s\\n\", this.motions.length, aJ.toString());\n }\n}\n;\nfunction M() {\n this._$w0 = null;\n this._$AT = true;\n this._$9L = false;\n this._$z2 = -1;\n this._$bs = -1;\n this._$Do = -1;\n this._$sr = null;\n this._$sr = M._$Gs++;\n}\nM._$Gs = 0;\nM.prototype.isFinished = function() {\n return this._$9L;\n}\n;\nM.prototype._$qS = function(aJ) {\n var aI = P.getUserTimeMSec();\n var aH = aI + aJ;\n if (this._$Do < 0 || aH < this._$Do) {\n this._$Do = aH;\n }\n}\n;\nM.prototype._$Bs = function() {\n return this._$sr;\n}\n;\nfunction am() {\n this.m = new Array(1,0,0,0,1,0,0,0,1);\n}\nam.prototype.setContext = function(aI) {\n var aH = this.m;\n aI.transform(aH[0], aH[1], aH[3], aH[4], aH[6], aH[7]);\n}\n;\nam.prototype.toString = function() {\n var aI = \"LDTransform { \";\n for (var aH = 0; aH < 9; aH++) {\n aI += this.m[aH].toFixed(2) + \" ,\";\n }\n aI += \" }\";\n return aI;\n}\n;\nam.prototype.identity = function() {\n var aH = this.m;\n aH[0] = aH[4] = aH[8] = 1;\n aH[1] = aH[2] = aH[3] = aH[5] = aH[6] = aH[7] = 0;\n}\n;\nam.prototype._$PS = function(aI, aK, aJ) {\n if (aJ == null) {\n aJ = new Array(0,0);\n }\n var aH = this.m;\n aJ[0] = aH[0] * aI + aH[3] * aK + aH[6];\n aJ[1] = aH[1] * aI + aH[4] * aK + aH[7];\n return aJ;\n}\n;\nam.prototype._$P2 = function(aK) {\n if (!aK) {\n aK = new am();\n }\n var aI = this.m;\n var aT = aI[0];\n var aS = aI[1];\n var aR = aI[2];\n var aQ = aI[3];\n var aP = aI[4];\n var aO = aI[5];\n var aN = aI[6];\n var aM = aI[7];\n var aL = aI[8];\n var aJ = aT * aP * aL + aS * aO * aN + aR * aQ * aM - aT * aO * aM - aR * aP * aN - aS * aQ * aL;\n if (aJ == 0) {\n return null;\n } else {\n var aH = 1 / aJ;\n aK.m[0] = aH * (aP * aL - aM * aO);\n aK.m[1] = aH * (aM * aR - aS * aL);\n aK.m[2] = aH * (aS * aO - aP * aR);\n aK.m[3] = aH * (aN * aO - aQ * aL);\n aK.m[4] = aH * (aT * aL - aN * aR);\n aK.m[5] = aH * (aQ * aR - aT * aO);\n aK.m[6] = aH * (aQ * aM - aN * aP);\n aK.m[7] = aH * (aN * aS - aT * aM);\n aK.m[8] = aH * (aT * aP - aQ * aS);\n return aK;\n }\n}\n;\nam.prototype.transform = function(aI, aK, aJ) {\n if (aJ == null) {\n aJ = new Array(0,0);\n }\n var aH = this.m;\n aJ[0] = aH[0] * aI + aH[3] * aK + aH[6];\n aJ[1] = aH[1] * aI + aH[4] * aK + aH[7];\n return aJ;\n}\n;\nam.prototype.translate = function(aI, aJ) {\n var aH = this.m;\n aH[6] = aH[0] * aI + aH[3] * aJ + aH[6];\n aH[7] = aH[1] * aI + aH[4] * aJ + aH[7];\n aH[8] = aH[2] * aI + aH[5] * aJ + aH[8];\n}\n;\nam.prototype.scale = function(aJ, aI) {\n var aH = this.m;\n aH[0] *= aJ;\n aH[1] *= aJ;\n aH[2] *= aJ;\n aH[3] *= aI;\n aH[4] *= aI;\n aH[5] *= aI;\n}\n;\nam.prototype.shear = function(aM, aL) {\n var aH = this.m;\n var aK = aH[0] + aH[3] * aL;\n var aJ = aH[1] + aH[4] * aL;\n var aI = aH[2] + aH[5] * aL;\n aH[3] = aH[0] * aM + aH[3];\n aH[4] = aH[1] * aM + aH[4];\n aH[5] = aH[2] * aM + aH[5];\n aH[0] = aK;\n aH[1] = aJ;\n aH[2] = aI;\n}\n;\nam.prototype.rotate = function(aM) {\n var aH = this.m;\n var aN = Math.cos(aM);\n var aL = Math.sin(aM);\n var aK = aH[0] * aN + aH[3] * aL;\n var aJ = aH[1] * aN + aH[4] * aL;\n var aI = aH[2] * aN + aH[5] * aL;\n aH[3] = -aH[0] * aL + aH[3] * aN;\n aH[4] = -aH[1] * aL + aH[4] * aN;\n aH[5] = -aH[2] * aL + aH[5] * aN;\n aH[0] = aK;\n aH[1] = aJ;\n aH[2] = aI;\n}\n;\nam.prototype.concatenate = function(aL) {\n var aO = this.m;\n var aM = aL.m;\n var aS = aO[0] * aM[0] + aO[3] * aM[1] + aO[6] * aM[2];\n var aR = aO[1] * aM[0] + aO[4] * aM[1] + aO[7] * aM[2];\n var aQ = aO[2] * aM[0] + aO[5] * aM[1] + aO[8] * aM[2];\n var aP = aO[0] * aM[3] + aO[3] * aM[4] + aO[6] * aM[5];\n var aN = aO[1] * aM[3] + aO[4] * aM[4] + aO[7] * aM[5];\n var aK = aO[2] * aM[3] + aO[5] * aM[4] + aO[8] * aM[5];\n var aJ = aO[0] * aM[6] + aO[3] * aM[7] + aO[6] * aM[8];\n var aI = aO[1] * aM[6] + aO[4] * aM[7] + aO[7] * aM[8];\n var aH = aO[2] * aM[6] + aO[5] * aM[7] + aO[8] * aM[8];\n m[0] = aS;\n m[1] = aR;\n m[2] = aQ;\n m[3] = aP;\n m[4] = aN;\n m[5] = aK;\n m[6] = aJ;\n m[7] = aI;\n m[8] = aH;\n}\n;\nfunction n(aH) {\n if (j) {\n return;\n }\n ak.prototype.constructor.call(this, aH);\n}\nn.prototype = new ak();\nn._$eT = null;\nn._$tP = new Object();\nn._$2o = function() {\n if (n._$eT == null) {\n n._$eT = n.getID(\"DST_BASE\");\n }\n return n._$eT;\n}\n;\nn._$27 = function() {\n n._$tP.clear();\n n._$eT = null;\n}\n;\nn.getID = function(aH) {\n var aI = n._$tP[aH];\n if (aI == null) {\n aI = new n(aH);\n n._$tP[aH] = aI;\n }\n return aI;\n}\n;\nn.prototype._$3s = function() {\n return new n();\n}\n;\nfunction C(aH) {\n if (j) {\n return;\n }\n ax.prototype.constructor.call(this);\n this.textures = new Array();\n this.transform = null;\n this.gl = null;\n this.glno = aH;\n this.firstDraw = true;\n this.anisotropyExt = null;\n this.maxAnisotropy = 0;\n this._$As = 32;\n this._$Gr = false;\n this._$NT = null;\n this._$vS = null;\n this._$no = null;\n this.vertShader = null;\n this.fragShader = null;\n this.vertShaderOff = null;\n this.fragShaderOff = null;\n}\nC.prototype = new ax();\nC._$9r = function(aH) {\n var aI = new Float32Array(aH);\n return aI;\n}\n;\nC._$vb = function(aH) {\n var aI = new Int16Array(aH);\n return aI;\n}\n;\nC._$cr = function(aI, aH) {\n if (aI == null || aI._$yL() < aH.length) {\n aI = C._$9r(aH.length * 2);\n aI.put(aH);\n aI._$oT(0);\n } else {\n aI.clear();\n aI.put(aH);\n aI._$oT(0);\n }\n return aI;\n}\n;\nC._$mb = function(aI, aH) {\n if (aI == null || aI._$yL() < aH.length) {\n aI = C._$vb(aH.length * 2);\n aI.put(aH);\n aI._$oT(0);\n } else {\n aI.clear();\n aI.put(aH);\n aI._$oT(0);\n }\n return aI;\n}\n;\nC._$Hs = function() {\n return this._$Gr;\n}\n;\nC._$as = function(aH) {\n this._$Gr = aH;\n}\n;\nC.prototype.getGL = function() {\n return this.gl;\n}\n;\nC.prototype.setGL = function(aH) {\n this.gl = aH;\n}\n;\nC.prototype.setTransform = function(aH) {\n this.transform = aH;\n}\n;\nC.prototype._$ZT = function() {\n var aH = this.gl;\n if (this.firstDraw) {\n this.initShader();\n this.firstDraw = false;\n this.anisotropyExt = aH.getExtension(\"EXT_texture_filter_anisotropic\") || aH.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\") || aH.getExtension(\"MOZ_EXT_texture_filter_anisotropic\");\n if (this.anisotropyExt) {\n this.maxAnisotropy = aH.getParameter(this.anisotropyExt.MAX_TEXTURE_MAX_ANISOTROPY_EXT);\n }\n }\n aH.disable(aH.SCISSOR_TEST);\n aH.disable(aH.STENCIL_TEST);\n aH.disable(aH.DEPTH_TEST);\n aH.frontFace(aH.CW);\n aH.enable(aH.BLEND);\n aH.colorMask(1, 1, 1, 1);\n aH.bindBuffer(aH.ARRAY_BUFFER, null);\n aH.bindBuffer(aH.ELEMENT_ARRAY_BUFFER, null);\n}\n;\nC.prototype._$Uo = function(aS, aT, aL, aU, aV, aN, aM, aO) {\n if (aN < 0.01 && this.clipBufPre_clipContextMask == null) {\n return;\n }\n var aH = aN > 0.9 ? Q.EXPAND_W : 0;\n var a0 = this.gl;\n if (this.gl == null) {\n throw new Error(\"gl is null\");\n }\n var a1 = false;\n var aQ = 1;\n var aP = 1;\n var a3 = 1;\n var aZ = 1;\n var aW = this._$C0 * aP * aN;\n var a2 = this._$tT * a3 * aN;\n var a5 = this._$WL * aZ * aN;\n var a7 = this._$lT * aN;\n if (this.clipBufPre_clipContextMask != null) {\n a0.frontFace(a0.CCW);\n a0.useProgram(this.shaderProgram);\n this._$vS = T(a0, this._$vS, aU);\n this._$no = L(a0, this._$no, aL);\n a0.enableVertexAttribArray(this.a_position_Loc);\n a0.vertexAttribPointer(this.a_position_Loc, 2, a0.FLOAT, false, 0, 0);\n this._$NT = T(a0, this._$NT, aV);\n a0.activeTexture(a0.TEXTURE1);\n a0.bindTexture(a0.TEXTURE_2D, this.textures[aS]);\n a0.uniform1i(this.s_texture0_Loc, 1);\n a0.enableVertexAttribArray(this.a_texCoord_Loc);\n a0.vertexAttribPointer(this.a_texCoord_Loc, 2, a0.FLOAT, false, 0, 0);\n a0.uniformMatrix4fv(this.u_matrix_Loc, false, this.getClipBufPre_clipContextMask().matrixForMask);\n var aY = this.getClipBufPre_clipContextMask().layoutChannelNo;\n var a4 = this.getChannelFlagAsColor(aY);\n a0.uniform4f(this.u_channelFlag, a4.r, a4.g, a4.b, a4.a);\n var aI = this.getClipBufPre_clipContextMask().layoutBounds;\n a0.uniform4f(this.u_baseColor_Loc, aI.x * 2 - 1, aI.y * 2 - 1, aI._$EL() * 2 - 1, aI._$5T() * 2 - 1);\n a0.uniform1i(this.u_maskFlag_Loc, true);\n } else {\n a1 = this.getClipBufPre_clipContextDraw() != null;\n if (a1) {\n a0.useProgram(this.shaderProgramOff);\n this._$vS = T(a0, this._$vS, aU);\n this._$no = L(a0, this._$no, aL);\n a0.enableVertexAttribArray(this.a_position_Loc_Off);\n a0.vertexAttribPointer(this.a_position_Loc_Off, 2, a0.FLOAT, false, 0, 0);\n this._$NT = T(a0, this._$NT, aV);\n a0.activeTexture(a0.TEXTURE1);\n a0.bindTexture(a0.TEXTURE_2D, this.textures[aS]);\n a0.uniform1i(this.s_texture0_Loc_Off, 1);\n a0.enableVertexAttribArray(this.a_texCoord_Loc_Off);\n a0.vertexAttribPointer(this.a_texCoord_Loc_Off, 2, a0.FLOAT, false, 0, 0);\n a0.uniformMatrix4fv(this.u_clipMatrix_Loc_Off, false, this.getClipBufPre_clipContextDraw().matrixForDraw);\n a0.uniformMatrix4fv(this.u_matrix_Loc_Off, false, this.matrix4x4);\n a0.activeTexture(a0.TEXTURE2);\n a0.bindTexture(a0.TEXTURE_2D, Q.fTexture[this.glno]);\n a0.uniform1i(this.s_texture1_Loc_Off, 2);\n var aY = this.getClipBufPre_clipContextDraw().layoutChannelNo;\n var a4 = this.getChannelFlagAsColor(aY);\n a0.uniform4f(this.u_channelFlag_Loc_Off, a4.r, a4.g, a4.b, a4.a);\n a0.uniform4f(this.u_baseColor_Loc_Off, aW, a2, a5, a7);\n } else {\n a0.useProgram(this.shaderProgram);\n this._$vS = T(a0, this._$vS, aU);\n this._$no = L(a0, this._$no, aL);\n a0.enableVertexAttribArray(this.a_position_Loc);\n a0.vertexAttribPointer(this.a_position_Loc, 2, a0.FLOAT, false, 0, 0);\n this._$NT = T(a0, this._$NT, aV);\n a0.activeTexture(a0.TEXTURE1);\n a0.bindTexture(a0.TEXTURE_2D, this.textures[aS]);\n a0.uniform1i(this.s_texture0_Loc, 1);\n a0.enableVertexAttribArray(this.a_texCoord_Loc);\n a0.vertexAttribPointer(this.a_texCoord_Loc, 2, a0.FLOAT, false, 0, 0);\n a0.uniformMatrix4fv(this.u_matrix_Loc, false, this.matrix4x4);\n a0.uniform4f(this.u_baseColor_Loc, aW, a2, a5, a7);\n a0.uniform1i(this.u_maskFlag_Loc, false);\n }\n }\n if (this.culling) {\n this.gl.enable(a0.CULL_FACE);\n } else {\n this.gl.disable(a0.CULL_FACE);\n }\n this.gl.enable(a0.BLEND);\n var a6;\n var aX;\n var aR;\n var aK;\n if (this.clipBufPre_clipContextMask != null) {\n a6 = a0.ONE;\n aX = a0.ONE_MINUS_SRC_ALPHA;\n aR = a0.ONE;\n aK = a0.ONE_MINUS_SRC_ALPHA;\n } else {\n switch (aM) {\n case b._$ms:\n a6 = a0.ONE;\n aX = a0.ONE_MINUS_SRC_ALPHA;\n aR = a0.ONE;\n aK = a0.ONE_MINUS_SRC_ALPHA;\n break;\n case b._$ns:\n a6 = a0.ONE;\n aX = a0.ONE;\n aR = a0.ZERO;\n aK = a0.ONE;\n break;\n case b._$_s:\n a6 = a0.DST_COLOR;\n aX = a0.ONE_MINUS_SRC_ALPHA;\n aR = a0.ZERO;\n aK = a0.ONE;\n break;\n }\n }\n a0.blendEquationSeparate(a0.FUNC_ADD, a0.FUNC_ADD);\n a0.blendFuncSeparate(a6, aX, aR, aK);\n if (this.anisotropyExt) {\n a0.texParameteri(a0.TEXTURE_2D, this.anisotropyExt.TEXTURE_MAX_ANISOTROPY_EXT, this.maxAnisotropy);\n }\n var aJ = aL.length;\n a0.drawElements(a0.TRIANGLES, aJ, a0.UNSIGNED_SHORT, 0);\n a0.bindTexture(a0.TEXTURE_2D, null);\n}\n;\nfunction T(aJ, aH, aI) {\n if (aH == null) {\n aH = aJ.createBuffer();\n }\n aJ.bindBuffer(aJ.ARRAY_BUFFER, aH);\n aJ.bufferData(aJ.ARRAY_BUFFER, aI, aJ.DYNAMIC_DRAW);\n return aH;\n}\nfunction L(aJ, aH, aI) {\n if (aH == null) {\n aH = aJ.createBuffer();\n }\n aJ.bindBuffer(aJ.ELEMENT_ARRAY_BUFFER, aH);\n aJ.bufferData(aJ.ELEMENT_ARRAY_BUFFER, aI, aJ.DYNAMIC_DRAW);\n return aH;\n}\nC.prototype._$Rs = function() {\n throw new Error(\"_$Rs\");\n}\n;\nC.prototype._$Ds = function(aH) {\n throw new Error(\"_$Ds\");\n}\n;\nC.prototype._$K2 = function() {\n for (var aH = 0; aH < this.textures.length; aH++) {\n var aI = this.textures[aH];\n if (aI != 0) {\n this.gl._$K2(1, this.textures, aH);\n this.textures[aH] = null;\n }\n }\n}\n;\nC.prototype.setTexture = function(aH, aI) {\n this.textures[aH] = aI;\n}\n;\nC.prototype.initShader = function() {\n var aH = this.gl;\n this.loadShaders2();\n this.a_position_Loc = aH.getAttribLocation(this.shaderProgram, \"a_position\");\n this.a_texCoord_Loc = aH.getAttribLocation(this.shaderProgram, \"a_texCoord\");\n this.u_matrix_Loc = aH.getUniformLocation(this.shaderProgram, \"u_mvpMatrix\");\n this.s_texture0_Loc = aH.getUniformLocation(this.shaderProgram, \"s_texture0\");\n this.u_channelFlag = aH.getUniformLocation(this.shaderProgram, \"u_channelFlag\");\n this.u_baseColor_Loc = aH.getUniformLocation(this.shaderProgram, \"u_baseColor\");\n this.u_maskFlag_Loc = aH.getUniformLocation(this.shaderProgram, \"u_maskFlag\");\n this.a_position_Loc_Off = aH.getAttribLocation(this.shaderProgramOff, \"a_position\");\n this.a_texCoord_Loc_Off = aH.getAttribLocation(this.shaderProgramOff, \"a_texCoord\");\n this.u_matrix_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"u_mvpMatrix\");\n this.u_clipMatrix_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"u_ClipMatrix\");\n this.s_texture0_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"s_texture0\");\n this.s_texture1_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"s_texture1\");\n this.u_channelFlag_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"u_channelFlag\");\n this.u_baseColor_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"u_baseColor\");\n}\n;\nC.prototype.disposeShader = function() {\n var aH = this.gl;\n if (this.shaderProgram) {\n aH.deleteProgram(this.shaderProgram);\n this.shaderProgram = null;\n }\n if (this.shaderProgramOff) {\n aH.deleteProgram(this.shaderProgramOff);\n this.shaderProgramOff = null;\n }\n}\n;\nC.prototype.compileShader = function(aJ, aN) {\n var aM = this.gl;\n var aH;\n var aL = aN;\n var aK = aM.createShader(aJ);\n if (aK == null) {\n q._$Ji(\"_$L0 to create shader\");\n return null;\n }\n aM.shaderSource(aK, aL);\n aM.compileShader(aK);\n var aH = aM.getShaderParameter(aK, aM.COMPILE_STATUS);\n if (!aH) {\n var aI = aM.getShaderInfoLog(aK);\n q._$Ji(\"_$L0 to compile shader : \" + aI);\n aM.deleteShader(aK);\n return null;\n }\n return aK;\n}\n;\nC.prototype.loadShaders2 = function() {\n var aN = this.gl;\n this.shaderProgram = aN.createProgram();\n if (!this.shaderProgram) {\n return false;\n }\n this.shaderProgramOff = aN.createProgram();\n if (!this.shaderProgramOff) {\n return false;\n }\n var aK = \"attribute vec4 a_position;attribute vec2 a_texCoord;varying vec2 v_texCoord;varying vec4 v_ClipPos;uniform mat4 u_mvpMatrix;void main(){ gl_Position = u_mvpMatrix * a_position; v_ClipPos = u_mvpMatrix * a_position; v_texCoord = a_texCoord;}\";\n var aM = \"precision mediump float;varying vec2 v_texCoord;varying vec4 v_ClipPos;uniform sampler2D s_texture0;uniform vec4 u_channelFlag;uniform vec4 u_baseColor;uniform bool u_maskFlag;void main(){ vec4 smpColor; if(u_maskFlag){ float isInside = step(u_baseColor.x, v_ClipPos.x/v_ClipPos.w) * step(u_baseColor.y, v_ClipPos.y/v_ClipPos.w) * step(v_ClipPos.x/v_ClipPos.w, u_baseColor.z) * step(v_ClipPos.y/v_ClipPos.w, u_baseColor.w); smpColor = u_channelFlag * texture2D(s_texture0 , v_texCoord).a * isInside; }else{ smpColor = texture2D(s_texture0 , v_texCoord) * u_baseColor; } gl_FragColor = smpColor;}\";\n var aL = \"attribute vec4 a_position;attribute vec2 a_texCoord;varying vec2 v_texCoord;varying vec4 v_ClipPos;uniform mat4 u_mvpMatrix;uniform mat4 u_ClipMatrix;void main(){ gl_Position = u_mvpMatrix * a_position; v_ClipPos = u_ClipMatrix * a_position; v_texCoord = a_texCoord ;}\";\n var aJ = \"precision mediump float ;varying vec2 v_texCoord;varying vec4 v_ClipPos;uniform sampler2D s_texture0;uniform sampler2D s_texture1;uniform vec4 u_channelFlag;uniform vec4 u_baseColor ;void main(){ vec4 col_formask = texture2D(s_texture0, v_texCoord) * u_baseColor; vec4 clipMask = texture2D(s_texture1, v_ClipPos.xy / v_ClipPos.w) * u_channelFlag; float maskVal = clipMask.r + clipMask.g + clipMask.b + clipMask.a; col_formask = col_formask * maskVal; gl_FragColor = col_formask;}\";\n this.vertShader = this.compileShader(aN.VERTEX_SHADER, aK);\n if (!this.vertShader) {\n q._$Ji(\"Vertex shader compile _$li!\");\n return false;\n }\n this.vertShaderOff = this.compileShader(aN.VERTEX_SHADER, aL);\n if (!this.vertShaderOff) {\n q._$Ji(\"OffVertex shader compile _$li!\");\n return false;\n }\n this.fragShader = this.compileShader(aN.FRAGMENT_SHADER, aM);\n if (!this.fragShader) {\n q._$Ji(\"Fragment shader compile _$li!\");\n return false;\n }\n this.fragShaderOff = this.compileShader(aN.FRAGMENT_SHADER, aJ);\n if (!this.fragShaderOff) {\n q._$Ji(\"OffFragment shader compile _$li!\");\n return false;\n }\n aN.attachShader(this.shaderProgram, this.vertShader);\n aN.attachShader(this.shaderProgram, this.fragShader);\n aN.attachShader(this.shaderProgramOff, this.vertShaderOff);\n aN.attachShader(this.shaderProgramOff, this.fragShaderOff);\n aN.linkProgram(this.shaderProgram);\n aN.linkProgram(this.shaderProgramOff);\n var aH = aN.getProgramParameter(this.shaderProgram, aN.LINK_STATUS);\n if (!aH) {\n var aI = aN.getProgramInfoLog(this.shaderProgram);\n q._$Ji(\"_$L0 to link program: \" + aI);\n if (this.vertShader) {\n aN.deleteShader(this.vertShader);\n this.vertShader = 0;\n }\n if (this.fragShader) {\n aN.deleteShader(this.fragShader);\n this.fragShader = 0;\n }\n if (this.shaderProgram) {\n aN.deleteProgram(this.shaderProgram);\n this.shaderProgram = 0;\n }\n if (this.vertShaderOff) {\n aN.deleteShader(this.vertShaderOff);\n this.vertShaderOff = 0;\n }\n if (this.fragShaderOff) {\n aN.deleteShader(this.fragShaderOff);\n this.fragShaderOff = 0;\n }\n if (this.shaderProgramOff) {\n aN.deleteProgram(this.shaderProgramOff);\n this.shaderProgramOff = 0;\n }\n return false;\n }\n return true;\n}\n;\nC.prototype.createFramebuffer = function() {\n var aL = this.gl;\n var aK = Q.clippingMaskBufferSize;\n var aJ = aL.createFramebuffer();\n aL.bindFramebuffer(aL.FRAMEBUFFER, aJ);\n var aH = aL.createRenderbuffer();\n aL.bindRenderbuffer(aL.RENDERBUFFER, aH);\n aL.renderbufferStorage(aL.RENDERBUFFER, aL.RGBA4, aK, aK);\n aL.framebufferRenderbuffer(aL.FRAMEBUFFER, aL.COLOR_ATTACHMENT0, aL.RENDERBUFFER, aH);\n var aI = aL.createTexture();\n aL.bindTexture(aL.TEXTURE_2D, aI);\n aL.texImage2D(aL.TEXTURE_2D, 0, aL.RGBA, aK, aK, 0, aL.RGBA, aL.UNSIGNED_BYTE, null);\n aL.texParameteri(aL.TEXTURE_2D, aL.TEXTURE_MIN_FILTER, aL.LINEAR);\n aL.texParameteri(aL.TEXTURE_2D, aL.TEXTURE_MAG_FILTER, aL.LINEAR);\n aL.texParameteri(aL.TEXTURE_2D, aL.TEXTURE_WRAP_S, aL.CLAMP_TO_EDGE);\n aL.texParameteri(aL.TEXTURE_2D, aL.TEXTURE_WRAP_T, aL.CLAMP_TO_EDGE);\n aL.framebufferTexture2D(aL.FRAMEBUFFER, aL.COLOR_ATTACHMENT0, aL.TEXTURE_2D, aI, 0);\n aL.bindTexture(aL.TEXTURE_2D, null);\n aL.bindRenderbuffer(aL.RENDERBUFFER, null);\n aL.bindFramebuffer(aL.FRAMEBUFFER, null);\n Q.fTexture[this.glno] = aI;\n return {\n framebuffer: aJ,\n renderbuffer: aH,\n texture: Q.fTexture[this.glno]\n };\n}\n;\nfunction K(aH) {\n if (j) {\n return;\n }\n this._$P = new Int8Array(8);\n this._$R0 = new DataView(this._$P.buffer);\n this._$3i = new Int8Array(1000);\n this._$hL = 0;\n this._$v0 = 0;\n this._$S2 = 0;\n this._$Ko = new Array();\n this._$T = aH;\n this._$F = 0;\n}\nK.prototype._$fP = function() {\n var aK = this._$ST();\n var aJ, aI, aH;\n if ((aK & 128) == 0) {\n return aK & 255;\n } else {\n if (((aJ = this._$ST()) & 128) == 0) {\n return ((aK & 127) << 7) | (aJ & 127);\n } else {\n if (((aI = this._$ST()) & 128) == 0) {\n return ((aK & 127) << 14) | ((aJ & 127) << 7) | (aI & 255);\n } else {\n if (((aH = this._$ST()) & 128) == 0) {\n return ((aK & 127) << 21) | ((aJ & 127) << 14) | ((aI & 127) << 7) | (aH & 255);\n } else {\n throw new J(\"_$L _$0P _\");\n }\n }\n }\n }\n}\n;\nK.prototype.getFormatVersion = function() {\n return this._$S2;\n}\n;\nK.prototype._$gr = function(aH) {\n this._$S2 = aH;\n}\n;\nK.prototype._$3L = function() {\n return this._$fP();\n}\n;\nK.prototype._$mP = function() {\n this._$zT();\n this._$F += 8;\n return this._$T.getFloat64(this._$F - 8);\n}\n;\nK.prototype._$_T = function() {\n this._$zT();\n this._$F += 4;\n return this._$T.getFloat32(this._$F - 4);\n}\n;\nK.prototype._$6L = function() {\n this._$zT();\n this._$F += 4;\n return this._$T.getInt32(this._$F - 4);\n}\n;\nK.prototype._$ST = function() {\n this._$zT();\n return this._$T.getInt8(this._$F++);\n}\n;\nK.prototype._$9T = function() {\n this._$zT();\n this._$F += 2;\n return this._$T.getInt16(this._$F - 2);\n}\n;\nK.prototype._$2T = function() {\n this._$zT();\n this._$F += 8;\n throw new J(\"_$L _$q read long\");\n}\n;\nK.prototype._$po = function() {\n this._$zT();\n return this._$T.getInt8(this._$F++) != 0;\n}\n;\nvar O = true;\nK.prototype._$bT = function() {\n this._$zT();\n var aH = this._$3L();\n var aK = null;\n if (O) {\n try {\n var aM = new ArrayBuffer(aH * 2);\n aK = new Uint16Array(aM);\n for (var aJ = 0; aJ < aH; ++aJ) {\n aK[aJ] = this._$T.getUint8(this._$F++);\n }\n return String.fromCharCode.apply(null, aK);\n } catch (aL) {\n O = false;\n }\n }\n try {\n var aI = new Array();\n if (aK == null) {\n for (var aJ = 0; aJ < aH; ++aJ) {\n aI[aJ] = this._$T.getUint8(this._$F++);\n }\n } else {\n for (var aJ = 0; aJ < aH; ++aJ) {\n aI[aJ] = aK[aJ];\n }\n }\n return String.fromCharCode.apply(null, aI);\n } catch (aL) {\n console.log(\"read utf8 / _$rT _$L0 !! : \" + aL);\n }\n}\n;\nK.prototype._$cS = function() {\n this._$zT();\n var aI = this._$3L();\n var aH = new Int32Array(aI);\n for (var aJ = 0; aJ < aI; aJ++) {\n aH[aJ] = this._$T.getInt32(this._$F);\n this._$F += 4;\n }\n return aH;\n}\n;\nK.prototype._$Tb = function() {\n this._$zT();\n var aI = this._$3L();\n var aH = new Float32Array(aI);\n for (var aJ = 0; aJ < aI; aJ++) {\n aH[aJ] = this._$T.getFloat32(this._$F);\n this._$F += 4;\n }\n return aH;\n}\n;\nK.prototype._$5b = function() {\n this._$zT();\n var aI = this._$3L();\n var aH = new Float64Array(aI);\n for (var aJ = 0; aJ < aI; aJ++) {\n aH[aJ] = this._$T.getFloat64(this._$F);\n this._$F += 8;\n }\n return aH;\n}\n;\nK.prototype._$nP = function() {\n return this._$Jb(-1);\n}\n;\nK.prototype._$Jb = function(aJ) {\n this._$zT();\n if (aJ < 0) {\n aJ = this._$3L();\n }\n if (aJ == ay._$7P) {\n var aH = this._$6L();\n if (0 <= aH && aH < this._$Ko.length) {\n return this._$Ko[aH];\n } else {\n throw new J(\"_$sL _$4i @_$m0\");\n }\n } else {\n var aI = this._$4b(aJ);\n this._$Ko.push(aI);\n return aI;\n }\n}\n;\nK.prototype._$4b = function(aN) {\n if (aN == 0) {\n return null;\n }\n if (aN == 50) {\n var aK = this._$bT();\n var aI = Z.getID(aK);\n return aI;\n } else {\n if (aN == 51) {\n var aK = this._$bT();\n var aI = n.getID(aK);\n return aI;\n } else {\n if (aN == 134) {\n var aK = this._$bT();\n var aI = i.getID(aK);\n return aI;\n } else {\n if (aN == 60) {\n var aK = this._$bT();\n var aI = z.getID(aK);\n return aI;\n }\n }\n }\n }\n if (aN >= 48) {\n var aL = ay._$9o(aN);\n if (aL != null) {\n aL._$F0(this);\n return aL;\n } else {\n return null;\n }\n }\n switch (aN) {\n case 1:\n return this._$bT();\n case 10:\n var aM = this._$6L();\n return new I(aM,true);\n case 11:\n return new av(this._$mP(),this._$mP(),this._$mP(),this._$mP());\n case 12:\n return new av(this._$_T(),this._$_T(),this._$_T(),this._$_T());\n case 13:\n return new e(this._$mP(),this._$mP());\n case 14:\n return new e(this._$_T(),this._$_T());\n case 15:\n var aH = this._$3L();\n var aI = new Array(aH);\n for (var aJ = 0; aJ < aH; aJ++) {\n aI[aJ] = this._$nP();\n }\n return aI;\n case 17:\n var aI = new aD(this._$mP(),this._$mP(),this._$mP(),this._$mP(),this._$mP(),this._$mP());\n return aI;\n case 21:\n return new F(this._$6L(),this._$6L(),this._$6L(),this._$6L());\n case 22:\n return new k(this._$6L(),this._$6L());\n case 23:\n throw new Error(\"_$L _$ro \");\n case 16:\n case 25:\n return this._$cS();\n case 26:\n return this._$5b();\n case 27:\n return this._$Tb();\n case 2:\n case 3:\n case 4:\n case 5:\n case 6:\n case 7:\n case 8:\n case 9:\n case 18:\n case 19:\n case 20:\n case 24:\n case 28:\n throw new J(\"_$6 _$q : _$nP() of 2-9 ,18,19,20,24,28 : \" + aN);\n default:\n throw new J(\"_$6 _$q : _$nP() NO _$i : \" + aN);\n }\n}\n;\nK.prototype._$8L = function() {\n if (this._$hL == 0) {\n this._$v0 = this._$ST();\n } else {\n if (this._$hL == 8) {\n this._$v0 = this._$ST();\n this._$hL = 0;\n }\n }\n return ((this._$v0 >> (7 - this._$hL++)) & 1) == 1;\n}\n;\nK.prototype._$zT = function() {\n if (this._$hL != 0) {\n this._$hL = 0;\n }\n}\n;\nfunction ai() {}\nai.prototype._$wP = function(aM, aI, aK) {\n for (var aL = 0; aL < aK; aL++) {\n for (var aH = 0; aH < aI; aH++) {\n var aJ = 2 * (aH + aL * aI);\n console.log(\"(% 7.3f , % 7.3f) , \", aM[aJ], aM[aJ + 1]);\n }\n console.log(\"\\n\");\n }\n console.log(\"\\n\");\n}\n;\nfunction aC() {}\naC._$2S = Math.PI / 180;\naC._$bS = (Math.PI / 180);\naC._$wS = 180 / Math.PI;\naC._$NS = (180 / Math.PI);\naC.PI_F = Math.PI;\naC._$kT = [0, 0.012368, 0.024734, 0.037097, 0.049454, 0.061803, 0.074143, 0.086471, 0.098786, 0.111087, 0.12337, 0.135634, 0.147877, 0.160098, 0.172295, 0.184465, 0.196606, 0.208718, 0.220798, 0.232844, 0.244854, 0.256827, 0.268761, 0.280654, 0.292503, 0.304308, 0.316066, 0.327776, 0.339436, 0.351044, 0.362598, 0.374097, 0.385538, 0.396921, 0.408243, 0.419502, 0.430697, 0.441826, 0.452888, 0.463881, 0.474802, 0.485651, 0.496425, 0.507124, 0.517745, 0.528287, 0.538748, 0.549126, 0.559421, 0.56963, 0.579752, 0.589785, 0.599728, 0.609579, 0.619337, 0.629, 0.638567, 0.648036, 0.657406, 0.666676, 0.675843, 0.684908, 0.693867, 0.70272, 0.711466, 0.720103, 0.72863, 0.737045, 0.745348, 0.753536, 0.76161, 0.769566, 0.777405, 0.785125, 0.792725, 0.800204, 0.807561, 0.814793, 0.821901, 0.828884, 0.835739, 0.842467, 0.849066, 0.855535, 0.861873, 0.868079, 0.874153, 0.880093, 0.885898, 0.891567, 0.897101, 0.902497, 0.907754, 0.912873, 0.917853, 0.922692, 0.92739, 0.931946, 0.936359, 0.940629, 0.944755, 0.948737, 0.952574, 0.956265, 0.959809, 0.963207, 0.966457, 0.96956, 0.972514, 0.97532, 0.977976, 0.980482, 0.982839, 0.985045, 0.987101, 0.989006, 0.990759, 0.992361, 0.993811, 0.995109, 0.996254, 0.997248, 0.998088, 0.998776, 0.999312, 0.999694, 0.999924, 1];\naC._$92 = function(aK, aI) {\n var aH = Math.atan2(aK[1], aK[0]);\n var aJ = Math.atan2(aI[1], aI[0]);\n return aC._$tS(aH, aJ);\n}\n;\naC._$tS = function(aI, aH) {\n var aJ = aI - aH;\n while (aJ < -Math.PI) {\n aJ += 2 * Math.PI;\n }\n while (aJ > Math.PI) {\n aJ -= 2 * Math.PI;\n }\n return aJ;\n}\n;\naC._$9 = function(aH) {\n return Math.sin(aH);\n}\n;\naC.fcos = function(aH) {\n return Math.cos(aH);\n}\n;\nfunction aB(aH) {\n if (j) {\n return;\n }\n this._$e0 = null;\n this._$IP = null;\n this._$Us = null;\n this._$7s = null;\n this._$IS = [false];\n this._$VS = null;\n this._$AT = true;\n this.baseOpacity = 1;\n this.clipBufPre_clipContext = null;\n this._$e0 = aH;\n}\naB.prototype._$u2 = function() {\n return this._$IS[0];\n}\n;\naB.prototype._$yo = function() {\n return this._$AT && !this._$IS[0];\n}\n;\naB.prototype._$GT = function() {\n return this._$e0;\n}\n;\nfunction r() {}\nr._$W2 = 0;\nr.SYSTEM_INFO = null;\nr.USER_AGENT = navigator.userAgent;\nr.isIPhone = function() {\n if (!r.SYSTEM_INFO) {\n r.setup();\n }\n return r.SYSTEM_INFO._isIPhone;\n}\n;\nr.isIOS = function() {\n if (!r.SYSTEM_INFO) {\n r.setup();\n }\n return r.SYSTEM_INFO._isIPhone || r.SYSTEM_INFO._isIPad;\n}\n;\nr.isAndroid = function() {\n if (!r.SYSTEM_INFO) {\n r.setup();\n }\n return r.SYSTEM_INFO._isAndroid;\n}\n;\nr.getOSVersion = function() {\n if (!r.SYSTEM_INFO) {\n r.setup();\n }\n return r.SYSTEM_INFO.version;\n}\n;\nr.getOS = function() {\n if (!r.SYSTEM_INFO) {\n r.setup();\n }\n if (r.SYSTEM_INFO._isIPhone || r.SYSTEM_INFO._isIPad) {\n return \"iOS\";\n }\n if (r.SYSTEM_INFO._isAndroid) {\n return \"Android\";\n } else {\n return \"_$Q0 OS\";\n }\n}\n;\nr.setup = function() {\n var aK = r.USER_AGENT;\n function aI(aO, aR) {\n var aN = aO.substring(aR).split(/[ _,;\\.]/);\n var aQ = 0;\n for (var aM = 0; aM <= 2; aM++) {\n if (isNaN(aN[aM])) {\n break;\n }\n var aP = parseInt(aN[aM]);\n if (aP < 0 || aP > 999) {\n q._$li(\"err : \" + aP + \" @UtHtml5.setup()\");\n aQ = 0;\n break;\n }\n aQ += aP * Math.pow(1000, (2 - aM));\n }\n return aQ;\n }\n var aL;\n var aH;\n var aJ = r.SYSTEM_INFO = {\n userAgent: aK\n };\n if ((aL = aK.indexOf(\"iPhone OS \")) >= 0) {\n aJ.os = \"iPhone\";\n aJ._isIPhone = true;\n aJ.version = aI(aK, aL + \"iPhone OS \".length);\n } else {\n if ((aL = aK.indexOf(\"iPad\")) >= 0) {\n aL = aK.indexOf(\"CPU OS\");\n if (aL < 0) {\n q._$li(\" err : \" + aK + \" @UtHtml5.setup()\");\n return;\n }\n aJ.os = \"iPad\";\n aJ._isIPad = true;\n aJ.version = aI(aK, aL + \"CPU OS \".length);\n } else {\n if ((aL = aK.indexOf(\"Android\")) >= 0) {\n aJ.os = \"Android\";\n aJ._isAndroid = true;\n aJ.version = aI(aK, aL + \"Android \".length);\n } else {\n aJ.os = \"-\";\n aJ.version = -1;\n }\n }\n }\n}\n;\nQ.init();\nvar j = false;\n\nexport{\n P as UtSystem,\n q as UtDebug,\n am as LDTransform,\n au as LDGL,\n Q as Live2D,\n l as Live2DModelWebGL,\n v as Live2DModelJS,\n ao as Live2DMotion,\n V as MotionQueueManager,\n u as PhysicsHair,\n ah as AMotion,\n i as PartsDataID,\n Z as DrawDataID,\n n as BaseDataID,\n z as ParamID,\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/lib/live2d.core.js","/**\n *\n * You can modify and use this source freely\n * only for the development of application related Live2D.\n *\n * (c) Live2D Inc. All rights reserved.\n */\n\n/**\n * EYHN 基于 live2d 官方 Live2DFramework.js 修改\n *\n * Copyright © 2016 - 2017 EYHN\n */\n\n// Modified by xiazeyu.\n\n/**\n* @desc Basic functions releated to model react\n*/\n\nimport { UtSystem,\n UtDebug,\n LDTransform,\n LDGL,\n Live2D,\n Live2DModelWebGL,\n Live2DModelJS,\n Live2DMotion,\n MotionQueueManager,\n PhysicsHair,\n AMotion,\n PartsDataID,\n DrawDataID,\n BaseDataID,\n ParamID } from './live2d.core';\n\n//============================================================\n//============================================================\n// class L2DBaseModel\n//============================================================\n//============================================================\nfunction L2DBaseModel() {\n this.live2DModel = null; // ALive2DModel\n this.modelMatrix = null; // L2DModelMatrix\n this.eyeBlink = null; // L2DEyeBlink\n this.physics = null; // L2DPhysics\n this.pose = null; // L2DPose\n this.debugMode = false;\n this.initialized = false;\n this.updating = false;\n this.alpha = 1;\n this.accAlpha = 0;\n this.lipSync = false;\n this.lipSyncValue = 0;\n this.accelX = 0;\n this.accelY = 0;\n this.accelZ = 0;\n this.dragX = 0;\n this.dragY = 0;\n this.startTimeMSec = null;\n this.mainMotionManager = new L2DMotionManager(); //L2DMotionManager\n this.expressionManager = new L2DMotionManager(); //L2DMotionManager\n this.motions = {};\n this.expressions = {};\n this.isTexLoaded = false;\n}\n\nvar texCounter = 0;\n\n//============================================================\n// L2DBaseModel # getModelMatrix()\n//============================================================\nL2DBaseModel.prototype.getModelMatrix = function () {\n return this.modelMatrix;\n}\n\n//============================================================\n// L2DBaseModel # setAlpha()\n//============================================================\nL2DBaseModel.prototype.setAlpha = function (a/*float*/) {\n if (a > 0.999) a = 1;\n if (a < 0.001) a = 0;\n this.alpha = a;\n}\n\n//============================================================\n// L2DBaseModel # getAlpha()\n//============================================================\nL2DBaseModel.prototype.getAlpha = function () {\n return this.alpha;\n}\n\n//============================================================\n// L2DBaseModel # isInitialized()\n//============================================================\nL2DBaseModel.prototype.isInitialized = function () {\n return this.initialized;\n}\n\n//============================================================\n// L2DBaseModel # setInitialized()\n//============================================================\nL2DBaseModel.prototype.setInitialized = function (v/*boolean*/) {\n this.initialized = v;\n}\n\n//============================================================\n// L2DBaseModel # isUpdating()\n//============================================================\nL2DBaseModel.prototype.isUpdating = function () {\n return this.updating;\n}\n\n//============================================================\n// L2DBaseModel # setUpdating()\n//============================================================\nL2DBaseModel.prototype.setUpdating = function (v/*boolean*/) {\n this.updating = v;\n}\n\n//============================================================\n// L2DBaseModel # getLive2DModel()\n//============================================================\nL2DBaseModel.prototype.getLive2DModel = function () {\n return this.live2DModel;\n}\n\n//============================================================\n// L2DBaseModel # setLipSync()\n//============================================================\nL2DBaseModel.prototype.setLipSync = function (v/*boolean*/) {\n this.lipSync = v;\n}\n\n//============================================================\n// L2DBaseModel # setLipSyncValue()\n//============================================================\nL2DBaseModel.prototype.setLipSyncValue = function (v/*float*/) {\n this.lipSyncValue = v;\n}\n\n//============================================================\n// L2DBaseModel # setAccel()\n//============================================================\nL2DBaseModel.prototype.setAccel = function (x/*float*/, y/*float*/, z/*float*/) {\n this.accelX = x;\n this.accelY = y;\n this.accelZ = z;\n}\n\n//============================================================\n// L2DBaseModel # setDrag()\n//============================================================\nL2DBaseModel.prototype.setDrag = function (x/*float*/, y/*float*/) {\n this.dragX = x;\n this.dragY = y;\n}\n\n//============================================================\n// L2DBaseModel # getMainMotionManager()\n//============================================================\nL2DBaseModel.prototype.getMainMotionManager = function () {\n return this.mainMotionManager;\n}\n\n//============================================================\n// L2DBaseModel # getExpressionManager()\n//============================================================\nL2DBaseModel.prototype.getExpressionManager = function () {\n return this.expressionManager;\n}\n\n//============================================================\n// L2DBaseModel # loadModelData()\n//============================================================\nL2DBaseModel.prototype.loadModelData = function (path/*String*/, callback) {\n /*\n if( this.live2DModel != null ) {\n this.live2DModel.deleteTextures();\n }\n */\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\n if (this.debugMode) pm.log(\"Load model : \" + path);\n\n var thisRef = this;\n pm.loadLive2DModel(path, function (l2dModel) {\n thisRef.live2DModel = l2dModel;\n thisRef.live2DModel.saveParam();\n\n var _err = Live2D.getError();\n\n if (_err != 0) {\n console.error(\"Error : Failed to loadModelData().\");\n return;\n }\n\n thisRef.modelMatrix = new L2DModelMatrix(\n thisRef.live2DModel.getCanvasWidth(),\n thisRef.live2DModel.getCanvasHeight()); //L2DModelMatrix\n thisRef.modelMatrix.setWidth(2);\n thisRef.modelMatrix.setCenterPosition(0, 0);\n\n callback(thisRef.live2DModel);\n });\n}\n\n\n//============================================================\n// L2DBaseModel # loadTexture()\n//============================================================\nL2DBaseModel.prototype.loadTexture = function (no/*int*/, path/*String*/, callback) {\n texCounter++;\n\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\n\n if (this.debugMode) pm.log(\"Load Texture : \" + path);\n\n var thisRef = this;\n pm.loadTexture(this.live2DModel, no, path, function () {\n texCounter--;\n if (texCounter == 0) thisRef.isTexLoaded = true;\n if (typeof callback == \"function\") callback();\n });\n\n}\n\n//============================================================\n// L2DBaseModel # loadMotion()\n//============================================================\nL2DBaseModel.prototype.loadMotion = function (name/*String*/, path /*String*/, callback) {\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\n\n if (this.debugMode) pm.log(\"Load Motion : \" + path);\n\n var motion = null; //Live2DMotion\n\n var thisRef = this;\n pm.loadBytes(path, function (buf) {\n motion = Live2DMotion.loadMotion(buf);\n if (name != null) {\n thisRef.motions[name] = motion;\n }\n callback(motion);\n });\n\n}\n\n//============================================================\n// L2DBaseModel # loadExpression()\n//============================================================\nL2DBaseModel.prototype.loadExpression = function (name/*String*/, path /*String*/, callback) {\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\n\n if (this.debugMode) pm.log(\"Load Expression : \" + path);\n\n var thisRef = this;\n pm.loadBytes(path, function (buf) {\n if (name != null) {\n thisRef.expressions[name] = L2DExpressionMotion.loadJson(buf);\n }\n if (typeof callback == \"function\") callback();\n });\n}\n\n//============================================================\n// L2DBaseModel # loadPose()\n//============================================================\nL2DBaseModel.prototype.loadPose = function (path /*String*/, callback) {\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\n if (this.debugMode) pm.log(\"Load Pose : \" + path);\n var thisRef = this;\n try {\n pm.loadBytes(path, function (buf) {\n thisRef.pose = L2DPose.load(buf);\n if (typeof callback == \"function\") callback();\n });\n }\n catch (e) {\n console.warn(e);\n }\n}\n\n//============================================================\n// L2DBaseModel # loadPhysics()\n//============================================================\nL2DBaseModel.prototype.loadPhysics = function (path/*String*/) {\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\n if (this.debugMode) pm.log(\"Load Physics : \" + path);\n var thisRef = this;\n try {\n pm.loadBytes(path, function (buf) {\n thisRef.physics = L2DPhysics.load(buf);\n });\n }\n catch (e) {\n console.warn(e);\n }\n}\n\n//============================================================\n// L2DBaseModel # hitTestSimple()\n//============================================================\nL2DBaseModel.prototype.hitTestSimple = function (drawID, testX, testY) {\n\n\tif(this.live2DModel === null) return !1;\n\n var drawIndex = this.live2DModel.getDrawDataIndex(drawID);\n\n if (drawIndex < 0) return false;\n\n var points = this.live2DModel.getTransformedPoints(drawIndex);\n var left = this.live2DModel.getCanvasWidth();\n var right = 0;\n var top = this.live2DModel.getCanvasHeight();\n var bottom = 0;\n\n for (var j = 0; j < points.length; j = j + 2) {\n var x = points[j];\n var y = points[j + 1];\n\n if (x < left) left = x;\n if (x > right) right = x;\n if (y < top) top = y;\n if (y > bottom) bottom = y;\n }\n var tx = this.modelMatrix.invertTransformX(testX);\n var ty = this.modelMatrix.invertTransformY(testY);\n\n return (left <= tx && tx <= right && top <= ty && ty <= bottom);\n}\n\n//============================================================\n//============================================================\n// class L2DExpressionMotion extends AMotion\n//============================================================\n//============================================================\nfunction L2DExpressionMotion() {\n AMotion.prototype.constructor.call(this);\n this.paramList = new Array(); //ArrayList\n}\n\nL2DExpressionMotion.prototype = new AMotion(); // L2DExpressionMotion extends AMotion\n\n//============================================================\nL2DExpressionMotion.EXPRESSION_DEFAULT = \"DEFAULT\";\nL2DExpressionMotion.TYPE_SET = 0;\nL2DExpressionMotion.TYPE_ADD = 1;\nL2DExpressionMotion.TYPE_MULT = 2;\n\n//============================================================\n// static L2DExpressionMotion.loadJson()\n//============================================================\nL2DExpressionMotion.loadJson = function (buf) {\n var ret = new L2DExpressionMotion();\n\n var pm = Live2DFramework.getPlatformManager();\n var json = pm.jsonParseFromBytes(buf);\n\n ret.setFadeIn(parseInt(json.fade_in) > 0 ? parseInt(json.fade_in) : 1000);\n ret.setFadeOut(parseInt(json.fade_out) > 0 ? parseInt(json.fade_out) : 1000);\n\n if (json.params == null) {\n return ret;\n }\n\n var params = json.params;\n var paramNum = params.length;\n ret.paramList = []; //ArrayList\n for (var i = 0; i < paramNum; i++) {\n var param = params[i];\n var paramID = param.id.toString();\n var value = parseFloat(param.val);\n var calcTypeInt = L2DExpressionMotion.TYPE_ADD;\n var calc = param.calc != null ? param.calc.toString() : \"add\";\n if (calc === \"add\") {\n calcTypeInt = L2DExpressionMotion.TYPE_ADD;\n }\n else if (calc === \"mult\") {\n calcTypeInt = L2DExpressionMotion.TYPE_MULT;\n }\n else if (calc === \"set\") {\n calcTypeInt = L2DExpressionMotion.TYPE_SET;\n }\n else {\n calcTypeInt = L2DExpressionMotion.TYPE_ADD;\n }\n if (calcTypeInt == L2DExpressionMotion.TYPE_ADD) {\n var defaultValue = param.def == null ? 0 : parseFloat(param.def);\n value = value - defaultValue;\n }\n else if (calcTypeInt == L2DExpressionMotion.TYPE_MULT) {\n var defaultValue = param.def == null ? 1 : parseFloat(param.def);\n if (defaultValue == 0) defaultValue = 1;\n value = value / defaultValue;\n }\n\n var item = new L2DExpressionParam();\n item.id = paramID;\n item.type = calcTypeInt;\n item.value = value;\n\n ret.paramList.push(item);\n }\n\n return ret;\n}\n\n\n//============================================================\n// L2DExpressionMotion # updateParamExe()\n//============================================================\nL2DExpressionMotion.prototype.updateParamExe = function (model /*ALive2DModel*/, timeMSec/*long*/, weight /*float*/, motionQueueEnt /*MotionQueueEnt*/) {\n for (var i = this.paramList.length - 1; i >= 0; --i) {\n var param = this.paramList[i]; //L2DExpressionParam\n // if (!param || !param.type) continue;\n if (param.type == L2DExpressionMotion.TYPE_ADD) {\n model.addToParamFloat(param.id, param.value, weight);\n }\n else if (param.type == L2DExpressionMotion.TYPE_MULT) {\n model.multParamFloat(param.id, param.value, weight);\n }\n else if (param.type == L2DExpressionMotion.TYPE_SET) {\n model.setParamFloat(param.id, param.value, weight);\n }\n }\n}\n\n//============================================================\n//============================================================\n// class L2DExpressionParam\n//============================================================\n//============================================================\nfunction L2DExpressionParam() {\n this.id = \"\";\n this.type = -1;\n this.value = null;\n}\n\n//============================================================\n//============================================================\n// class L2DEyeBlink\n//============================================================\n//============================================================\nfunction L2DEyeBlink() {\n this.nextBlinkTime = null /* TODO NOT INIT */; //\n this.stateStartTime = null /* TODO NOT INIT */; //\n this.blinkIntervalMsec = null /* TODO NOT INIT */; //\n this.eyeState = EYE_STATE.STATE_FIRST;\n this.blinkIntervalMsec = 4000;\n this.closingMotionMsec = 100;\n this.closedMotionMsec = 50;\n this.openingMotionMsec = 150;\n this.closeIfZero = true;\n this.eyeID_L = \"PARAM_EYE_L_OPEN\";\n this.eyeID_R = \"PARAM_EYE_R_OPEN\";\n}\n\n//============================================================\n// L2DEyeBlink # calcNextBlink()\n//============================================================\nL2DEyeBlink.prototype.calcNextBlink = function () {\n var time /*long*/ = UtSystem.getUserTimeMSec();\n var r /*Number*/ = Math.random();\n return /*(long)*/ (time + r * (2 * this.blinkIntervalMsec - 1));\n}\n\n//============================================================\n// L2DEyeBlink # setInterval()\n//============================================================\nL2DEyeBlink.prototype.setInterval = function (blinkIntervalMsec /*int*/) {\n this.blinkIntervalMsec = blinkIntervalMsec;\n}\n\n//============================================================\n// L2DEyeBlink # setEyeMotion()\n//============================================================\nL2DEyeBlink.prototype.setEyeMotion = function (closingMotionMsec/*int*/, closedMotionMsec/*int*/, openingMotionMsec/*int*/) {\n this.closingMotionMsec = closingMotionMsec;\n this.closedMotionMsec = closedMotionMsec;\n this.openingMotionMsec = openingMotionMsec;\n}\n\n//============================================================\n// L2DEyeBlink # updateParam()\n//============================================================\nL2DEyeBlink.prototype.updateParam = function (model/*ALive2DModel*/) {\n var time /*:long*/ = UtSystem.getUserTimeMSec();\n var eyeParamValue /*:Number*/;\n var t /*:Number*/ = 0;\n switch (this.eyeState) {\n case EYE_STATE.STATE_CLOSING:\n t = (time - this.stateStartTime) / this.closingMotionMsec;\n if (t >= 1) {\n t = 1;\n this.eyeState = EYE_STATE.STATE_CLOSED;\n this.stateStartTime = time;\n }\n eyeParamValue = 1 - t;\n break;\n case EYE_STATE.STATE_CLOSED:\n t = (time - this.stateStartTime) / this.closedMotionMsec;\n if (t >= 1) {\n this.eyeState = EYE_STATE.STATE_OPENING;\n this.stateStartTime = time;\n }\n eyeParamValue = 0;\n break;\n case EYE_STATE.STATE_OPENING:\n t = (time - this.stateStartTime) / this.openingMotionMsec;\n if (t >= 1) {\n t = 1;\n this.eyeState = EYE_STATE.STATE_INTERVAL;\n this.nextBlinkTime = this.calcNextBlink();\n }\n eyeParamValue = t;\n break;\n case EYE_STATE.STATE_INTERVAL:\n if (this.nextBlinkTime < time) {\n this.eyeState = EYE_STATE.STATE_CLOSING;\n this.stateStartTime = time;\n }\n eyeParamValue = 1;\n break;\n case EYE_STATE.STATE_FIRST:\n default:\n this.eyeState = EYE_STATE.STATE_INTERVAL;\n this.nextBlinkTime = this.calcNextBlink();\n eyeParamValue = 1;\n break;\n }\n if (!this.closeIfZero) eyeParamValue = -eyeParamValue;\n model.setParamFloat(this.eyeID_L, eyeParamValue);\n model.setParamFloat(this.eyeID_R, eyeParamValue);\n}\n\n//== enum EYE_STATE ==\nvar EYE_STATE = function () { };\n\nEYE_STATE.STATE_FIRST = \"STATE_FIRST\"\nEYE_STATE.STATE_INTERVAL = \"STATE_INTERVAL\"\nEYE_STATE.STATE_CLOSING = \"STATE_CLOSING\"\nEYE_STATE.STATE_CLOSED = \"STATE_CLOSED\"\nEYE_STATE.STATE_OPENING = \"STATE_OPENING\"\n\n//============================================================\n//============================================================\n// class L2DMatrix44\n//============================================================\n//============================================================\nfunction L2DMatrix44() {\n this.tr = new Float32Array(16); //\n this.identity();\n}\n\n//============================================================\n// static L2DMatrix44.mul()\n//============================================================\n// matrix multiplication\nL2DMatrix44.mul = function (a/*float[]*/, b/*float[]*/, dst/*float[]*/) {\n var c = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n var n = 4;\n var i, j, k;\n for (i = 0; i < n; i++) {\n for (j = 0; j < n; j++) {\n for (k = 0; k < n; k++) {\n c[i + j * 4] += a[i + k * 4] * b[k + j * 4];\n }\n }\n }\n for (i = 0; i < 16; i++) {\n dst[i] = c[i];\n }\n}\n\n//============================================================\n// L2DMatrix44 # identity()\n//============================================================\nL2DMatrix44.prototype.identity = function () {\n for (var i/*:int*/ = 0; i < 16; i++)\n this.tr[i] = ((i % 5) == 0) ? 1 : 0;\n}\n\n//============================================================\n// L2DMatrix44 # getArray()\n//============================================================\nL2DMatrix44.prototype.getArray = function () {\n return this.tr;\n}\n\n//============================================================\n// L2DMatrix44 # getCopyMatrix()\n//============================================================\nL2DMatrix44.prototype.getCopyMatrix = function () {\n return new Float32Array(this.tr); // this.tr.clone();\n}\n\n//============================================================\n// L2DMatrix44 # setMatrix()\n//============================================================\nL2DMatrix44.prototype.setMatrix = function (tr/*float[]*/) {\n if (this.tr == null || this.tr.length != this.tr.length) return;\n for (var i/*:int*/ = 0; i < 16; i++) this.tr[i] = tr[i];\n}\n\n//============================================================\n// L2DMatrix44 # getScaleX()\n//============================================================\nL2DMatrix44.prototype.getScaleX = function () {\n return this.tr[0];\n}\n\n//============================================================\n// L2DMatrix44 # getScaleY()\n//============================================================\nL2DMatrix44.prototype.getScaleY = function () {\n return this.tr[5];\n}\n\n//============================================================\n// L2DMatrix44 # transformX()\n//============================================================\nL2DMatrix44.prototype.transformX = function (src/*float*/) {\n return this.tr[0] * src + this.tr[12];\n}\n\n//============================================================\n// L2DMatrix44 # transformY()\n//============================================================\nL2DMatrix44.prototype.transformY = function (src/*float*/) {\n return this.tr[5] * src + this.tr[13];\n}\n\n//============================================================\n// L2DMatrix44 # invertTransformX()\n//============================================================\nL2DMatrix44.prototype.invertTransformX = function (src/*float*/) {\n return (src - this.tr[12]) / this.tr[0];\n}\n\n//============================================================\n// L2DMatrix44 # invertTransformY()\n//============================================================\nL2DMatrix44.prototype.invertTransformY = function (src/*float*/) {\n return (src - this.tr[13]) / this.tr[5];\n}\n\n//============================================================\n// L2DMatrix44 # multTranslate()\n//============================================================\nL2DMatrix44.prototype.multTranslate = function (shiftX/*float*/, shiftY/*float*/) {\n var tr1 = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, shiftX, shiftY, 0, 1];\n L2DMatrix44.mul(tr1, this.tr, this.tr);\n}\n\n//============================================================\n// L2DMatrix44 # translate()\n//============================================================\nL2DMatrix44.prototype.translate = function (x/*float*/, y/*float*/) {\n this.tr[12] = x;\n this.tr[13] = y;\n}\n\n//============================================================\n// L2DMatrix44 # translateX()\n//============================================================\nL2DMatrix44.prototype.translateX = function (x/*float*/) {\n this.tr[12] = x;\n}\n\n//============================================================\n// L2DMatrix44 # translateY()\n//============================================================\nL2DMatrix44.prototype.translateY = function (y/*float*/) {\n this.tr[13] = y;\n}\n\n//============================================================\n// L2DMatrix44 # multScale()\n//============================================================\nL2DMatrix44.prototype.multScale = function (scaleX/*float*/, scaleY/*float*/) {\n var tr1 = [scaleX, 0, 0, 0, 0, scaleY, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n L2DMatrix44.mul(tr1, this.tr, this.tr);\n}\n\n//============================================================\n// L2DMatrix44 # scale()\n//============================================================\nL2DMatrix44.prototype.scale = function (scaleX/*float*/, scaleY/*float*/) {\n this.tr[0] = scaleX;\n this.tr[5] = scaleY;\n}\n\n//============================================================\n//============================================================\n// class L2DModelMatrix extends L2DMatrix44\n//============================================================\n//============================================================\nfunction L2DModelMatrix(w/*float*/, h/*float*/) {\n L2DMatrix44.prototype.constructor.call(this);\n this.width = w;\n this.height = h;\n}\n\n//L2DModelMatrix extends L2DMatrix44\nL2DModelMatrix.prototype = new L2DMatrix44();\n\n//============================================================\n// L2DModelMatrix # setPosition()\n//============================================================\nL2DModelMatrix.prototype.setPosition = function (x/*float*/, y/*float*/) {\n this.translate(x, y);\n}\n\n//============================================================\n// L2DModelMatrix # setCenterPosition()\n//============================================================\nL2DModelMatrix.prototype.setCenterPosition = function (x/*float*/, y/*float*/) {\n var w = this.width * this.getScaleX();\n var h = this.height * this.getScaleY();\n this.translate(x - w / 2, y - h / 2);\n}\n\n//============================================================\n// L2DModelMatrix # top()\n//============================================================\nL2DModelMatrix.prototype.top = function (y/*float*/) {\n this.setY(y);\n}\n\n//============================================================\n// L2DModelMatrix # bottom()\n//============================================================\nL2DModelMatrix.prototype.bottom = function (y/*float*/) {\n var h = this.height * this.getScaleY();\n this.translateY(y - h);\n}\n\n//============================================================\n// L2DModelMatrix # left()\n//============================================================\nL2DModelMatrix.prototype.left = function (x/*float*/) {\n this.setX(x);\n}\n\n//============================================================\n// L2DModelMatrix # right()\n//============================================================\nL2DModelMatrix.prototype.right = function (x/*float*/) {\n var w = this.width * this.getScaleX();\n this.translateX(x - w);\n}\n\n//============================================================\n// L2DModelMatrix # centerX()\n//============================================================\nL2DModelMatrix.prototype.centerX = function (x/*float*/) {\n var w = this.width * this.getScaleX();\n this.translateX(x - w / 2);\n}\n\n//============================================================\n// L2DModelMatrix # centerY()\n//============================================================\nL2DModelMatrix.prototype.centerY = function (y/*float*/) {\n var h = this.height * this.getScaleY();\n this.translateY(y - h / 2);\n}\n\n//============================================================\n// L2DModelMatrix # setX()\n//============================================================\nL2DModelMatrix.prototype.setX = function (x/*float*/) {\n this.translateX(x);\n}\n\n//============================================================\n// L2DModelMatrix # setY()\n//============================================================\nL2DModelMatrix.prototype.setY = function (y/*float*/) {\n this.translateY(y);\n}\n\n//============================================================\n// L2DModelMatrix # setHeight()\n//============================================================\nL2DModelMatrix.prototype.setHeight = function (h/*float*/) {\n var scaleX = h / this.height;\n var scaleY = -scaleX;\n this.scale(scaleX, scaleY);\n}\n\n//============================================================\n// L2DModelMatrix # setWidth()\n//============================================================\nL2DModelMatrix.prototype.setWidth = function (w/*float*/) {\n var scaleX = w / this.width;\n var scaleY = -scaleX;\n this.scale(scaleX, scaleY);\n}\n\n//============================================================\n//============================================================\n// class L2DMotionManager extends MotionQueueManager\n//============================================================\n//============================================================\nfunction L2DMotionManager() {\n MotionQueueManager.prototype.constructor.call(this);\n this.currentPriority = null;\n this.reservePriority = null;\n\n this.super = MotionQueueManager.prototype;\n}\n\n\nL2DMotionManager.prototype = new MotionQueueManager();\n\n//============================================================\n// L2DMotionManager # getCurrentPriority()\n//============================================================\nL2DMotionManager.prototype.getCurrentPriority = function () {\n return this.currentPriority;\n}\n\n//============================================================\n// L2DMotionManager # getReservePriority()\n//============================================================\nL2DMotionManager.prototype.getReservePriority = function () {\n return this.reservePriority;\n}\n\n//============================================================\n// L2DMotionManager # reserveMotion()\n//============================================================\nL2DMotionManager.prototype.reserveMotion = function (priority/*int*/) {\n if (this.reservePriority >= priority) {\n return false;\n }\n if (this.currentPriority >= priority) {\n return false;\n }\n\n this.reservePriority = priority;\n\n return true;\n}\n\n//============================================================\n// L2DMotionManager # setReservePriority()\n//============================================================\nL2DMotionManager.prototype.setReservePriority = function (val/*int*/) {\n this.reservePriority = val;\n}\n\n//============================================================\n// L2DMotionManager # updateParam()\n//============================================================\nL2DMotionManager.prototype.updateParam = function (model/*ALive2DModel*/) {\n var updated = MotionQueueManager.prototype.updateParam.call(this, model);\n\n if (this.isFinished()) {\n this.currentPriority = 0;\n }\n\n return updated;\n}\n\n//============================================================\n// L2DMotionManager # startMotionPrio()\n//============================================================\nL2DMotionManager.prototype.startMotionPrio = function (motion/*AMotion*/, priority/*int*/) {\n if (priority == this.reservePriority) {\n this.reservePriority = 0;\n }\n this.currentPriority = priority;\n return this.startMotion(motion, false);\n}\n\n//============================================================\n//============================================================\n// class L2DPhysics\n//============================================================\n//============================================================\nfunction L2DPhysics() {\n this.physicsList = new Array(); //ArrayList\n this.startTimeMSec = UtSystem.getUserTimeMSec();\n}\n\n//============================================================\n// static L2DPhysics.load()\n//============================================================\nL2DPhysics.load = function (buf /*byte[]*/) {\n var ret = new L2DPhysics(); //L2DPhysicsL2DPhysics\n var pm = Live2DFramework.getPlatformManager();\n var json = pm.jsonParseFromBytes(buf);\n var params = json.physics_hair;\n var paramNum = params.length;\n for (var i = 0; i < paramNum; i++) {\n var param = params[i]; //Value\n var physics = new PhysicsHair(); //PhysicsHairPhysicsHair\n var setup = param.setup; //Value\n var length = parseFloat(setup.length);\n var resist = parseFloat(setup.regist);\n var mass = parseFloat(setup.mass);\n physics.setup(length, resist, mass);\n var srcList = param.src; //Value\n var srcNum = srcList.length;\n for (var j = 0; j < srcNum; j++) {\n var src = srcList[j]; //Value\n var id = src.id; //String\n var type = PhysicsHair.Src.SRC_TO_X;\n var typeStr = src.ptype; //String\n if (typeStr === \"x\") {\n type = PhysicsHair.Src.SRC_TO_X;\n }\n else if (typeStr === \"y\") {\n type = PhysicsHair.Src.SRC_TO_Y;\n }\n else if (typeStr === \"angle\") {\n type = PhysicsHair.Src.SRC_TO_G_ANGLE;\n }\n else {\n UtDebug.error(\"live2d\", \"Invalid parameter:PhysicsHair.Src\");\n }\n var scale = parseFloat(src.scale);\n var weight = parseFloat(src.weight);\n physics.addSrcParam(type, id, scale, weight);\n }\n var targetList = param.targets; //Value\n var targetNum = targetList.length;\n for (var j = 0; j < targetNum; j++) {\n var target = targetList[j]; //Value\n var id = target.id; //String\n var type = PhysicsHair.Target.TARGET_FROM_ANGLE;\n var typeStr = target.ptype; //String\n if (typeStr === \"angle\") {\n type = PhysicsHair.Target.TARGET_FROM_ANGLE;\n }\n else if (typeStr === \"angle_v\") {\n type = PhysicsHair.Target.TARGET_FROM_ANGLE_V;\n }\n else {\n UtDebug.error(\"live2d\", \"Invalid parameter:PhysicsHair.Target\");\n }\n var scale = parseFloat(target.scale);\n var weight = parseFloat(target.weight);\n physics.addTargetParam(type, id, scale, weight);\n }\n ret.physicsList.push(physics);\n }\n return ret;\n}\n\n//============================================================\n// L2DPhysics # updateParam()\n//============================================================\nL2DPhysics.prototype.updateParam = function (model/*ALive2DModel*/) {\n var timeMSec = UtSystem.getUserTimeMSec() - this.startTimeMSec;\n for (var i = 0; i < this.physicsList.length; i++) {\n this.physicsList[i].update(model, timeMSec);\n }\n}\n\n//============================================================\n//============================================================\n// class L2DPose\n//============================================================\n//============================================================\nfunction L2DPose() {\n this.lastTime = 0;\n this.lastModel = null; //ALive2DModel\n this.partsGroups = new Array(); //ArrayList\n}\n\n\n//============================================================\n// static L2DPose.load()\n//============================================================\nL2DPose.load = function (buf/*byte[]*/) {\n var ret = new L2DPose(); //L2DPose\n var pm = Live2DFramework.getPlatformManager();\n var json = pm.jsonParseFromBytes(buf);\n var poseListInfo = json.parts_visible; //Value\n var poseNum = poseListInfo.length;\n for (var i_pose = 0; i_pose < poseNum; i_pose++) {\n var poseInfo = poseListInfo[i_pose]; //Value\n var idListInfo = poseInfo.group; //Value\n var idNum = idListInfo.length;\n var partsGroup/*L2DPartsParam*/ = new Array();\n for (var i_group = 0; i_group < idNum; i_group++) {\n var partsInfo = idListInfo[i_group]; //Value\n var parts = new L2DPartsParam(partsInfo.id); //L2DPartsParamL2DPartsParam\n partsGroup[i_group] = parts;\n if (partsInfo.link == null) continue;\n var linkListInfo = partsInfo.link; //Value\n var linkNum = linkListInfo.length;\n parts.link = new Array(); //ArrayList\n for (var i_link = 0; i_link < linkNum; i_link++) {\n var linkParts = new L2DPartsParam(linkListInfo[i_link]); //L2DPartsParamL2DPartsParam\n parts.link.push(linkParts);\n }\n }\n ret.partsGroups.push(partsGroup);\n }\n\n return ret;\n}\n\n//============================================================\n// L2DPose # updateParam()\n//============================================================\nL2DPose.prototype.updateParam = function (model/*ALive2DModel*/) {\n if (model == null) return;\n\n if (!(model == this.lastModel)) {\n this.initParam(model);\n }\n this.lastModel = model;\n\n var curTime = UtSystem.getUserTimeMSec();\n var deltaTimeSec = ((this.lastTime == 0) ? 0 : (curTime - this.lastTime) / 1000.0);\n this.lastTime = curTime;\n if (deltaTimeSec < 0) deltaTimeSec = 0;\n for (var i = 0; i < this.partsGroups.length; i++) {\n this.normalizePartsOpacityGroup(model, this.partsGroups[i], deltaTimeSec);\n this.copyOpacityOtherParts(model, this.partsGroups[i]);\n }\n}\n\n//============================================================\n// L2DPose # initParam()\n//============================================================\nL2DPose.prototype.initParam = function (model/*ALive2DModel*/) {\n if (model == null) return;\n for (var i = 0; i < this.partsGroups.length; i++) {\n var partsGroup = this.partsGroups[i]; //L2DPartsParam\n for (var j = 0; j < partsGroup.length; j++) {\n partsGroup[j].initIndex(model);\n var partsIndex = partsGroup[j].partsIndex;\n var paramIndex = partsGroup[j].paramIndex;\n if (partsIndex < 0) continue;\n var v/*:Boolean*/ = (model.getParamFloat(paramIndex) != 0);\n model.setPartsOpacity(partsIndex, (v ? 1.0 : 0.0));\n model.setParamFloat(paramIndex, (v ? 1.0 : 0.0));\n if (partsGroup[j].link == null) continue;\n for (var k = 0; k < partsGroup[j].link.length; k++) {\n partsGroup[j].link[k].initIndex(model);\n }\n }\n }\n}\n\n//============================================================\n// L2DPose # normalizePartsOpacityGroup()\n//============================================================\nL2DPose.prototype.normalizePartsOpacityGroup = function (model/*ALive2DModel*/, partsGroup/*L2DPartsParam[]*/, deltaTimeSec/*float*/) {\n var visibleParts = -1;\n var visibleOpacity = 1.0;\n var CLEAR_TIME_SEC = 0.5;\n var phi = 0.5;\n var maxBackOpacity = 0.15;\n for (var i = 0; i < partsGroup.length; i++) {\n var partsIndex = partsGroup[i].partsIndex;\n var paramIndex = partsGroup[i].paramIndex;\n if (partsIndex < 0) continue; if (model.getParamFloat(paramIndex) != 0) {\n if (visibleParts >= 0) {\n break;\n }\n visibleParts = i;\n visibleOpacity = model.getPartsOpacity(partsIndex);\n visibleOpacity += deltaTimeSec / CLEAR_TIME_SEC;\n if (visibleOpacity > 1) {\n visibleOpacity = 1;\n }\n }\n }\n if (visibleParts < 0) {\n visibleParts = 0;\n visibleOpacity = 1;\n }\n for (var i = 0; i < partsGroup.length; i++) {\n var partsIndex = partsGroup[i].partsIndex;\n if (partsIndex < 0) continue; if (visibleParts == i) {\n model.setPartsOpacity(partsIndex, visibleOpacity);\n }\n else {\n var opacity = model.getPartsOpacity(partsIndex);\n var a1;\n if (visibleOpacity < phi) {\n a1 = visibleOpacity * (phi - 1) / phi + 1;\n }\n else {\n a1 = (1 - visibleOpacity) * phi / (1 - phi);\n }\n var backOp = (1 - a1) * (1 - visibleOpacity);\n if (backOp > maxBackOpacity) {\n a1 = 1 - maxBackOpacity / (1 - visibleOpacity);\n }\n if (opacity > a1) {\n opacity = a1;\n }\n model.setPartsOpacity(partsIndex, opacity);\n }\n }\n}\n\n//============================================================\n// L2DPose # copyOpacityOtherParts()\n//============================================================\nL2DPose.prototype.copyOpacityOtherParts = function (model/*ALive2DModel*/, partsGroup/*L2DPartsParam[]*/) {\n for (var i_group = 0; i_group < partsGroup.length; i_group++) {\n var partsParam = partsGroup[i_group]; //L2DPartsParam\n if (partsParam.link == null) continue;\n if (partsParam.partsIndex < 0) continue;\n var opacity = model.getPartsOpacity(partsParam.partsIndex);\n for (var i_link = 0; i_link < partsParam.link.length; i_link++) {\n var linkParts = partsParam.link[i_link]; //L2DPartsParam\n if (linkParts.partsIndex < 0) continue;\n model.setPartsOpacity(linkParts.partsIndex, opacity);\n }\n }\n}\n\n//============================================================\n//============================================================\n// class L2DPartsParam\n//============================================================\n//============================================================\nfunction L2DPartsParam(id/*String*/) {\n this.paramIndex = -1;\n this.partsIndex = -1;\n this.link = null; // ArrayList\n this.id = id;\n}\n\n//============================================================\n// L2DPartsParam # initIndex()\n//============================================================\nL2DPartsParam.prototype.initIndex = function (model/*ALive2DModel*/) {\n this.paramIndex = model.getParamIndex(\"VISIBLE:\" + this.id);\n this.partsIndex = model.getPartsDataIndex(PartsDataID.getID(this.id));\n model.setParamFloat(this.paramIndex, 1);\n}\n\n//============================================================\n//============================================================\n// class L2DTargetPoint\n//============================================================\n//============================================================\nfunction L2DTargetPoint() {\n this.EPSILON = 0.01; // 変化の最小値(この値以下は無視される)\n this.faceTargetX = 0;\n this.faceTargetY = 0;\n this.faceX = 0;\n this.faceY = 0;\n this.faceVX = 0;\n this.faceVY = 0;\n this.lastTimeSec = 0;\n}\n\n//============================================================\nL2DTargetPoint.FRAME_RATE = 60;\n\n//============================================================\n// L2DTargetPoint # set()\n//============================================================\nL2DTargetPoint.prototype.setPoint = function (x/*float*/, y/*float*/) {\n this.faceTargetX = x;\n this.faceTargetY = y;\n}\n\n//============================================================\n// L2DTargetPoint # getX()\n//============================================================\nL2DTargetPoint.prototype.getX = function () {\n return this.faceX;\n}\n\n//============================================================\n// L2DTargetPoint # getY()\n//============================================================\nL2DTargetPoint.prototype.getY = function () {\n return this.faceY;\n}\n\n//============================================================\n// L2DTargetPoint # update()\n//============================================================\nL2DTargetPoint.prototype.update = function () {\n var TIME_TO_MAX_SPEED = 0.15;\n var FACE_PARAM_MAX_V = 40.0 / 7.5;\n var MAX_V = FACE_PARAM_MAX_V / L2DTargetPoint.FRAME_RATE;\n if (this.lastTimeSec == 0) {\n this.lastTimeSec = UtSystem.getUserTimeMSec();\n return;\n }\n var curTimeSec = UtSystem.getUserTimeMSec();\n var deltaTimeWeight = (curTimeSec - this.lastTimeSec) * L2DTargetPoint.FRAME_RATE / 1000.0;\n this.lastTimeSec = curTimeSec;\n var FRAME_TO_MAX_SPEED = TIME_TO_MAX_SPEED * L2DTargetPoint.FRAME_RATE;\n var MAX_A = deltaTimeWeight * MAX_V / FRAME_TO_MAX_SPEED;\n var dx = (this.faceTargetX - this.faceX);\n var dy = (this.faceTargetY - this.faceY);\n // if(dx == 0 && dy == 0) return;\n if (Math.abs(dx) <= this.EPSILON && Math.abs(dy) <= this.EPSILON) return;\n var d = Math.sqrt(dx * dx + dy * dy);\n var vx = MAX_V * dx / d;\n var vy = MAX_V * dy / d;\n var ax = vx - this.faceVX;\n var ay = vy - this.faceVY;\n var a = Math.sqrt(ax * ax + ay * ay);\n if (a < -MAX_A || a > MAX_A) {\n ax *= MAX_A / a;\n ay *= MAX_A / a;\n a = MAX_A;\n }\n this.faceVX += ax;\n this.faceVY += ay;\n {\n var max_v = 0.5 * (Math.sqrt(MAX_A * MAX_A + 16 * MAX_A * d - 8 * MAX_A * d) - MAX_A);\n var cur_v = Math.sqrt(this.faceVX * this.faceVX + this.faceVY * this.faceVY);\n if (cur_v > max_v) {\n this.faceVX *= max_v / cur_v;\n this.faceVY *= max_v / cur_v;\n }\n }\n this.faceX += this.faceVX;\n this.faceY += this.faceVY;\n}\n\n//============================================================\n//============================================================\n// class L2DViewMatrix extends L2DMatrix44\n//============================================================\n//============================================================\nfunction L2DViewMatrix() {\n L2DMatrix44.prototype.constructor.call(this);\n this.screenLeft = null;\n this.screenRight = null;\n this.screenTop = null;\n this.screenBottom = null;\n this.maxLeft = null;\n this.maxRight = null;\n this.maxTop = null;\n this.maxBottom = null;\n}\n\nL2DViewMatrix.prototype = new L2DMatrix44(); //L2DViewMatrix extends L2DMatrix44\n\n//============================================================\n// L2DViewMatrix # adjustTranslate()\n//============================================================\nL2DViewMatrix.prototype.adjustTranslate = function (shiftX/*float*/, shiftY/*float*/) {\n if (this.tr[0] * this.maxLeft + (this.tr[12] + shiftX) > this.screenLeft)\n shiftX = this.screenLeft - this.tr[0] * this.maxLeft - this.tr[12];\n if (this.tr[0] * this.maxRight + (this.tr[12] + shiftX) < this.screenRight)\n shiftX = this.screenRight - this.tr[0] * this.maxRight - this.tr[12];\n if (this.tr[5] * this.maxTop + (this.tr[13] + shiftY) < this.screenTop)\n shiftY = this.screenTop - this.tr[5] * this.maxTop - this.tr[13];\n if (this.tr[5] * this.maxBottom + (this.tr[13] + shiftY) > this.screenBottom)\n shiftY = this.screenBottom - this.tr[5] * this.maxBottom - this.tr[13];\n\n var tr1 = [1, 0, 0, 0,\n 0, 1, 0, 0,\n 0, 0, 1, 0,\n shiftX, shiftY, 0, 1];\n L2DMatrix44.mul(tr1, this.tr, this.tr);\n}\n\n//============================================================\n// L2DViewMatrix # adjustScale()\n//============================================================\nL2DViewMatrix.prototype.adjustScale = function (cx/*float*/, cy/*float*/, scale/*float*/) {\n var targetScale = scale * this.tr[0];\n var tr1 = [1, 0, 0, 0,\n 0, 1, 0, 0,\n 0, 0, 1, 0,\n cx, cy, 0, 1];\n var tr2 = [scale, 0, 0, 0,\n 0, scale, 0, 0,\n 0, 0, 1, 0,\n 0, 0, 0, 1];\n var tr3 = [1, 0, 0, 0,\n 0, 1, 0, 0,\n 0, 0, 1, 0,\n -cx, -cy, 0, 1];\n L2DMatrix44.mul(tr3, this.tr, this.tr);\n L2DMatrix44.mul(tr2, this.tr, this.tr);\n L2DMatrix44.mul(tr1, this.tr, this.tr);\n}\n\n//============================================================\n// L2DViewMatrix # setScreenRect()\n//============================================================\nL2DViewMatrix.prototype.setScreenRect = function (left/*float*/, right/*float*/, bottom/*float*/, top/*float*/) {\n this.screenLeft = left;\n this.screenRight = right;\n this.screenTop = top;\n this.screenBottom = bottom;\n}\n\n//============================================================\n// L2DViewMatrix # setMaxScreenRect()\n//============================================================\nL2DViewMatrix.prototype.setMaxScreenRect = function (left/*float*/, right/*float*/, bottom/*float*/, top/*float*/) {\n this.maxLeft = left;\n this.maxRight = right;\n this.maxTop = top;\n this.maxBottom = bottom;\n}\n\n//============================================================\n// L2DViewMatrix # getScreenLeft()\n//============================================================\nL2DViewMatrix.prototype.getScreenLeft = function () {\n return this.screenLeft;\n}\n\n//============================================================\n// L2DViewMatrix # getScreenRight()\n//============================================================\nL2DViewMatrix.prototype.getScreenRight = function () {\n return this.screenRight;\n}\n\n//============================================================\n// L2DViewMatrix # getScreenBottom()\n//============================================================\nL2DViewMatrix.prototype.getScreenBottom = function () {\n return this.screenBottom;\n}\n\n//============================================================\n// L2DViewMatrix # getScreenTop()\n//============================================================\nL2DViewMatrix.prototype.getScreenTop = function () {\n return this.screenTop;\n}\n\n//============================================================\n// L2DViewMatrix # getMaxLeft()\n//============================================================\nL2DViewMatrix.prototype.getMaxLeft = function () {\n return this.maxLeft;\n}\n\n//============================================================\n// L2DViewMatrix # getMaxRight()\n//============================================================\nL2DViewMatrix.prototype.getMaxRight = function () {\n return this.maxRight;\n}\n\n//============================================================\n// L2DViewMatrix # getMaxBottom()\n//============================================================\nL2DViewMatrix.prototype.getMaxBottom = function () {\n return this.maxBottom;\n}\n\n//============================================================\n// L2DViewMatrix # getMaxTop()\n//============================================================\nL2DViewMatrix.prototype.getMaxTop = function () {\n return this.maxTop;\n}\n\n//============================================================\n//============================================================\n// class Live2DFramework\n//============================================================\n//============================================================\nfunction Live2DFramework() {\n}\n\n//============================================================\nLive2DFramework.platformManager = null;\n\n//============================================================\n// static Live2DFramework.getPlatformManager()\n//============================================================\nLive2DFramework.getPlatformManager = function () {\n return Live2DFramework.platformManager;\n}\n\n//============================================================\n// static Live2DFramework.setPlatformManager()\n//============================================================\nLive2DFramework.setPlatformManager = function (platformManager /*IPlatformManager*/) {\n Live2DFramework.platformManager = platformManager;\n}\n\nexport{\n L2DTargetPoint,\n Live2DFramework,\n L2DViewMatrix,\n L2DPose,\n L2DPartsParam,\n L2DPhysics,\n L2DMotionManager,\n L2DModelMatrix,\n L2DMatrix44,\n EYE_STATE,\n L2DEyeBlink,\n L2DExpressionParam,\n L2DExpressionMotion,\n L2DBaseModel,\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/lib/Live2DFramework.js","// Modified by xiazeyu.\n\n/**\n* @desc The definitions of values releated to model react\n*/\n\nexport const cDefine = {\n // above are viewMatrix value settings\n VIEW_LOGICAL_LEFT : -1, // -1, the left abscissa of viewMatrix\n VIEW_LOGICAL_RIGHT : 1, // 1, the right abscissa of viewMatrix\n VIEW_LOGICAL_MAX_LEFT : -2, // -2, the max left abscissa of viewMatrix\n VIEW_LOGICAL_MAX_RIGHT : 2, // 2, the max right abscissa of viewMatrix\n VIEW_LOGICAL_MAX_BOTTOM : -2, // -2, the max bottom abscissa of viewMatrix\n VIEW_LOGICAL_MAX_TOP : 2, // 2, the max top abscissa of viewMatrix\n\n // above are the motions priority settings.\n PRIORITY_NONE : 0, // 0,do nothing\n PRIORITY_IDLE : 1, // 1, idle motions\n PRIORITY_NORMAL : 2, // 2, normal motions\n PRIORITY_FORCE : 3, // 3, force to show motion\n\n // above are the index to the motions in model.json\n // #43\n MOTION_GROUP_IDLE : \"idle\",\n MOTION_GROUP_TAP_BODY : \"tap_body\",\n MOTION_GROUP_FLICK_HEAD : \"flick_head\", // unused\n MOTION_GROUP_PINCH_IN : \"pinch_in\", // unused\n MOTION_GROUP_PINCH_OUT : \"pinch_out\", // unused\n MOTION_GROUP_SHAKE : \"shake\", // unused\n\n // above are the index to the hit areas in model.json\n // #43\n HIT_AREA_HEAD : \"head\",\n HIT_AREA_BODY : \"body\"\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/cDefine.js","/**\n * @description The container and manager for all the DOM and WebGL emelents.\n */\n\n\nimport { config } from './config/configMgr';\nimport { L2Dwidget } from './index';\nimport { createDialogElement } from './dialog';\n\n/**\n * The current WebGL element\n * @type {RenderingContext}\n */\n\nlet currWebGL = undefined;\n\n/**\n * The current canvas element\n * @type {HTMLElement}\n */\n\nlet currCanvas;\n\n\n/**\n * Create the canvas and styles using DOM\n * @return {null}\n */\n\nfunction createElement() {\n\n let e = document.getElementById(config.name.div)\n if (e !== null) {\n document.body.removeChild(e);\n }\n\n let newElem = document.createElement('div');\n newElem.id = config.name.div;\n newElem.className = 'live2d-widget-container';\n newElem.style.setProperty('position', 'fixed');\n newElem.style.setProperty(config.display.position, config.display.hOffset + 'px');\n newElem.style.setProperty('bottom', config.display.vOffset + 'px');\n newElem.style.setProperty('width', config.display.width + 'px');\n newElem.style.setProperty('height', config.display.height + 'px');\n newElem.style.setProperty('z-index', 99999);\n newElem.style.setProperty('opacity', config.react.opacity);\n newElem.style.setProperty('pointer-events', 'none');\n document.body.appendChild(newElem);\n L2Dwidget.emit('create-container', newElem);\n\n if (config.dialog.enable)\n createDialogElement(newElem);\n\n let newCanvasElem = document.createElement('canvas');\n newCanvasElem.setAttribute('id', config.name.canvas);\n newCanvasElem.setAttribute('width', config.display.width * config.display.superSample);\n newCanvasElem.setAttribute('height', config.display.height * config.display.superSample);\n newCanvasElem.style.setProperty('position', 'absolute');\n newCanvasElem.style.setProperty('left', '0px');\n newCanvasElem.style.setProperty('top', '0px');\n newCanvasElem.style.setProperty('width', config.display.width + 'px');\n newCanvasElem.style.setProperty('height', config.display.height + 'px');\n if (config.dev.border) newCanvasElem.style.setProperty('border', 'dashed 1px #CCC');\n newElem.appendChild(newCanvasElem);\n\n currCanvas = document.getElementById(config.name.canvas);\n L2Dwidget.emit('create-canvas', newCanvasElem);\n\n initWebGL();\n\n}\n\n/**\n * Find and set the current WebGL element to the container\n * @return {null}\n */\n\nfunction initWebGL() {\n\n var NAMES = ['webgl2', 'webgl', 'experimental-webgl2', 'experimental-webgl', 'webkit-3d', 'moz-webgl'];\n for (let i = 0; i < NAMES.length; i++) {\n try {\n let ctx = currCanvas.getContext(NAMES[i], {\n alpha: true,\n antialias: true,\n premultipliedAlpha: true,\n failIfMajorPerformanceCaveat: false,\n });\n if (ctx) currWebGL = ctx;\n } catch (e) { }\n }\n if (!currWebGL) {\n console.error('Live2D widgets: Failed to create WebGL context.');\n if (!window.WebGLRenderingContext) {\n console.error('Your browser may not support WebGL, check https://get.webgl.org/ for futher information.');\n }\n return;\n }\n};\n\n\nexport {\n createElement,\n currWebGL,\n currCanvas,\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/elementMgr.js","/**\n *\n * You can modify and use this source freely\n * only for the development of application related Live2D.\n *\n * (c) Live2D Inc. All rights reserved.\n */\n\n/**\n * EYHN 修改\n *\n * Copyright © 2016 - 2017 EYHN\n */\n\n// Modified by xiazeyu.\n\n/**\n* @desc A matrix stack releated to draw the model\n*/\n\nexport function MatrixStack() {}\n\nMatrixStack.matrixStack = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\nMatrixStack.depth = 0;\nMatrixStack.currentMatrix = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\nMatrixStack.tmp = new Array(16);\n\n/**\n* @name reset\n* @desc reset the stack\n* @param null\n* @returns null\n* @memberOf MatrixStack\n*/\nMatrixStack.reset = function(){\n this.depth = 0;\n}\n\n/**\n* @name loadIdentity\n* @desc reset values in the stack to whether it can be divisible by 5\n* @param null\n* @returns null\n* @memberOf MatrixStack\n*/\nMatrixStack.loadIdentity = function(){\n var thisRef = this;\n for (var i = 0; i < 16; i++){\n thisRef.currentMatrix[i] = (i % 5 == 0) ? 1 : 0;\n }\n}\n\n/**\n* @name push\n* @desc push a new element into the stack\n* @param null\n* @returns null\n* @memberOf MatrixStack\n*/\nMatrixStack.push = function(){\n var thisRef = this;\n // var offset = thisRef.depth * 16;\n var nextOffset = (thisRef.depth + 1) * 16;\n\n if (thisRef.matrixStack.length < nextOffset + 16){\n thisRef.matrixStack.length = nextOffset + 16;\n }\n\n for (var i = 0; i < 16; i++){\n thisRef.matrixStack[nextOffset + i] = thisRef.currentMatrix[i];\n }\n\n thisRef.depth++;\n}\n\n/**\n* @name pop\n* @desc pop an element from the stack\n* @param null\n* @returns null\n* @memberOf MatrixStack\n*/\nMatrixStack.pop = function(){\n var thisRef = this;\n thisRef.depth--;\n if (thisRef.depth < 0){ // stack is underflow?????\n myError(\"Invalid matrix stack.\");\n thisRef.depth = 0;\n }\n\n var offset = thisRef.depth * 16;\n for (var i = 0; i < 16; i++){\n thisRef.currentMatrix[i] = thisRef.matrixStack[offset + i];\n }\n}\n\n/**\n* @name getMatrix\n* @desc return the current matrix stack\n* @param null\n* @returns {Array} current matrix stack\n* @memberOf MatrixStack\n*/\nMatrixStack.getMatrix = function(){\n return this.currentMatrix;\n}\n\n/**\n* @name multMatrix\n* @desc matrix multiplication, save to the currentMatrix\n* @param null\n* @returns null\n* @memberOf MatrixStack\n*/\nMatrixStack.multMatrix = function(matNew)\n{\n var thisRef = this;\n var i, j, k;\n\n for (i = 0; i < 16; i++){\n thisRef.tmp[i] = 0;\n }\n\n for (i = 0; i < 4; i++){\n for (j = 0; j < 4; j++){\n for (k = 0; k < 4; k++){\n thisRef.tmp[i + j * 4] += thisRef.currentMatrix[i + k * 4] * matNew[k + j * 4];\n }\n }\n }\n for (i = 0; i < 16; i++){\n thisRef.currentMatrix[i] = thisRef.tmp[i];\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/MatrixStack.js","import { config } from '../config/configMgr';\nimport { L2Dwidget } from '../index';\n\ndocument.head.innerHTML += `\n\n`;\n\nlet containerElement,dialogElement,closeTimer;\n\n/**\n * 创建对话框元素\n * @param {HTMLElement} root 位置\n */\nfunction createDialogElement(root) {\n containerElement = document.createElement('div');\n containerElement.className = 'live2d-widget-dialog-container';\n containerElement.style.transform = `scale(${config.display.width / 250})`\n dialogElement = document.createElement('div');\n dialogElement.className = 'live2d-widget-dialog';\n containerElement.appendChild(dialogElement);\n root.appendChild(containerElement);\n\n L2Dwidget.emit('create-dialog', containerElement);\n\n if (config.dialog.hitokoto)\n showHitokotoLoop()\n}\n\nfunction displayDialog() {\n dialogElement.style.opacity = 1;\n}\n\nfunction hiddenDialog() {\n dialogElement.style.opacity = 0;\n}\n\nfunction alertText(text) {\n displayDialog();\n dialogElement.innerText = text;\n clearTimeout(closeTimer);\n closeTimer = setTimeout(function () {\n hiddenDialog();\n }, 5000);\n}\n\nfunction showHitokotoLoop() {\n var xhr = new XMLHttpRequest();\n xhr.open('get', 'https://v1.hitokoto.cn');\n xhr.setRequestHeader(\"Cache-Control\", \"no-cache\");\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n var data = JSON.parse(xhr.responseText);\n alertText(data.hitokoto);\n setTimeout(showHitokotoLoop, 10000)\n }\n }\n xhr.send();\n}\n\n\nmodule.exports = {\n createDialogElement, displayDialog, hiddenDialog, alertText, showHitokotoLoop\n}\n\n\n// WEBPACK FOOTER //\n// ./src/dialog/index.js","// Provide a \"System\" global.\r\nmodule.exports = {\r\n\t// Make sure import is only used as \"System.import\"\r\n\timport: function() {\r\n\t\tthrow new Error(\"System.import cannot be used indirectly\");\r\n\t}\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/system.js\n// module id = 83\n// module chunks = 0","import { Live2DFramework } from \"./lib/Live2DFramework\";\nimport { PlatformManager } from \"./PlatformManager\";\nimport { cModel } from \"./cModel\";\nimport { cDefine } from \"./cDefine\";\n\nfunction cManager(eventemitter) {\n // console.log(\"--> cManager()\");\n\n this.eventemitter = eventemitter;\n\n this.models = [];\n this.count = -1;\n this.reloadFlg = false;\n\n Live2DFramework.setPlatformManager(new PlatformManager());\n\n}\n\ncManager.prototype.createModel = function () {\n\n var model = new cModel();\n this.models.push(model);\n\n return model;\n\n}\n\n\ncManager.prototype.changeModel = function (gl, modelurl) {\n // console.log(\"--> cManager.update(gl)\");\n\n if (this.reloadFlg) {\n this.reloadFlg = false;\n this.releaseModel(0, gl);\n this.createModel();\n this.models[0].load(gl, modelurl);\n }\n\n};\n\n\ncManager.prototype.getModel = function (no) {\n // console.log(\"--> cManager.getModel(\" + no + \")\");\n\n if (no >= this.models.length) return null;\n\n return this.models[no];\n};\n\n\n\ncManager.prototype.releaseModel = function (no, gl) {\n // console.log(\"--> cManager.releaseModel(\" + no + \")\");\n\n if (this.models.length <= no) return;\n\n this.models[no].release(gl);\n\n delete this.models[no];\n this.models.splice(no, 1);\n};\n\n\n\ncManager.prototype.numModels = function () {\n return this.models.length;\n};\n\n\n\ncManager.prototype.setDrag = function (x, y) {\n for (var i = 0; i < this.models.length; i++) {\n this.models[i].setDrag(x, y);\n }\n}\n\ncManager.prototype.tapEvent = function (x, y) {\n if (cDefine.DEBUG_LOG)\n console.log(\"tapEvent view x:\" + x + \" y:\" + y);\n\n for (var i = 0; i < this.models.length; i++) {\n\n if (this.models[i].hitTest(cDefine.HIT_AREA_HEAD, x, y)) {\n this.eventemitter.emit('tapface');\n \n if (cDefine.DEBUG_LOG)\n console.log(\"Tap face.\");\n\n this.models[i].setRandomExpression();\n }\n else if (this.models[i].hitTest(cDefine.HIT_AREA_BODY, x, y)) {\n this.eventemitter.emit('tapbody');\n if (cDefine.DEBUG_LOG)\n console.log(\"Tap body.\" + \" models[\" + i + \"]\");\n\n this.models[i].startRandomMotion(cDefine.MOTION_GROUP_TAP_BODY,\n cDefine.PRIORITY_NORMAL);\n }\n }\n\n return true;\n};\n\nexport{\n cManager,\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/cManager.js","\n/**\n *\n * You can modify and use this source freely\n * only for the development of application related Live2D.\n *\n * (c) Live2D Inc. All rights reserved.\n */\n\n// Modified by xiazeyu.\n\n/**\n* @desc A library that provide basic IO and json function\n*/\n\nimport { currWebGL } from './elementMgr';\nimport { Live2DModelWebGL } from \"./lib/live2d.core\";\n\n\n//============================================================\n//============================================================\n// class PlatformManager extend IPlatformManager\n//============================================================\n//============================================================\n\n/**\n* @name PlatformManager\n* @desc Define the variable type of PlatformManager\n* @param null\n* @returns {Structure} PlatformManager\n*/\nexport function PlatformManager()\n{\n\n}\n\n\n//============================================================\n// PlatformManager # loadBytes()\n//============================================================\n\n/**\n* @name loadBytes\n* @desc load bytes from the path and callback\n* @param {String} path, {Function} callback\n* @returns callback {raw} context\n* @memberOf PlatformManager\n*/\n\nPlatformManager.prototype.loadBytes = function(path/*String*/, callback)\n{\n var request = new XMLHttpRequest();\n request.open(\"GET\", path, true);\n request.responseType = \"arraybuffer\";\n request.onload = function(){\n switch(request.status){\n case 200:\n callback(request.response);\n break;\n default:\n console.error(\"Failed to load (\" + request.status + \") : \" + path);\n break;\n }\n }\n request.send(null);\n // return request;\n}\n\n\n//============================================================\n// PlatformManager # loadString()\n//============================================================\n\n/**\n* @name loadString\n* @desc load bytes from the path and put it into buffer\n* @param {String} path\n* @returns buffer {raw} context\n* @memberOf PlatformManager\n*/\nPlatformManager.prototype.loadString = function(path/*String*/)\n{\n\n this.loadBytes(path, function(buf) {\n return buf;\n });\n\n}\n\n\n//============================================================\n// PlatformManager # loadLive2DModel()\n//============================================================\n\n/**\n* @name loadLive2DModel\n* @desc load Live2DModel from the path and put it into buffer\n* @param {String} path, {function} callback\n* @returns callback loaded model\n* @memberOf PlatformManager\n*/\nPlatformManager.prototype.loadLive2DModel = function(path/*String*/, callback)\n{\n var model = null;\n\n // load moc\n this.loadBytes(path, function(buf){\n model = Live2DModelWebGL.loadModel(buf);\n callback(model);\n });\n\n}\n\n\n//============================================================\n// PlatformManager # loadTexture()\n//============================================================\n\n/**\n* @name loadTexture\n* @desc load Live2DModel's Texture and callback\n* @param {Live2DModelWebGL}model, {int}no, {string}path, {function}callback\n* @returns callback\n* @memberOf PlatformManager\n*/\nPlatformManager.prototype.loadTexture = function(model/*ALive2DModel*/, no/*int*/, path/*String*/, callback)\n{\n // load textures\n var loadedImage = new Image();\n // Thanks to @mashirozx & @fghrsh\n // Issues:\n // @https://github.com/journey-ad/live2d_src/issues/1\n // @https://github.com/journey-ad/live2d_src/issues/3\n loadedImage.crossOrigin = 'Anonymous';\n loadedImage.src = path;\n loadedImage.onload = onload;\n loadedImage.onerror = onerror;\n\n // var thisRef = this;\n loadedImage.onload = function() {\n // create texture\n var gl = currWebGL;\n var texture = gl.createTexture();\n if (!texture){ console.error(\"Failed to generate gl texture name.\"); return -1; }\n\n if(!model.isPremultipliedAlpha()){\n // 乗算済アルファテクスチャ以外の場合\n // emmmm, maybe do something for textures with alpha layer.\n gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 1);\n }\n gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, 1);\n gl.activeTexture(gl.TEXTURE0);\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA,\n gl.UNSIGNED_BYTE, loadedImage);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_NEAREST);\n gl.generateMipmap(gl.TEXTURE_2D);\n\n\n\n model.setTexture(no, texture);\n\n // テクスチャオブジェクトを解放\n // Release the texture object to prevent buffer overruns.\n texture = null;\n\n if (typeof callback == \"function\") callback();\n };\n\n loadedImage.onerror = function() {\n console.error(\"Failed to load image : \" + path);\n }\n}\n\n\n//============================================================\n// PlatformManager # parseFromBytes(buf)\n\n//============================================================\n\n/**\n* @name jsonParseFromBytes\n* @desc parse json file into arrays\n* @param {raw} buf\n* @returns {Array}jsonObj\n* @memberOf PlatformManager\n*/\nPlatformManager.prototype.jsonParseFromBytes = function(buf){\n\n var jsonStr;\n var bomCode = new Uint8Array(buf, 0, 3);\n if (bomCode[0] == 239 && bomCode[1] == 187 && bomCode[2] == 191) {\n jsonStr = String.fromCharCode.apply(null, new Uint8Array(buf, 3));\n } else {\n jsonStr = String.fromCharCode.apply(null, new Uint8Array(buf));\n }\n\n var jsonObj = JSON.parse(jsonStr);\n\n return jsonObj;\n};\n\n\n\n//============================================================\n// PlatformManager # log()\n//============================================================\n\n/**\n* @name log\n* @desc output log in console\n* @param {string} txt\n* @returns null\n* @memberOf PlatformManager\n*/\nPlatformManager.prototype.log = function(txt/*String*/)\n{\n console.log(txt);\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/PlatformManager.js","import { Live2DFramework, L2DBaseModel, L2DEyeBlink } from \"./lib/Live2DFramework\";\nimport { ModelSettingJson } from \"./utils/ModelSettingJson\";\nimport { MatrixStack } from \"./utils/MatrixStack\";\nimport { cDefine } from \"./cDefine\";\nimport { UtSystem,/*\n UtDebug,\n LDTransform,\n LDGL,\n Live2D,\n Live2DModelWebGL,\n Live2DModelJS,\n Live2DMotion,\n MotionQueueManager,\n PhysicsHair,\n AMotion,\n PartsDataID,\n DrawDataID,\n BaseDataID,\n ParamID*/ } from './lib/live2d.core';\n//============================================================\n//============================================================\n// class cModel extends L2DBaseModel\n//============================================================\n//============================================================\nexport function cModel()\n{\n //L2DBaseModel.apply(this, arguments);\n L2DBaseModel.prototype.constructor.call(this);\n\n this.modelHomeDir = \"\";\n this.modelSetting = null;\n this.tmpMatrix = [];\n}\n\ncModel.prototype = new L2DBaseModel();\n\n\ncModel.prototype.load = function(gl, modelSettingPath, callback)\n{\n this.setUpdating(true);\n this.setInitialized(false);\n\n this.modelHomeDir = modelSettingPath.substring(0, modelSettingPath.lastIndexOf(\"/\") + 1);\n\n this.modelSetting = new ModelSettingJson();\n\n var thisRef = this;\n\n this.modelSetting.loadModelSetting(modelSettingPath, function(){\n\n var path = thisRef.modelHomeDir + thisRef.modelSetting.getModelFile();\n thisRef.loadModelData(path, function(model){\n\n for (var i = 0; i < thisRef.modelSetting.getTextureNum(); i++)\n {\n if( /^https?:\\/\\/|^\\/\\//i.test(thisRef.modelSetting.getTextureFile(i)) ){\n\n var texPaths = thisRef.modelSetting.getTextureFile(i);\n\n }else{\n var texPaths = thisRef.modelHomeDir + thisRef.modelSetting.getTextureFile(i);\n }\n thisRef.loadTexture(i, texPaths, function() {\n\n if( thisRef.isTexLoaded ) {\n\n if (thisRef.modelSetting.getExpressionNum() > 0)\n {\n\n thisRef.expressions = {};\n\n for (var j = 0; j < thisRef.modelSetting.getExpressionNum(); j++)\n {\n var expName = thisRef.modelSetting.getExpressionName(j);\n var expFilePath = thisRef.modelHomeDir +\n thisRef.modelSetting.getExpressionFile(j);\n\n thisRef.loadExpression(expName, expFilePath);\n }\n }\n else\n {\n thisRef.expressionManager = null;\n thisRef.expressions = {};\n }\n\n\n\n if (thisRef.eyeBlink == null)\n {\n thisRef.eyeBlink = new L2DEyeBlink();\n }\n\n\n if (thisRef.modelSetting.getPhysicsFile() != null)\n {\n thisRef.loadPhysics(thisRef.modelHomeDir +\n thisRef.modelSetting.getPhysicsFile());\n }\n else\n {\n thisRef.physics = null;\n }\n\n\n\n if (thisRef.modelSetting.getPoseFile() != null)\n {\n thisRef.loadPose(\n thisRef.modelHomeDir +\n thisRef.modelSetting.getPoseFile(),\n function() {\n thisRef.pose.updateParam(thisRef.live2DModel);\n }\n );\n }\n else\n {\n thisRef.pose = null;\n }\n\n\n\n if (thisRef.modelSetting.getLayout() != null)\n {\n var layout = thisRef.modelSetting.getLayout();\n if (layout[\"width\"] != null)\n thisRef.modelMatrix.setWidth(layout[\"width\"]);\n if (layout[\"height\"] != null)\n thisRef.modelMatrix.setHeight(layout[\"height\"]);\n\n if (layout[\"x\"] != null)\n thisRef.modelMatrix.setX(layout[\"x\"]);\n if (layout[\"y\"] != null)\n thisRef.modelMatrix.setY(layout[\"y\"]);\n if (layout[\"center_x\"] != null)\n thisRef.modelMatrix.centerX(layout[\"center_x\"]);\n if (layout[\"center_y\"] != null)\n thisRef.modelMatrix.centerY(layout[\"center_y\"]);\n if (layout[\"top\"] != null)\n thisRef.modelMatrix.top(layout[\"top\"]);\n if (layout[\"bottom\"] != null)\n thisRef.modelMatrix.bottom(layout[\"bottom\"]);\n if (layout[\"left\"] != null)\n thisRef.modelMatrix.left(layout[\"left\"]);\n if (layout[\"right\"] != null)\n thisRef.modelMatrix.right(layout[\"right\"]);\n }\n\n for (var j = 0; j < thisRef.modelSetting.getInitParamNum(); j++)\n {\n\n thisRef.live2DModel.setParamFloat(\n thisRef.modelSetting.getInitParamID(j),\n thisRef.modelSetting.getInitParamValue(j)\n );\n }\n\n for (var j = 0; j < thisRef.modelSetting.getInitPartsVisibleNum(); j++)\n {\n\n thisRef.live2DModel.setPartsOpacity(\n thisRef.modelSetting.getInitPartsVisibleID(j),\n thisRef.modelSetting.getInitPartsVisibleValue(j)\n );\n }\n\n\n\n thisRef.live2DModel.saveParam();\n // thisRef.live2DModel.setGL(gl);\n\n\n thisRef.preloadMotionGroup(cDefine.MOTION_GROUP_IDLE);\n thisRef.mainMotionManager.stopAllMotions();\n\n thisRef.setUpdating(false);\n thisRef.setInitialized(true);\n\n if (typeof callback == \"function\") callback();\n\n }\n });\n }\n });\n });\n};\n\n\n\ncModel.prototype.release = function(gl)\n{\n // this.live2DModel.deleteTextures();\n var pm = Live2DFramework.getPlatformManager();\n\n gl.deleteTexture(pm.texture);\n}\n\n\n\ncModel.prototype.preloadMotionGroup = function(name)\n{\n var thisRef = this;\n\n for (var i = 0; i < this.modelSetting.getMotionNum(name); i++)\n {\n var file = this.modelSetting.getMotionFile(name, i);\n this.loadMotion(file, this.modelHomeDir + file, function(motion) {\n motion.setFadeIn(thisRef.modelSetting.getMotionFadeIn(name, i));\n motion.setFadeOut(thisRef.modelSetting.getMotionFadeOut(name, i));\n });\n\n }\n}\n\n\ncModel.prototype.update = function()\n{\n // console.log(\"--> cModel.update()\");\n\n if(this.live2DModel == null)\n {\n if (cDefine.DEBUG_LOG) console.error(\"Failed to update.\");\n\n return;\n }\n\n var timeMSec = UtSystem.getUserTimeMSec() - this.startTimeMSec;\n var timeSec = timeMSec / 1000.0;\n var t = timeSec * 2 * Math.PI;\n\n\n if (this.mainMotionManager.isFinished())\n {\n\n this.startRandomMotion(cDefine.MOTION_GROUP_IDLE, cDefine.PRIORITY_IDLE);\n }\n\n //-----------------------------------------------------------------\n\n\n this.live2DModel.loadParam();\n\n\n\n var update = this.mainMotionManager.updateParam(this.live2DModel);\n if (!update) {\n\n if(this.eyeBlink != null) {\n this.eyeBlink.updateParam(this.live2DModel);\n }\n }\n\n\n this.live2DModel.saveParam();\n\n //-----------------------------------------------------------------\n\n\n if (this.expressionManager != null &&\n this.expressions != null &&\n !this.expressionManager.isFinished())\n {\n this.expressionManager.updateParam(this.live2DModel);\n }\n\n\n\n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_X\", this.dragX * 30, 1);\n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_Y\", this.dragY * 30, 1);\n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_Z\", (this.dragX * this.dragY) * -30, 1);\n\n\n\n this.live2DModel.addToParamFloat(\"PARAM_BODY_ANGLE_X\", this.dragX*10, 1);\n\n\n\n this.live2DModel.addToParamFloat(\"PARAM_EYE_BALL_X\", this.dragX, 1);\n this.live2DModel.addToParamFloat(\"PARAM_EYE_BALL_Y\", this.dragY, 1);\n\n\n\n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_X\",\n Number((15 * Math.sin(t / 6.5345))), 0.5);\n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_Y\",\n Number((8 * Math.sin(t / 3.5345))), 0.5);\n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_Z\",\n Number((10 * Math.sin(t / 5.5345))), 0.5);\n this.live2DModel.addToParamFloat(\"PARAM_BODY_ANGLE_X\",\n Number((4 * Math.sin(t / 15.5345))), 0.5);\n this.live2DModel.setParamFloat(\"PARAM_BREATH\",\n Number((0.5 + 0.5 * Math.sin(t / 3.2345))), 1);\n\n\n if (this.physics != null)\n {\n this.physics.updateParam(this.live2DModel);\n }\n\n\n if (this.lipSync == null)\n {\n this.live2DModel.setParamFloat(\"PARAM_MOUTH_OPEN_Y\",\n this.lipSyncValue);\n }\n\n\n if( this.pose != null ) {\n this.pose.updateParam(this.live2DModel);\n }\n\n this.live2DModel.update();\n};\n\n\n\ncModel.prototype.setRandomExpression = function()\n{\n var tmp = [];\n for (var name in this.expressions)\n {\n tmp.push(name);\n }\n\n var no = parseInt(Math.random() * tmp.length);\n\n this.setExpression(tmp[no]);\n}\n\n\n\ncModel.prototype.startRandomMotion = function(name, priority)\n{\n var max = this.modelSetting.getMotionNum(name);\n var no = parseInt(Math.random() * max);\n this.startMotion(name, no, priority);\n}\n\n\n\ncModel.prototype.startMotion = function(name, no, priority)\n{\n // console.log(\"startMotion : \" + name + \" \" + no + \" \" + priority);\n\n var motionName = this.modelSetting.getMotionFile(name, no);\n\n if (motionName == null || motionName == \"\")\n {\n if (cDefine.DEBUG_LOG)\n console.error(\"Failed to motion.\");\n return;\n }\n\n if (priority == cDefine.PRIORITY_FORCE)\n {\n this.mainMotionManager.setReservePriority(priority);\n }\n else if (!this.mainMotionManager.reserveMotion(priority))\n {\n if (cDefine.DEBUG_LOG)\n console.log(\"Motion is running.\")\n return;\n }\n\n var thisRef = this;\n var motion;\n\n if (this.motions[name] == null)\n {\n this.loadMotion(name, this.modelHomeDir + motionName, function(mtn) {\n motion = mtn;\n\n\n thisRef.setFadeInFadeOut(name, no, priority, motion);\n \n });\n }\n else\n {\n motion = this.motions[name];\n\n\n thisRef.setFadeInFadeOut(name, no, priority, motion);\n }\n}\n\n\ncModel.prototype.setFadeInFadeOut = function(name, no, priority, motion)\n{\n var motionName = this.modelSetting.getMotionFile(name, no);\n\n motion.setFadeIn(this.modelSetting.getMotionFadeIn(name, no));\n motion.setFadeOut(this.modelSetting.getMotionFadeOut(name, no));\n\n\n if (cDefine.DEBUG_LOG)\n console.log(\"Start motion : \" + motionName);\n\n if (this.modelSetting.getMotionSound(name, no) == null)\n {\n this.mainMotionManager.startMotionPrio(motion, priority);\n }\n else\n {\n var soundName = this.modelSetting.getMotionSound(name, no);\n // var player = new Sound(this.modelHomeDir + soundName);\n\n var snd = document.createElement(\"audio\");\n snd.src = this.modelHomeDir + soundName;\n\n if (cDefine.DEBUG_LOG)\n console.log(\"Start sound : \" + soundName);\n\n snd.play();\n this.mainMotionManager.startMotionPrio(motion, priority);\n }\n}\n\n\n\ncModel.prototype.setExpression = function(name)\n{\n var motion = this.expressions[name];\n\n if (cDefine.DEBUG_LOG)\n console.log(\"Expression : \" + name);\n\n this.expressionManager.startMotion(motion, false);\n}\n\n\n\ncModel.prototype.draw = function(gl)\n{\n //console.log(\"--> cModel.draw()\");\n\n // if(this.live2DModel == null) return;\n\n\n MatrixStack.push();\n\n MatrixStack.multMatrix(this.modelMatrix.getArray());\n\n this.tmpMatrix = MatrixStack.getMatrix()\n this.live2DModel.setMatrix(this.tmpMatrix);\n this.live2DModel.draw();\n\n MatrixStack.pop();\n\n};\n\n\n\ncModel.prototype.hitTest = function(id, testX, testY)\n{\n var len = this.modelSetting.getHitAreaNum();\n for (var i = 0; i < len; i++)\n {\n if (id == this.modelSetting.getHitAreaName(i))\n {\n var drawID = this.modelSetting.getHitAreaID(i);\n\n return this.hitTestSimple(drawID, testX, testY);\n }\n }\n\n return false;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/cModel.js","// Modified by xiazeyu.\n\n/**\n* @desc To get the model settings from given json file\n*/\n\nimport { Live2DFramework } from \"../lib/Live2DFramework\"\n\n/**\n* @name ModelSettingJson\n* @desc return the struct of ModelSettingJson\n* @param null\n* @returns {Structure} ModelSettingJson\n*/\nexport function ModelSettingJson()\n{ // Define the index in the json file.\n this.NAME = \"name\";\n this.ID = \"id\";\n this.MODEL = \"model\";\n this.TEXTURES = \"textures\";\n this.HIT_AREAS = \"hit_areas\";\n this.PHYSICS = \"physics\";\n this.POSE = \"pose\";\n this.EXPRESSIONS = \"expressions\";\n this.MOTION_GROUPS = \"motions\";\n this.SOUND = \"sound\";\n this.FADE_IN = \"fade_in\";\n this.FADE_OUT = \"fade_out\";\n this.LAYOUT = \"layout\";\n this.INIT_PARAM = \"init_param\";\n this.INIT_PARTS_VISIBLE = \"init_parts_visible\";\n this.VALUE = \"val\";\n this.FILE = \"file\";\n this.json = {};\n}\n\n/**\n* @name loadModelSetting\n* @desc load model settings from json\n* @param {string} jsonPath, {function} callback\n* @returns null\n* @memberOf ModelSettingJson\n*/\nModelSettingJson.prototype.loadModelSetting = function(path, callback)\n{\n var thisRef = this;\n var pm = Live2DFramework.getPlatformManager();\n pm.loadBytes(path, function(buf) {\n var str = String.fromCharCode.apply(null,new Uint8Array(buf));\n thisRef.json = JSON.parse(str);\n callback();\n });\n};\n\n/**\n* @name getTextureFile\n* @desc get texture file from json\n* @param {int} order number of texture\n* @returns {string} file path\n* @memberOf ModelSettingJson\n*/\nModelSettingJson.prototype.getTextureFile = function(n)\n{\n if (this.json[this.TEXTURES] == null || this.json[this.TEXTURES][n] == null)\n return null;\n\n return this.json[this.TEXTURES][n];\n}\n\n/**\n* @name getModelFile\n* @desc get model file from json\n* @param null\n* @returns {string} file path\n* @memberOf ModelSettingJson\n*/\nModelSettingJson.prototype.getModelFile = function()\n{\n return this.json[this.MODEL];\n};\n\n/**\n* @name getTextureNum\n* @desc get the amount of textures from json\n* @param null\n* @returns {int} amout\n* @memberOf ModelSettingJson\n*/\nModelSettingJson.prototype.getTextureNum = function()\n{\n if (this.json[this.TEXTURES] == null) return 0;\n\n return this.json[this.TEXTURES].length;\n}\n\n/**\n* @name getHitAreaNum\n* @desc get the amount of hit area from json\n* @param null\n* @returns {int} amout\n* @memberOf ModelSettingJson\n*/\nModelSettingJson.prototype.getHitAreaNum = function()\n{\n if (this.json[this.HIT_AREAS] == null)\n return 0;\n\n return this.json[this.HIT_AREAS].length;\n}\n\n/**\n* @name getHitAreaID\n* @desc get the hit area ID of given index from json\n* @param {int} index\n* @returns {int} ID\n* @memberOf ModelSettingJson\n*/\nModelSettingJson.prototype.getHitAreaID = function(n)\n{\n if (this.json[this.HIT_AREAS] == null ||\n this.json[this.HIT_AREAS][n] == null)\n return null;\n\n return this.json[this.HIT_AREAS][n][this.ID];\n}\n\n/**\n* @name getHitAreaName\n* @desc get the hit area name of given index from json\n* @param {int} index\n* @returns {string} name\n* @memberOf ModelSettingJson\n*/\nModelSettingJson.prototype.getHitAreaName = function(n)\n{\n if (this.json[this.HIT_AREAS] == null ||\n this.json[this.HIT_AREAS][n] == null)\n return null;\n\n return this.json[this.HIT_AREAS][n][this.NAME];\n}\n\n/**\n* @name getPhysicsFile\n* @desc get physics file from json\n* @param null\n* @returns {string} file path\n* @memberOf ModelSettingJson\n*/\nModelSettingJson.prototype.getPhysicsFile = function()\n{\n return this.json[this.PHYSICS];\n}\n\n/**\n* @name getPoseFile\n* @desc get pose file from json\n* @param null\n* @returns {string} file path\n* @memberOf ModelSettingJson\n*/\nModelSettingJson.prototype.getPoseFile = function()\n{\n return this.json[this.POSE];\n}\n\n/**\n* @name getExpressionNum\n* @desc get the amount of expressions from json\n* @param null\n* @returns {int} amout\n* @memberOf ModelSettingJson\n*/\nModelSettingJson.prototype.getExpressionNum = function()\n{\n return (this.json[this.EXPRESSIONS] == null) ? 0 : this.json[this.EXPRESSIONS].length;\n}\n\n/**\n* @name getExpressionFile\n* @desc get expression file from json\n* @param null\n* @returns {string} file path\n* @memberOf ModelSettingJson\n*/\nModelSettingJson.prototype.getExpressionFile = function(n)\n{\n if (this.json[this.EXPRESSIONS] == null)\n return null;\n return this.json[this.EXPRESSIONS][n][this.FILE];\n}\n\n/**\n* @name getExpressionName\n* @desc get the hit expression name of given index from json\n* @param {int} index\n* @returns {string} name\n* @memberOf ModelSettingJson\n*/\nModelSettingJson.prototype.getExpressionName = function(n)\n{\n if (this.json[this.EXPRESSIONS] == null)\n return null;\n return this.json[this.EXPRESSIONS][n][this.NAME];\n}\n\n/**\n* @name getLayout\n* @desc get the layout from json\n* @param null\n* @returns {string} layout\n* @memberOf ModelSettingJson\n*/\nModelSettingJson.prototype.getLayout = function()\n{\n return this.json[this.LAYOUT];\n}\n\n/**\n* @name getInitParamNum\n* @desc get the amount of init parameter from json\n* @param null\n* @returns {int} amount\n* @memberOf ModelSettingJson\n*/\nModelSettingJson.prototype.getInitParamNum = function()\n{\n return (this.json[this.INIT_PARAM] == null) ? 0 : this.json[this.INIT_PARAM].length;\n}\n\n/**\n* @name getMotionNum\n* @desc get the amount of motions from json\n* @param null\n* @returns {int} amout\n* @memberOf ModelSettingJson\n*/\nModelSettingJson.prototype.getMotionNum = function(name)\n{\n if (this.json[this.MOTION_GROUPS] == null ||\n this.json[this.MOTION_GROUPS][name] == null)\n return 0;\n\n return this.json[this.MOTION_GROUPS][name].length;\n}\n\n/**\n* @name getMotionFile\n* @desc get motion file from json\n* @param null\n* @returns {string} file path\n* @memberOf ModelSettingJson\n*/\nModelSettingJson.prototype.getMotionFile = function(name, n)\n{\n if (this.json[this.MOTION_GROUPS] == null ||\n this.json[this.MOTION_GROUPS][name] == null ||\n this.json[this.MOTION_GROUPS][name][n] == null)\n return null;\n\n return this.json[this.MOTION_GROUPS][name][n][this.FILE];\n}\n\n/**\n* @name getMotionSound\n* @desc get motion's sound file from json\n* @param null\n* @returns {string} file path\n* @memberOf ModelSettingJson\n*/\nModelSettingJson.prototype.getMotionSound = function(name, n)\n{\n if (this.json[this.MOTION_GROUPS] == null ||\n this.json[this.MOTION_GROUPS][name] == null ||\n this.json[this.MOTION_GROUPS][name][n] == null ||\n this.json[this.MOTION_GROUPS][name][n][this.SOUND] == null)\n return null;\n\n return this.json[this.MOTION_GROUPS][name][n][this.SOUND];\n}\n\n/**\n* @name getMotionFadeIn\n* @desc get the motion's fade in setting from json\n* @param {string} name, {int} index\n* @returns {int} time (1000 if not found)\n* @memberOf ModelSettingJson\n*/\nModelSettingJson.prototype.getMotionFadeIn = function(name, n)\n{\n if (this.json[this.MOTION_GROUPS] == null ||\n this.json[this.MOTION_GROUPS][name] == null ||\n this.json[this.MOTION_GROUPS][name][n] == null ||\n this.json[this.MOTION_GROUPS][name][n][this.FADE_IN] == null)\n return 1000;\n\n return this.json[this.MOTION_GROUPS][name][n][this.FADE_IN];\n}\n\n/**\n* @name getMotionFadeOut\n* @desc get the motion's fade out setting from json\n* @param {string} name, {int} index\n* @returns {int} time (1000 if not found)\n* @memberOf ModelSettingJson\n*/\nModelSettingJson.prototype.getMotionFadeOut = function(name, n)\n{\n if (this.json[this.MOTION_GROUPS] == null ||\n this.json[this.MOTION_GROUPS][name] == null ||\n this.json[this.MOTION_GROUPS][name][n] == null ||\n this.json[this.MOTION_GROUPS][name][n][this.FADE_OUT] == null)\n return 1000;\n\n return this.json[this.MOTION_GROUPS][name][n][this.FADE_OUT];\n}\n\n/**\n* @name getInitParamID\n* @desc get the visible ID of init parameter from json\n* @param {(int)} index\n* @returns {int} ID\n* @memberOf ModelSettingJson\n*/\nModelSettingJson.prototype.getInitParamID = function(n)\n{\n if (this.json[this.INIT_PARAM] == null ||\n this.json[this.INIT_PARAM][n] == null)\n return null;\n\n return this.json[this.INIT_PARAM][n][this.ID];\n}\n\n/**\n* @name getInitParamValue\n* @desc get the visible value of init parameter from json\n* @param {(int)} index\n* @returns {int} value\n* @memberOf ModelSettingJson\n*/\nModelSettingJson.prototype.getInitParamValue = function(n)\n{\n if (this.json[this.INIT_PARAM] == null || this.json[this.INIT_PARAM][n] == null)\n return NaN;\n\n return this.json[this.INIT_PARAM][n][this.VALUE];\n}\n\n/**\n* @name getInitPartsVisibleNum\n* @desc get the amount of init parts visible from json\n* @param null\n* @returns {int} amout\n* @memberOf ModelSettingJson\n*/\nModelSettingJson.prototype.getInitPartsVisibleNum = function()\n{\n return (this.json[this.INIT_PARTS_VISIBLE] == null) ? 0 : this.json[this.INIT_PARTS_VISIBLE].length;\n}\n\n/**\n* @name getInitPartsVisibleID\n* @desc get the visible ID of init parts from json\n* @param {(int)} index\n* @returns {int} ID\n* @memberOf ModelSettingJson\n*/\nModelSettingJson.prototype.getInitPartsVisibleID = function(n)\n{\n if (this.json[this.INIT_PARTS_VISIBLE] == null || this.json[this.INIT_PARTS_VISIBLE][n] == null)\n return null;\n return this.json[this.INIT_PARTS_VISIBLE][n][this.ID];\n}\n\n/**\n* @name getInitPartsVisibleValue\n* @desc get the visible value of init parts from json\n* @param {(int)} index\n* @returns {int} value\n* @memberOf ModelSettingJson\n*/\nModelSettingJson.prototype.getInitPartsVisibleValue = function(n)\n{\n if (this.json[this.INIT_PARTS_VISIBLE] == null || this.json[this.INIT_PARTS_VISIBLE][n] == null)\n return NaN;\n\n return this.json[this.INIT_PARTS_VISIBLE][n][this.VALUE];\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/ModelSettingJson.js"],"sourceRoot":""}