{"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:///./src/dialog/script.js","webpack:///./src/dialog/emitter/every.js","webpack:///./src/dialog/emitter/hover.js","webpack:///./src/dialog/emitter/tapbody.js","webpack:///./src/dialog/emitter/tapface.js","webpack:///./src/dialog/variable/hitokoto.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","length","sqrt","B","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","deviceX","screenX","transformX","invertTransformX","deviceY","screenY","transformY","invertTransformY","theRealInit","createElement","addEventListener","window","document","cManager","L2DTargetPoint","modelurl","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","device","mobile","config","model","adjustScale","L2DMatrix44","multScale","multTranslate","Live2D","setGL","currWebGL","clearColor","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","W","aJ","clipContextList","Array","glcontext","gl","dp_webgl","curFrameNo","firstError_clipInNotUpdate","colorBuffer","isInitGLFBFunc","tmpBoundsOnModel","av","Q","glContext","frameBuffers","getMaskRenderTexture","tmpModelToViewMatrix","ac","tmpMatrix2","tmpMatrixForMask","tmpMatrixForDraw","CHANNEL_COLORS","aI","o","r","g","b","a","aH","setChannelFlagAsColor","U","aK","clipIDList","clippingMaskDrawIndexList","getDrawDataIndex","clippedDrawContextList","isUsing","layoutChannelNo","layoutBounds","allClippedDrawRect","matrixForMask","Float32Array","matrixForDraw","owner","ah","_$dP","_$eo","_$V0","_$a0","q","F","ak","prototype","constructor","call","z","w","_$vo","_$F2","_$ao","_$1S","u","p1","N","p2","_$Fo","_$Db","_$L2","_$M2","_$ks","_$9b","_$iP","_$iT","_$lL","_$qP","setup","_$p","ax","ay","fx","fy","_$s0","_$70","_$7L","_$HL","at","_$wL","h","_$tL","d","aF","_$YP","X","_$fL","_$gL","_$B0","_$z0","_$qT","reflectX","reflectY","_$0s","_$4s","_$62","aQ","aU","ArrayBuffer","DataView","J","aN","aS","K","aM","_$ST","_$gr","_$T7","aL","_$nP","_$s7","_$9T","aT","_$KS","aP","getModelContext","setDrawParam","getDrawParam","init","aO","_$Rb","getModelImpl","_$zP","getCanvasWidth","getCanvasHeight","getParamFloat","getParamIndex","getID","setParamFloat","arguments","addToParamFloat","multParamFloat","loadParam","saveParam","_$Rs","_$li","_$Ds","_$K2","_$s2","_$P7","aR","a0","aY","getPartsOpacity","aW","setPartsOpacity","aV","aZ","getPartsDataIndex","Z","getDrawData","getTransformedPoints","_$C2","ag","getIndexArray","_$aS","getType","_$wb","CHANNEL_COUNT","RENDER_TEXTURE_USE_MIPMAP","NOT_USED_FRAME","_$L7","splice","releaseShader","deleteFramebuffer","framebuffer","getClipIDList","findSameClip","getDrawDataID","addClippedDrawData","clipBufPre_clipContext","createFramebuffer","glno","setupClip","a1","calcClippedDrawTotalBounds","getParameter","FRAMEBUFFER_BINDING","canvas","viewport","clippingMaskBufferSize","setupLayoutBounds","bindFramebuffer","FRAMEBUFFER","_$jL","expand","identity","translate","setMatrix","m","aX","setClipBufPre_clipContextForMask","getColorBuffer","a6","_$Ri","a5","drawDataIndex","_$yo","a4","a3","aw","_$i2","_$No","a2","min","apply","max","_$gP","_$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","_$8P","_$6P","_$EL","_$5T","_$tP","_$27","_$3s","an","_$F0","_$6L","_$6S","_$Xr","_$E2","_$Yb","_$xT","getPhysicsPoint1","getPhysicsPoint2","_$qr","_$pr","_$5r","_$Cs","atan2","addSrcParam","addTargetParam","_$oP","_$oo","_$YS","cos","sin","aC","_$bS","Src","SRC_TO_X","SRC_TO_Y","SRC_TO_G_ANGLE","Target","TARGET_FROM_ANGLE","TARGET_FROM_ANGLE_V","_$_T","getFormatVersion","LIVE2D_FORMAT_VERSION_V2_10_SDK2","_$po","_$e","ad","aG","ae","_$dr","_$GS","_$qb","_$Lb","_$mS","clipID","_$Eb","_$ps","_$lT","_$C0","_$tT","_$WL","culling","matrix4x4","premultipliedAlpha","anisotropy","clippingProcess","CLIPPING_PROCESS_NONE","clipBufPre_clipContextMask","clipBufPre_clipContextDraw","_$ho","blendMode","L2D_COLOR_BLEND_MODE_MULT","c","_$kP","_$Ai","aA","_$VP","_$GP","_$8o","_$ds","_$2r","_$O2","_$ri","G","_$Ob","aD","_$7","_$f","_$H","_$g","_$k","_$w","_$hi","STATE_IDENTITY","_$Z","_$pS","Y","motions","_$7r","_$Co","_$D0","_$yT","_$E","loopFadeIn","_$AS","aE","_$P","size","t","_$4P","_$I0","_$RP","_$QT","_$co","_$qo","_$pb","_$is","_$_2","_$vr","_$Rr","_$Or","_$fs","_$Js","_$3S","_$Bo","_$db","_$8b","_$Hr","_$Ws","_$Vs","_$Er","_$Es","Int16Array","_$Qb","_$ZP","_$1r","_$b0","_$HP","clipManager","ap","ar","_$12","_$bb","_$_L","_$jo","_$iL","_$0L","_$Br","_$Dr","_$Cb","_$mr","az","STATE_FIRST","_$ni","isNaN","contains","_$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","_$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","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","_$c2","_$_b","readV2_opacity","interpolateOpacity","setInterpolatedOpacity","_$nb","_$a2","getBaseDataID","_$W2","_$CS","_$Mo","_$XP","getTimeMSec","setUserTimeMSec","updateUserTimeMSec","Date","getTime","_$Q","_$Pb","getParamID","_$yP","_$N2","_$d2","_$t2","_$Lr","_$wr","_$SL","_$AL","startsWith","getChar","charAt","String","fromCharCode","getUint8","createString","Uint16Array","_$LS","_$Ur","_$WS","_$v2","_$Xb","Exception","_$J","_$3T","_$h2","_$J2","getParamCount","_$zs","getCopyMatrix","mult","mult_safe","mult_fast","rotateX","fcos","_$9","rotateY","rotateZ","_$kS","_$hb","_$gb","_$fo","_$go","_$RT","_$so","_$CT","_$cs","_$ar","_$D2","_$1T","loadMotion","_$hs","_$xs","_$us","_$qs","_$Ys","_$ws","_$Ns","_$Fr","_$BL","_$r0","_$aL","isLoopFadeIn","setLoopFadeIn","add","_$Ms","_$Qs","_$do","_$Ls","_$FT","_$Ss","_$o7","_$S7","_$77","LIVE2D_FORMAT_VERSION_V2_11_SDK2_1","_$Is","_$h0","_$4L","_$7P","_$uT","_$9o","E","ab","f","s","aq","_$_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","_$0T","_$5","exists","_$ls","_$3b","Int8Array","_$Xs","_$kb","read","_$C","_$js","write","_$TS","close","flush","_$T2","_$10","_$uo","_$QS","_$7T","STATE_CLOSING","STATE_CLOSED","STATE_OPENING","STATE_INTERVAL","_$sb","Int32Array","_$As","_$U2","_$NT","_$9r","_$vS","_$no","_$vb","_$Y0","al","_$8r","_$Yr","_$Wr","_$NL","v","_$zo","ao","_$o2","_$rr","_$eP","p","_$o","_$A","_$Eo","H","_$Cr","_$hr","visible","_$g0","aj","_$e0","_$4S","au","context","_$6r","_$xP","_$3r","_$uP","_$Qo","cacheImages","_$TT","_$LT","_$FS","_$JS","totalScale","totalOpacity","_$ib","_$LP","_$d0","_$Yo","_$JP","_$5P","_$BP","_$Qi","_$6s","_$ms","gl_cacheImage","instanceNo","aB","k","l","drawParamWebGL","C","getGL","V","_$eb","M","_$w0","_$sr","_$Gs","am","textures","firstDraw","anisotropyExt","maxAnisotropy","_$Gr","vertShader","fragShader","vertShaderOff","fragShaderOff","T","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","DYNAMIC_DRAW","L","ELEMENT_ARRAY_BUFFER","_$R0","buffer","_$3i","_$hL","_$v0","_$S2","_$Ko","_$T","_$F","_$cr","_$yL","put","_$oT","_$mb","_$Hs","_$as","setTransform","EXPAND_W","drawElements","Error","_$Sr","setTexture","_$nS","_$Xo","_$io","_$0o","_$Lo","_$To","_$Po","_$gT","_$Ib","pow","_$hS","_$Jr","_$92","_$NS","getTotalScale","setTotalScale_notForClient","getTotalOpacity","setTotalOpacity","getInterpolatedOpacity","_$os","_$Sb","_$1b","getDrawDataList","_$kr","_$xo","loadModel","_$to","_$er","_$PL","_$nL","_$_o","MTN_PREFIX_FADEIN","MTN_PREFIX_FADEOUT","byteLength","charCodeAt","_$S0","_$U0","_$VT","transformPoints_sdk2","System","err","printf","transformPoints_sdk1","_$ts","_$8L","isVisible","_$6o","_$3o","_$uL","_$KP","_$ET","_$ob","getPartsID","_$MP","_$Ks","tr","_$50","_$Ti","_$Pi","_$B","_$lP","_$bL","save","beginPath","_$Li","clip","_$ei","restore","globalAlpha","_$PS","ceil","rotate","shear","setContext","IGNORE_EXPAND","USE_CACHED_POLYGON_IMAGE","createCanvas","DEBUG_DATA","LDGL_CANVAS_MB","getContext","drawImage","cacheCanvas","cacheContext","IGNORE_CLIP","USE_ADJUST_TRANSLATION","expandClip","clipWithTransform","_$P2","moveTo","lineTo","setAttribute","dumpValues","toFixed","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","setClippingMaskBufferSize","getClippingMaskBufferSize","deleteBuffer","PI_F","_$fr","_$Os","_$ns","_$_s","_$_S","getTextureNo","_$ZL","_$H2","getNumPoints","_$Hb","parseInt","baseOpacity","_$72","_$tb","startMotion","_$qS","isFinished","stopAllMotions","_$Zr","_$Bs","concatenate","_$eT","initShader","getExtension","MAX_TEXTURE_MAX_ANISOTROPY_EXT","disable","SCISSOR_TEST","STENCIL_TEST","DEPTH_TEST","frontFace","CW","enable","BLEND","colorMask","CCW","useProgram","shaderProgram","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","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","_$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","L2DExpressionMotion","paramList","L2DExpressionParam","value","L2DEyeBlink","nextBlinkTime","stateStartTime","blinkIntervalMsec","eyeState","EYE_STATE","closingMotionMsec","closedMotionMsec","openingMotionMsec","closeIfZero","eyeID_L","eyeID_R","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","loadJson","loadPose","L2DPose","load","warn","loadPhysics","L2DPhysics","hitTestSimple","drawID","testX","testY","drawIndex","points","tx","ty","EXPRESSION_DEFAULT","TYPE_SET","TYPE_ADD","TYPE_MULT","ret","json","jsonParseFromBytes","fade_in","fade_out","params","paramNum","param","paramID","parseFloat","val","calcTypeInt","calc","defaultValue","def","item","timeMSec","weight","motionQueueEnt","calcNextBlink","random","setInterval","setEyeMotion","eyeParamValue","time","currentPriority","reservePriority","super","physicsList","lastTime","lastModel","partsGroups","L2DPartsParam","paramIndex","partsIndex","link","EPSILON","faceTargetX","faceTargetY","faceX","faceY","faceVX","faceVY","lastTimeSec","screenLeft","screenRight","screenTop","screenBottom","maxLeft","maxRight","maxTop","maxBottom","mul","dst","getScaleX","getScaleY","src","shiftX","shiftY","tr1","translateX","translateY","scaleX","scaleY","setPosition","setY","setX","centerX","centerY","setHeight","getCurrentPriority","getReservePriority","reserveMotion","priority","setReservePriority","updated","startMotionPrio","physics_hair","resist","regist","mass","srcList","srcNum","typeStr","ptype","targetList","targets","targetNum","poseListInfo","parts_visible","poseNum","i_pose","idListInfo","group","idNum","partsGroup","i_group","partsInfo","parts","linkListInfo","linkNum","i_link","linkParts","initParam","curTime","deltaTimeSec","normalizePartsOpacityGroup","copyOpacityOtherParts","initIndex","visibleParts","visibleOpacity","opacity","partsParam","FRAME_RATE","MAX_V","curTimeSec","deltaTimeWeight","MAX_A","dx","dy","abs","max_v","cur_v","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","_script","_every","_hover","_tapbody","_tapface","_hitokoto","dialogStyle","innerHTML","head","containerElement","dialogElement","closeTimer","displayDialog","hiddenDialog","alertText","text","innerText","clearTimeout","setTimeout","module","root","script","scriptEngine","ScriptEngine","registerEmitter","everyEmitter","hoverEmitter","tapbodyEmitter","tapfaceEmitter","registerVariable","hitokotoVariable","keys","forEach","key","run","_EventEmitter2","cb","_classCallCheck","_this","_possibleConstructorReturn","__proto__","getPrototypeOf","output","emitters","variables","EventEmitter","func","toLowerCase","when","find","emitter","variable","sourceText","_this2","isArray","re","match","matches","exec","promises","map","matchVariable","Promise","resolve","then","str","replace","all","_this3","whenStr","trim","matchEmitter","args","slice","injectVariable","finalText","engine","sourcetime","idle","resultMillisecond","secondsRe","millisecondsRe","minutesRe","lastIndex","parseTime","timeout","on","querySelectorAll","element","app","xhr","XMLHttpRequest","open","setRequestHeader","onreadystatechange","readyState","data","JSON","parse","responseText","hitokoto","send","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","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 return live2DMgr;\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\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 { ScriptEngine } from './script';\nimport { L2Dwidget } from '../index';\nimport { everyEmitter } from './emitter/every';\nimport { hoverEmitter } from './emitter/hover';\nimport { tapbodyEmitter } from './emitter/tapbody'; \nimport { tapfaceEmitter } from './emitter/tapface'; \nimport { hitokotoVariable } from './variable/hitokoto';\n\nconst dialogStyle = document.createElement('style');\ndialogStyle.innerHTML = `\n .live2d-widget-dialog-container {\n width: 300px;\n height: 120px;\n position: absolute;\n bottom: 65%;\n right: 0px;\n transform-origin: right;\n padding: 12px;\n box-sizing: border-box;\n -webkit-font-smoothing: antialiased;\n }\n .live2d-widget-dialog {\n width: 100%;\n height: 100%;\n color: #917159;\n font-size: 16px;\n padding: 12px;\n border: 2px solid rgb(236, 203, 180);\n background: rgb(252, 248, 244);\n box-sizing: border-box;\n border-radius: 10px;\n transform: rotate(-2deg);\n opacity: 0;\n transition: 200ms opacity;\n box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 6px, rgba(0, 0, 0, 0.12) 0px 1px 4px;\n animation: live2d-widget-dialog-tingle 4s ease-in-out 0s infinite alternate;\n }\n @keyframes live2d-widget-dialog-tingle {\n 0% { transform: translate(-1px, 1.5px) rotate(-2deg); }\n 100% { transform: translate(1px, -1.5px) rotate(2deg); }\n }`;\ndocument.head.appendChild(dialogStyle);\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.script) {\n const scriptEngine = new ScriptEngine(alertText);\n scriptEngine.registerEmitter('every', everyEmitter(scriptEngine));\n scriptEngine.registerEmitter('hover', hoverEmitter());\n scriptEngine.registerEmitter('tap body', tapbodyEmitter(L2Dwidget));\n scriptEngine.registerEmitter('tap face', tapfaceEmitter(L2Dwidget));\n\n scriptEngine.registerVariable('hitokoto', hitokotoVariable);\n Object.keys(config.dialog.script).forEach(key => {\n scriptEngine.run(key, config.dialog.script[key]);\n });\n }\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\nmodule.exports = {\n createDialogElement, displayDialog, hiddenDialog, alertText\n};\n\n\n// WEBPACK FOOTER //\n// ./src/dialog/index.js","import { EventEmitter } from '../utils/EventEmitter';\n\nclass ScriptEngine extends EventEmitter {\n constructor(cb) {\n super();\n this.output = cb;\n this.emitters = [];\n this.variables = [];\n }\n\n /**\n * @param {string} name \n * @param {(...args:string[], cb: () => void, engine: ScriptEngine) => void} func \n */\n registerEmitter(name, func) {\n this.emitters.push({\n name: name.toLowerCase(), func\n })\n }\n\n /**\n * @param {string} name \n * @param {(...args:string[]) => Promise|string} func\n */\n registerVariable(name, func) {\n this.variables.push({\n name: name.toLowerCase(), func\n })\n }\n\n /**\n * @param {string} when\n */\n matchEmitter(when) {\n return this.emitters.find((emitter) => {\n return when.toLowerCase().startsWith(emitter.name);\n })\n }\n\n /**\n * @param {string} name\n */\n matchVariable(name) {\n return this.variables.find((variable) => {\n return name.toLowerCase() === variable.name;\n })\n }\n\n /**\n * @param {string} text\n */\n injectVariable(sourceText) {\n if (Array.isArray(sourceText)) {\n sourceText = sourceText[Math.floor(Math.random() * sourceText.length)];\n }\n const re = /\\$(\\w+)\\$/g;\n let text = sourceText;\n let match = null;\n const matches = [];\n while (match = re.exec(sourceText), match !== null) {\n matches.push(match)\n }\n\n const promises = matches.map((match) => {\n const variable = this.matchVariable(match[1]);\n if (!variable) {\n throw new Error('Unknown variable: ' + match[1]);\n }\n const res = variable.func();\n const resPromise = Promise.resolve(res);\n return resPromise.then((str) => {\n text = text.replace(match[0], str);\n return str;\n })\n });\n return Promise.all(promises).then(() => {\n return text\n });\n }\n\n /**\n * @param {string} when \n * @param {string} text \n */\n run(when, text) {\n const whenStr = when.trim().toLowerCase();\n const emitter = this.matchEmitter(whenStr);\n if (!emitter) {\n throw new Error('Unknown emitter: ' + whenStr);\n }\n const args = whenStr.slice(emitter.name.length).trim().split(/\\s+/g);\n emitter.func(args, () => {\n this.emit('emit');\n this.injectVariable(text).then((finalText) => this.output(finalText));\n });\n }\n}\n\nmodule.exports = {\n ScriptEngine\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/dialog/script.js","\nfunction parseTime(sourcetime) {\n const secondsRe = /^(\\d+)(s|seconds?)$/g\n const millisecondsRe = /^(\\d+)(ms|milliseconds?)$/g\n const minutesRe = /^(\\d+)(m|minutes?)$/g\n const time = sourcetime.toLowerCase();\n let resultMillisecond = 0;\n if (secondsRe.test(time)) {\n secondsRe.lastIndex = 0;\n resultMillisecond = parseInt(secondsRe.exec(time)[1]) * 1000;\n } else if (millisecondsRe.test(time)) {\n millisecondsRe.lastIndex = 0;\n resultMillisecond = parseInt(millisecondsRe.exec(time)[1]);\n } else if (minutesRe.test(time)) {\n minutesRe.lastIndex = 0;\n resultMillisecond = parseInt(minutesRe.exec(time)[1]) * 60 * 1000;\n }\n return resultMillisecond;\n}\n\nfunction everyEmitter(engine) {\n return (args, cb) => {\n let sourcetime, idle;\n if (args.length === 1) {\n sourcetime = args[0];\n idle = false\n } else if (args.length === 2) {\n sourcetime = args[1];\n idle = args[0] === 'idle';\n } else {\n return;\n }\n const resultMillisecond = parseTime(sourcetime)\n if (!resultMillisecond) return;\n\n let timeout = null;\n\n const func = () => {\n timeout = null;\n cb();\n if (!idle) {\n if (timeout) clearTimeout(timeout);\n timeout = setTimeout(func, resultMillisecond);\n }\n }\n\n engine.on('emit', () => {\n if (idle) {\n if (timeout) clearTimeout(timeout);\n timeout = setTimeout(func, resultMillisecond);\n }\n });\n\n func();\n }\n}\n\nmodule.exports = {\n everyEmitter\n};\n\n\n// WEBPACK FOOTER //\n// ./src/dialog/emitter/every.js","function hoverEmitter() {\n return (args, cb) => {\n document.querySelectorAll(args[0]).forEach(element => {\n element.addEventListener('mouseenter', () => {\n cb();\n })\n })\n };\n}\n\nmodule.exports = {\n hoverEmitter\n};\n\n\n// WEBPACK FOOTER //\n// ./src/dialog/emitter/hover.js","function tapbodyEmitter(app) {\n return (args, cb) => {\n app.on('tapbody', cb);\n };\n}\n\nmodule.exports = {\n tapbodyEmitter\n};\n\n\n// WEBPACK FOOTER //\n// ./src/dialog/emitter/tapbody.js","function tapfaceEmitter(app) {\n return (args, cb) => {\n app.on('tapface', cb);\n };\n}\n\nmodule.exports = {\n tapfaceEmitter\n};\n\n\n// WEBPACK FOOTER //\n// ./src/dialog/emitter/tapface.js","function hitokotoVariable() {\n return new Promise(resolve => {\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 resolve(data.hitokoto)\n }\n }\n xhr.send();\n })\n}\n\nmodule.exports = {\n hitokotoVariable\n};\n\n\n// WEBPACK FOOTER //\n// ./src/dialog/variable/hitokoto.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 = 92\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":""}