From b4b5df16e8a2b49e32f37cf09900a00c99e3e770 Mon Sep 17 00:00:00 2001 From: journey-ad Date: Wed, 22 Nov 2017 19:05:38 +0800 Subject: [PATCH] feat(clientJs): Add mouse click event and remove style pointer-events: none --- bundle.js | 3 ++- bundle.js.map | 2 +- dev.html | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/bundle.js b/bundle.js index 30fc27c..711f89b 100755 --- a/bundle.js +++ b/bundle.js @@ -1 +1,2 @@ -!function(t){function i(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,i),o.l=!0,o.exports}var e={};i.m=t,i.c=e,i.d=function(t,e,r){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},i.p="",i(i.s=4)}([function(t,i,e){"use strict";function r(){this.live2DModel=null,this.modelMatrix=null,this.eyeBlink=null,this.physics=null,this.pose=null,this.debugMode=!1,this.initialized=!1,this.updating=!1,this.alpha=1,this.accAlpha=0,this.lipSync=!1,this.lipSyncValue=0,this.accelX=0,this.accelY=0,this.accelZ=0,this.dragX=0,this.dragY=0,this.startTimeMSec=null,this.mainMotionManager=new h,this.expressionManager=new h,this.motions={},this.expressions={},this.isTexLoaded=!1}function o(){AMotion.prototype.constructor.call(this),this.paramList=new Array}function n(){this.id="",this.type=-1,this.value=null}function s(){this.nextBlinkTime=null,this.stateStartTime=null,this.blinkIntervalMsec=null,this.eyeState=d.STATE_FIRST,this.blinkIntervalMsec=4e3,this.closingMotionMsec=100,this.closedMotionMsec=50,this.openingMotionMsec=150,this.closeIfZero=!0,this.eyeID_L="PARAM_EYE_L_OPEN",this.eyeID_R="PARAM_EYE_R_OPEN"}function _(){this.tr=new Float32Array(16),this.identity()}function a(t,i){_.prototype.constructor.call(this),this.width=t,this.height=i}function h(){MotionQueueManager.prototype.constructor.call(this),this.currentPriority=null,this.reservePriority=null,this.super=MotionQueueManager.prototype}function $(){this.physicsList=new Array,this.startTimeMSec=UtSystem.getUserTimeMSec()}function l(){this.lastTime=0,this.lastModel=null,this.partsGroups=new Array}function u(t){this.paramIndex=-1,this.partsIndex=-1,this.link=null,this.id=t}function p(){this.EPSILON=.01,this.faceTargetX=0,this.faceTargetY=0,this.faceX=0,this.faceY=0,this.faceVX=0,this.faceVY=0,this.lastTimeSec=0}function f(){_.prototype.constructor.call(this),this.screenLeft=null,this.screenRight=null,this.screenTop=null,this.screenBottom=null,this.maxLeft=null,this.maxRight=null,this.maxTop=null,this.maxBottom=null,this.max=Number.MAX_VALUE,this.min=0}function c(){}var g=0;r.prototype.getModelMatrix=function(){return this.modelMatrix},r.prototype.setAlpha=function(t){t>.999&&(t=1),t<.001&&(t=0),this.alpha=t},r.prototype.getAlpha=function(){return this.alpha},r.prototype.isInitialized=function(){return this.initialized},r.prototype.setInitialized=function(t){this.initialized=t},r.prototype.isUpdating=function(){return this.updating},r.prototype.setUpdating=function(t){this.updating=t},r.prototype.getLive2DModel=function(){return this.live2DModel},r.prototype.setLipSync=function(t){this.lipSync=t},r.prototype.setLipSyncValue=function(t){this.lipSyncValue=t},r.prototype.setAccel=function(t,i,e){this.accelX=t,this.accelY=i,this.accelZ=e},r.prototype.setDrag=function(t,i){this.dragX=t,this.dragY=i},r.prototype.getMainMotionManager=function(){return this.mainMotionManager},r.prototype.getExpressionManager=function(){return this.expressionManager},r.prototype.loadModelData=function(t,i){var e=c.getPlatformManager();this.debugMode&&e.log("Load model : "+t);var r=this;e.loadLive2DModel(t,function(t){if(r.live2DModel=t,r.live2DModel.saveParam(),0!=Live2D.getError())return void console.error("Error : Failed to loadModelData().");r.modelMatrix=new a(r.live2DModel.getCanvasWidth(),r.live2DModel.getCanvasHeight()),r.modelMatrix.setWidth(2),r.modelMatrix.setCenterPosition(0,0),i(r.live2DModel)})},r.prototype.loadTexture=function(t,i,e){g++;var r=c.getPlatformManager();this.debugMode&&r.log("Load Texture : "+i);var o=this;r.loadTexture(this.live2DModel,t,i,function(){g--,0==g&&(o.isTexLoaded=!0),"function"==typeof e&&e()})},r.prototype.loadMotion=function(t,i,e){var r=c.getPlatformManager();this.debugMode&&r.log("Load Motion : "+i);var o=null,n=this;r.loadBytes(i,function(i){o=Live2DMotion.loadMotion(i),null!=t&&(n.motions[t]=o),e(o)})},r.prototype.loadExpression=function(t,i,e){var r=c.getPlatformManager();this.debugMode&&r.log("Load Expression : "+i);var n=this;r.loadBytes(i,function(i){null!=t&&(n.expressions[t]=o.loadJson(i)),"function"==typeof e&&e()})},r.prototype.loadPose=function(t,i){var e=c.getPlatformManager();this.debugMode&&e.log("Load Pose : "+t);var r=this;try{e.loadBytes(t,function(t){r.pose=l.load(t),"function"==typeof i&&i()})}catch(t){console.warn(t)}},r.prototype.loadPhysics=function(t){var i=c.getPlatformManager();this.debugMode&&i.log("Load Physics : "+t);var e=this;try{i.loadBytes(t,function(t){e.physics=$.load(t)})}catch(t){console.warn(t)}},r.prototype.hitTestSimple=function(t,i,e){if(null===this.live2DModel)return!1;var r=this.live2DModel.getDrawDataIndex(t);if(r<0)return!1;for(var o=this.live2DModel.getTransformedPoints(r),n=this.live2DModel.getCanvasWidth(),s=0,_=this.live2DModel.getCanvasHeight(),a=0,h=0;hs&&(s=$),l<_&&(_=l),l>a&&(a=l)}var u=this.modelMatrix.invertTransformX(i),p=this.modelMatrix.invertTransformY(e);return n<=u&&u<=s&&_<=p&&p<=a},o.prototype=new AMotion,o.EXPRESSION_DEFAULT="DEFAULT",o.TYPE_SET=0,o.TYPE_ADD=1,o.TYPE_MULT=2,o.loadJson=function(t){var i=new o,e=c.getPlatformManager(),r=e.jsonParseFromBytes(t);if(i.setFadeIn(parseInt(r.fade_in)>0?parseInt(r.fade_in):1e3),i.setFadeOut(parseInt(r.fade_out)>0?parseInt(r.fade_out):1e3),null==r.params)return i;var s=r.params,_=s.length;i.paramList=[];for(var a=0;a<_;a++){var h=s[a],$=h.id.toString(),l=parseFloat(h.val),u=o.TYPE_ADD,p=null!=h.calc?h.calc.toString():"add";if((u="add"===p?o.TYPE_ADD:"mult"===p?o.TYPE_MULT:"set"===p?o.TYPE_SET:o.TYPE_ADD)==o.TYPE_ADD){var f=null==h.def?0:parseFloat(h.def);l-=f}else if(u==o.TYPE_MULT){var f=null==h.def?1:parseFloat(h.def);0==f&&(f=1),l/=f}var g=new n;g.id=$,g.type=u,g.value=l,i.paramList.push(g)}return i},o.prototype.updateParamExe=function(t,i,e,r){for(var n=this.paramList.length-1;n>=0;--n){var s=this.paramList[n];s.type==o.TYPE_ADD?t.addToParamFloat(s.id,s.value,e):s.type==o.TYPE_MULT?t.multParamFloat(s.id,s.value,e):s.type==o.TYPE_SET&&t.setParamFloat(s.id,s.value,e)}},s.prototype.calcNextBlink=function(){return UtSystem.getUserTimeMSec()+Math.random()*(2*this.blinkIntervalMsec-1)},s.prototype.setInterval=function(t){this.blinkIntervalMsec=t},s.prototype.setEyeMotion=function(t,i,e){this.closingMotionMsec=t,this.closedMotionMsec=i,this.openingMotionMsec=e},s.prototype.updateParam=function(t){var i,e=UtSystem.getUserTimeMSec(),r=0;switch(this.eyeState){case d.STATE_CLOSING:r=(e-this.stateStartTime)/this.closingMotionMsec,r>=1&&(r=1,this.eyeState=d.STATE_CLOSED,this.stateStartTime=e),i=1-r;break;case d.STATE_CLOSED:r=(e-this.stateStartTime)/this.closedMotionMsec,r>=1&&(this.eyeState=d.STATE_OPENING,this.stateStartTime=e),i=0;break;case d.STATE_OPENING:r=(e-this.stateStartTime)/this.openingMotionMsec,r>=1&&(r=1,this.eyeState=d.STATE_INTERVAL,this.nextBlinkTime=this.calcNextBlink()),i=r;break;case d.STATE_INTERVAL:this.nextBlinkTime=t)&&(!(this.currentPriority>=t)&&(this.reservePriority=t,!0))},h.prototype.setReservePriority=function(t){this.reservePriority=t},h.prototype.updateParam=function(t){var i=MotionQueueManager.prototype.updateParam.call(this,t);return this.isFinished()&&(this.currentPriority=0),i},h.prototype.startMotionPrio=function(t,i){return i==this.reservePriority&&(this.reservePriority=0),this.currentPriority=i,this.startMotion(t,!1)},$.load=function(t){for(var i=new $,e=c.getPlatformManager(),r=e.jsonParseFromBytes(t),o=r.physics_hair,n=o.length,s=0;s=0)break;r=n,o=t.getPartsOpacity(s),o+=e/.5,o>1&&(o=1)}}r<0&&(r=0,o=1);for(var n=0;n.15&&(a=1-.15/(1-o)),h>a&&(h=a),t.setPartsOpacity(s,h)}}},l.prototype.copyOpacityOtherParts=function(t,i){for(var e=0;eo)&&($*=o/u,l*=o/u,u=o),this.faceVX+=$,this.faceVY+=l;var f=.5*(Math.sqrt(o*o+16*o*_-8*o*_)-o),c=Math.sqrt(this.faceVX*this.faceVX+this.faceVY*this.faceVY);c>f&&(this.faceVX*=f/c,this.faceVY*=f/c),this.faceX+=this.faceVX,this.faceY+=this.faceVY}},f.prototype=new _,f.prototype.getMaxScale=function(){return this.max},f.prototype.getMinScale=function(){return this.min},f.prototype.setMaxScale=function(t){this.max=t},f.prototype.setMinScale=function(t){this.min=t},f.prototype.isMaxScale=function(){return this.getScaleX()==this.max},f.prototype.isMinScale=function(){return this.getScaleX()==this.min},f.prototype.adjustTranslate=function(t,i){this.tr[0]*this.maxLeft+(this.tr[12]+t)>this.screenLeft&&(t=this.screenLeft-this.tr[0]*this.maxLeft-this.tr[12]),this.tr[0]*this.maxRight+(this.tr[12]+t)this.screenBottom&&(i=this.screenBottom-this.tr[5]*this.maxBottom-this.tr[13]);var e=[1,0,0,0,0,1,0,0,0,0,1,0,t,i,0,1];_.mul(e,this.tr,this.tr)},f.prototype.adjustScale=function(t,i,e){var r=e*this.tr[0];r0&&(e=this.min/this.tr[0]):r>this.max&&this.tr[0]>0&&(e=this.max/this.tr[0]);var o=[1,0,0,0,0,1,0,0,0,0,1,0,t,i,0,1],n=[e,0,0,0,0,e,0,0,0,0,1,0,0,0,0,1],s=[1,0,0,0,0,1,0,0,0,0,1,0,-t,-i,0,1];_.mul(s,this.tr,this.tr),_.mul(n,this.tr,this.tr),_.mul(o,this.tr,this.tr)},f.prototype.setScreenRect=function(t,i,e,r){this.screenLeft=t,this.screenRight=i,this.screenTop=r,this.screenBottom=e},f.prototype.setMaxScreenRect=function(t,i,e,r){this.maxLeft=t,this.maxRight=i,this.maxTop=r,this.maxBottom=e},f.prototype.getScreenLeft=function(){return this.screenLeft},f.prototype.getScreenRight=function(){return this.screenRight},f.prototype.getScreenBottom=function(){return this.screenBottom},f.prototype.getScreenTop=function(){return this.screenTop},f.prototype.getMaxLeft=function(){return this.maxLeft},f.prototype.getMaxRight=function(){return this.maxRight},f.prototype.getMaxBottom=function(){return this.maxBottom},f.prototype.getMaxTop=function(){return this.maxTop},c.platformManager=null,c.getPlatformManager=function(){return c.platformManager},c.setPlatformManager=function(t){c.platformManager=t},t.exports={L2DTargetPoint:p,Live2DFramework:c,L2DViewMatrix:f,L2DPose:l,L2DPartsParam:u,L2DPhysics:$,L2DMotionManager:h,L2DModelMatrix:a,L2DMatrix44:_,EYE_STATE:d,L2DEyeBlink:s,L2DExpressionParam:n,L2DExpressionMotion:o,L2DBaseModel:r}},function(t,i,e){"use strict";var r={DEBUG_LOG:!1,DEBUG_MOUSE_LOG:!1,VIEW_MAX_SCALE:2,VIEW_MIN_SCALE:.8,VIEW_LOGICAL_LEFT:-1,VIEW_LOGICAL_RIGHT:1,VIEW_LOGICAL_MAX_LEFT:-2,VIEW_LOGICAL_MAX_RIGHT:2,VIEW_LOGICAL_MAX_BOTTOM:-2,VIEW_LOGICAL_MAX_TOP:2,PRIORITY_NONE:0,PRIORITY_IDLE:1,PRIORITY_NORMAL:2,PRIORITY_FORCE:3,MOTION_GROUP_IDLE:"idle",MOTION_GROUP_TAP_BODY:"tap_body",MOTION_GROUP_FLICK_HEAD:"flick_head",MOTION_GROUP_PINCH_IN:"pinch_in",MOTION_GROUP_PINCH_OUT:"pinch_out",MOTION_GROUP_SHAKE:"shake",HIT_AREA_HEAD:"head",HIT_AREA_BODY:"body"};t.exports=r},function(t,i,e){"use strict";function r(t){n=t}function o(){return n}Object.defineProperty(i,"__esModule",{value:!0}),i.setContext=r,i.getContext=o;var n=void 0},function(t,i,e){"use strict";function r(){}r.matrixStack=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],r.depth=0,r.currentMatrix=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],r.tmp=new Array(16),r.reset=function(){this.depth=0},r.loadIdentity=function(){for(var t=0;t<16;t++)this.currentMatrix[t]=t%5==0?1:0},r.push=function(){var t=(this.depth,16*(this.depth+1));this.matrixStack.lengthe.left&&i.y>e.top)return i;var o=t.x-i.x,n=t.y-i.y,s=r(o,n);i.xat.frameBuffers.length&&(this.curFrameNo=this.getMaskRenderTexture()),this.tmpModelToViewMatrix=new R,this.tmpMatrix2=new R,this.tmpMatrixForMask=new R,this.tmpMatrixForDraw=new R,this.CHANNEL_COLORS=new Array;var i=new A;i=new A,i.r=0,i.g=0,i.b=0,i.a=1,this.CHANNEL_COLORS.push(i),i=new A,i.r=1,i.g=0,i.b=0,i.a=0,this.CHANNEL_COLORS.push(i),i=new A,i.r=0,i.g=1,i.b=0,i.a=0,this.CHANNEL_COLORS.push(i),i=new A,i.r=0,i.g=0,i.b=1,i.a=0,this.CHANNEL_COLORS.push(i);for(var e=0;eG._$T7){t._$NP|=i._$4s;throw new $t("_$gi _$C _$li , _$n0 _$_ version _$li ( SDK : "+G._$T7+" < _$f0 : "+r+" )@_$SS#loadModel()\n")}var h=o._$nP();if(r>=G._$s7){var $=o._$9T(),l=o._$9T();if(-30584!=$||-30584!=l)throw t._$NP|=i._$0s,new $t("_$gi _$C _$li , _$0 _$6 _$Ui.")}t._$KS(h);var u=t.getModelContext();u.setDrawParam(t.getDrawParam()),u.init()}catch(t){_._$Rb(t)}},i.prototype._$KS=function(t){this._$MT=t},i.prototype.getModelImpl=function(){return null==this._$MT&&(this._$MT=new p,this._$MT._$zP()),this._$MT},i.prototype.getCanvasWidth=function(){return null==this._$MT?0:this._$MT.getCanvasWidth()},i.prototype.getCanvasHeight=function(){return null==this._$MT?0:this._$MT.getCanvasHeight()},i.prototype.getParamFloat=function(t){return"number"!=typeof t&&(t=this._$5S.getParamIndex(u.getID(t))),this._$5S.getParamFloat(t)},i.prototype.setParamFloat=function(t,i,e){"number"!=typeof t&&(t=this._$5S.getParamIndex(u.getID(t))),arguments.length<3&&(e=1),this._$5S.setParamFloat(t,this._$5S.getParamFloat(t)*(1-e)+i*e)},i.prototype.addToParamFloat=function(t,i,e){"number"!=typeof t&&(t=this._$5S.getParamIndex(u.getID(t))),arguments.length<3&&(e=1),this._$5S.setParamFloat(t,this._$5S.getParamFloat(t)+i*e)},i.prototype.multParamFloat=function(t,i,e){"number"!=typeof t&&(t=this._$5S.getParamIndex(u.getID(t))),arguments.length<3&&(e=1),this._$5S.setParamFloat(t,this._$5S.getParamFloat(t)*(1+(i-1)*e))},i.prototype.getParamIndex=function(t){return this._$5S.getParamIndex(u.getID(t))},i.prototype.loadParam=function(){this._$5S.loadParam()},i.prototype.saveParam=function(){this._$5S.saveParam()},i.prototype.init=function(){this._$5S.init()},i.prototype.update=function(){this._$5S.update()},i.prototype._$Rs=function(){return _._$li("_$60 _$PT _$Rs()"),-1},i.prototype._$Ds=function(t){_._$li("_$60 _$PT _$SS#_$Ds() \n")},i.prototype._$K2=function(){},i.prototype.draw=function(){},i.prototype.getModelContext=function(){return this._$5S},i.prototype._$s2=function(){return this._$NP},i.prototype._$P7=function(t,i,e,r){var o=-1,n=0,s=this;if(0!=e)if(1==t.length){var _=t[0],a=0!=s.getParamFloat(_),h=i[0],$=s.getPartsOpacity(h),l=e/r;a?($+=l)>1&&($=1):($-=l)<0&&($=0),s.setPartsOpacity(h,$)}else{for(var u=0;u=0)break;o=u;var h=i[u];n=s.getPartsOpacity(h),n+=e/r,n>1&&(n=1)}}o<0&&(console.log("No _$wi _$q0/ _$U default[%s]",t[0]),o=0,n=1,s.loadParam(),s.setParamFloat(t[o],n),s.saveParam());for(var u=0;u.15&&(f=1-.15/(1-n)),c>f&&(c=f),s.setPartsOpacity(h,c)}}}else for(var u=0;u=this._$5S._$aS.length)return null;var i=this._$5S._$aS[t];return null!=i&&i.getType()==W._$wb&&i instanceof lt?i.getIndexArray():null},e.CHANNEL_COUNT=4,e.RENDER_TEXTURE_USE_MIPMAP=!1,e.NOT_USED_FRAME=-100,e.prototype._$L7=function(){if(this.tmpModelToViewMatrix&&(this.tmpModelToViewMatrix=null),this.tmpMatrix2&&(this.tmpMatrix2=null),this.tmpMatrixForMask&&(this.tmpMatrixForMask=null),this.tmpMatrixForDraw&&(this.tmpMatrixForDraw=null),this.tmpBoundsOnModel&&(this.tmpBoundsOnModel=null),this.CHANNEL_COLORS){for(var t=this.CHANNEL_COLORS.length-1;t>=0;--t)this.CHANNEL_COLORS.splice(t,1);this.CHANNEL_COLORS=[]}this.releaseShader()},e.prototype.releaseShader=function(){for(var t=at.frameBuffers.length,i=0;i0){var n=i.gl.getParameter(i.gl.FRAMEBUFFER_BINDING),s=new Array(4);s[0]=0,s[1]=0,s[2]=i.gl.canvas.width,s[3]=i.gl.canvas.height,i.gl.viewport(0,0,at.clippingMaskBufferSize,at.clippingMaskBufferSize),this.setupLayoutBounds(e),i.gl.bindFramebuffer(i.gl.FRAMEBUFFER,at.frameBuffers[this.curFrameNo].framebuffer),i.gl.clearColor(0,0,0,0),i.gl.clear(i.gl.COLOR_BUFFER_BIT);for(var r=0;rr?e:r,n=o,s=o,_=0,a=0,h=i.clippedDrawContextList.length,$=0;$_&&(_=v),S>a&&(a=S)}}if(n==o)i.allClippedDrawRect.x=0,i.allClippedDrawRect.y=0,i.allClippedDrawRect.width=0,i.allClippedDrawRect.height=0,i.isUsing=!1;else{var L=_-n,M=a-s;i.allClippedDrawRect.x=n,i.allClippedDrawRect.y=s,i.allClippedDrawRect.width=L,i.allClippedDrawRect.height=M,i.isUsing=!0}},e.prototype.setupLayoutBounds=function(t){var i=t/e.CHANNEL_COUNT,r=t%e.CHANNEL_COUNT;i=~~i,r=~~r;for(var o=0,n=0;n=1)return 1;var p=r,f=p*p;return $*(p*f)+l*f+u*p+0},s.prototype._$a0=function(){},s.prototype.setFadeIn=function(t){this._$dP=t},s.prototype.setFadeOut=function(t){this._$eo=t},s.prototype._$pT=function(t){this._$V0=t},s.prototype.getFadeOut=function(){return this._$eo},s.prototype._$4T=function(){return this._$eo},s.prototype._$mT=function(){return this._$V0},s.prototype.getDurationMSec=function(){return-1},s.prototype.getLoopDurationMSec=function(){return-1},s.prototype.updateParam=function(t,i){if(i._$AT&&!i._$9L){var e=w.getUserTimeMSec();if(i._$z2<0){i._$z2=e,i._$bs=e;var r=this.getDurationMSec();i._$Do<0&&(i._$Do=r<=0?-1:i._$z2+r)}var o=this._$V0;o=o*(0==this._$dP?1:ht._$r2((e-i._$bs)/this._$dP))*(0==this._$eo||i._$Do<0?1:ht._$r2((i._$Do-e)/this._$eo)),0<=o&&o<=1||console.log("### assert!! ### "),this.updateParamExe(t,e,o,i),i._$Do>0&&i._$Do0?console.log("\n"):e%8==0&&e>0&&console.log(" "),console.log("%02X ",255&t[e]);console.log("\n")},_._$nr=function(t,i,e){console.log("%s\n",t);for(var r=i.length,o=0;o=0;--r){this._$lL[r]._$oP(t,this)}this._$oo(t,e),this._$M2=this._$Yb(),this._$9b=(this._$M2-this._$ks)/e,this._$ks=this._$M2}for(var r=this._$qP.length-1;r>=0;--r){this._$qP[r]._$YS(t,this)}this._$iT=i},f.prototype._$oo=function(t,i){i<.033&&(i=.033);var e=1/i;this.p1.vx=(this.p1.x-this.p1._$s0)*e,this.p1.vy=(this.p1.y-this.p1._$70)*e,this.p1.ax=(this.p1.vx-this.p1._$7L)*e,this.p1.ay=(this.p1.vy-this.p1._$HL)*e,this.p1.fx=this.p1.ax*this.p1._$p,this.p1.fy=this.p1.ay*this.p1._$p,this.p1._$xT();var r,o,n=-Math.atan2(this.p1.y-this.p2.y,this.p1.x-this.p2.x),s=Math.cos(n),_=Math.sin(n),a=9.8*this.p2._$p,h=this._$Db*Lt._$bS,$=a*Math.cos(n-h);r=$*_,o=$*s;var l=-this.p1.fx*_*_,u=-this.p1.fy*_*s,p=-this.p2.vx*this._$L2,f=-this.p2.vy*this._$L2;this.p2.fx=r+l+p,this.p2.fy=o+u+f,this.p2.ax=this.p2.fx/this.p2._$p,this.p2.ay=this.p2.fy/this.p2._$p,this.p2.vx+=this.p2.ax*i,this.p2.vy+=this.p2.ay*i,this.p2.x+=this.p2.vx*i,this.p2.y+=this.p2.vy*i;var c=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));this.p2.x=this.p1.x+this._$Fo*(this.p2.x-this.p1.x)/c,this.p2.y=this.p1.y+this._$Fo*(this.p2.y-this.p1.y)/c,this.p2.vx=(this.p2.x-this.p2._$s0)*e,this.p2.vy=(this.p2.y-this.p2._$70)*e,this.p2._$xT()},c.prototype._$xT=function(){this._$s0=this.x,this._$70=this.y,this._$7L=this.vx,this._$HL=this.vy},g.prototype._$oP=function(t,i){},d.prototype=new g,d.prototype._$oP=function(t,i){var e=this.scale*t.getParamFloat(this._$wL),r=i.getPhysicsPoint1();switch(this._$tL){default:case f.Src.SRC_TO_X:r.x=r.x+(e-r.x)*this._$V0;break;case f.Src.SRC_TO_Y:r.y=r.y+(e-r.y)*this._$V0;break;case f.Src.SRC_TO_G_ANGLE:var o=i._$qr();o+=(e-o)*this._$V0,i._$pr(o)}},y.prototype._$YS=function(t,i){},T.prototype=new y,T.prototype._$YS=function(t,i){switch(this._$YP){default:case f.Target.TARGET_FROM_ANGLE:t.setParamFloat(this._$wL,this.scale*i._$5r(),this._$V0);break;case f.Target.TARGET_FROM_ANGLE_V:t.setParamFloat(this._$wL,this.scale*i._$Cs(),this._$V0)}},f.Src=function(){},f.Src.SRC_TO_X="SRC_TO_X",f.Src.SRC_TO_Y="SRC_TO_Y",f.Src.SRC_TO_G_ANGLE="SRC_TO_G_ANGLE",f.Target=function(){},f.Target.TARGET_FROM_ANGLE="TARGET_FROM_ANGLE",f.Target.TARGET_FROM_ANGLE_V="TARGET_FROM_ANGLE_V",P.prototype.init=function(t){this._$fL=t._$fL,this._$gL=t._$gL,this._$B0=t._$B0,this._$z0=t._$z0,this._$qT=t._$qT,this.reflectX=t.reflectX,this.reflectY=t.reflectY},P.prototype._$F0=function(t){this._$fL=t._$_T(),this._$gL=t._$_T(),this._$B0=t._$_T(),this._$z0=t._$_T(),this._$qT=t._$_T(),t.getFormatVersion()>=G.LIVE2D_FORMAT_VERSION_V2_10_SDK2&&(this.reflectX=t._$po(),this.reflectY=t._$po())},P.prototype._$e=function(){};var It=function(){};It._$ni=function(t,i,e,r,o,n,s,_,a){var h=s*n-_*o;if(0==h)return null;var $,l=((t-e)*n-(i-r)*o)/h;return $=0!=o?(t-e-l*s)/o:(i-r-l*_)/n,isNaN($)&&($=(t-e-l*s)/o,isNaN($)&&($=(i-r-l*_)/n),isNaN($)&&(console.log("a is NaN @UtVector#_$ni() "),console.log("v1x : "+o),console.log("v1x != 0 ? "+(0!=o)))),null==a?new Array($,l):(a[0]=$,a[1]=l,a)},v.prototype._$8P=function(){return this.x+.5*this.width},v.prototype._$6P=function(){return this.y+.5*this.height},v.prototype._$EL=function(){return this.x+this.width},v.prototype._$5T=function(){return this.y+this.height},v.prototype._$jL=function(t,i,e,r){this.x=t,this.y=i,this.width=e,this.height=r},v.prototype._$jL=function(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height},v.prototype.contains=function(t,i){return this.x<=this.x&&this.y<=this.y&&this.x<=this.x+this.width&&this.y<=this.y+this.height},v.prototype.expand=function(t,i){this.x-=t,this.y-=i,this.width+=2*t,this.height+=2*i},S._$Z2=function(t,i,e,r){var o=i._$Q2(t,e),n=t._$vs(),s=t._$Tr();if(i._$zr(n,s,o),o<=0)return r[n[0]];if(1==o){var _=r[n[0]],a=r[n[1]],h=s[0];return _+(a-_)*h|0}if(2==o){var _=r[n[0]],a=r[n[1]],$=r[n[2]],l=r[n[3]],h=s[0],u=s[1],p=_+(a-_)*h|0,f=$+(l-$)*h|0;return p+(f-p)*u|0}if(3==o){var c=r[n[0]],g=r[n[1]],d=r[n[2]],y=r[n[3]],m=r[n[4]],T=r[n[5]],P=r[n[6]],v=r[n[7]],h=s[0],u=s[1],S=s[2],_=c+(g-c)*h|0,a=d+(y-d)*h|0,$=m+(T-m)*h|0,l=P+(v-P)*h|0,p=_+(a-_)*u|0,f=$+(l-$)*u|0;return p+(f-p)*S|0}if(4==o){var L=r[n[0]],M=r[n[1]],E=r[n[2]],A=r[n[3]],I=r[n[4]],w=r[n[5]],x=r[n[6]],O=r[n[7]],D=r[n[8]],R=r[n[9]],b=r[n[10]],F=r[n[11]],C=r[n[12]],N=r[n[13]],B=r[n[14]],U=r[n[15]],h=s[0],u=s[1],S=s[2],G=s[3],c=L+(M-L)*h|0,g=E+(A-E)*h|0,d=I+(w-I)*h|0,y=x+(O-x)*h|0,m=D+(R-D)*h|0,T=b+(F-b)*h|0,P=C+(N-C)*h|0,v=B+(U-B)*h|0,_=c+(g-c)*u|0,a=d+(y-d)*u|0,$=m+(T-m)*u|0,l=P+(v-P)*u|0,p=_+(a-_)*S|0,f=$+(l-$)*S|0;return p+(f-p)*G|0}for(var Y=1<=G._$T7?(this.clipID=t._$nP(),this.clipIDList=this.convertClipIDForV2_11(this.clipID)):this.clipIDList=[],this._$MS(this._$Lb)},M.prototype.getClipIDList=function(){return this.clipIDList},M.prototype.init=function(t){},M.prototype._$Nr=function(t,i){if(i._$IS[0]=!1,i._$Us=S._$Z2(t,this._$GS,i._$IS,this._$Lb),at._$Zs);else if(i._$IS[0])return;i._$7s=S._$br(t,this._$GS,i._$IS,this._$mS)},M.prototype._$2b=function(t,i){},M.prototype.getDrawDataID=function(){return this._$gP},M.prototype._$j2=function(t){this._$gP=t},M.prototype.getOpacity=function(t,i){return i._$7s},M.prototype._$zS=function(t,i){return i._$Us},M.prototype._$MS=function(t){for(var i=t.length-1;i>=0;--i){var e=t[i];eM._$R2&&(M._$R2=e)}},M.prototype.getTargetBaseDataID=function(){return this._$dr},M.prototype._$gs=function(t){this._$dr=t},M.prototype._$32=function(){return null!=this._$dr&&this._$dr!=yt._$2o()},M.prototype.preDraw=function(t,i,e){},M.prototype.draw=function(t,i,e){},M.prototype.getType=function(){},M.prototype._$B2=function(t,i,e){},E._$ps=32,E.CLIPPING_PROCESS_NONE=0,E.CLIPPING_PROCESS_OVERWRITE_ALPHA=1,E.CLIPPING_PROCESS_MULTIPLY_ALPHA=2,E.CLIPPING_PROCESS_DRAW=3,E.CLIPPING_PROCESS_CLEAR_ALPHA=4,E.prototype.setChannelFlagAsColor=function(t,i){this.CHANNEL_COLORS[t]=i},E.prototype.getChannelFlagAsColor=function(t){return this.CHANNEL_COLORS[t]},E.prototype._$ZT=function(){},E.prototype._$Uo=function(t,i,e,r,o,n,s){},E.prototype._$Rs=function(){return-1},E.prototype._$Ds=function(t){},E.prototype.setBaseColor=function(t,i,e,r){t<0?t=0:t>1&&(t=1),i<0?i=0:i>1&&(i=1),e<0?e=0:e>1&&(e=1),r<0?r=0:r>1&&(r=1),this._$lT=t,this._$C0=i,this._$tT=e,this._$WL=r},E.prototype._$WP=function(t){this.culling=t},E.prototype.setMatrix=function(t){for(var i=0;i<16;i++)this.matrix4x4[i]=t[i]},E.prototype._$IT=function(){return this.matrix4x4},E.prototype.setPremultipliedAlpha=function(t){this.premultipliedAlpha=t},E.prototype.isPremultipliedAlpha=function(){return this.premultipliedAlpha},E.prototype.setAnisotropy=function(t){this.anisotropy=t},E.prototype.getAnisotropy=function(){return this.anisotropy},E.prototype.getClippingProcess=function(){return this.clippingProcess},E.prototype.setClippingProcess=function(t){this.clippingProcess=t},E.prototype.setClipBufPre_clipContextForMask=function(t){this.clipBufPre_clipContextMask=t},E.prototype.getClipBufPre_clipContextMask=function(){return this.clipBufPre_clipContextMask},E.prototype.setClipBufPre_clipContextForDraw=function(t){this.clipBufPre_clipContextDraw=t},E.prototype.getClipBufPre_clipContextDraw=function(){return this.clipBufPre_clipContextDraw},I._$ur=-2,I._$c2=1,I._$_b=2,I.prototype._$F0=function(t){this._$kP=t._$nP(),this._$dr=t._$nP()},I.prototype.readV2_opacity=function(t){t.getFormatVersion()>=G.LIVE2D_FORMAT_VERSION_V2_10_SDK2&&(this._$mS=t._$Tb())},I.prototype.init=function(t){},I.prototype._$Nr=function(t,i){},I.prototype.interpolateOpacity=function(t,i,e,r){null==this._$mS?e.setInterpolatedOpacity(1):e.setInterpolatedOpacity(S._$br(t,i,r,this._$mS))},I.prototype._$2b=function(t,i){},I.prototype._$nb=function(t,i,e,r,o,n,s){},I.prototype.getType=function(){},I.prototype._$gs=function(t){this._$dr=t},I.prototype._$a2=function(t){this._$kP=t},I.prototype.getTargetBaseDataID=function(){return this._$dr},I.prototype.getBaseDataID=function(){return this._$kP},I.prototype._$32=function(){return null!=this._$dr&&this._$dr!=yt._$2o()},w._$W2=0,w._$CS=w._$W2,w._$Mo=function(){return!0},w._$XP=function(t){try{for(var i=getTimeMSec();getTimeMSec()-i=t.length)return!1;for(var o=i;o=0;--e){var r=this._$Ob[e].getParamIndex(i);if(r==x._$ds&&(r=t.getParamIndex(this._$Ob[e].getParamID())),t._$Xb(r))return!0}return!1},D.prototype._$Q2=function(t,i){for(var e,r,o=this._$Ob.length,n=t._$v2(),s=0,_=0;_U._$Qb&&console.log("err 23245\n");for(var o=this._$Ob.length,n=1,s=1,_=0,a=0;a=0;--n)e[n]=o[n]}else this.mult_fast(t,i,e,r)},R.prototype.mult_fast=function(t,i,e,r){r?(e[0]=t[0]*i[0]+t[4]*i[1]+t[8]*i[2],e[4]=t[0]*i[4]+t[4]*i[5]+t[8]*i[6],e[8]=t[0]*i[8]+t[4]*i[9]+t[8]*i[10],e[12]=t[0]*i[12]+t[4]*i[13]+t[8]*i[14]+t[12],e[1]=t[1]*i[0]+t[5]*i[1]+t[9]*i[2],e[5]=t[1]*i[4]+t[5]*i[5]+t[9]*i[6],e[9]=t[1]*i[8]+t[5]*i[9]+t[9]*i[10],e[13]=t[1]*i[12]+t[5]*i[13]+t[9]*i[14]+t[13],e[2]=t[2]*i[0]+t[6]*i[1]+t[10]*i[2],e[6]=t[2]*i[4]+t[6]*i[5]+t[10]*i[6],e[10]=t[2]*i[8]+t[6]*i[9]+t[10]*i[10],e[14]=t[2]*i[12]+t[6]*i[13]+t[10]*i[14]+t[14],e[3]=e[7]=e[11]=0,e[15]=1):(e[0]=t[0]*i[0]+t[4]*i[1]+t[8]*i[2]+t[12]*i[3],e[4]=t[0]*i[4]+t[4]*i[5]+t[8]*i[6]+t[12]*i[7],e[8]=t[0]*i[8]+t[4]*i[9]+t[8]*i[10]+t[12]*i[11],e[12]=t[0]*i[12]+t[4]*i[13]+t[8]*i[14]+t[12]*i[15],e[1]=t[1]*i[0]+t[5]*i[1]+t[9]*i[2]+t[13]*i[3],e[5]=t[1]*i[4]+t[5]*i[5]+t[9]*i[6]+t[13]*i[7],e[9]=t[1]*i[8]+t[5]*i[9]+t[9]*i[10]+t[13]*i[11],e[13]=t[1]*i[12]+t[5]*i[13]+t[9]*i[14]+t[13]*i[15],e[2]=t[2]*i[0]+t[6]*i[1]+t[10]*i[2]+t[14]*i[3],e[6]=t[2]*i[4]+t[6]*i[5]+t[10]*i[6]+t[14]*i[7],e[10]=t[2]*i[8]+t[6]*i[9]+t[10]*i[10]+t[14]*i[11],e[14]=t[2]*i[12]+t[6]*i[13]+t[10]*i[14]+t[14]*i[15],e[3]=t[3]*i[0]+t[7]*i[1]+t[11]*i[2]+t[15]*i[3],e[7]=t[3]*i[4]+t[7]*i[5]+t[11]*i[6]+t[15]*i[7],e[11]=t[3]*i[8]+t[7]*i[9]+t[11]*i[10]+t[15]*i[11],e[15]=t[3]*i[12]+t[7]*i[13]+t[11]*i[14]+t[15]*i[15])},R.prototype.translate=function(t,i,e){this.m[12]=this.m[0]*t+this.m[4]*i+this.m[8]*e+this.m[12],this.m[13]=this.m[1]*t+this.m[5]*i+this.m[9]*e+this.m[13],this.m[14]=this.m[2]*t+this.m[6]*i+this.m[10]*e+this.m[14],this.m[15]=this.m[3]*t+this.m[7]*i+this.m[11]*e+this.m[15]},R.prototype.scale=function(t,i,e){this.m[0]*=t,this.m[4]*=i,this.m[8]*=e,this.m[1]*=t,this.m[5]*=i,this.m[9]*=e,this.m[2]*=t,this.m[6]*=i,this.m[10]*=e,this.m[3]*=t,this.m[7]*=i,this.m[11]*=e},R.prototype.rotateX=function(t){var i=Lt.fcos(t),e=Lt._$9(t),r=this.m[4];this.m[4]=r*i+this.m[8]*e,this.m[8]=r*-e+this.m[8]*i,r=this.m[5],this.m[5]=r*i+this.m[9]*e,this.m[9]=r*-e+this.m[9]*i,r=this.m[6],this.m[6]=r*i+this.m[10]*e,this.m[10]=r*-e+this.m[10]*i,r=this.m[7],this.m[7]=r*i+this.m[11]*e,this.m[11]=r*-e+this.m[11]*i},R.prototype.rotateY=function(t){var i=Lt.fcos(t),e=Lt._$9(t),r=this.m[0];this.m[0]=r*i+this.m[8]*-e,this.m[8]=r*e+this.m[8]*i,r=this.m[1],this.m[1]=r*i+this.m[9]*-e,this.m[9]=r*e+this.m[9]*i,r=m[2],this.m[2]=r*i+this.m[10]*-e,this.m[10]=r*e+this.m[10]*i,r=m[3],this.m[3]=r*i+this.m[11]*-e,this.m[11]=r*e+this.m[11]*i},R.prototype.rotateZ=function(t){var i=Lt.fcos(t),e=Lt._$9(t),r=this.m[0];this.m[0]=r*i+this.m[4]*e,this.m[4]=r*-e+this.m[4]*i,r=this.m[1],this.m[1]=r*i+this.m[5]*e,this.m[5]=r*-e+this.m[5]*i,r=this.m[2],this.m[2]=r*i+this.m[6]*e,this.m[6]=r*-e+this.m[6]*i,r=this.m[3],this.m[3]=r*i+this.m[7]*e,this.m[7]=r*-e+this.m[7]*i},b.prototype=new et,b._$tP=new Object,b._$27=function(){b._$tP.clear()},b.getID=function(t){var i=b._$tP[t];return null==i&&(i=new b(t),b._$tP[t]=i),i},b.prototype._$3s=function(){return new b},F._$kS=-1,F._$pS=0,F._$hb=1,F.STATE_IDENTITY=0,F._$gb=1,F._$fo=2,F._$go=4,F.prototype.transform=function(t,i,e){var r,o,n,s,_,a,h=0,$=0;switch(this._$hi){default:return;case F._$go|F._$fo|F._$gb:for(r=this._$7,o=this._$H,n=this._$k,s=this._$f,_=this._$g,a=this._$w;--e>=0;){var l=t[h++],u=t[h++];i[$++]=r*l+o*u+n,i[$++]=s*l+_*u+a}return;case F._$go|F._$fo:for(r=this._$7,o=this._$H,s=this._$f,_=this._$g;--e>=0;){var l=t[h++],u=t[h++];i[$++]=r*l+o*u,i[$++]=s*l+_*u}return;case F._$go|F._$gb:for(o=this._$H,n=this._$k,s=this._$f,a=this._$w;--e>=0;){var l=t[h++];i[$++]=o*t[h++]+n,i[$++]=s*l+a}return;case F._$go:for(o=this._$H,s=this._$f;--e>=0;){var l=t[h++];i[$++]=o*t[h++],i[$++]=s*l}return;case F._$fo|F._$gb:for(r=this._$7,n=this._$k,_=this._$g,a=this._$w;--e>=0;)i[$++]=r*t[h++]+n,i[$++]=_*t[h++]+a;return;case F._$fo:for(r=this._$7,_=this._$g;--e>=0;)i[$++]=r*t[h++],i[$++]=_*t[h++];return;case F._$gb:for(n=this._$k,a=this._$w;--e>=0;)i[$++]=t[h++]+n,i[$++]=t[h++]+a;return;case F.STATE_IDENTITY:return void(t==i&&h==$||w._$jT(t,h,i,$,2*e))}},F.prototype.update=function(){0==this._$H&&0==this._$f?1==this._$7&&1==this._$g?0==this._$k&&0==this._$w?(this._$hi=F.STATE_IDENTITY,this._$Z=F._$pS):(this._$hi=F._$gb,this._$Z=F._$hb):0==this._$k&&0==this._$w?(this._$hi=F._$fo,this._$Z=F._$kS):(this._$hi=F._$fo|F._$gb,this._$Z=F._$kS):0==this._$7&&0==this._$g?0==this._$k&&0==this._$w?(this._$hi=F._$go,this._$Z=F._$kS):(this._$hi=F._$go|F._$gb,this._$Z=F._$kS):0==this._$k&&0==this._$w?(this._$hi=F._$go|F._$fo,this._$Z=F._$kS):(this._$hi=F._$go|F._$fo|F._$gb,this._$Z=F._$kS)},F.prototype._$RT=function(t){this._$IT(t);var i=t[0],e=t[2],r=t[1],o=t[3],n=Math.sqrt(i*i+r*r),s=i*o-e*r;0==n?at._$so&&console.log("affine._$RT() / rt==0"):(t[0]=n,t[1]=s/n,t[2]=(r*o+i*e)/s,t[3]=Math.atan2(r,i))},F.prototype._$ho=function(t,i,e,r){var o=new Float32Array(6),n=new Float32Array(6);t._$RT(o),i._$RT(n);var s=new Float32Array(6);s[0]=o[0]+(n[0]-o[0])*e,s[1]=o[1]+(n[1]-o[1])*e,s[2]=o[2]+(n[2]-o[2])*e,s[3]=o[3]+(n[3]-o[3])*e,s[4]=o[4]+(n[4]-o[4])*e,s[5]=o[5]+(n[5]-o[5])*e,r._$CT(s)},F.prototype._$CT=function(t){var i=Math.cos(t[3]),e=Math.sin(t[3]);this._$7=t[0]*i,this._$f=t[0]*e,this._$H=t[1]*(t[2]*i-e),this._$g=t[1]*(t[2]*e+i),this._$k=t[4],this._$w=t[5],this.update()},F.prototype._$IT=function(t){t[0]=this._$7,t[1]=this._$f,t[2]=this._$H,t[3]=this._$g,t[4]=this._$k,t[5]=this._$w},C.prototype=new s,C._$cs="VISIBLE:",C._$ar="LAYOUT:",C._$Co=0,C._$D2=[],C._$1T=1,C.loadMotion=function(t){var i=new C,e=[0],r=t.length;i._$yT=0;for(var o=0;o=0){var a=new B;O.startsWith(t,s,C._$cs)?(a._$RP=B._$hs,a._$4P=new String(t,s,_-s)):O.startsWith(t,s,C._$ar)?(a._$4P=new String(t,s+7,_-s-7),O.startsWith(t,s+7,"ANCHOR_X")?a._$RP=B._$xs:O.startsWith(t,s+7,"ANCHOR_Y")?a._$RP=B._$us:O.startsWith(t,s+7,"SCALE_X")?a._$RP=B._$qs:O.startsWith(t,s+7,"SCALE_Y")?a._$RP=B._$Ys:O.startsWith(t,s+7,"X")?a._$RP=B._$ws:O.startsWith(t,s+7,"Y")&&(a._$RP=B._$Ns)):(a._$RP=B._$Fr,a._$4P=new String(t,s,_-s)),i.motions.push(a);var h=0;for(C._$D2.clear(),o=_+1;o0){C._$D2.push($),h++;var l=e[0];if(li._$yT&&(i._$yT=h)}}}else{for(var s=o,_=-1;o=0)for(_==s+4&&"f"==t[s+1]&&"p"==t[s+2]&&"s"==t[s+3]&&(u=!0),o=_+1;o0&&u&&5<$&&$<121&&(i._$D0=$),o=e[0]}for(;o=$?$-1:s];t.setParamFloat(l,u)}else if(B._$ws<=h._$RP&&h._$RP<=B._$Ys);else{var p=t.getParamFloat(l),f=h._$I0[s>=$?$-1:s],c=h._$I0[s+1>=$?$-1:s+1],g=f+(c-f)*_,d=p+(g-p)*e;t.setParamFloat(l,d)}}s>=this._$yT&&(this._$E?(r._$z2=i,this.loopFadeIn&&(r._$bs=i)):r._$9L=!0)},C.prototype._$r0=function(){return this._$E},C.prototype._$aL=function(t){this._$E=t},C.prototype.isLoopFadeIn=function(){return this.loopFadeIn},C.prototype.setLoopFadeIn=function(t){this.loopFadeIn=t},N.prototype.clear=function(){this.size=0},N.prototype.add=function(t){if(this._$P.length<=this.size){var i=new Float32Array(2*this.size);w._$jT(this._$P,0,i,0,this.size),this._$P=i}this._$P[this.size++]=t},N.prototype._$BL=function(){var t=new Float32Array(this.size);return w._$jT(this._$P,0,t,0,this.size),t},B._$Fr=0,B._$hs=1,B._$ws=100,B._$Ns=101,B._$xs=102,B._$us=103,B._$qs=104,B._$Ys=105,U._$Ms=1,U._$Qs=2,U._$i2=0,U._$No=2,U._$do=U._$Ms,U._$Ls=!0,U._$1r=5,U._$Qb=65,U._$J=1e-4,U._$FT=.001,U._$Ss=3,G._$o7=6,G._$S7=7,G._$s7=8,G._$77=9,G.LIVE2D_FORMAT_VERSION_V2_10_SDK2=10,G.LIVE2D_FORMAT_VERSION_V2_11_SDK2_1=11,G._$T7=G.LIVE2D_FORMAT_VERSION_V2_11_SDK2_1,G._$Is=-2004318072,G._$h0=0,G._$4L=23,G._$7P=33,G._$uT=function(t){console.log("_$bo :: _$6 _$mo _$E0 : %d\n",t)},G._$9o=function(t){if(t<40)return G._$uT(t),null;if(t<50)return G._$uT(t),null;if(t<60)return G._$uT(t),null;if(t<100)switch(t){case 65:return new Z;case 66:return new D;case 67:return new x;case 68:return new z;case 69:return new P;case 70:return new lt;default:return G._$uT(t),null}else if(t<150)switch(t){case 131:return new st;case 133:return new tt;case 136:return new p;case 137:return new ot;case 142:return new j}return G._$uT(t),null},Y._$HP=0,Y._$_0=!0;Y._$V2=-1,Y._$W0=-1,Y._$jr=!1,Y._$ZS=!0,Y._$tr=-1e6,Y._$lr=1e6,Y._$is=32,Y._$e=!1,Y.prototype.getDrawDataIndex=function(t){for(var i=this._$aS.length-1;i>=0;--i)if(null!=this._$aS[i]&&this._$aS[i].getDrawDataID()==t)return i;return-1},Y.prototype.getDrawData=function(t){if(t instanceof b){if(null==this._$Bo){this._$Bo=new Object;for(var i=this._$aS.length,e=0;e0&&this.release();for(var t=this._$Ri.getModelImpl(),i=t._$Xr(),r=i.length,o=new Array,n=new Array,s=0;s=0)&&(this._$3S.push(m),this._$db.push(n[s]),o[s]=null,y=!0)}}if(!y)break}var P=t._$E2();if(null!=P){var v=P._$1s();if(null!=v)for(var S=v.length,s=0;s=0;i--)this._$Js[i]=Y._$jr;return this._$QT=!1,Y._$e&&_.dump("_$eL"),!1},Y.prototype.preDraw=function(t){null!=this.clipManager&&(t._$ZT(),this.clipManager.setupClip(this,t))},Y.prototype.draw=function(t){if(null==this._$Ws)return void _._$li("call _$Ri.update() before _$Ri.draw() ");var i=this._$Ws.length;t._$ZT();for(var e=0;e=0;--i)if(this._$pb[i]==t)return i;return this._$02(t,0,Y._$tr,Y._$lr)},Y.prototype._$BS=function(t){return this.getBaseDataIndex(t)},Y.prototype.getBaseDataIndex=function(t){for(var i=this._$3S.length-1;i>=0;--i)if(null!=this._$3S[i]&&this._$3S[i].getBaseDataID()==t)return i;return-1},Y.prototype._$UT=function(t,i){var e=new Float32Array(i);return w._$jT(t,0,e,0,t.length),e},Y.prototype._$02=function(t,i,e,r){if(this._$qo>=this._$pb.length){var o=this._$pb.length,n=new Array(2*o);w._$jT(this._$pb,0,n,0,o),this._$pb=n,this._$_2=this._$UT(this._$_2,2*o),this._$vr=this._$UT(this._$vr,2*o),this._$Rr=this._$UT(this._$Rr,2*o),this._$Or=this._$UT(this._$Or,2*o);var s=new Array;w._$jT(this._$Js,0,s,0,o),this._$Js=s}return this._$pb[this._$qo]=t,this._$_2[this._$qo]=i,this._$vr[this._$qo]=i,this._$Rr[this._$qo]=e,this._$Or[this._$qo]=r,this._$Js[this._$qo]=Y._$ZS,this._$qo++},Y.prototype._$Zo=function(t,i){this._$3S[t]=i},Y.prototype.setParamFloat=function(t,i){ithis._$Or[t]&&(i=this._$Or[t]),this._$_2[t]=i},Y.prototype.loadParam=function(){var t=this._$_2.length;t>this._$fs.length&&(t=this._$fs.length),w._$jT(this._$fs,0,this._$_2,0,t)},Y.prototype.saveParam=function(){var t=this._$_2.length;t>this._$fs.length&&(this._$fs=new Float32Array(t)),w._$jT(this._$_2,0,this._$fs,0,t)},Y.prototype._$v2=function(){return this._$co},Y.prototype._$WS=function(){return this._$QT},Y.prototype._$Xb=function(t){return this._$Js[t]==Y._$ZS},Y.prototype._$vs=function(){return this._$Es},Y.prototype._$Tr=function(){return this._$ZP},Y.prototype.getBaseData=function(t){return this._$3S[t]},Y.prototype.getParamFloat=function(t){return this._$_2[t]},Y.prototype.getParamMax=function(t){return this._$Or[t]},Y.prototype.getParamMin=function(t){return this._$Rr[t]},Y.prototype.setPartsOpacity=function(t,i){this._$Hr[t].setPartsOpacity(i)},Y.prototype.getPartsOpacity=function(t){return this._$Hr[t].getPartsOpacity()},Y.prototype.getPartsDataIndex=function(t){for(var i=this._$F2.length-1;i>=0;--i)if(null!=this._$F2[i]&&this._$F2[i]._$p2()==t)return i;return-1},Y.prototype._$q2=function(t){return this._$db[t]},Y.prototype._$C2=function(t){return this._$8b[t]},Y.prototype._$Bb=function(t){return this._$Hr[t]},Y.prototype._$5s=function(t,i){for(var e=this._$Ws.length,r=t,o=0;o0;)n+=i;return r},k._$C=function(t){var i=null,e=null;try{i=t instanceof Array?t:new _$Xs(t,8192),e=new _$js;for(var r,o=new Int8Array(1e3);(r=i.read(o))>0;)e.write(o,0,r);return e._$TS()}finally{null!=t&&t.close(),null!=e&&(e.flush(),e.close())}},V.prototype._$T2=function(){return w.getUserTimeMSec()+Math._$10()*(2*this._$Br-1)},V.prototype._$uo=function(t){this._$Br=t},V.prototype._$QS=function(t,i,e){this._$Dr=t,this._$Cb=i,this._$mr=e},V.prototype._$7T=function(t){var i,e=w.getUserTimeMSec(),r=0;switch(this._$_L){case STATE_CLOSING:r=(e-this._$bb)/this._$Dr,r>=1&&(r=1,this._$_L=wt.STATE_CLOSED,this._$bb=e),i=1-r;break;case STATE_CLOSED:r=(e-this._$bb)/this._$Cb,r>=1&&(this._$_L=wt.STATE_OPENING,this._$bb=e),i=0;break;case STATE_OPENING:r=(e-this._$bb)/this._$mr,r>=1&&(r=1,this._$_L=wt.STATE_INTERVAL,this._$12=this._$T2()),i=r;break;case STATE_INTERVAL:this._$12.9?at.EXPAND_W:0;this.gl.drawElements(a,e,r,o,n,h,this.transform,_)}},X.prototype._$Rs=function(){throw new Error("_$Rs")},X.prototype._$Ds=function(t){throw new Error("_$Ds")},X.prototype._$K2=function(){for(var t=0;t=0;--i){var e=t[i];eW._$R2&&(W._$R2=e)}},W._$or=function(){return W._$52},W._$Pr=function(){return W._$R2},W.prototype._$F0=function(t){this._$gP=t._$nP(),this._$dr=t._$nP(),this._$GS=t._$nP(),this._$qb=t._$6L(),this._$Lb=t._$cS(),this._$mS=t._$Tb(),t.getFormatVersion()>=G._$T7?(this.clipID=t._$nP(),this.clipIDList=this.convertClipIDForV2_11(this.clipID)):this.clipIDList=null,W._$Sb(this._$Lb)},W.prototype.getClipIDList=function(){return this.clipIDList},W.prototype._$Nr=function(t,i){if(i._$IS[0]=!1,i._$Us=S._$Z2(t,this._$GS,i._$IS,this._$Lb),at._$Zs);else if(i._$IS[0])return;i._$7s=S._$br(t,this._$GS,i._$IS,this._$mS)},W.prototype._$2b=function(t){},W.prototype.getDrawDataID=function(){return this._$gP},W.prototype._$j2=function(t){this._$gP=t},W.prototype.getOpacity=function(t,i){return i._$7s},W.prototype._$zS=function(t,i){return i._$Us},W.prototype.getTargetBaseDataID=function(){return this._$dr},W.prototype._$gs=function(t){this._$dr=t},W.prototype._$32=function(){return null!=this._$dr&&this._$dr!=yt._$2o()},W.prototype.getType=function(){},j._$42=0,j.prototype._$1b=function(){return this._$3S},j.prototype.getDrawDataList=function(){return this._$aS},j.prototype._$F0=function(t){this._$NL=t._$nP(),this._$aS=t._$nP(),this._$3S=t._$nP()},j.prototype._$kr=function(t){t._$Zo(this._$3S),t._$xo(this._$aS),this._$3S=null,this._$aS=null},q.prototype=new i,q.loadModel=function(t){var e=new q;return i._$62(e,t),e},q.loadModel=function(t){var e=new q;return i._$62(e,t),e},q._$to=function(){return new q},q._$er=function(t){var i=new _$5("../_$_r/_$t0/_$Ri/_$_P._$d");if(0==i.exists())throw new _$ls("_$t0 _$_ _$6 _$Ui :: "+i._$PL());for(var e=["../_$_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"],r=q.loadModel(i._$3b()),o=0;o=0){var h=new B;O.startsWith(t,_,J._$cs)?(h._$RP=B._$hs,h._$4P=O.createString(t,_,a-_)):O.startsWith(t,_,J._$ar)?(h._$4P=O.createString(t,_+7,a-_-7),O.startsWith(t,_+7,"ANCHOR_X")?h._$RP=B._$xs:O.startsWith(t,_+7,"ANCHOR_Y")?h._$RP=B._$us:O.startsWith(t,_+7,"SCALE_X")?h._$RP=B._$qs:O.startsWith(t,_+7,"SCALE_Y")?h._$RP=B._$Ys:O.startsWith(t,_+7,"X")?h._$RP=B._$ws:O.startsWith(t,_+7,"Y")&&(h._$RP=B._$Ns)):(h._$RP=B._$Fr,h._$4P=O.createString(t,_,a-_)),i.motions.push(h);var $=0,l=[];for(o=a+1;o0){l.push(u),$++;var p=e[0];if(pi._$yT&&(i._$yT=$)}}}else{for(var _=o,a=-1;o=0)for(a==_+4&&"f"==Q(t,_+1)&&"p"==Q(t,_+2)&&"s"==Q(t,_+3)&&(f=!0),o=a+1;o0&&f&&5=$?$-1:s];t.setParamFloat(l,u)}else if(B._$ws<=h._$RP&&h._$RP<=B._$Ys);else{var p,f=t.getParamIndex(l),c=t.getModelContext(),g=c.getParamMax(f),d=c.getParamMin(f),y=.4*(g-d),m=c.getParamFloat(f),T=h._$I0[s>=$?$-1:s],P=h._$I0[s+1>=$?$-1:s+1];p=Ty||T>P&&T-P>y?T:T+(P-T)*_;var v=m+(p-m)*e;t.setParamFloat(l,v)}}s>=this._$yT&&(this._$E?(r._$z2=i,this.loopFadeIn&&(r._$bs=i)):r._$9L=!0),this._$eP=e},J.prototype._$r0=function(){return this._$E},J.prototype._$aL=function(t){this._$E=t},J.prototype._$S0=function(){return this._$D0},J.prototype._$U0=function(t){this._$D0=t},J.prototype.isLoopFadeIn=function(){return this.loopFadeIn},J.prototype.setLoopFadeIn=function(t){this.loopFadeIn=t},N.prototype.clear=function(){this.size=0},N.prototype.add=function(t){if(this._$P.length<=this.size){var i=new Float32Array(2*this.size);w._$jT(this._$P,0,i,0,this.size),this._$P=i}this._$P[this.size++]=t},N.prototype._$BL=function(){var t=new Float32Array(this.size);return w._$jT(this._$P,0,t,0,this.size),t},B._$Fr=0,B._$hs=1,B._$ws=100,B._$Ns=101,B._$xs=102,B._$us=103,B._$qs=104,B._$Ys=105,Z.prototype=new I,Z._$gT=new Array,Z.prototype._$zP=function(){this._$GS=new D,this._$GS._$zP()},Z.prototype._$F0=function(t){I.prototype._$F0.call(this,t),this._$A=t._$6L(),this._$o=t._$6L(),this._$GS=t._$nP(),this._$Eo=t._$nP(),I.prototype.readV2_opacity.call(this,t)},Z.prototype.init=function(t){var i=new K(this),e=(this._$o+1)*(this._$A+1);return null!=i._$Cr&&(i._$Cr=null),i._$Cr=new Float32Array(2*e),null!=i._$hr&&(i._$hr=null),this._$32()?i._$hr=new Float32Array(2*e):i._$hr=null,i},Z.prototype._$Nr=function(t,i){var e=i;if(this._$GS._$Ur(t)){var r=this._$VT(),o=Z._$gT;o[0]=!1,S._$Vr(t,this._$GS,o,r,this._$Eo,e._$Cr,0,2),i._$Ib(o[0]),this.interpolateOpacity(t,this._$GS,i,o)}},Z.prototype._$2b=function(t,i){var e=i;if(e._$hS(!0),this._$32()){var r=this.getTargetBaseDataID();if(e._$8r==I._$ur&&(e._$8r=t.getBaseDataIndex(r)),e._$8r<0)at._$so&&_._$li("_$L _$0P _$G :: %s",r),e._$hS(!1);else{var o=t.getBaseData(e._$8r),n=t._$q2(e._$8r);if(null!=o&&n._$yo()){var s=n.getTotalScale();e.setTotalScale_notForClient(s);var a=n.getTotalOpacity();e.setTotalOpacity(a*e.getInterpolatedOpacity()),o._$nb(t,n,e._$Cr,e._$hr,this._$VT(),0,2),e._$hS(!0)}else e._$hS(!1)}}else e.setTotalOpacity(e.getInterpolatedOpacity())},Z.prototype._$nb=function(t,i,e,r,o,n,s){var _=i,a=null!=_._$hr?_._$hr:_._$Cr;Z.transformPoints_sdk2(e,r,o,n,s,a,this._$o,this._$A)},Z.transformPoints_sdk2=function(i,e,r,o,n,s,_,a){for(var h,$,l,u=r*n,p=0,f=0,c=0,g=0,d=0,y=0,m=!1,T=o;T=1){var b=s[2*(0+a*M)],F=s[2*(0+a*M)+1],C=p-2*c+1*d,N=f-2*g+1*y,x=p+3*d,O=f+3*y,D=p-2*c+3*d,R=f-2*g+3*y,B=.5*(S- -2),U=.5*(L-1);B+U<=1?(e[T]=C+(b-C)*B+(D-C)*U,e[T+1]=N+(F-N)*B+(R-N)*U):(e[T]=x+(D-x)*(1-B)+(b-x)*(1-U),e[T+1]=O+(R-O)*(1-B)+(F-O)*(1-U))}else{var G=0|v;G==a&&(G=a-1);var B=.5*(S- -2),U=v-G,Y=G/a,k=(G+1)/a,b=s[2*(0+G*M)],F=s[2*(0+G*M)+1],x=s[2*(0+(G+1)*M)],O=s[2*(0+(G+1)*M)+1],C=p-2*c+Y*d,N=f-2*g+Y*y,D=p-2*c+k*d,R=f-2*g+k*y;B+U<=1?(e[T]=C+(b-C)*B+(D-C)*U,e[T+1]=N+(F-N)*B+(R-N)*U):(e[T]=x+(D-x)*(1-B)+(b-x)*(1-U),e[T+1]=O+(R-O)*(1-B)+(F-O)*(1-U))}else if(1<=S)if(L<=0){var D=s[2*(_+0*M)],R=s[2*(_+0*M)+1],x=p+3*c,O=f+3*g,C=p+1*c-2*d,N=f+1*g-2*y,b=p+3*c-2*d,F=f+3*g-2*y,B=.5*(S-1),U=.5*(L- -2);B+U<=1?(e[T]=C+(b-C)*B+(D-C)*U,e[T+1]=N+(F-N)*B+(R-N)*U):(e[T]=x+(D-x)*(1-B)+(b-x)*(1-U),e[T+1]=O+(R-O)*(1-B)+(F-O)*(1-U))}else if(L>=1){var C=s[2*(_+a*M)],N=s[2*(_+a*M)+1],b=p+3*c+1*d,F=f+3*g+1*y,D=p+1*c+3*d,R=f+1*g+3*y,x=p+3*c+3*d,O=f+3*g+3*y,B=.5*(S-1),U=.5*(L-1);B+U<=1?(e[T]=C+(b-C)*B+(D-C)*U,e[T+1]=N+(F-N)*B+(R-N)*U):(e[T]=x+(D-x)*(1-B)+(b-x)*(1-U),e[T+1]=O+(R-O)*(1-B)+(F-O)*(1-U))}else{var G=0|v;G==a&&(G=a-1);var B=.5*(S-1),U=v-G,Y=G/a,k=(G+1)/a,C=s[2*(_+G*M)],N=s[2*(_+G*M)+1],D=s[2*(_+(G+1)*M)],R=s[2*(_+(G+1)*M)+1],b=p+3*c+Y*d,F=f+3*g+Y*y,x=p+3*c+k*d,O=f+3*g+k*y;B+U<=1?(e[T]=C+(b-C)*B+(D-C)*U,e[T+1]=N+(F-N)*B+(R-N)*U):(e[T]=x+(D-x)*(1-B)+(b-x)*(1-U),e[T+1]=O+(R-O)*(1-B)+(F-O)*(1-U))}else if(L<=0){var V=0|P;V==_&&(V=_-1);var B=P-V,U=.5*(L- -2),X=V/_,z=(V+1)/_,D=s[2*(V+0*M)],R=s[2*(V+0*M)+1],x=s[2*(V+1+0*M)],O=s[2*(V+1+0*M)+1],C=p+X*c-2*d,N=f+X*g-2*y,b=p+z*c-2*d,F=f+z*g-2*y;B+U<=1?(e[T]=C+(b-C)*B+(D-C)*U,e[T+1]=N+(F-N)*B+(R-N)*U):(e[T]=x+(D-x)*(1-B)+(b-x)*(1-U),e[T+1]=O+(R-O)*(1-B)+(F-O)*(1-U))}else if(L>=1){var V=0|P;V==_&&(V=_-1);var B=P-V,U=.5*(L-1),X=V/_,z=(V+1)/_,C=s[2*(V+a*M)],N=s[2*(V+a*M)+1],b=s[2*(V+1+a*M)],F=s[2*(V+1+a*M)+1],D=p+X*c+3*d,R=f+X*g+3*y,x=p+z*c+3*d,O=f+z*g+3*y;B+U<=1?(e[T]=C+(b-C)*B+(D-C)*U,e[T+1]=N+(F-N)*B+(R-N)*U):(e[T]=x+(D-x)*(1-B)+(b-x)*(1-U),e[T+1]=O+(R-O)*(1-B)+(F-O)*(1-U))}else t.err.printf("_$li calc : %.4f , %.4f\t\t\t\t\t@@BDBoxGrid\n",S,L);else e[T]=p+S*c+L*d,e[T+1]=f+S*g+L*y}else $=P-(0|P),l=v-(0|v),h=2*((0|P)+(0|v)*(_+1)),$+l<1?(e[T]=s[h]*(1-$-l)+s[h+2]*$+s[h+2*(_+1)]*l,e[T+1]=s[h+1]*(1-$-l)+s[h+3]*$+s[h+2*(_+1)+1]*l):(e[T]=s[h+2*(_+1)+2]*($-1+l)+s[h+2*(_+1)]*(1-$)+s[h+2]*(1-l),e[T+1]=s[h+2*(_+1)+3]*($-1+l)+s[h+2*(_+1)+1]*(1-$)+s[h+3]*(1-l))}},Z.prototype.transformPoints_sdk1=function(t,i,e,r,o,n,s){for(var _,a,h,$,l,u,p,f=i,c=this._$o,g=this._$A,d=o*s,y=null!=f._$hr?f._$hr:f._$Cr,m=n;m1&&(_=1),a<0?a=0:a>1&&(a=1),_*=c,a*=g,h=0|_,$=0|a,h>c-1&&(h=c-1),$>g-1&&($=g-1),u=_-h,p=a-$,l=2*(h+$*(c+1))):(_=e[m]*c,a=e[m+1]*g,u=_-(0|_),p=a-(0|a),l=2*((0|_)+(0|a)*(c+1))),u+p<1?(r[m]=y[l]*(1-u-p)+y[l+2]*u+y[l+2*(c+1)]*p,r[m+1]=y[l+1]*(1-u-p)+y[l+3]*u+y[l+2*(c+1)+1]*p):(r[m]=y[l+2*(c+1)+2]*(u-1+p)+y[l+2*(c+1)]*(1-u)+y[l+2]*(1-p),r[m+1]=y[l+2*(c+1)+3]*(u-1+p)+y[l+2*(c+1)+1]*(1-u)+y[l+3]*(1-p))},Z.prototype._$VT=function(){return(this._$o+1)*(this._$A+1)},Z.prototype.getType=function(){return I._$_b},K.prototype=new _t,tt._$42=0,tt.prototype._$zP=function(){this._$3S=new Array,this._$aS=new Array},tt.prototype._$F0=function(t){this._$g0=t._$8L(),this.visible=t._$8L(),this._$NL=t._$nP(),this._$3S=t._$nP(),this._$aS=t._$nP()},tt.prototype.init=function(t){var i=new it(this);return i.setPartsOpacity(this.isVisible()?1:0),i},tt.prototype._$6o=function(t){if(null==this._$3S)throw new Error("_$3S _$6 _$Wo@_$6o");this._$3S.push(t)},tt.prototype._$3o=function(t){if(null==this._$aS)throw new Error("_$aS _$6 _$Wo@_$3o");this._$aS.push(t)},tt.prototype._$Zo=function(t){this._$3S=t},tt.prototype._$xo=function(t){this._$aS=t},tt.prototype.isVisible=function(){return this.visible},tt.prototype._$uL=function(){return this._$g0},tt.prototype._$KP=function(t){this.visible=t},tt.prototype._$ET=function(t){this._$g0=t},tt.prototype.getBaseData=function(){return this._$3S},tt.prototype.getDrawData=function(){return this._$aS},tt.prototype._$p2=function(){return this._$NL},tt.prototype._$ob=function(t){this._$NL=t},tt.prototype.getPartsID=function(){return this._$NL},tt.prototype._$MP=function(t){this._$NL=t},it.prototype=new l,it.prototype.getPartsOpacity=function(){return this._$VS},it.prototype.setPartsOpacity=function(t){this._$VS=t},et._$L7=function(){u._$27(),yt._$27(),b._$27(),$._$27()},et.prototype.toString=function(){return this.id},rt.prototype._$F0=function(t){},ot.prototype._$1s=function(){return this._$4S},ot.prototype._$zP=function(){this._$4S=new Array},ot.prototype._$F0=function(t){this._$4S=t._$nP()},ot.prototype._$Ks=function(t){this._$4S.push(t)},nt.tr=new dt,nt._$50=new dt,nt._$Ti=new Array(0,0),nt._$Pi=new Array(0,0),nt._$B=new Array(0,0),nt.prototype._$lP=function(t,i,e,r){this.viewport=new Array(t,i,e,r)},nt.prototype._$bL=function(){this.context.save();var t=this.viewport;null!=t&&(this.context.beginPath(),this.context._$Li(t[0],t[1],t[2],t[3]),this.context.clip())},nt.prototype._$ei=function(){this.context.restore()},nt.prototype.drawElements=function(t,i,e,r,o,n,s,a){try{o!=this._$Qo&&(this._$Qo=o,this.context.globalAlpha=o);for(var h=i.length,$=t.width,l=t.height,u=this.context,p=this._$xP,f=this._$uP,c=this._$6r,g=this._$3r,d=nt.tr,y=nt._$Ti,m=nt._$Pi,T=nt._$B,P=0;P.02?nt.expandClip(t,i,e,r,$,l,u,p,f,c):nt.clipWithTransform(t,null,o,n,s,_,a,h)},nt.expandClip=function(t,i,e,r,o,n,s,_,a,h){var $=s-o,l=_-n,u=a-o,p=h-n,f=$*p-l*u>0?e:-e,c=-l,g=$,d=a-s,y=h-_,m=-y,T=d,P=Math.sqrt(d*d+y*y),v=-p,S=u,L=Math.sqrt(u*u+p*p),M=o-f*c/r,E=n-f*g/r,A=s-f*c/r,I=_-f*g/r,w=s-f*m/P,x=_-f*T/P,O=a-f*m/P,D=h-f*T/P,R=o+f*v/L,b=n+f*S/L,F=a+f*v/L,C=h+f*S/L,N=nt._$50;return null!=i._$P2(N)&&(nt.clipWithTransform(t,N,M,E,A,I,w,x,O,D,F,C,R,b),!0)},nt.clipWithTransform=function(t,i,e,r,o,n,s,a){if(arguments.length<7)return void _._$li("err : @LDGL.clip()");if(!(arguments[1]instanceof dt))return void _._$li("err : a[0] is _$6 LDTransform @LDGL.clip()");var h=nt._$B,$=i,l=arguments;if(t.beginPath(),$){$._$PS(l[2],l[3],h),t.moveTo(h[0],h[1]);for(var u=4;u1?1:.5-.5*Math.cos(t*Lt.PI_F)},$t._$fr=-1,$t.prototype.toString=function(){return this._$ib},lt.prototype=new W,lt._$42=0,lt._$Os=30,lt._$ms=0,lt._$ns=1,lt._$_s=2,lt._$gT=new Array,lt.prototype._$_S=function(t){this._$LP=t},lt.prototype.getTextureNo=function(){return this._$LP},lt.prototype._$ZL=function(){return this._$Qi},lt.prototype._$H2=function(){return this._$JP},lt.prototype.getNumPoints=function(){return this._$d0},lt.prototype.getType=function(){return W._$wb},lt.prototype._$B2=function(t,i,e){var r=i,o=null!=r._$hr?r._$hr:r._$Cr;switch(U._$do){default:case U._$Ms:throw new Error("_$L _$ro ");case U._$Qs:for(var n=this._$d0-1;n>=0;--n)o[n*U._$No+4]=e}},lt.prototype._$zP=function(){this._$GS=new D,this._$GS._$zP()},lt.prototype._$F0=function(t){W.prototype._$F0.call(this,t),this._$LP=t._$6L(),this._$d0=t._$6L(),this._$Yo=t._$6L();var i=t._$nP();this._$BP=new Int16Array(3*this._$Yo);for(var e=3*this._$Yo-1;e>=0;--e)this._$BP[e]=i[e];if(this._$Eo=t._$nP(),this._$Qi=t._$nP(),t.getFormatVersion()>=G._$s7){if(this._$JP=t._$6L(),0!=this._$JP){if(0!=(1&this._$JP)){var r=t._$6L();null==this._$5P&&(this._$5P=new Object),this._$5P._$Hb=parseInt(r)}0!=(this._$JP<._$Os)?this._$6s=(this._$JP<._$Os)>>1:this._$6s=lt._$ms,0!=(32&this._$JP)&&(this.culling=!1)}}else this._$JP=0},lt.prototype.init=function(t){var i=new ut(this),e=this._$d0*U._$No,r=this._$32();switch(null!=i._$Cr&&(i._$Cr=null),i._$Cr=new Float32Array(e),null!=i._$hr&&(i._$hr=null),i._$hr=r?new Float32Array(e):null,U._$do){default:case U._$Ms:if(U._$Ls)for(var o=this._$d0-1;o>=0;--o){var n=o<<1;this._$Qi[n+1]=1-this._$Qi[n+1]}break;case U._$Qs:for(var o=this._$d0-1;o>=0;--o){var n=o<<1,s=o*U._$No,_=this._$Qi[n],a=this._$Qi[n+1];i._$Cr[s]=_,i._$Cr[s+1]=a,i._$Cr[s+4]=0,r&&(i._$hr[s]=_,i._$hr[s+1]=a,i._$hr[s+4]=0)}}return i},lt.prototype._$Nr=function(t,i){var e=i;if(this!=e._$GT()&&console.log("### assert!! ### "),this._$GS._$Ur(t)&&(W.prototype._$Nr.call(this,t,e),!e._$IS[0])){var r=lt._$gT;r[0]=!1,S._$Vr(t,this._$GS,r,this._$d0,this._$Eo,e._$Cr,U._$i2,U._$No)}},lt.prototype._$2b=function(t,i){try{this!=i._$GT()&&console.log("### assert!! ### ");var e=!1;i._$IS[0]&&(e=!0);var r=i;if(!e&&(W.prototype._$2b.call(this,t),this._$32())){var o=this.getTargetBaseDataID();if(r._$8r==W._$ur&&(r._$8r=t.getBaseDataIndex(o)),r._$8r<0)at._$so&&_._$li("_$L _$0P _$G :: %s",o);else{var n=t.getBaseData(r._$8r),s=t._$q2(r._$8r);null==n||s._$x2()?r._$AT=!1:(n._$nb(t,s,r._$Cr,r._$hr,this._$d0,U._$i2,U._$No),r._$AT=!0),r.baseOpacity=s.getTotalOpacity()}}}catch(t){throw t}},lt.prototype.draw=function(t,i,e){if(this!=e._$GT()&&console.log("### assert!! ### "),!e._$IS[0]){var r=e,o=this._$LP;o<0&&(o=1);var n=this.getOpacity(i,r)*e._$VS*e.baseOpacity,s=null!=r._$hr?r._$hr:r._$Cr;t.setClipBufPre_clipContextForDraw(e.clipBufPre_clipContext),t._$WP(this.culling),t._$Uo(o,3*this._$Yo,this._$BP,s,this._$Qi,n,this._$6s,r)}},lt.prototype.dump=function(){console.log(" _$yi( %d ) , _$d0( %d ) , _$Yo( %d ) \n",this._$LP,this._$d0,this._$Yo),console.log(" _$Oi _$di = { ");for(var t=0;tstartMotion() / start _$K _$3 (m%d)\n",r,e._$sr));if(null==t)return-1;e=new gt,e._$w0=t,this.motions.push(e);var n=e._$sr;return this._$eb&&_._$Ji("MotionQueueManager[size:%2d]->startMotion() / new _$w0 (m%d)\n",r,n),n},ct.prototype.updateParam=function(t){try{for(var i=!1,e=0;eupdateParam() / _$T0 _$w0 (m%d)\n",this.motions.length-1,r._$sr),this.motions.splice(e,1),e--)):(this.motions=this.motions.splice(e,1),e--)}else this.motions.splice(e,1),e--}return i}catch(t){return _._$li(t),!0}},ct.prototype.isFinished=function(t){if(arguments.length>=1){for(var i=0;i.9&&at.EXPAND_W,this.gl);if(null==this.gl)throw new Error("gl is null");var h=1*this._$C0*n,$=1*this._$tT*n,l=1*this._$WL*n,u=this._$lT*n;if(null!=this.clipBufPre_clipContextMask){a.frontFace(a.CCW),a.useProgram(this.shaderProgram),this._$vS=Tt(a,this._$vS,r),this._$no=Pt(a,this._$no,e),a.enableVertexAttribArray(this.a_position_Loc),a.vertexAttribPointer(this.a_position_Loc,2,a.FLOAT,!1,0,0),this._$NT=Tt(a,this._$NT,o),a.activeTexture(a.TEXTURE1),a.bindTexture(a.TEXTURE_2D,this.textures[t]),a.uniform1i(this.s_texture0_Loc,1),a.enableVertexAttribArray(this.a_texCoord_Loc),a.vertexAttribPointer(this.a_texCoord_Loc,2,a.FLOAT,!1,0,0),a.uniformMatrix4fv(this.u_matrix_Loc,!1,this.getClipBufPre_clipContextMask().matrixForMask);var p=this.getClipBufPre_clipContextMask().layoutChannelNo,f=this.getChannelFlagAsColor(p);a.uniform4f(this.u_channelFlag,f.r,f.g,f.b,f.a);var c=this.getClipBufPre_clipContextMask().layoutBounds;a.uniform4f(this.u_baseColor_Loc,2*c.x-1,2*c.y-1,2*c._$EL()-1,2*c._$5T()-1),a.uniform1i(this.u_maskFlag_Loc,!0)}else if(null!=this.getClipBufPre_clipContextDraw()){a.useProgram(this.shaderProgramOff),this._$vS=Tt(a,this._$vS,r),this._$no=Pt(a,this._$no,e),a.enableVertexAttribArray(this.a_position_Loc_Off),a.vertexAttribPointer(this.a_position_Loc_Off,2,a.FLOAT,!1,0,0),this._$NT=Tt(a,this._$NT,o),a.activeTexture(a.TEXTURE1),a.bindTexture(a.TEXTURE_2D,this.textures[t]),a.uniform1i(this.s_texture0_Loc_Off,1),a.enableVertexAttribArray(this.a_texCoord_Loc_Off),a.vertexAttribPointer(this.a_texCoord_Loc_Off,2,a.FLOAT,!1,0,0),a.uniformMatrix4fv(this.u_clipMatrix_Loc_Off,!1,this.getClipBufPre_clipContextDraw().matrixForDraw),a.uniformMatrix4fv(this.u_matrix_Loc_Off,!1,this.matrix4x4),a.activeTexture(a.TEXTURE2),a.bindTexture(a.TEXTURE_2D,at.fTexture[this.glno]),a.uniform1i(this.s_texture1_Loc_Off,2);var p=this.getClipBufPre_clipContextDraw().layoutChannelNo,f=this.getChannelFlagAsColor(p);a.uniform4f(this.u_channelFlag_Loc_Off,f.r,f.g,f.b,f.a),a.uniform4f(this.u_baseColor_Loc_Off,h,$,l,u)}else a.useProgram(this.shaderProgram),this._$vS=Tt(a,this._$vS,r),this._$no=Pt(a,this._$no,e),a.enableVertexAttribArray(this.a_position_Loc),a.vertexAttribPointer(this.a_position_Loc,2,a.FLOAT,!1,0,0),this._$NT=Tt(a,this._$NT,o),a.activeTexture(a.TEXTURE1),a.bindTexture(a.TEXTURE_2D,this.textures[t]),a.uniform1i(this.s_texture0_Loc,1),a.enableVertexAttribArray(this.a_texCoord_Loc),a.vertexAttribPointer(this.a_texCoord_Loc,2,a.FLOAT,!1,0,0),a.uniformMatrix4fv(this.u_matrix_Loc,!1,this.matrix4x4),a.uniform4f(this.u_baseColor_Loc,h,$,l,u),a.uniform1i(this.u_maskFlag_Loc,!1);this.culling?this.gl.enable(a.CULL_FACE):this.gl.disable(a.CULL_FACE),this.gl.enable(a.BLEND);var g,d,y,m;if(null!=this.clipBufPre_clipContextMask)g=a.ONE,d=a.ONE_MINUS_SRC_ALPHA,y=a.ONE,m=a.ONE_MINUS_SRC_ALPHA;else switch(s){case lt._$ms:g=a.ONE,d=a.ONE_MINUS_SRC_ALPHA,y=a.ONE,m=a.ONE_MINUS_SRC_ALPHA;break;case lt._$ns:g=a.ONE,d=a.ONE,y=a.ZERO,m=a.ONE;break;case lt._$_s:g=a.DST_COLOR,d=a.ONE_MINUS_SRC_ALPHA,y=a.ZERO,m=a.ONE}a.blendEquationSeparate(a.FUNC_ADD,a.FUNC_ADD),a.blendFuncSeparate(g,d,y,m),this.anisotropyExt&&a.texParameteri(a.TEXTURE_2D,this.anisotropyExt.TEXTURE_MAX_ANISOTROPY_EXT,this.maxAnisotropy);var T=e.length;a.drawElements(a.TRIANGLES,T,a.UNSIGNED_SHORT,0),a.bindTexture(a.TEXTURE_2D,null)}},mt.prototype._$Rs=function(){throw new Error("_$Rs")},mt.prototype._$Ds=function(t){throw new Error("_$Ds")},mt.prototype._$K2=function(){for(var t=0;t=48){var r=G._$9o(t);return null!=r?(r._$F0(this),r):null}switch(t){case 1:return this._$bT();case 10:return new n(this._$6L(),!0);case 11:return new v(this._$mP(),this._$mP(),this._$mP(),this._$mP());case 12:return new v(this._$_T(),this._$_T(),this._$_T(),this._$_T());case 13:return new L(this._$mP(),this._$mP());case 14:return new L(this._$_T(),this._$_T());case 15:for(var o=this._$3L(),e=new Array(o),s=0;s>7-this._$hL++&1)},vt.prototype._$zT=function(){0!=this._$hL&&(this._$hL=0)},St.prototype._$wP=function(t,i,e){for(var r=0;rMath.PI;)e-=2*Math.PI;return e},Lt._$9=function(t){return Math.sin(t)},Lt.fcos=function(t){return Math.cos(t)},Mt.prototype._$u2=function(){return this._$IS[0]},Mt.prototype._$yo=function(){return this._$AT&&!this._$IS[0]},Mt.prototype._$GT=function(){return this._$e0},Et._$W2=0,Et.SYSTEM_INFO=null,Et.USER_AGENT=navigator.userAgent,Et.isIPhone=function(){return Et.SYSTEM_INFO||Et.setup(),Et.SYSTEM_INFO._isIPhone},Et.isIOS=function(){return Et.SYSTEM_INFO||Et.setup(),Et.SYSTEM_INFO._isIPhone||Et.SYSTEM_INFO._isIPad},Et.isAndroid=function(){return Et.SYSTEM_INFO||Et.setup(),Et.SYSTEM_INFO._isAndroid},Et.getOSVersion=function(){return Et.SYSTEM_INFO||Et.setup(),Et.SYSTEM_INFO.version},Et.getOS=function(){return Et.SYSTEM_INFO||Et.setup(),Et.SYSTEM_INFO._isIPhone||Et.SYSTEM_INFO._isIPad?"iOS":Et.SYSTEM_INFO._isAndroid?"Android":"_$Q0 OS"},Et.setup=function(){function t(t,i){for(var e=t.substring(i).split(/[ _,;\.]/),r=0,o=0;o<=2&&!isNaN(e[o]);o++){var n=parseInt(e[o]);if(n<0||n>999){_._$li("err : "+n+" @UtHtml5.setup()"),r=0;break}r+=n*Math.pow(1e3,2-o)}return r}var i,e=Et.USER_AGENT,r=Et.SYSTEM_INFO={userAgent:e};if((i=e.indexOf("iPhone OS "))>=0)r.os="iPhone",r._isIPhone=!0,r.version=t(e,i+"iPhone OS ".length);else if((i=e.indexOf("iPad"))>=0){if((i=e.indexOf("CPU OS"))<0)return void _._$li(" err : "+e+" @UtHtml5.setup()");r.os="iPad",r._isIPad=!0,r.version=t(e,i+"CPU OS ".length)}else(i=e.indexOf("Android"))>=0?(r.os="Android",r._isAndroid=!0,r.version=t(e,i+"Android ".length)):(r.os="-",r.version=-1)},window.UtSystem=w,window.UtDebug=_,window.LDTransform=dt,window.LDGL=nt,window.Live2D=at,window.Live2DModelWebGL=ft,window.Live2DModelJS=q,window.Live2DMotion=J,window.MotionQueueManager=ct,window.PhysicsHair=f,window.AMotion=s,window.PartsDataID=$,window.DrawDataID=b,window.BaseDataID=yt,window.ParamID=u,at.init();var At=!1}()}).call(i,e(7))},function(t,i){t.exports={import:function(){throw new Error("System.import cannot be used indirectly")}}},function(t,i,e){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function o(){this.models=[],this.count=-1,this.reloadFlg=!1,Live2D.init(),n.Live2DFramework.setPlatformManager(new _.default)}Object.defineProperty(i,"__esModule",{value:!0}),i.default=o;var n=e(0),s=e(9),_=r(s),a=e(10),h=r(a),$=e(1),l=r($);o.prototype.createModel=function(){var t=new h.default;return this.models.push(t),t},o.prototype.changeModel=function(t,i){if(this.reloadFlg){this.reloadFlg=!1;this.releaseModel(0,t),this.createModel(),this.models[0].load(t,i)}},o.prototype.getModel=function(t){return t>=this.models.length?null:this.models[t]},o.prototype.releaseModel=function(t,i){this.models.length<=t||(this.models[t].release(i),delete this.models[t],this.models.splice(t,1))},o.prototype.numModels=function(){return this.models.length},o.prototype.setDrag=function(t,i){for(var e=0;e0){r.expressions={};for(var t=0;t.999&&(t=1),t<.001&&(t=0),this.alpha=t},r.prototype.getAlpha=function(){return this.alpha},r.prototype.isInitialized=function(){return this.initialized},r.prototype.setInitialized=function(t){this.initialized=t},r.prototype.isUpdating=function(){return this.updating},r.prototype.setUpdating=function(t){this.updating=t},r.prototype.getLive2DModel=function(){return this.live2DModel},r.prototype.setLipSync=function(t){this.lipSync=t},r.prototype.setLipSyncValue=function(t){this.lipSyncValue=t},r.prototype.setAccel=function(t,i,e){this.accelX=t,this.accelY=i,this.accelZ=e},r.prototype.setDrag=function(t,i){this.dragX=t,this.dragY=i},r.prototype.getMainMotionManager=function(){return this.mainMotionManager},r.prototype.getExpressionManager=function(){return this.expressionManager},r.prototype.loadModelData=function(t,i){var e=c.getPlatformManager();this.debugMode&&e.log("Load model : "+t);var r=this;e.loadLive2DModel(t,function(t){if(r.live2DModel=t,r.live2DModel.saveParam(),0!=Live2D.getError())return void console.error("Error : Failed to loadModelData().");r.modelMatrix=new a(r.live2DModel.getCanvasWidth(),r.live2DModel.getCanvasHeight()),r.modelMatrix.setWidth(2),r.modelMatrix.setCenterPosition(0,0),i(r.live2DModel)})},r.prototype.loadTexture=function(t,i,e){g++;var r=c.getPlatformManager();this.debugMode&&r.log("Load Texture : "+i);var o=this;r.loadTexture(this.live2DModel,t,i,function(){g--,0==g&&(o.isTexLoaded=!0),"function"==typeof e&&e()})},r.prototype.loadMotion=function(t,i,e){var r=c.getPlatformManager();this.debugMode&&r.log("Load Motion : "+i);var o=null,n=this;r.loadBytes(i,function(i){o=Live2DMotion.loadMotion(i),null!=t&&(n.motions[t]=o),e(o)})},r.prototype.loadExpression=function(t,i,e){var r=c.getPlatformManager();this.debugMode&&r.log("Load Expression : "+i);var n=this;r.loadBytes(i,function(i){null!=t&&(n.expressions[t]=o.loadJson(i)),"function"==typeof e&&e()})},r.prototype.loadPose=function(t,i){var e=c.getPlatformManager();this.debugMode&&e.log("Load Pose : "+t);var r=this;try{e.loadBytes(t,function(t){r.pose=$.load(t),"function"==typeof i&&i()})}catch(t){console.warn(t)}},r.prototype.loadPhysics=function(t){var i=c.getPlatformManager();this.debugMode&&i.log("Load Physics : "+t);var e=this;try{i.loadBytes(t,function(t){e.physics=l.load(t)})}catch(t){console.warn(t)}},r.prototype.hitTestSimple=function(t,i,e){if(null===this.live2DModel)return!1;var r=this.live2DModel.getDrawDataIndex(t);if(r<0)return!1;for(var o=this.live2DModel.getTransformedPoints(r),n=this.live2DModel.getCanvasWidth(),s=0,_=this.live2DModel.getCanvasHeight(),a=0,h=0;hs&&(s=l),$<_&&(_=$),$>a&&(a=$)}var u=this.modelMatrix.invertTransformX(i),p=this.modelMatrix.invertTransformY(e);return n<=u&&u<=s&&_<=p&&p<=a},o.prototype=new AMotion,o.EXPRESSION_DEFAULT="DEFAULT",o.TYPE_SET=0,o.TYPE_ADD=1,o.TYPE_MULT=2,o.loadJson=function(t){var i=new o,e=c.getPlatformManager(),r=e.jsonParseFromBytes(t);if(i.setFadeIn(parseInt(r.fade_in)>0?parseInt(r.fade_in):1e3),i.setFadeOut(parseInt(r.fade_out)>0?parseInt(r.fade_out):1e3),null==r.params)return i;var s=r.params,_=s.length;i.paramList=[];for(var a=0;a<_;a++){var h=s[a],l=h.id.toString(),$=parseFloat(h.val),u=o.TYPE_ADD,p=null!=h.calc?h.calc.toString():"add";if((u="add"===p?o.TYPE_ADD:"mult"===p?o.TYPE_MULT:"set"===p?o.TYPE_SET:o.TYPE_ADD)==o.TYPE_ADD){var f=null==h.def?0:parseFloat(h.def);$-=f}else if(u==o.TYPE_MULT){var f=null==h.def?1:parseFloat(h.def);0==f&&(f=1),$/=f}var g=new n;g.id=l,g.type=u,g.value=$,i.paramList.push(g)}return i},o.prototype.updateParamExe=function(t,i,e,r){for(var n=this.paramList.length-1;n>=0;--n){var s=this.paramList[n];s.type==o.TYPE_ADD?t.addToParamFloat(s.id,s.value,e):s.type==o.TYPE_MULT?t.multParamFloat(s.id,s.value,e):s.type==o.TYPE_SET&&t.setParamFloat(s.id,s.value,e)}},s.prototype.calcNextBlink=function(){return UtSystem.getUserTimeMSec()+Math.random()*(2*this.blinkIntervalMsec-1)},s.prototype.setInterval=function(t){this.blinkIntervalMsec=t},s.prototype.setEyeMotion=function(t,i,e){this.closingMotionMsec=t,this.closedMotionMsec=i,this.openingMotionMsec=e},s.prototype.updateParam=function(t){var i,e=UtSystem.getUserTimeMSec(),r=0;switch(this.eyeState){case d.STATE_CLOSING:r=(e-this.stateStartTime)/this.closingMotionMsec,r>=1&&(r=1,this.eyeState=d.STATE_CLOSED,this.stateStartTime=e),i=1-r;break;case d.STATE_CLOSED:r=(e-this.stateStartTime)/this.closedMotionMsec,r>=1&&(this.eyeState=d.STATE_OPENING,this.stateStartTime=e),i=0;break;case d.STATE_OPENING:r=(e-this.stateStartTime)/this.openingMotionMsec,r>=1&&(r=1,this.eyeState=d.STATE_INTERVAL,this.nextBlinkTime=this.calcNextBlink()),i=r;break;case d.STATE_INTERVAL:this.nextBlinkTime=t)&&(!(this.currentPriority>=t)&&(this.reservePriority=t,!0))},h.prototype.setReservePriority=function(t){this.reservePriority=t},h.prototype.updateParam=function(t){var i=MotionQueueManager.prototype.updateParam.call(this,t);return this.isFinished()&&(this.currentPriority=0),i},h.prototype.startMotionPrio=function(t,i){return i==this.reservePriority&&(this.reservePriority=0),this.currentPriority=i,this.startMotion(t,!1)},l.load=function(t){for(var i=new l,e=c.getPlatformManager(),r=e.jsonParseFromBytes(t),o=r.physics_hair,n=o.length,s=0;s=0)break;r=n,o=t.getPartsOpacity(s),o+=e/.5,o>1&&(o=1)}}r<0&&(r=0,o=1);for(var n=0;n.15&&(a=1-.15/(1-o)),h>a&&(h=a),t.setPartsOpacity(s,h)}}},$.prototype.copyOpacityOtherParts=function(t,i){for(var e=0;eo)&&(l*=o/u,$*=o/u,u=o),this.faceVX+=l,this.faceVY+=$;var f=.5*(Math.sqrt(o*o+16*o*_-8*o*_)-o),c=Math.sqrt(this.faceVX*this.faceVX+this.faceVY*this.faceVY);c>f&&(this.faceVX*=f/c,this.faceVY*=f/c),this.faceX+=this.faceVX,this.faceY+=this.faceVY}},f.prototype=new _,f.prototype.getMaxScale=function(){return this.max},f.prototype.getMinScale=function(){return this.min},f.prototype.setMaxScale=function(t){this.max=t},f.prototype.setMinScale=function(t){this.min=t},f.prototype.isMaxScale=function(){return this.getScaleX()==this.max},f.prototype.isMinScale=function(){return this.getScaleX()==this.min},f.prototype.adjustTranslate=function(t,i){this.tr[0]*this.maxLeft+(this.tr[12]+t)>this.screenLeft&&(t=this.screenLeft-this.tr[0]*this.maxLeft-this.tr[12]),this.tr[0]*this.maxRight+(this.tr[12]+t)this.screenBottom&&(i=this.screenBottom-this.tr[5]*this.maxBottom-this.tr[13]);var e=[1,0,0,0,0,1,0,0,0,0,1,0,t,i,0,1];_.mul(e,this.tr,this.tr)},f.prototype.adjustScale=function(t,i,e){var r=e*this.tr[0];r0&&(e=this.min/this.tr[0]):r>this.max&&this.tr[0]>0&&(e=this.max/this.tr[0]);var o=[1,0,0,0,0,1,0,0,0,0,1,0,t,i,0,1],n=[e,0,0,0,0,e,0,0,0,0,1,0,0,0,0,1],s=[1,0,0,0,0,1,0,0,0,0,1,0,-t,-i,0,1];_.mul(s,this.tr,this.tr),_.mul(n,this.tr,this.tr),_.mul(o,this.tr,this.tr)},f.prototype.setScreenRect=function(t,i,e,r){this.screenLeft=t,this.screenRight=i,this.screenTop=r,this.screenBottom=e},f.prototype.setMaxScreenRect=function(t,i,e,r){this.maxLeft=t,this.maxRight=i,this.maxTop=r,this.maxBottom=e},f.prototype.getScreenLeft=function(){return this.screenLeft},f.prototype.getScreenRight=function(){return this.screenRight},f.prototype.getScreenBottom=function(){return this.screenBottom},f.prototype.getScreenTop=function(){return this.screenTop},f.prototype.getMaxLeft=function(){return this.maxLeft},f.prototype.getMaxRight=function(){return this.maxRight},f.prototype.getMaxBottom=function(){return this.maxBottom},f.prototype.getMaxTop=function(){return this.maxTop},c.platformManager=null,c.getPlatformManager=function(){return c.platformManager},c.setPlatformManager=function(t){c.platformManager=t},t.exports={L2DTargetPoint:p,Live2DFramework:c,L2DViewMatrix:f,L2DPose:$,L2DPartsParam:u,L2DPhysics:l,L2DMotionManager:h,L2DModelMatrix:a,L2DMatrix44:_,EYE_STATE:d,L2DEyeBlink:s,L2DExpressionParam:n,L2DExpressionMotion:o,L2DBaseModel:r}},function(t,i,e){"use strict";var r={DEBUG_LOG:!1,DEBUG_MOUSE_LOG:!1,VIEW_MAX_SCALE:2,VIEW_MIN_SCALE:.8,VIEW_LOGICAL_LEFT:-1,VIEW_LOGICAL_RIGHT:1,VIEW_LOGICAL_MAX_LEFT:-2,VIEW_LOGICAL_MAX_RIGHT:2,VIEW_LOGICAL_MAX_BOTTOM:-2,VIEW_LOGICAL_MAX_TOP:2,PRIORITY_NONE:0,PRIORITY_IDLE:1,PRIORITY_NORMAL:2,PRIORITY_FORCE:3,MOTION_GROUP_IDLE:"idle",MOTION_GROUP_TAP_BODY:"tap_body",MOTION_GROUP_FLICK_HEAD:"flick_head",MOTION_GROUP_PINCH_IN:"pinch_in",MOTION_GROUP_PINCH_OUT:"pinch_out",MOTION_GROUP_SHAKE:"shake",HIT_AREA_HEAD:"head",HIT_AREA_BODY:"body"};t.exports=r},function(t,i,e){"use strict";function r(t){n=t}function o(){return n}Object.defineProperty(i,"__esModule",{value:!0}),i.setContext=r,i.getContext=o;var n=void 0},function(t,i,e){"use strict";function r(){}r.matrixStack=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],r.depth=0,r.currentMatrix=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],r.tmp=new Array(16),r.reset=function(){this.depth=0},r.loadIdentity=function(){for(var t=0;t<16;t++)this.currentMatrix[t]=t%5==0?1:0},r.push=function(){var t=(this.depth,16*(this.depth+1));this.matrixStack.lengthe.left&&i.y>e.top)return i;var o=t.x-i.x,n=t.y-i.y,s=r(o,n);i.xat.frameBuffers.length&&(this.curFrameNo=this.getMaskRenderTexture()),this.tmpModelToViewMatrix=new R,this.tmpMatrix2=new R,this.tmpMatrixForMask=new R,this.tmpMatrixForDraw=new R,this.CHANNEL_COLORS=new Array;var i=new A;i=new A,i.r=0,i.g=0,i.b=0,i.a=1,this.CHANNEL_COLORS.push(i),i=new A,i.r=1,i.g=0,i.b=0,i.a=0,this.CHANNEL_COLORS.push(i),i=new A,i.r=0,i.g=1,i.b=0,i.a=0,this.CHANNEL_COLORS.push(i),i=new A,i.r=0,i.g=0,i.b=1,i.a=0,this.CHANNEL_COLORS.push(i);for(var e=0;eG._$T7){t._$NP|=i._$4s;throw new lt("_$gi _$C _$li , _$n0 _$_ version _$li ( SDK : "+G._$T7+" < _$f0 : "+r+" )@_$SS#loadModel()\n")}var h=o._$nP();if(r>=G._$s7){var l=o._$9T(),$=o._$9T();if(-30584!=l||-30584!=$)throw t._$NP|=i._$0s,new lt("_$gi _$C _$li , _$0 _$6 _$Ui.")}t._$KS(h);var u=t.getModelContext();u.setDrawParam(t.getDrawParam()),u.init()}catch(t){_._$Rb(t)}},i.prototype._$KS=function(t){this._$MT=t},i.prototype.getModelImpl=function(){return null==this._$MT&&(this._$MT=new p,this._$MT._$zP()),this._$MT},i.prototype.getCanvasWidth=function(){return null==this._$MT?0:this._$MT.getCanvasWidth()},i.prototype.getCanvasHeight=function(){return null==this._$MT?0:this._$MT.getCanvasHeight()},i.prototype.getParamFloat=function(t){return"number"!=typeof t&&(t=this._$5S.getParamIndex(u.getID(t))),this._$5S.getParamFloat(t)},i.prototype.setParamFloat=function(t,i,e){"number"!=typeof t&&(t=this._$5S.getParamIndex(u.getID(t))),arguments.length<3&&(e=1),this._$5S.setParamFloat(t,this._$5S.getParamFloat(t)*(1-e)+i*e)},i.prototype.addToParamFloat=function(t,i,e){"number"!=typeof t&&(t=this._$5S.getParamIndex(u.getID(t))),arguments.length<3&&(e=1),this._$5S.setParamFloat(t,this._$5S.getParamFloat(t)+i*e)},i.prototype.multParamFloat=function(t,i,e){"number"!=typeof t&&(t=this._$5S.getParamIndex(u.getID(t))),arguments.length<3&&(e=1),this._$5S.setParamFloat(t,this._$5S.getParamFloat(t)*(1+(i-1)*e))},i.prototype.getParamIndex=function(t){return this._$5S.getParamIndex(u.getID(t))},i.prototype.loadParam=function(){this._$5S.loadParam()},i.prototype.saveParam=function(){this._$5S.saveParam()},i.prototype.init=function(){this._$5S.init()},i.prototype.update=function(){this._$5S.update()},i.prototype._$Rs=function(){return _._$li("_$60 _$PT _$Rs()"),-1},i.prototype._$Ds=function(t){_._$li("_$60 _$PT _$SS#_$Ds() \n")},i.prototype._$K2=function(){},i.prototype.draw=function(){},i.prototype.getModelContext=function(){return this._$5S},i.prototype._$s2=function(){return this._$NP},i.prototype._$P7=function(t,i,e,r){var o=-1,n=0,s=this;if(0!=e)if(1==t.length){var _=t[0],a=0!=s.getParamFloat(_),h=i[0],l=s.getPartsOpacity(h),$=e/r;a?(l+=$)>1&&(l=1):(l-=$)<0&&(l=0),s.setPartsOpacity(h,l)}else{for(var u=0;u=0)break;o=u;var h=i[u];n=s.getPartsOpacity(h),n+=e/r,n>1&&(n=1)}}o<0&&(console.log("No _$wi _$q0/ _$U default[%s]",t[0]),o=0,n=1,s.loadParam(),s.setParamFloat(t[o],n),s.saveParam());for(var u=0;u.15&&(f=1-.15/(1-n)),c>f&&(c=f),s.setPartsOpacity(h,c)}}}else for(var u=0;u=this._$5S._$aS.length)return null;var i=this._$5S._$aS[t];return null!=i&&i.getType()==W._$wb&&i instanceof $t?i.getIndexArray():null},e.CHANNEL_COUNT=4,e.RENDER_TEXTURE_USE_MIPMAP=!1,e.NOT_USED_FRAME=-100,e.prototype._$L7=function(){if(this.tmpModelToViewMatrix&&(this.tmpModelToViewMatrix=null),this.tmpMatrix2&&(this.tmpMatrix2=null),this.tmpMatrixForMask&&(this.tmpMatrixForMask=null),this.tmpMatrixForDraw&&(this.tmpMatrixForDraw=null),this.tmpBoundsOnModel&&(this.tmpBoundsOnModel=null),this.CHANNEL_COLORS){for(var t=this.CHANNEL_COLORS.length-1;t>=0;--t)this.CHANNEL_COLORS.splice(t,1);this.CHANNEL_COLORS=[]}this.releaseShader()},e.prototype.releaseShader=function(){for(var t=at.frameBuffers.length,i=0;i0){var n=i.gl.getParameter(i.gl.FRAMEBUFFER_BINDING),s=new Array(4);s[0]=0,s[1]=0,s[2]=i.gl.canvas.width,s[3]=i.gl.canvas.height,i.gl.viewport(0,0,at.clippingMaskBufferSize,at.clippingMaskBufferSize),this.setupLayoutBounds(e),i.gl.bindFramebuffer(i.gl.FRAMEBUFFER,at.frameBuffers[this.curFrameNo].framebuffer),i.gl.clearColor(0,0,0,0),i.gl.clear(i.gl.COLOR_BUFFER_BIT);for(var r=0;rr?e:r,n=o,s=o,_=0,a=0,h=i.clippedDrawContextList.length,l=0;l_&&(_=v),S>a&&(a=S)}}if(n==o)i.allClippedDrawRect.x=0,i.allClippedDrawRect.y=0,i.allClippedDrawRect.width=0,i.allClippedDrawRect.height=0,i.isUsing=!1;else{var L=_-n,M=a-s;i.allClippedDrawRect.x=n,i.allClippedDrawRect.y=s,i.allClippedDrawRect.width=L,i.allClippedDrawRect.height=M,i.isUsing=!0}},e.prototype.setupLayoutBounds=function(t){var i=t/e.CHANNEL_COUNT,r=t%e.CHANNEL_COUNT;i=~~i,r=~~r;for(var o=0,n=0;n=1)return 1;var p=r,f=p*p;return l*(p*f)+$*f+u*p+0},s.prototype._$a0=function(){},s.prototype.setFadeIn=function(t){this._$dP=t},s.prototype.setFadeOut=function(t){this._$eo=t},s.prototype._$pT=function(t){this._$V0=t},s.prototype.getFadeOut=function(){return this._$eo},s.prototype._$4T=function(){return this._$eo},s.prototype._$mT=function(){return this._$V0},s.prototype.getDurationMSec=function(){return-1},s.prototype.getLoopDurationMSec=function(){return-1},s.prototype.updateParam=function(t,i){if(i._$AT&&!i._$9L){var e=w.getUserTimeMSec();if(i._$z2<0){i._$z2=e,i._$bs=e;var r=this.getDurationMSec();i._$Do<0&&(i._$Do=r<=0?-1:i._$z2+r)}var o=this._$V0;o=o*(0==this._$dP?1:ht._$r2((e-i._$bs)/this._$dP))*(0==this._$eo||i._$Do<0?1:ht._$r2((i._$Do-e)/this._$eo)),0<=o&&o<=1||console.log("### assert!! ### "),this.updateParamExe(t,e,o,i),i._$Do>0&&i._$Do0?console.log("\n"):e%8==0&&e>0&&console.log(" "),console.log("%02X ",255&t[e]);console.log("\n")},_._$nr=function(t,i,e){console.log("%s\n",t);for(var r=i.length,o=0;o=0;--r){this._$lL[r]._$oP(t,this)}this._$oo(t,e),this._$M2=this._$Yb(),this._$9b=(this._$M2-this._$ks)/e,this._$ks=this._$M2}for(var r=this._$qP.length-1;r>=0;--r){this._$qP[r]._$YS(t,this)}this._$iT=i},f.prototype._$oo=function(t,i){i<.033&&(i=.033);var e=1/i;this.p1.vx=(this.p1.x-this.p1._$s0)*e,this.p1.vy=(this.p1.y-this.p1._$70)*e,this.p1.ax=(this.p1.vx-this.p1._$7L)*e,this.p1.ay=(this.p1.vy-this.p1._$HL)*e,this.p1.fx=this.p1.ax*this.p1._$p,this.p1.fy=this.p1.ay*this.p1._$p,this.p1._$xT();var r,o,n=-Math.atan2(this.p1.y-this.p2.y,this.p1.x-this.p2.x),s=Math.cos(n),_=Math.sin(n),a=9.8*this.p2._$p,h=this._$Db*Lt._$bS,l=a*Math.cos(n-h);r=l*_,o=l*s;var $=-this.p1.fx*_*_,u=-this.p1.fy*_*s,p=-this.p2.vx*this._$L2,f=-this.p2.vy*this._$L2;this.p2.fx=r+$+p,this.p2.fy=o+u+f,this.p2.ax=this.p2.fx/this.p2._$p,this.p2.ay=this.p2.fy/this.p2._$p,this.p2.vx+=this.p2.ax*i,this.p2.vy+=this.p2.ay*i,this.p2.x+=this.p2.vx*i,this.p2.y+=this.p2.vy*i;var c=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));this.p2.x=this.p1.x+this._$Fo*(this.p2.x-this.p1.x)/c,this.p2.y=this.p1.y+this._$Fo*(this.p2.y-this.p1.y)/c,this.p2.vx=(this.p2.x-this.p2._$s0)*e,this.p2.vy=(this.p2.y-this.p2._$70)*e,this.p2._$xT()},c.prototype._$xT=function(){this._$s0=this.x,this._$70=this.y,this._$7L=this.vx,this._$HL=this.vy},g.prototype._$oP=function(t,i){},d.prototype=new g,d.prototype._$oP=function(t,i){var e=this.scale*t.getParamFloat(this._$wL),r=i.getPhysicsPoint1();switch(this._$tL){default:case f.Src.SRC_TO_X:r.x=r.x+(e-r.x)*this._$V0;break;case f.Src.SRC_TO_Y:r.y=r.y+(e-r.y)*this._$V0;break;case f.Src.SRC_TO_G_ANGLE:var o=i._$qr();o+=(e-o)*this._$V0,i._$pr(o)}},y.prototype._$YS=function(t,i){},T.prototype=new y,T.prototype._$YS=function(t,i){switch(this._$YP){default:case f.Target.TARGET_FROM_ANGLE:t.setParamFloat(this._$wL,this.scale*i._$5r(),this._$V0);break;case f.Target.TARGET_FROM_ANGLE_V:t.setParamFloat(this._$wL,this.scale*i._$Cs(),this._$V0)}},f.Src=function(){},f.Src.SRC_TO_X="SRC_TO_X",f.Src.SRC_TO_Y="SRC_TO_Y",f.Src.SRC_TO_G_ANGLE="SRC_TO_G_ANGLE",f.Target=function(){},f.Target.TARGET_FROM_ANGLE="TARGET_FROM_ANGLE",f.Target.TARGET_FROM_ANGLE_V="TARGET_FROM_ANGLE_V",P.prototype.init=function(t){this._$fL=t._$fL,this._$gL=t._$gL,this._$B0=t._$B0,this._$z0=t._$z0,this._$qT=t._$qT,this.reflectX=t.reflectX,this.reflectY=t.reflectY},P.prototype._$F0=function(t){this._$fL=t._$_T(),this._$gL=t._$_T(),this._$B0=t._$_T(),this._$z0=t._$_T(),this._$qT=t._$_T(),t.getFormatVersion()>=G.LIVE2D_FORMAT_VERSION_V2_10_SDK2&&(this.reflectX=t._$po(),this.reflectY=t._$po())},P.prototype._$e=function(){};var It=function(){};It._$ni=function(t,i,e,r,o,n,s,_,a){var h=s*n-_*o;if(0==h)return null;var l,$=((t-e)*n-(i-r)*o)/h;return l=0!=o?(t-e-$*s)/o:(i-r-$*_)/n,isNaN(l)&&(l=(t-e-$*s)/o,isNaN(l)&&(l=(i-r-$*_)/n),isNaN(l)&&(console.log("a is NaN @UtVector#_$ni() "),console.log("v1x : "+o),console.log("v1x != 0 ? "+(0!=o)))),null==a?new Array(l,$):(a[0]=l,a[1]=$,a)},v.prototype._$8P=function(){return this.x+.5*this.width},v.prototype._$6P=function(){return this.y+.5*this.height},v.prototype._$EL=function(){return this.x+this.width},v.prototype._$5T=function(){return this.y+this.height},v.prototype._$jL=function(t,i,e,r){this.x=t,this.y=i,this.width=e,this.height=r},v.prototype._$jL=function(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height},v.prototype.contains=function(t,i){return this.x<=this.x&&this.y<=this.y&&this.x<=this.x+this.width&&this.y<=this.y+this.height},v.prototype.expand=function(t,i){this.x-=t,this.y-=i,this.width+=2*t,this.height+=2*i},S._$Z2=function(t,i,e,r){var o=i._$Q2(t,e),n=t._$vs(),s=t._$Tr();if(i._$zr(n,s,o),o<=0)return r[n[0]];if(1==o){var _=r[n[0]],a=r[n[1]],h=s[0];return _+(a-_)*h|0}if(2==o){var _=r[n[0]],a=r[n[1]],l=r[n[2]],$=r[n[3]],h=s[0],u=s[1],p=_+(a-_)*h|0,f=l+($-l)*h|0;return p+(f-p)*u|0}if(3==o){var c=r[n[0]],g=r[n[1]],d=r[n[2]],y=r[n[3]],m=r[n[4]],T=r[n[5]],P=r[n[6]],v=r[n[7]],h=s[0],u=s[1],S=s[2],_=c+(g-c)*h|0,a=d+(y-d)*h|0,l=m+(T-m)*h|0,$=P+(v-P)*h|0,p=_+(a-_)*u|0,f=l+($-l)*u|0;return p+(f-p)*S|0}if(4==o){var L=r[n[0]],M=r[n[1]],E=r[n[2]],A=r[n[3]],I=r[n[4]],w=r[n[5]],x=r[n[6]],O=r[n[7]],D=r[n[8]],R=r[n[9]],b=r[n[10]],F=r[n[11]],C=r[n[12]],N=r[n[13]],B=r[n[14]],U=r[n[15]],h=s[0],u=s[1],S=s[2],G=s[3],c=L+(M-L)*h|0,g=E+(A-E)*h|0,d=I+(w-I)*h|0,y=x+(O-x)*h|0,m=D+(R-D)*h|0,T=b+(F-b)*h|0,P=C+(N-C)*h|0,v=B+(U-B)*h|0,_=c+(g-c)*u|0,a=d+(y-d)*u|0,l=m+(T-m)*u|0,$=P+(v-P)*u|0,p=_+(a-_)*S|0,f=l+($-l)*S|0;return p+(f-p)*G|0}for(var Y=1<=G._$T7?(this.clipID=t._$nP(),this.clipIDList=this.convertClipIDForV2_11(this.clipID)):this.clipIDList=[],this._$MS(this._$Lb)},M.prototype.getClipIDList=function(){return this.clipIDList},M.prototype.init=function(t){},M.prototype._$Nr=function(t,i){if(i._$IS[0]=!1,i._$Us=S._$Z2(t,this._$GS,i._$IS,this._$Lb),at._$Zs);else if(i._$IS[0])return;i._$7s=S._$br(t,this._$GS,i._$IS,this._$mS)},M.prototype._$2b=function(t,i){},M.prototype.getDrawDataID=function(){return this._$gP},M.prototype._$j2=function(t){this._$gP=t},M.prototype.getOpacity=function(t,i){return i._$7s},M.prototype._$zS=function(t,i){return i._$Us},M.prototype._$MS=function(t){for(var i=t.length-1;i>=0;--i){var e=t[i];eM._$R2&&(M._$R2=e)}},M.prototype.getTargetBaseDataID=function(){return this._$dr},M.prototype._$gs=function(t){this._$dr=t},M.prototype._$32=function(){return null!=this._$dr&&this._$dr!=yt._$2o()},M.prototype.preDraw=function(t,i,e){},M.prototype.draw=function(t,i,e){},M.prototype.getType=function(){},M.prototype._$B2=function(t,i,e){},E._$ps=32,E.CLIPPING_PROCESS_NONE=0,E.CLIPPING_PROCESS_OVERWRITE_ALPHA=1,E.CLIPPING_PROCESS_MULTIPLY_ALPHA=2,E.CLIPPING_PROCESS_DRAW=3,E.CLIPPING_PROCESS_CLEAR_ALPHA=4,E.prototype.setChannelFlagAsColor=function(t,i){this.CHANNEL_COLORS[t]=i},E.prototype.getChannelFlagAsColor=function(t){return this.CHANNEL_COLORS[t]},E.prototype._$ZT=function(){},E.prototype._$Uo=function(t,i,e,r,o,n,s){},E.prototype._$Rs=function(){return-1},E.prototype._$Ds=function(t){},E.prototype.setBaseColor=function(t,i,e,r){t<0?t=0:t>1&&(t=1),i<0?i=0:i>1&&(i=1),e<0?e=0:e>1&&(e=1),r<0?r=0:r>1&&(r=1),this._$lT=t,this._$C0=i,this._$tT=e,this._$WL=r},E.prototype._$WP=function(t){this.culling=t},E.prototype.setMatrix=function(t){for(var i=0;i<16;i++)this.matrix4x4[i]=t[i]},E.prototype._$IT=function(){return this.matrix4x4},E.prototype.setPremultipliedAlpha=function(t){this.premultipliedAlpha=t},E.prototype.isPremultipliedAlpha=function(){return this.premultipliedAlpha},E.prototype.setAnisotropy=function(t){this.anisotropy=t},E.prototype.getAnisotropy=function(){return this.anisotropy},E.prototype.getClippingProcess=function(){return this.clippingProcess},E.prototype.setClippingProcess=function(t){this.clippingProcess=t},E.prototype.setClipBufPre_clipContextForMask=function(t){this.clipBufPre_clipContextMask=t},E.prototype.getClipBufPre_clipContextMask=function(){return this.clipBufPre_clipContextMask},E.prototype.setClipBufPre_clipContextForDraw=function(t){this.clipBufPre_clipContextDraw=t},E.prototype.getClipBufPre_clipContextDraw=function(){return this.clipBufPre_clipContextDraw},I._$ur=-2,I._$c2=1,I._$_b=2,I.prototype._$F0=function(t){this._$kP=t._$nP(),this._$dr=t._$nP()},I.prototype.readV2_opacity=function(t){t.getFormatVersion()>=G.LIVE2D_FORMAT_VERSION_V2_10_SDK2&&(this._$mS=t._$Tb())},I.prototype.init=function(t){},I.prototype._$Nr=function(t,i){},I.prototype.interpolateOpacity=function(t,i,e,r){null==this._$mS?e.setInterpolatedOpacity(1):e.setInterpolatedOpacity(S._$br(t,i,r,this._$mS))},I.prototype._$2b=function(t,i){},I.prototype._$nb=function(t,i,e,r,o,n,s){},I.prototype.getType=function(){},I.prototype._$gs=function(t){this._$dr=t},I.prototype._$a2=function(t){this._$kP=t},I.prototype.getTargetBaseDataID=function(){return this._$dr},I.prototype.getBaseDataID=function(){return this._$kP},I.prototype._$32=function(){return null!=this._$dr&&this._$dr!=yt._$2o()},w._$W2=0,w._$CS=w._$W2,w._$Mo=function(){return!0},w._$XP=function(t){try{for(var i=getTimeMSec();getTimeMSec()-i=t.length)return!1;for(var o=i;o=0;--e){var r=this._$Ob[e].getParamIndex(i);if(r==x._$ds&&(r=t.getParamIndex(this._$Ob[e].getParamID())),t._$Xb(r))return!0}return!1},D.prototype._$Q2=function(t,i){for(var e,r,o=this._$Ob.length,n=t._$v2(),s=0,_=0;_U._$Qb&&console.log("err 23245\n");for(var o=this._$Ob.length,n=1,s=1,_=0,a=0;a=0;--n)e[n]=o[n]}else this.mult_fast(t,i,e,r)},R.prototype.mult_fast=function(t,i,e,r){r?(e[0]=t[0]*i[0]+t[4]*i[1]+t[8]*i[2],e[4]=t[0]*i[4]+t[4]*i[5]+t[8]*i[6],e[8]=t[0]*i[8]+t[4]*i[9]+t[8]*i[10],e[12]=t[0]*i[12]+t[4]*i[13]+t[8]*i[14]+t[12],e[1]=t[1]*i[0]+t[5]*i[1]+t[9]*i[2],e[5]=t[1]*i[4]+t[5]*i[5]+t[9]*i[6],e[9]=t[1]*i[8]+t[5]*i[9]+t[9]*i[10],e[13]=t[1]*i[12]+t[5]*i[13]+t[9]*i[14]+t[13],e[2]=t[2]*i[0]+t[6]*i[1]+t[10]*i[2],e[6]=t[2]*i[4]+t[6]*i[5]+t[10]*i[6],e[10]=t[2]*i[8]+t[6]*i[9]+t[10]*i[10],e[14]=t[2]*i[12]+t[6]*i[13]+t[10]*i[14]+t[14],e[3]=e[7]=e[11]=0,e[15]=1):(e[0]=t[0]*i[0]+t[4]*i[1]+t[8]*i[2]+t[12]*i[3],e[4]=t[0]*i[4]+t[4]*i[5]+t[8]*i[6]+t[12]*i[7],e[8]=t[0]*i[8]+t[4]*i[9]+t[8]*i[10]+t[12]*i[11],e[12]=t[0]*i[12]+t[4]*i[13]+t[8]*i[14]+t[12]*i[15],e[1]=t[1]*i[0]+t[5]*i[1]+t[9]*i[2]+t[13]*i[3],e[5]=t[1]*i[4]+t[5]*i[5]+t[9]*i[6]+t[13]*i[7],e[9]=t[1]*i[8]+t[5]*i[9]+t[9]*i[10]+t[13]*i[11],e[13]=t[1]*i[12]+t[5]*i[13]+t[9]*i[14]+t[13]*i[15],e[2]=t[2]*i[0]+t[6]*i[1]+t[10]*i[2]+t[14]*i[3],e[6]=t[2]*i[4]+t[6]*i[5]+t[10]*i[6]+t[14]*i[7],e[10]=t[2]*i[8]+t[6]*i[9]+t[10]*i[10]+t[14]*i[11],e[14]=t[2]*i[12]+t[6]*i[13]+t[10]*i[14]+t[14]*i[15],e[3]=t[3]*i[0]+t[7]*i[1]+t[11]*i[2]+t[15]*i[3],e[7]=t[3]*i[4]+t[7]*i[5]+t[11]*i[6]+t[15]*i[7],e[11]=t[3]*i[8]+t[7]*i[9]+t[11]*i[10]+t[15]*i[11],e[15]=t[3]*i[12]+t[7]*i[13]+t[11]*i[14]+t[15]*i[15])},R.prototype.translate=function(t,i,e){this.m[12]=this.m[0]*t+this.m[4]*i+this.m[8]*e+this.m[12],this.m[13]=this.m[1]*t+this.m[5]*i+this.m[9]*e+this.m[13],this.m[14]=this.m[2]*t+this.m[6]*i+this.m[10]*e+this.m[14],this.m[15]=this.m[3]*t+this.m[7]*i+this.m[11]*e+this.m[15]},R.prototype.scale=function(t,i,e){this.m[0]*=t,this.m[4]*=i,this.m[8]*=e,this.m[1]*=t,this.m[5]*=i,this.m[9]*=e,this.m[2]*=t,this.m[6]*=i,this.m[10]*=e,this.m[3]*=t,this.m[7]*=i,this.m[11]*=e},R.prototype.rotateX=function(t){var i=Lt.fcos(t),e=Lt._$9(t),r=this.m[4];this.m[4]=r*i+this.m[8]*e,this.m[8]=r*-e+this.m[8]*i,r=this.m[5],this.m[5]=r*i+this.m[9]*e,this.m[9]=r*-e+this.m[9]*i,r=this.m[6],this.m[6]=r*i+this.m[10]*e,this.m[10]=r*-e+this.m[10]*i,r=this.m[7],this.m[7]=r*i+this.m[11]*e,this.m[11]=r*-e+this.m[11]*i},R.prototype.rotateY=function(t){var i=Lt.fcos(t),e=Lt._$9(t),r=this.m[0];this.m[0]=r*i+this.m[8]*-e,this.m[8]=r*e+this.m[8]*i,r=this.m[1],this.m[1]=r*i+this.m[9]*-e,this.m[9]=r*e+this.m[9]*i,r=m[2],this.m[2]=r*i+this.m[10]*-e,this.m[10]=r*e+this.m[10]*i,r=m[3],this.m[3]=r*i+this.m[11]*-e,this.m[11]=r*e+this.m[11]*i},R.prototype.rotateZ=function(t){var i=Lt.fcos(t),e=Lt._$9(t),r=this.m[0];this.m[0]=r*i+this.m[4]*e,this.m[4]=r*-e+this.m[4]*i,r=this.m[1],this.m[1]=r*i+this.m[5]*e,this.m[5]=r*-e+this.m[5]*i,r=this.m[2],this.m[2]=r*i+this.m[6]*e,this.m[6]=r*-e+this.m[6]*i,r=this.m[3],this.m[3]=r*i+this.m[7]*e,this.m[7]=r*-e+this.m[7]*i},b.prototype=new et,b._$tP=new Object,b._$27=function(){b._$tP.clear()},b.getID=function(t){var i=b._$tP[t];return null==i&&(i=new b(t),b._$tP[t]=i),i},b.prototype._$3s=function(){return new b},F._$kS=-1,F._$pS=0,F._$hb=1,F.STATE_IDENTITY=0,F._$gb=1,F._$fo=2,F._$go=4,F.prototype.transform=function(t,i,e){var r,o,n,s,_,a,h=0,l=0;switch(this._$hi){default:return;case F._$go|F._$fo|F._$gb:for(r=this._$7,o=this._$H,n=this._$k,s=this._$f,_=this._$g,a=this._$w;--e>=0;){var $=t[h++],u=t[h++];i[l++]=r*$+o*u+n,i[l++]=s*$+_*u+a}return;case F._$go|F._$fo:for(r=this._$7,o=this._$H,s=this._$f,_=this._$g;--e>=0;){var $=t[h++],u=t[h++];i[l++]=r*$+o*u,i[l++]=s*$+_*u}return;case F._$go|F._$gb:for(o=this._$H,n=this._$k,s=this._$f,a=this._$w;--e>=0;){var $=t[h++];i[l++]=o*t[h++]+n,i[l++]=s*$+a}return;case F._$go:for(o=this._$H,s=this._$f;--e>=0;){var $=t[h++];i[l++]=o*t[h++],i[l++]=s*$}return;case F._$fo|F._$gb:for(r=this._$7,n=this._$k,_=this._$g,a=this._$w;--e>=0;)i[l++]=r*t[h++]+n,i[l++]=_*t[h++]+a;return;case F._$fo:for(r=this._$7,_=this._$g;--e>=0;)i[l++]=r*t[h++],i[l++]=_*t[h++];return;case F._$gb:for(n=this._$k,a=this._$w;--e>=0;)i[l++]=t[h++]+n,i[l++]=t[h++]+a;return;case F.STATE_IDENTITY:return void(t==i&&h==l||w._$jT(t,h,i,l,2*e))}},F.prototype.update=function(){0==this._$H&&0==this._$f?1==this._$7&&1==this._$g?0==this._$k&&0==this._$w?(this._$hi=F.STATE_IDENTITY,this._$Z=F._$pS):(this._$hi=F._$gb,this._$Z=F._$hb):0==this._$k&&0==this._$w?(this._$hi=F._$fo,this._$Z=F._$kS):(this._$hi=F._$fo|F._$gb,this._$Z=F._$kS):0==this._$7&&0==this._$g?0==this._$k&&0==this._$w?(this._$hi=F._$go,this._$Z=F._$kS):(this._$hi=F._$go|F._$gb,this._$Z=F._$kS):0==this._$k&&0==this._$w?(this._$hi=F._$go|F._$fo,this._$Z=F._$kS):(this._$hi=F._$go|F._$fo|F._$gb,this._$Z=F._$kS)},F.prototype._$RT=function(t){this._$IT(t);var i=t[0],e=t[2],r=t[1],o=t[3],n=Math.sqrt(i*i+r*r),s=i*o-e*r;0==n?at._$so&&console.log("affine._$RT() / rt==0"):(t[0]=n,t[1]=s/n,t[2]=(r*o+i*e)/s,t[3]=Math.atan2(r,i))},F.prototype._$ho=function(t,i,e,r){var o=new Float32Array(6),n=new Float32Array(6);t._$RT(o),i._$RT(n);var s=new Float32Array(6);s[0]=o[0]+(n[0]-o[0])*e,s[1]=o[1]+(n[1]-o[1])*e,s[2]=o[2]+(n[2]-o[2])*e,s[3]=o[3]+(n[3]-o[3])*e,s[4]=o[4]+(n[4]-o[4])*e,s[5]=o[5]+(n[5]-o[5])*e,r._$CT(s)},F.prototype._$CT=function(t){var i=Math.cos(t[3]),e=Math.sin(t[3]);this._$7=t[0]*i,this._$f=t[0]*e,this._$H=t[1]*(t[2]*i-e),this._$g=t[1]*(t[2]*e+i),this._$k=t[4],this._$w=t[5],this.update()},F.prototype._$IT=function(t){t[0]=this._$7,t[1]=this._$f,t[2]=this._$H,t[3]=this._$g,t[4]=this._$k,t[5]=this._$w},C.prototype=new s,C._$cs="VISIBLE:",C._$ar="LAYOUT:",C._$Co=0,C._$D2=[],C._$1T=1,C.loadMotion=function(t){var i=new C,e=[0],r=t.length;i._$yT=0;for(var o=0;o=0){var a=new B;O.startsWith(t,s,C._$cs)?(a._$RP=B._$hs,a._$4P=new String(t,s,_-s)):O.startsWith(t,s,C._$ar)?(a._$4P=new String(t,s+7,_-s-7),O.startsWith(t,s+7,"ANCHOR_X")?a._$RP=B._$xs:O.startsWith(t,s+7,"ANCHOR_Y")?a._$RP=B._$us:O.startsWith(t,s+7,"SCALE_X")?a._$RP=B._$qs:O.startsWith(t,s+7,"SCALE_Y")?a._$RP=B._$Ys:O.startsWith(t,s+7,"X")?a._$RP=B._$ws:O.startsWith(t,s+7,"Y")&&(a._$RP=B._$Ns)):(a._$RP=B._$Fr,a._$4P=new String(t,s,_-s)),i.motions.push(a);var h=0;for(C._$D2.clear(),o=_+1;o0){C._$D2.push(l),h++;var $=e[0];if($i._$yT&&(i._$yT=h)}}}else{for(var s=o,_=-1;o=0)for(_==s+4&&"f"==t[s+1]&&"p"==t[s+2]&&"s"==t[s+3]&&(u=!0),o=_+1;o0&&u&&5=l?l-1:s];t.setParamFloat($,u)}else if(B._$ws<=h._$RP&&h._$RP<=B._$Ys);else{var p=t.getParamFloat($),f=h._$I0[s>=l?l-1:s],c=h._$I0[s+1>=l?l-1:s+1],g=f+(c-f)*_,d=p+(g-p)*e;t.setParamFloat($,d)}}s>=this._$yT&&(this._$E?(r._$z2=i,this.loopFadeIn&&(r._$bs=i)):r._$9L=!0)},C.prototype._$r0=function(){return this._$E},C.prototype._$aL=function(t){this._$E=t},C.prototype.isLoopFadeIn=function(){return this.loopFadeIn},C.prototype.setLoopFadeIn=function(t){this.loopFadeIn=t},N.prototype.clear=function(){this.size=0},N.prototype.add=function(t){if(this._$P.length<=this.size){var i=new Float32Array(2*this.size);w._$jT(this._$P,0,i,0,this.size),this._$P=i}this._$P[this.size++]=t},N.prototype._$BL=function(){var t=new Float32Array(this.size);return w._$jT(this._$P,0,t,0,this.size),t},B._$Fr=0,B._$hs=1,B._$ws=100,B._$Ns=101,B._$xs=102,B._$us=103,B._$qs=104,B._$Ys=105,U._$Ms=1,U._$Qs=2,U._$i2=0,U._$No=2,U._$do=U._$Ms,U._$Ls=!0,U._$1r=5,U._$Qb=65,U._$J=1e-4,U._$FT=.001,U._$Ss=3,G._$o7=6,G._$S7=7,G._$s7=8,G._$77=9,G.LIVE2D_FORMAT_VERSION_V2_10_SDK2=10,G.LIVE2D_FORMAT_VERSION_V2_11_SDK2_1=11,G._$T7=G.LIVE2D_FORMAT_VERSION_V2_11_SDK2_1,G._$Is=-2004318072,G._$h0=0,G._$4L=23,G._$7P=33,G._$uT=function(t){console.log("_$bo :: _$6 _$mo _$E0 : %d\n",t)},G._$9o=function(t){if(t<40)return G._$uT(t),null;if(t<50)return G._$uT(t),null;if(t<60)return G._$uT(t),null;if(t<100)switch(t){case 65:return new Z;case 66:return new D;case 67:return new x;case 68:return new z;case 69:return new P;case 70:return new $t;default:return G._$uT(t),null}else if(t<150)switch(t){case 131:return new st;case 133:return new tt;case 136:return new p;case 137:return new ot;case 142:return new j}return G._$uT(t),null},Y._$HP=0,Y._$_0=!0;Y._$V2=-1,Y._$W0=-1,Y._$jr=!1,Y._$ZS=!0,Y._$tr=-1e6,Y._$lr=1e6,Y._$is=32,Y._$e=!1,Y.prototype.getDrawDataIndex=function(t){for(var i=this._$aS.length-1;i>=0;--i)if(null!=this._$aS[i]&&this._$aS[i].getDrawDataID()==t)return i;return-1},Y.prototype.getDrawData=function(t){if(t instanceof b){if(null==this._$Bo){this._$Bo=new Object;for(var i=this._$aS.length,e=0;e0&&this.release();for(var t=this._$Ri.getModelImpl(),i=t._$Xr(),r=i.length,o=new Array,n=new Array,s=0;s=0)&&(this._$3S.push(m),this._$db.push(n[s]),o[s]=null,y=!0)}}if(!y)break}var P=t._$E2();if(null!=P){var v=P._$1s();if(null!=v)for(var S=v.length,s=0;s=0;i--)this._$Js[i]=Y._$jr;return this._$QT=!1,Y._$e&&_.dump("_$eL"),!1},Y.prototype.preDraw=function(t){null!=this.clipManager&&(t._$ZT(),this.clipManager.setupClip(this,t))},Y.prototype.draw=function(t){if(null==this._$Ws)return void _._$li("call _$Ri.update() before _$Ri.draw() ");var i=this._$Ws.length;t._$ZT();for(var e=0;e=0;--i)if(this._$pb[i]==t)return i;return this._$02(t,0,Y._$tr,Y._$lr)},Y.prototype._$BS=function(t){return this.getBaseDataIndex(t)},Y.prototype.getBaseDataIndex=function(t){for(var i=this._$3S.length-1;i>=0;--i)if(null!=this._$3S[i]&&this._$3S[i].getBaseDataID()==t)return i;return-1},Y.prototype._$UT=function(t,i){var e=new Float32Array(i);return w._$jT(t,0,e,0,t.length),e},Y.prototype._$02=function(t,i,e,r){if(this._$qo>=this._$pb.length){var o=this._$pb.length,n=new Array(2*o);w._$jT(this._$pb,0,n,0,o),this._$pb=n,this._$_2=this._$UT(this._$_2,2*o),this._$vr=this._$UT(this._$vr,2*o),this._$Rr=this._$UT(this._$Rr,2*o),this._$Or=this._$UT(this._$Or,2*o);var s=new Array;w._$jT(this._$Js,0,s,0,o),this._$Js=s}return this._$pb[this._$qo]=t,this._$_2[this._$qo]=i,this._$vr[this._$qo]=i,this._$Rr[this._$qo]=e,this._$Or[this._$qo]=r,this._$Js[this._$qo]=Y._$ZS,this._$qo++},Y.prototype._$Zo=function(t,i){this._$3S[t]=i},Y.prototype.setParamFloat=function(t,i){ithis._$Or[t]&&(i=this._$Or[t]),this._$_2[t]=i},Y.prototype.loadParam=function(){var t=this._$_2.length;t>this._$fs.length&&(t=this._$fs.length),w._$jT(this._$fs,0,this._$_2,0,t)},Y.prototype.saveParam=function(){var t=this._$_2.length;t>this._$fs.length&&(this._$fs=new Float32Array(t)),w._$jT(this._$_2,0,this._$fs,0,t)},Y.prototype._$v2=function(){return this._$co},Y.prototype._$WS=function(){return this._$QT},Y.prototype._$Xb=function(t){return this._$Js[t]==Y._$ZS},Y.prototype._$vs=function(){return this._$Es},Y.prototype._$Tr=function(){return this._$ZP},Y.prototype.getBaseData=function(t){return this._$3S[t]},Y.prototype.getParamFloat=function(t){return this._$_2[t]},Y.prototype.getParamMax=function(t){return this._$Or[t]},Y.prototype.getParamMin=function(t){return this._$Rr[t]},Y.prototype.setPartsOpacity=function(t,i){this._$Hr[t].setPartsOpacity(i)},Y.prototype.getPartsOpacity=function(t){return this._$Hr[t].getPartsOpacity()},Y.prototype.getPartsDataIndex=function(t){for(var i=this._$F2.length-1;i>=0;--i)if(null!=this._$F2[i]&&this._$F2[i]._$p2()==t)return i;return-1},Y.prototype._$q2=function(t){return this._$db[t]},Y.prototype._$C2=function(t){return this._$8b[t]},Y.prototype._$Bb=function(t){return this._$Hr[t]},Y.prototype._$5s=function(t,i){for(var e=this._$Ws.length,r=t,o=0;o0;)n+=i;return r},k._$C=function(t){var i=null,e=null;try{i=t instanceof Array?t:new _$Xs(t,8192),e=new _$js;for(var r,o=new Int8Array(1e3);(r=i.read(o))>0;)e.write(o,0,r);return e._$TS()}finally{null!=t&&t.close(),null!=e&&(e.flush(),e.close())}},V.prototype._$T2=function(){return w.getUserTimeMSec()+Math._$10()*(2*this._$Br-1)},V.prototype._$uo=function(t){this._$Br=t},V.prototype._$QS=function(t,i,e){this._$Dr=t,this._$Cb=i,this._$mr=e},V.prototype._$7T=function(t){var i,e=w.getUserTimeMSec(),r=0;switch(this._$_L){case STATE_CLOSING:r=(e-this._$bb)/this._$Dr,r>=1&&(r=1,this._$_L=wt.STATE_CLOSED,this._$bb=e),i=1-r;break;case STATE_CLOSED:r=(e-this._$bb)/this._$Cb,r>=1&&(this._$_L=wt.STATE_OPENING,this._$bb=e),i=0;break;case STATE_OPENING:r=(e-this._$bb)/this._$mr,r>=1&&(r=1,this._$_L=wt.STATE_INTERVAL,this._$12=this._$T2()),i=r;break;case STATE_INTERVAL:this._$12.9?at.EXPAND_W:0;this.gl.drawElements(a,e,r,o,n,h,this.transform,_)}},X.prototype._$Rs=function(){throw new Error("_$Rs")},X.prototype._$Ds=function(t){throw new Error("_$Ds")},X.prototype._$K2=function(){for(var t=0;t=0;--i){var e=t[i];eW._$R2&&(W._$R2=e)}},W._$or=function(){return W._$52},W._$Pr=function(){return W._$R2},W.prototype._$F0=function(t){this._$gP=t._$nP(),this._$dr=t._$nP(),this._$GS=t._$nP(),this._$qb=t._$6L(),this._$Lb=t._$cS(),this._$mS=t._$Tb(),t.getFormatVersion()>=G._$T7?(this.clipID=t._$nP(),this.clipIDList=this.convertClipIDForV2_11(this.clipID)):this.clipIDList=null,W._$Sb(this._$Lb)},W.prototype.getClipIDList=function(){return this.clipIDList},W.prototype._$Nr=function(t,i){if(i._$IS[0]=!1,i._$Us=S._$Z2(t,this._$GS,i._$IS,this._$Lb),at._$Zs);else if(i._$IS[0])return;i._$7s=S._$br(t,this._$GS,i._$IS,this._$mS)},W.prototype._$2b=function(t){},W.prototype.getDrawDataID=function(){return this._$gP},W.prototype._$j2=function(t){this._$gP=t},W.prototype.getOpacity=function(t,i){return i._$7s},W.prototype._$zS=function(t,i){return i._$Us},W.prototype.getTargetBaseDataID=function(){return this._$dr},W.prototype._$gs=function(t){this._$dr=t},W.prototype._$32=function(){return null!=this._$dr&&this._$dr!=yt._$2o()},W.prototype.getType=function(){},j._$42=0,j.prototype._$1b=function(){return this._$3S},j.prototype.getDrawDataList=function(){return this._$aS},j.prototype._$F0=function(t){this._$NL=t._$nP(),this._$aS=t._$nP(),this._$3S=t._$nP()},j.prototype._$kr=function(t){t._$Zo(this._$3S),t._$xo(this._$aS),this._$3S=null,this._$aS=null},q.prototype=new i,q.loadModel=function(t){var e=new q;return i._$62(e,t),e},q.loadModel=function(t){var e=new q;return i._$62(e,t),e},q._$to=function(){return new q},q._$er=function(t){var i=new _$5("../_$_r/_$t0/_$Ri/_$_P._$d");if(0==i.exists())throw new _$ls("_$t0 _$_ _$6 _$Ui :: "+i._$PL());for(var e=["../_$_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"],r=q.loadModel(i._$3b()),o=0;o=0){var h=new B;O.startsWith(t,_,J._$cs)?(h._$RP=B._$hs,h._$4P=O.createString(t,_,a-_)):O.startsWith(t,_,J._$ar)?(h._$4P=O.createString(t,_+7,a-_-7),O.startsWith(t,_+7,"ANCHOR_X")?h._$RP=B._$xs:O.startsWith(t,_+7,"ANCHOR_Y")?h._$RP=B._$us:O.startsWith(t,_+7,"SCALE_X")?h._$RP=B._$qs:O.startsWith(t,_+7,"SCALE_Y")?h._$RP=B._$Ys:O.startsWith(t,_+7,"X")?h._$RP=B._$ws:O.startsWith(t,_+7,"Y")&&(h._$RP=B._$Ns)):(h._$RP=B._$Fr,h._$4P=O.createString(t,_,a-_)),i.motions.push(h);var l=0,$=[];for(o=a+1;o0){$.push(u),l++;var p=e[0];if(pi._$yT&&(i._$yT=l)}}}else{for(var _=o,a=-1;o=0)for(a==_+4&&"f"==Q(t,_+1)&&"p"==Q(t,_+2)&&"s"==Q(t,_+3)&&(f=!0),o=a+1;o0&&f&&5=l?l-1:s];t.setParamFloat($,u)}else if(B._$ws<=h._$RP&&h._$RP<=B._$Ys);else{var p,f=t.getParamIndex($),c=t.getModelContext(),g=c.getParamMax(f),d=c.getParamMin(f),y=.4*(g-d),m=c.getParamFloat(f),T=h._$I0[s>=l?l-1:s],P=h._$I0[s+1>=l?l-1:s+1];p=Ty||T>P&&T-P>y?T:T+(P-T)*_;var v=m+(p-m)*e;t.setParamFloat($,v)}}s>=this._$yT&&(this._$E?(r._$z2=i,this.loopFadeIn&&(r._$bs=i)):r._$9L=!0),this._$eP=e},J.prototype._$r0=function(){return this._$E},J.prototype._$aL=function(t){this._$E=t},J.prototype._$S0=function(){return this._$D0},J.prototype._$U0=function(t){this._$D0=t},J.prototype.isLoopFadeIn=function(){return this.loopFadeIn},J.prototype.setLoopFadeIn=function(t){this.loopFadeIn=t},N.prototype.clear=function(){this.size=0},N.prototype.add=function(t){if(this._$P.length<=this.size){var i=new Float32Array(2*this.size);w._$jT(this._$P,0,i,0,this.size),this._$P=i}this._$P[this.size++]=t},N.prototype._$BL=function(){var t=new Float32Array(this.size);return w._$jT(this._$P,0,t,0,this.size),t},B._$Fr=0,B._$hs=1,B._$ws=100,B._$Ns=101,B._$xs=102,B._$us=103,B._$qs=104,B._$Ys=105,Z.prototype=new I,Z._$gT=new Array,Z.prototype._$zP=function(){this._$GS=new D,this._$GS._$zP()},Z.prototype._$F0=function(t){I.prototype._$F0.call(this,t),this._$A=t._$6L(),this._$o=t._$6L(),this._$GS=t._$nP(),this._$Eo=t._$nP(),I.prototype.readV2_opacity.call(this,t)},Z.prototype.init=function(t){var i=new K(this),e=(this._$o+1)*(this._$A+1);return null!=i._$Cr&&(i._$Cr=null),i._$Cr=new Float32Array(2*e),null!=i._$hr&&(i._$hr=null),this._$32()?i._$hr=new Float32Array(2*e):i._$hr=null,i},Z.prototype._$Nr=function(t,i){var e=i;if(this._$GS._$Ur(t)){var r=this._$VT(),o=Z._$gT;o[0]=!1,S._$Vr(t,this._$GS,o,r,this._$Eo,e._$Cr,0,2),i._$Ib(o[0]),this.interpolateOpacity(t,this._$GS,i,o)}},Z.prototype._$2b=function(t,i){var e=i;if(e._$hS(!0),this._$32()){var r=this.getTargetBaseDataID();if(e._$8r==I._$ur&&(e._$8r=t.getBaseDataIndex(r)),e._$8r<0)at._$so&&_._$li("_$L _$0P _$G :: %s",r),e._$hS(!1);else{var o=t.getBaseData(e._$8r),n=t._$q2(e._$8r);if(null!=o&&n._$yo()){var s=n.getTotalScale();e.setTotalScale_notForClient(s);var a=n.getTotalOpacity();e.setTotalOpacity(a*e.getInterpolatedOpacity()),o._$nb(t,n,e._$Cr,e._$hr,this._$VT(),0,2),e._$hS(!0)}else e._$hS(!1)}}else e.setTotalOpacity(e.getInterpolatedOpacity())},Z.prototype._$nb=function(t,i,e,r,o,n,s){var _=i,a=null!=_._$hr?_._$hr:_._$Cr;Z.transformPoints_sdk2(e,r,o,n,s,a,this._$o,this._$A)},Z.transformPoints_sdk2=function(i,e,r,o,n,s,_,a){for(var h,l,$,u=r*n,p=0,f=0,c=0,g=0,d=0,y=0,m=!1,T=o;T=1){var b=s[2*(0+a*M)],F=s[2*(0+a*M)+1],C=p-2*c+1*d,N=f-2*g+1*y,x=p+3*d,O=f+3*y,D=p-2*c+3*d,R=f-2*g+3*y,B=.5*(S- -2),U=.5*(L-1);B+U<=1?(e[T]=C+(b-C)*B+(D-C)*U,e[T+1]=N+(F-N)*B+(R-N)*U):(e[T]=x+(D-x)*(1-B)+(b-x)*(1-U),e[T+1]=O+(R-O)*(1-B)+(F-O)*(1-U))}else{var G=0|v;G==a&&(G=a-1);var B=.5*(S- -2),U=v-G,Y=G/a,k=(G+1)/a,b=s[2*(0+G*M)],F=s[2*(0+G*M)+1],x=s[2*(0+(G+1)*M)],O=s[2*(0+(G+1)*M)+1],C=p-2*c+Y*d,N=f-2*g+Y*y,D=p-2*c+k*d,R=f-2*g+k*y;B+U<=1?(e[T]=C+(b-C)*B+(D-C)*U,e[T+1]=N+(F-N)*B+(R-N)*U):(e[T]=x+(D-x)*(1-B)+(b-x)*(1-U),e[T+1]=O+(R-O)*(1-B)+(F-O)*(1-U))}else if(1<=S)if(L<=0){var D=s[2*(_+0*M)],R=s[2*(_+0*M)+1],x=p+3*c,O=f+3*g,C=p+1*c-2*d,N=f+1*g-2*y,b=p+3*c-2*d,F=f+3*g-2*y,B=.5*(S-1),U=.5*(L- -2);B+U<=1?(e[T]=C+(b-C)*B+(D-C)*U,e[T+1]=N+(F-N)*B+(R-N)*U):(e[T]=x+(D-x)*(1-B)+(b-x)*(1-U),e[T+1]=O+(R-O)*(1-B)+(F-O)*(1-U))}else if(L>=1){var C=s[2*(_+a*M)],N=s[2*(_+a*M)+1],b=p+3*c+1*d,F=f+3*g+1*y,D=p+1*c+3*d,R=f+1*g+3*y,x=p+3*c+3*d,O=f+3*g+3*y,B=.5*(S-1),U=.5*(L-1);B+U<=1?(e[T]=C+(b-C)*B+(D-C)*U,e[T+1]=N+(F-N)*B+(R-N)*U):(e[T]=x+(D-x)*(1-B)+(b-x)*(1-U),e[T+1]=O+(R-O)*(1-B)+(F-O)*(1-U))}else{var G=0|v;G==a&&(G=a-1);var B=.5*(S-1),U=v-G,Y=G/a,k=(G+1)/a,C=s[2*(_+G*M)],N=s[2*(_+G*M)+1],D=s[2*(_+(G+1)*M)],R=s[2*(_+(G+1)*M)+1],b=p+3*c+Y*d,F=f+3*g+Y*y,x=p+3*c+k*d,O=f+3*g+k*y;B+U<=1?(e[T]=C+(b-C)*B+(D-C)*U,e[T+1]=N+(F-N)*B+(R-N)*U):(e[T]=x+(D-x)*(1-B)+(b-x)*(1-U),e[T+1]=O+(R-O)*(1-B)+(F-O)*(1-U))}else if(L<=0){var V=0|P;V==_&&(V=_-1);var B=P-V,U=.5*(L- -2),X=V/_,z=(V+1)/_,D=s[2*(V+0*M)],R=s[2*(V+0*M)+1],x=s[2*(V+1+0*M)],O=s[2*(V+1+0*M)+1],C=p+X*c-2*d,N=f+X*g-2*y,b=p+z*c-2*d,F=f+z*g-2*y;B+U<=1?(e[T]=C+(b-C)*B+(D-C)*U,e[T+1]=N+(F-N)*B+(R-N)*U):(e[T]=x+(D-x)*(1-B)+(b-x)*(1-U),e[T+1]=O+(R-O)*(1-B)+(F-O)*(1-U))}else if(L>=1){var V=0|P;V==_&&(V=_-1);var B=P-V,U=.5*(L-1),X=V/_,z=(V+1)/_,C=s[2*(V+a*M)],N=s[2*(V+a*M)+1],b=s[2*(V+1+a*M)],F=s[2*(V+1+a*M)+1],D=p+X*c+3*d,R=f+X*g+3*y,x=p+z*c+3*d,O=f+z*g+3*y;B+U<=1?(e[T]=C+(b-C)*B+(D-C)*U,e[T+1]=N+(F-N)*B+(R-N)*U):(e[T]=x+(D-x)*(1-B)+(b-x)*(1-U),e[T+1]=O+(R-O)*(1-B)+(F-O)*(1-U))}else t.err.printf("_$li calc : %.4f , %.4f\t\t\t\t\t@@BDBoxGrid\n",S,L);else e[T]=p+S*c+L*d,e[T+1]=f+S*g+L*y}else l=P-(0|P),$=v-(0|v),h=2*((0|P)+(0|v)*(_+1)),l+$<1?(e[T]=s[h]*(1-l-$)+s[h+2]*l+s[h+2*(_+1)]*$,e[T+1]=s[h+1]*(1-l-$)+s[h+3]*l+s[h+2*(_+1)+1]*$):(e[T]=s[h+2*(_+1)+2]*(l-1+$)+s[h+2*(_+1)]*(1-l)+s[h+2]*(1-$),e[T+1]=s[h+2*(_+1)+3]*(l-1+$)+s[h+2*(_+1)+1]*(1-l)+s[h+3]*(1-$))}},Z.prototype.transformPoints_sdk1=function(t,i,e,r,o,n,s){for(var _,a,h,l,$,u,p,f=i,c=this._$o,g=this._$A,d=o*s,y=null!=f._$hr?f._$hr:f._$Cr,m=n;m1&&(_=1),a<0?a=0:a>1&&(a=1),_*=c,a*=g,h=0|_,l=0|a,h>c-1&&(h=c-1),l>g-1&&(l=g-1),u=_-h,p=a-l,$=2*(h+l*(c+1))):(_=e[m]*c,a=e[m+1]*g,u=_-(0|_),p=a-(0|a),$=2*((0|_)+(0|a)*(c+1))),u+p<1?(r[m]=y[$]*(1-u-p)+y[$+2]*u+y[$+2*(c+1)]*p,r[m+1]=y[$+1]*(1-u-p)+y[$+3]*u+y[$+2*(c+1)+1]*p):(r[m]=y[$+2*(c+1)+2]*(u-1+p)+y[$+2*(c+1)]*(1-u)+y[$+2]*(1-p),r[m+1]=y[$+2*(c+1)+3]*(u-1+p)+y[$+2*(c+1)+1]*(1-u)+y[$+3]*(1-p))},Z.prototype._$VT=function(){return(this._$o+1)*(this._$A+1)},Z.prototype.getType=function(){return I._$_b},K.prototype=new _t,tt._$42=0,tt.prototype._$zP=function(){this._$3S=new Array,this._$aS=new Array},tt.prototype._$F0=function(t){this._$g0=t._$8L(),this.visible=t._$8L(),this._$NL=t._$nP(),this._$3S=t._$nP(),this._$aS=t._$nP()},tt.prototype.init=function(t){var i=new it(this);return i.setPartsOpacity(this.isVisible()?1:0),i},tt.prototype._$6o=function(t){if(null==this._$3S)throw new Error("_$3S _$6 _$Wo@_$6o");this._$3S.push(t)},tt.prototype._$3o=function(t){if(null==this._$aS)throw new Error("_$aS _$6 _$Wo@_$3o");this._$aS.push(t)},tt.prototype._$Zo=function(t){this._$3S=t},tt.prototype._$xo=function(t){this._$aS=t},tt.prototype.isVisible=function(){return this.visible},tt.prototype._$uL=function(){return this._$g0},tt.prototype._$KP=function(t){this.visible=t},tt.prototype._$ET=function(t){this._$g0=t},tt.prototype.getBaseData=function(){return this._$3S},tt.prototype.getDrawData=function(){return this._$aS},tt.prototype._$p2=function(){return this._$NL},tt.prototype._$ob=function(t){this._$NL=t},tt.prototype.getPartsID=function(){return this._$NL},tt.prototype._$MP=function(t){this._$NL=t},it.prototype=new $,it.prototype.getPartsOpacity=function(){return this._$VS},it.prototype.setPartsOpacity=function(t){this._$VS=t},et._$L7=function(){u._$27(),yt._$27(),b._$27(),l._$27()},et.prototype.toString=function(){return this.id},rt.prototype._$F0=function(t){},ot.prototype._$1s=function(){return this._$4S},ot.prototype._$zP=function(){this._$4S=new Array},ot.prototype._$F0=function(t){this._$4S=t._$nP()},ot.prototype._$Ks=function(t){this._$4S.push(t)},nt.tr=new dt,nt._$50=new dt,nt._$Ti=new Array(0,0),nt._$Pi=new Array(0,0),nt._$B=new Array(0,0),nt.prototype._$lP=function(t,i,e,r){this.viewport=new Array(t,i,e,r)},nt.prototype._$bL=function(){this.context.save();var t=this.viewport;null!=t&&(this.context.beginPath(),this.context._$Li(t[0],t[1],t[2],t[3]),this.context.clip())},nt.prototype._$ei=function(){this.context.restore()},nt.prototype.drawElements=function(t,i,e,r,o,n,s,a){try{o!=this._$Qo&&(this._$Qo=o,this.context.globalAlpha=o);for(var h=i.length,l=t.width,$=t.height,u=this.context,p=this._$xP,f=this._$uP,c=this._$6r,g=this._$3r,d=nt.tr,y=nt._$Ti,m=nt._$Pi,T=nt._$B,P=0;P.02?nt.expandClip(t,i,e,r,l,$,u,p,f,c):nt.clipWithTransform(t,null,o,n,s,_,a,h)},nt.expandClip=function(t,i,e,r,o,n,s,_,a,h){var l=s-o,$=_-n,u=a-o,p=h-n,f=l*p-$*u>0?e:-e,c=-$,g=l,d=a-s,y=h-_,m=-y,T=d,P=Math.sqrt(d*d+y*y),v=-p,S=u,L=Math.sqrt(u*u+p*p),M=o-f*c/r,E=n-f*g/r,A=s-f*c/r,I=_-f*g/r,w=s-f*m/P,x=_-f*T/P,O=a-f*m/P,D=h-f*T/P,R=o+f*v/L,b=n+f*S/L,F=a+f*v/L,C=h+f*S/L,N=nt._$50;return null!=i._$P2(N)&&(nt.clipWithTransform(t,N,M,E,A,I,w,x,O,D,F,C,R,b),!0)},nt.clipWithTransform=function(t,i,e,r,o,n,s,a){if(arguments.length<7)return void _._$li("err : @LDGL.clip()");if(!(arguments[1]instanceof dt))return void _._$li("err : a[0] is _$6 LDTransform @LDGL.clip()");var h=nt._$B,l=i,$=arguments;if(t.beginPath(),l){l._$PS($[2],$[3],h),t.moveTo(h[0],h[1]);for(var u=4;u<$.length;u+=2)l._$PS($[u],$[u+1],h),t.lineTo(h[0],h[1])}else{t.moveTo($[2],$[3]);for(var u=4;u<$.length;u+=2)t.lineTo($[u],$[u+1])}t.clip()},nt.createCanvas=function(t,i){var e=document.createElement("canvas");return e.setAttribute("width",t),e.setAttribute("height",i),e||_._$li("err : "+e),e},nt.dumpValues=function(){for(var t="",i=0;i1?1:.5-.5*Math.cos(t*Lt.PI_F)},lt._$fr=-1,lt.prototype.toString=function(){return this._$ib},$t.prototype=new W,$t._$42=0,$t._$Os=30,$t._$ms=0,$t._$ns=1,$t._$_s=2,$t._$gT=new Array,$t.prototype._$_S=function(t){this._$LP=t},$t.prototype.getTextureNo=function(){return this._$LP},$t.prototype._$ZL=function(){return this._$Qi},$t.prototype._$H2=function(){return this._$JP},$t.prototype.getNumPoints=function(){return this._$d0},$t.prototype.getType=function(){return W._$wb},$t.prototype._$B2=function(t,i,e){var r=i,o=null!=r._$hr?r._$hr:r._$Cr;switch(U._$do){default:case U._$Ms:throw new Error("_$L _$ro ");case U._$Qs:for(var n=this._$d0-1;n>=0;--n)o[n*U._$No+4]=e}},$t.prototype._$zP=function(){this._$GS=new D,this._$GS._$zP()},$t.prototype._$F0=function(t){W.prototype._$F0.call(this,t),this._$LP=t._$6L(),this._$d0=t._$6L(),this._$Yo=t._$6L();var i=t._$nP();this._$BP=new Int16Array(3*this._$Yo);for(var e=3*this._$Yo-1;e>=0;--e)this._$BP[e]=i[e];if(this._$Eo=t._$nP(),this._$Qi=t._$nP(),t.getFormatVersion()>=G._$s7){if(this._$JP=t._$6L(),0!=this._$JP){if(0!=(1&this._$JP)){var r=t._$6L();null==this._$5P&&(this._$5P=new Object),this._$5P._$Hb=parseInt(r)}0!=(this._$JP&$t._$Os)?this._$6s=(this._$JP&$t._$Os)>>1:this._$6s=$t._$ms,0!=(32&this._$JP)&&(this.culling=!1)}}else this._$JP=0},$t.prototype.init=function(t){var i=new ut(this),e=this._$d0*U._$No,r=this._$32();switch(null!=i._$Cr&&(i._$Cr=null),i._$Cr=new Float32Array(e),null!=i._$hr&&(i._$hr=null),i._$hr=r?new Float32Array(e):null,U._$do){default:case U._$Ms:if(U._$Ls)for(var o=this._$d0-1;o>=0;--o){var n=o<<1;this._$Qi[n+1]=1-this._$Qi[n+1]}break;case U._$Qs:for(var o=this._$d0-1;o>=0;--o){var n=o<<1,s=o*U._$No,_=this._$Qi[n],a=this._$Qi[n+1];i._$Cr[s]=_,i._$Cr[s+1]=a,i._$Cr[s+4]=0,r&&(i._$hr[s]=_,i._$hr[s+1]=a,i._$hr[s+4]=0)}}return i},$t.prototype._$Nr=function(t,i){var e=i;if(this!=e._$GT()&&console.log("### assert!! ### "),this._$GS._$Ur(t)&&(W.prototype._$Nr.call(this,t,e),!e._$IS[0])){var r=$t._$gT;r[0]=!1,S._$Vr(t,this._$GS,r,this._$d0,this._$Eo,e._$Cr,U._$i2,U._$No)}},$t.prototype._$2b=function(t,i){try{this!=i._$GT()&&console.log("### assert!! ### ");var e=!1;i._$IS[0]&&(e=!0);var r=i;if(!e&&(W.prototype._$2b.call(this,t),this._$32())){var o=this.getTargetBaseDataID();if(r._$8r==W._$ur&&(r._$8r=t.getBaseDataIndex(o)),r._$8r<0)at._$so&&_._$li("_$L _$0P _$G :: %s",o);else{var n=t.getBaseData(r._$8r),s=t._$q2(r._$8r);null==n||s._$x2()?r._$AT=!1:(n._$nb(t,s,r._$Cr,r._$hr,this._$d0,U._$i2,U._$No),r._$AT=!0),r.baseOpacity=s.getTotalOpacity()}}}catch(t){throw t}},$t.prototype.draw=function(t,i,e){if(this!=e._$GT()&&console.log("### assert!! ### "),!e._$IS[0]){var r=e,o=this._$LP;o<0&&(o=1);var n=this.getOpacity(i,r)*e._$VS*e.baseOpacity,s=null!=r._$hr?r._$hr:r._$Cr;t.setClipBufPre_clipContextForDraw(e.clipBufPre_clipContext),t._$WP(this.culling),t._$Uo(o,3*this._$Yo,this._$BP,s,this._$Qi,n,this._$6s,r)}},$t.prototype.dump=function(){console.log(" _$yi( %d ) , _$d0( %d ) , _$Yo( %d ) \n",this._$LP,this._$d0,this._$Yo),console.log(" _$Oi _$di = { ");for(var t=0;tstartMotion() / start _$K _$3 (m%d)\n",r,e._$sr));if(null==t)return-1;e=new gt,e._$w0=t,this.motions.push(e);var n=e._$sr;return this._$eb&&_._$Ji("MotionQueueManager[size:%2d]->startMotion() / new _$w0 (m%d)\n",r,n),n},ct.prototype.updateParam=function(t){try{for(var i=!1,e=0;eupdateParam() / _$T0 _$w0 (m%d)\n",this.motions.length-1,r._$sr),this.motions.splice(e,1),e--)):(this.motions=this.motions.splice(e,1),e--)}else this.motions.splice(e,1),e--}return i}catch(t){return _._$li(t),!0}},ct.prototype.isFinished=function(t){if(arguments.length>=1){for(var i=0;i.9&&at.EXPAND_W,this.gl);if(null==this.gl)throw new Error("gl is null");var h=1*this._$C0*n,l=1*this._$tT*n,$=1*this._$WL*n,u=this._$lT*n;if(null!=this.clipBufPre_clipContextMask){a.frontFace(a.CCW),a.useProgram(this.shaderProgram),this._$vS=Tt(a,this._$vS,r),this._$no=Pt(a,this._$no,e),a.enableVertexAttribArray(this.a_position_Loc),a.vertexAttribPointer(this.a_position_Loc,2,a.FLOAT,!1,0,0),this._$NT=Tt(a,this._$NT,o),a.activeTexture(a.TEXTURE1),a.bindTexture(a.TEXTURE_2D,this.textures[t]),a.uniform1i(this.s_texture0_Loc,1),a.enableVertexAttribArray(this.a_texCoord_Loc),a.vertexAttribPointer(this.a_texCoord_Loc,2,a.FLOAT,!1,0,0),a.uniformMatrix4fv(this.u_matrix_Loc,!1,this.getClipBufPre_clipContextMask().matrixForMask);var p=this.getClipBufPre_clipContextMask().layoutChannelNo,f=this.getChannelFlagAsColor(p);a.uniform4f(this.u_channelFlag,f.r,f.g,f.b,f.a);var c=this.getClipBufPre_clipContextMask().layoutBounds;a.uniform4f(this.u_baseColor_Loc,2*c.x-1,2*c.y-1,2*c._$EL()-1,2*c._$5T()-1),a.uniform1i(this.u_maskFlag_Loc,!0)}else if(null!=this.getClipBufPre_clipContextDraw()){a.useProgram(this.shaderProgramOff),this._$vS=Tt(a,this._$vS,r),this._$no=Pt(a,this._$no,e),a.enableVertexAttribArray(this.a_position_Loc_Off),a.vertexAttribPointer(this.a_position_Loc_Off,2,a.FLOAT,!1,0,0),this._$NT=Tt(a,this._$NT,o),a.activeTexture(a.TEXTURE1),a.bindTexture(a.TEXTURE_2D,this.textures[t]),a.uniform1i(this.s_texture0_Loc_Off,1),a.enableVertexAttribArray(this.a_texCoord_Loc_Off),a.vertexAttribPointer(this.a_texCoord_Loc_Off,2,a.FLOAT,!1,0,0),a.uniformMatrix4fv(this.u_clipMatrix_Loc_Off,!1,this.getClipBufPre_clipContextDraw().matrixForDraw),a.uniformMatrix4fv(this.u_matrix_Loc_Off,!1,this.matrix4x4),a.activeTexture(a.TEXTURE2),a.bindTexture(a.TEXTURE_2D,at.fTexture[this.glno]),a.uniform1i(this.s_texture1_Loc_Off,2);var p=this.getClipBufPre_clipContextDraw().layoutChannelNo,f=this.getChannelFlagAsColor(p);a.uniform4f(this.u_channelFlag_Loc_Off,f.r,f.g,f.b,f.a),a.uniform4f(this.u_baseColor_Loc_Off,h,l,$,u)}else a.useProgram(this.shaderProgram),this._$vS=Tt(a,this._$vS,r),this._$no=Pt(a,this._$no,e),a.enableVertexAttribArray(this.a_position_Loc),a.vertexAttribPointer(this.a_position_Loc,2,a.FLOAT,!1,0,0),this._$NT=Tt(a,this._$NT,o),a.activeTexture(a.TEXTURE1),a.bindTexture(a.TEXTURE_2D,this.textures[t]),a.uniform1i(this.s_texture0_Loc,1),a.enableVertexAttribArray(this.a_texCoord_Loc),a.vertexAttribPointer(this.a_texCoord_Loc,2,a.FLOAT,!1,0,0),a.uniformMatrix4fv(this.u_matrix_Loc,!1,this.matrix4x4),a.uniform4f(this.u_baseColor_Loc,h,l,$,u),a.uniform1i(this.u_maskFlag_Loc,!1);this.culling?this.gl.enable(a.CULL_FACE):this.gl.disable(a.CULL_FACE),this.gl.enable(a.BLEND);var g,d,y,m;if(null!=this.clipBufPre_clipContextMask)g=a.ONE,d=a.ONE_MINUS_SRC_ALPHA,y=a.ONE,m=a.ONE_MINUS_SRC_ALPHA;else switch(s){case $t._$ms:g=a.ONE,d=a.ONE_MINUS_SRC_ALPHA,y=a.ONE,m=a.ONE_MINUS_SRC_ALPHA;break;case $t._$ns:g=a.ONE,d=a.ONE,y=a.ZERO,m=a.ONE;break;case $t._$_s:g=a.DST_COLOR,d=a.ONE_MINUS_SRC_ALPHA,y=a.ZERO,m=a.ONE}a.blendEquationSeparate(a.FUNC_ADD,a.FUNC_ADD),a.blendFuncSeparate(g,d,y,m),this.anisotropyExt&&a.texParameteri(a.TEXTURE_2D,this.anisotropyExt.TEXTURE_MAX_ANISOTROPY_EXT,this.maxAnisotropy);var T=e.length;a.drawElements(a.TRIANGLES,T,a.UNSIGNED_SHORT,0),a.bindTexture(a.TEXTURE_2D,null)}},mt.prototype._$Rs=function(){throw new Error("_$Rs")},mt.prototype._$Ds=function(t){throw new Error("_$Ds")},mt.prototype._$K2=function(){for(var t=0;t=48){var r=G._$9o(t);return null!=r?(r._$F0(this),r):null}switch(t){case 1:return this._$bT();case 10:return new n(this._$6L(),!0);case 11:return new v(this._$mP(),this._$mP(),this._$mP(),this._$mP());case 12:return new v(this._$_T(),this._$_T(),this._$_T(),this._$_T());case 13:return new L(this._$mP(),this._$mP());case 14:return new L(this._$_T(),this._$_T());case 15:for(var o=this._$3L(),e=new Array(o),s=0;s>7-this._$hL++&1)},vt.prototype._$zT=function(){0!=this._$hL&&(this._$hL=0)},St.prototype._$wP=function(t,i,e){for(var r=0;rMath.PI;)e-=2*Math.PI;return e},Lt._$9=function(t){return Math.sin(t)},Lt.fcos=function(t){return Math.cos(t)},Mt.prototype._$u2=function(){return this._$IS[0]},Mt.prototype._$yo=function(){return this._$AT&&!this._$IS[0]},Mt.prototype._$GT=function(){return this._$e0},Et._$W2=0,Et.SYSTEM_INFO=null,Et.USER_AGENT=navigator.userAgent,Et.isIPhone=function(){return Et.SYSTEM_INFO||Et.setup(),Et.SYSTEM_INFO._isIPhone},Et.isIOS=function(){return Et.SYSTEM_INFO||Et.setup(),Et.SYSTEM_INFO._isIPhone||Et.SYSTEM_INFO._isIPad},Et.isAndroid=function(){return Et.SYSTEM_INFO||Et.setup(),Et.SYSTEM_INFO._isAndroid},Et.getOSVersion=function(){return Et.SYSTEM_INFO||Et.setup(),Et.SYSTEM_INFO.version},Et.getOS=function(){return Et.SYSTEM_INFO||Et.setup(),Et.SYSTEM_INFO._isIPhone||Et.SYSTEM_INFO._isIPad?"iOS":Et.SYSTEM_INFO._isAndroid?"Android":"_$Q0 OS"},Et.setup=function(){function t(t,i){for(var e=t.substring(i).split(/[ _,;\.]/),r=0,o=0;o<=2&&!isNaN(e[o]);o++){var n=parseInt(e[o]);if(n<0||n>999){_._$li("err : "+n+" @UtHtml5.setup()"),r=0;break}r+=n*Math.pow(1e3,2-o)}return r}var i,e=Et.USER_AGENT,r=Et.SYSTEM_INFO={userAgent:e};if((i=e.indexOf("iPhone OS "))>=0)r.os="iPhone",r._isIPhone=!0,r.version=t(e,i+"iPhone OS ".length);else if((i=e.indexOf("iPad"))>=0){if((i=e.indexOf("CPU OS"))<0)return void _._$li(" err : "+e+" @UtHtml5.setup()");r.os="iPad",r._isIPad=!0,r.version=t(e,i+"CPU OS ".length)}else(i=e.indexOf("Android"))>=0?(r.os="Android",r._isAndroid=!0,r.version=t(e,i+"Android ".length)):(r.os="-",r.version=-1)},window.UtSystem=w,window.UtDebug=_,window.LDTransform=dt,window.LDGL=nt,window.Live2D=at,window.Live2DModelWebGL=ft,window.Live2DModelJS=q,window.Live2DMotion=J,window.MotionQueueManager=ct,window.PhysicsHair=f,window.AMotion=s,window.PartsDataID=l,window.DrawDataID=b,window.BaseDataID=yt,window.ParamID=u,at.init();var At=!1}()}).call(i,e(7))},function(t,i){t.exports={import:function(){throw new Error("System.import cannot be used indirectly")}}},function(t,i,e){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function o(){this.models=[],this.count=-1,this.reloadFlg=!1,Live2D.init(),n.Live2DFramework.setPlatformManager(new _.default)}Object.defineProperty(i,"__esModule",{value:!0}),i.default=o;var n=e(0),s=e(9),_=r(s),a=e(10),h=r(a),l=e(1),$=r(l);o.prototype.createModel=function(){var t=new h.default;return this.models.push(t),t},o.prototype.changeModel=function(t,i){if(this.reloadFlg){this.reloadFlg=!1;this.releaseModel(0,t),this.createModel(),this.models[0].load(t,i)}},o.prototype.getModel=function(t){return t>=this.models.length?null:this.models[t]},o.prototype.releaseModel=function(t,i){this.models.length<=t||(this.models[t].release(i),delete this.models[t],this.models.splice(t,1))},o.prototype.numModels=function(){return this.models.length},o.prototype.setDrag=function(t,i){for(var e=0;e0){r.expressions={};for(var t=0;t 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 /*\r\n if( this.live2DModel != null ) {\r\n this.live2DModel.deleteTextures();\r\n }\r\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(thisRef.live2DModel.getCanvasWidth(), 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// 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// 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// 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 } 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 } catch (e) {\n console.warn(e);\n }\n};\n\n//============================================================\n// L2DBaseModel # hitTestSimple()\n//============================================================\nL2DBaseModel.prototype.hitTestSimple = function (drawID, testX, testY) {\n\n if (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/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\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 } else if (calc === \"mult\") {\n calcTypeInt = L2DExpressionMotion.TYPE_MULT;\n } else if (calc === \"set\") {\n calcTypeInt = L2DExpressionMotion.TYPE_SET;\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 } 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// 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 } else if (param.type == L2DExpressionMotion.TYPE_MULT) {\n model.multParamFloat(param.id, param.value, weight);\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/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\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//============================================================\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 EYE_STATE() {};\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/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\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//============================================================\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//============================================================\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++) {\n this.tr[i] = tr[i];\n }\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/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\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/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\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\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/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\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 } else if (typeStr === \"y\") {\n type = PhysicsHair.Src.SRC_TO_Y;\n } else if (typeStr === \"angle\") {\n type = PhysicsHair.Src.SRC_TO_G_ANGLE;\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 } else if (typeStr === \"angle_v\") {\n type = PhysicsHair.Target.TARGET_FROM_ANGLE_V;\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/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\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// 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 } else {\n var opacity = model.getPartsOpacity(partsIndex);\n var a1;\n if (visibleOpacity < phi) {\n a1 = visibleOpacity * (phi - 1) / phi + 1;\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/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\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 = 30;\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/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\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 this.max = Number.MAX_VALUE;\n this.min = 0;\n}\n\nL2DViewMatrix.prototype = new L2DMatrix44(); //L2DViewMatrix extends L2DMatrix44\n\n//============================================================\n// L2DViewMatrix # getMaxScale()\n//============================================================\nL2DViewMatrix.prototype.getMaxScale = function () {\n return this.max;\n};\n\n//============================================================\n// L2DViewMatrix # getMinScale()\n//============================================================\nL2DViewMatrix.prototype.getMinScale = function () {\n return this.min;\n};\n\n//============================================================\n// L2DViewMatrix # setMaxScale()\n//============================================================\nL2DViewMatrix.prototype.setMaxScale = function (v /*float*/) {\n this.max = v;\n};\n\n//============================================================\n// L2DViewMatrix # setMinScale()\n//============================================================\nL2DViewMatrix.prototype.setMinScale = function (v /*float*/) {\n this.min = v;\n};\n\n//============================================================\n// L2DViewMatrix # isMaxScale()\n//============================================================\nL2DViewMatrix.prototype.isMaxScale = function () {\n return this.getScaleX() == this.max;\n};\n\n//============================================================\n// L2DViewMatrix # isMinScale()\n//============================================================\nL2DViewMatrix.prototype.isMinScale = function () {\n return this.getScaleX() == this.min;\n};\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) shiftX = this.screenLeft - this.tr[0] * this.maxLeft - this.tr[12];\n if (this.tr[0] * this.maxRight + (this.tr[12] + shiftX) < this.screenRight) shiftX = this.screenRight - this.tr[0] * this.maxRight - this.tr[12];\n if (this.tr[5] * this.maxTop + (this.tr[13] + shiftY) < this.screenTop) shiftY = this.screenTop - this.tr[5] * this.maxTop - this.tr[13];\n if (this.tr[5] * this.maxBottom + (this.tr[13] + shiftY) > this.screenBottom) shiftY = this.screenBottom - this.tr[5] * this.maxBottom - this.tr[13];\n\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// L2DViewMatrix # adjustScale()\n//============================================================\nL2DViewMatrix.prototype.adjustScale = function (cx /*float*/, cy /*float*/, scale /*float*/) {\n var targetScale = scale * this.tr[0];\n if (targetScale < this.min) {\n if (this.tr[0] > 0) scale = this.min / this.tr[0];\n } else if (targetScale > this.max) {\n if (this.tr[0] > 0) scale = this.max / this.tr[0];\n }\n var tr1 = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, cx, cy, 0, 1];\n var tr2 = [scale, 0, 0, 0, 0, scale, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n var tr3 = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -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/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\n\n//============================================================\n//============================================================\n// class Live2DFramework \n//============================================================\n//============================================================\nfunction Live2DFramework() {}\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\nmodule.exports = {\n L2DTargetPoint: L2DTargetPoint,\n Live2DFramework: Live2DFramework,\n L2DViewMatrix: L2DViewMatrix,\n L2DPose: L2DPose,\n L2DPartsParam: L2DPartsParam,\n L2DPhysics: L2DPhysics,\n L2DMotionManager: L2DMotionManager,\n L2DModelMatrix: L2DModelMatrix,\n L2DMatrix44: L2DMatrix44,\n EYE_STATE: EYE_STATE,\n L2DEyeBlink: L2DEyeBlink,\n L2DExpressionParam: L2DExpressionParam,\n L2DExpressionMotion: L2DExpressionMotion,\n L2DBaseModel: L2DBaseModel\n};\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LAppDefine = {\n\n DEBUG_LOG: false,\n DEBUG_MOUSE_LOG: false,\n // DEBUG_DRAW_HIT_AREA : false, \n // DEBUG_DRAW_ALPHA_MODEL : false, \n\n\n VIEW_MAX_SCALE: 2,\n VIEW_MIN_SCALE: 0.8,\n\n VIEW_LOGICAL_LEFT: -1,\n VIEW_LOGICAL_RIGHT: 1,\n\n VIEW_LOGICAL_MAX_LEFT: -2,\n VIEW_LOGICAL_MAX_RIGHT: 2,\n VIEW_LOGICAL_MAX_BOTTOM: -2,\n VIEW_LOGICAL_MAX_TOP: 2,\n\n PRIORITY_NONE: 0,\n PRIORITY_IDLE: 1,\n PRIORITY_NORMAL: 2,\n PRIORITY_FORCE: 3,\n\n MOTION_GROUP_IDLE: \"idle\",\n MOTION_GROUP_TAP_BODY: \"tap_body\",\n MOTION_GROUP_FLICK_HEAD: \"flick_head\",\n MOTION_GROUP_PINCH_IN: \"pinch_in\",\n MOTION_GROUP_PINCH_OUT: \"pinch_out\",\n MOTION_GROUP_SHAKE: \"shake\",\n\n HIT_AREA_HEAD: \"head\",\n HIT_AREA_BODY: \"body\"\n\n};\n\nmodule.exports = LAppDefine;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setContext = setContext;\nexports.getContext = getContext;\n\nvar context = undefined;\n\nfunction setContext(webglContext) {\n context = webglContext;\n}\n\nfunction getContext() {\n return context;\n}\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\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 * EYHN 修改\n * \n * Copyright © 2016 - 2017 EYHN\n */\n\nfunction MatrixStack() {}\n\nMatrixStack.matrixStack = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n\nMatrixStack.depth = 0;\n\nMatrixStack.currentMatrix = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n\nMatrixStack.tmp = new Array(16);\n\nMatrixStack.reset = function () {\n this.depth = 0;\n};\n\nMatrixStack.loadIdentity = function () {\n for (var i = 0; i < 16; i++) {\n this.currentMatrix[i] = i % 5 == 0 ? 1 : 0;\n }\n};\n\nMatrixStack.push = function () {\n var offset = this.depth * 16;\n var nextOffset = (this.depth + 1) * 16;\n\n if (this.matrixStack.length < nextOffset + 16) {\n this.matrixStack.length = nextOffset + 16;\n }\n\n for (var i = 0; i < 16; i++) {\n this.matrixStack[nextOffset + i] = this.currentMatrix[i];\n }\n\n this.depth++;\n};\n\nMatrixStack.pop = function () {\n this.depth--;\n if (this.depth < 0) {\n myError(\"Invalid matrix stack.\");\n this.depth = 0;\n }\n\n var offset = this.depth * 16;\n for (var i = 0; i < 16; i++) {\n this.currentMatrix[i] = this.matrixStack[offset + i];\n }\n};\n\nMatrixStack.getMatrix = function () {\n return this.currentMatrix;\n};\n\nMatrixStack.multMatrix = function (matNew) {\n var i, j, k;\n\n for (i = 0; i < 16; i++) {\n this.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 this.tmp[i + j * 4] += this.currentMatrix[i + k * 4] * matNew[k + j * 4];\n }\n }\n }\n for (i = 0; i < 16; i++) {\n this.currentMatrix[i] = this.tmp[i];\n }\n};\n\nmodule.exports = MatrixStack;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(5);\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(6);\n\nvar _Live2DFramework = __webpack_require__(0);\n\nvar _LAppLive2DManager = __webpack_require__(8);\n\nvar _LAppLive2DManager2 = _interopRequireDefault(_LAppLive2DManager);\n\nvar _LAppDefine = __webpack_require__(1);\n\nvar _LAppDefine2 = _interopRequireDefault(_LAppDefine);\n\nvar _MatrixStack = __webpack_require__(3);\n\nvar _MatrixStack2 = _interopRequireDefault(_MatrixStack);\n\nvar _webglcontext = __webpack_require__(2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// window.onerror = function (msg, url, line, col, error) {\n// let errmsg = \"file:\" + url + \"
line:\" + line + \" \" + msg;\n// console.error(errmsg);\n// }\n\nvar platform = window.navigator.platform.toLowerCase();\n\nvar live2DMgr = new _LAppLive2DManager2.default();\n\nvar isDrawStart = false;\n\nvar gl = null;\n\nvar canvas = null;\n\nvar dragMgr = null;\n\nvar viewMatrix = null;\n\nvar projMatrix = null;\n\nvar deviceToScreen = null;\n\nvar drag = false;\n\nvar oldLen = 0;\n\nvar lastMouseX = 0;\n\nvar lastMouseY = 0;\n\nvar isModelShown = 0;\n\nvar modelurl = \"\";\n\nvar head_pos = 0.5;\n\nfunction initL2dCanvas(canvasId) {\n canvas = document.getElementById(canvasId);\n if (canvas.addEventListener) {\n //canvas.addEventListener(\"mousewheel\", mouseEvent);\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 //canvas.addEventListener(\"contextmenu\", mouseEvent);\n window.addEventListener(\"touchstart\", touchEvent);\n window.addEventListener(\"touchend\", touchEvent);\n window.addEventListener(\"touchmove\", touchEvent);\n }\n}\n\nfunction init(modelurl) {\n var width = canvas.width;\n var height = canvas.height;\n\n dragMgr = new _Live2DFramework.L2DTargetPoint();\n\n var ratio = height / width;\n var left = _LAppDefine2.default.VIEW_LOGICAL_LEFT;\n var right = _LAppDefine2.default.VIEW_LOGICAL_RIGHT;\n var bottom = -ratio;\n var top = ratio;\n\n viewMatrix = new _Live2DFramework.L2DViewMatrix();\n\n viewMatrix.setScreenRect(left, right, bottom, top);\n\n viewMatrix.setMaxScreenRect(_LAppDefine2.default.VIEW_LOGICAL_MAX_LEFT, _LAppDefine2.default.VIEW_LOGICAL_MAX_RIGHT, _LAppDefine2.default.VIEW_LOGICAL_MAX_BOTTOM, _LAppDefine2.default.VIEW_LOGICAL_MAX_TOP);\n\n viewMatrix.setMaxScale(_LAppDefine2.default.VIEW_MAX_SCALE);\n viewMatrix.setMinScale(_LAppDefine2.default.VIEW_MIN_SCALE);\n\n projMatrix = new _Live2DFramework.L2DMatrix44();\n projMatrix.multScale(1, width / height);\n\n deviceToScreen = new _Live2DFramework.L2DMatrix44();\n deviceToScreen.multTranslate(-width / 2.0, -height / 2.0);\n deviceToScreen.multScale(2 / width, -2 / width);\n\n gl = getWebGLContext();\n (0, _webglcontext.setContext)(gl);\n if (!gl) {\n console.error(\"Failed to create WebGL context.\");\n if (!!window.WebGLRenderingContext) {\n console.error(\"Your browser don't support WebGL, check https://get.webgl.org/ for futher information.\");\n }\n return;\n }\n window.Live2D.setGL(gl);\n gl.clearColor(0.0, 0.0, 0.0, 0.0);\n changeModel(modelurl);\n startDraw();\n}\n\nfunction startDraw() {\n if (!isDrawStart) {\n isDrawStart = true;\n (function tick() {\n draw();\n var requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;\n\n requestAnimationFrame(tick, canvas);\n })();\n }\n}\n\nfunction draw() {\n _MatrixStack2.default.reset();\n _MatrixStack2.default.loadIdentity();\n dragMgr.update();\n live2DMgr.setDrag(dragMgr.getX(), dragMgr.getY());\n\n gl.clear(gl.COLOR_BUFFER_BIT);\n\n _MatrixStack2.default.multMatrix(projMatrix.getArray());\n _MatrixStack2.default.multMatrix(viewMatrix.getArray());\n _MatrixStack2.default.push();\n\n for (var i = 0; i < live2DMgr.numModels(); i++) {\n var model = live2DMgr.getModel(i);\n\n if (model == null) return;\n\n if (model.initialized && !model.updating) {\n model.update();\n model.draw(gl);\n }\n }\n _MatrixStack2.default.pop();\n}\n\nfunction changeModel(modelurl) {\n live2DMgr.reloadFlg = true;\n live2DMgr.count++;\n live2DMgr.changeModel(gl, modelurl);\n}\n\nfunction modelScaling(scale) {\n var isMaxScale = viewMatrix.isMaxScale();\n var isMinScale = viewMatrix.isMinScale();\n\n viewMatrix.adjustScale(0, 0, scale);\n\n if (!isMaxScale) {\n if (viewMatrix.isMaxScale()) {\n live2DMgr.maxScaleEvent();\n }\n }\n\n if (!isMinScale) {\n if (viewMatrix.isMinScale()) {\n live2DMgr.minScaleEvent();\n }\n }\n}\n\nfunction transformRange(center, transform, range) {\n var a = {\n x: transform.x - center.x,\n y: transform.y - center.y\n };\n var 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 return A.x * B.x + A.y * B.y;\n}\n\nfunction normalize(x, y) {\n var 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 if (transform.x < rect.left + rect.width && transform.y < rect.top + rect.height && transform.x > rect.left && transform.y > rect.top) return transform;\n var Len_X = center.x - transform.x;\n var Len_Y = center.y - transform.y;\n\n function angle(Len_X, Len_Y) {\n return Math.acos(dot({\n x: 0,\n y: 1\n }, normalize(Len_X, Len_Y))) * 180 / Math.PI;\n }\n\n var angleTarget = angle(Len_X, Len_Y);\n if (transform.x < center.x) angleTarget = 360 - angleTarget;\n var angleLeftTop = 360 - angle(rect.left - center.x, (rect.top - center.y) * -1);\n var angleLeftBottom = 360 - angle(rect.left - center.x, (rect.top + rect.height - center.y) * -1);\n var angleRightTop = angle(rect.left + rect.width - center.x, (rect.top - center.y) * -1);\n var angleRightBottom = angle(rect.left + rect.width - center.x, (rect.top + rect.height - center.y) * -1);\n var scale = Len_Y / Len_X;\n var res = {};\n\n if (angleTarget < angleRightTop) {\n var y3 = rect.top - center.y;\n var x3 = y3 / scale;\n res = {\n y: center.y + y3,\n x: center.x + x3\n };\n } else if (angleTarget < angleRightBottom) {\n var _x = rect.left + rect.width - center.x;\n var _y = _x * scale;\n res = {\n y: center.y + _y,\n x: center.x + _x\n };\n } else if (angleTarget < angleLeftBottom) {\n var _y2 = rect.top + rect.height - center.y;\n var _x2 = _y2 / scale;\n res = {\n y: center.y + _y2,\n x: center.x + _x2\n };\n } else if (angleTarget < angleLeftTop) {\n var _x3 = center.x - rect.left;\n var _y3 = _x3 * scale;\n res = {\n y: center.y - _y3,\n x: center.x - _x3\n };\n } else {\n var _y4 = rect.top - center.y;\n var _x4 = _y4 / scale;\n res = {\n y: center.y + _y4,\n x: center.x + _x4\n };\n }\n\n return res;\n}\n\nfunction modelTurnHead(event) {\n drag = true;\n\n var rect = canvas.getBoundingClientRect();\n\n var sx = transformScreenX(event.clientX - rect.left);\n var sy = transformScreenY(event.clientY - rect.top);\n var target = transformRect({\n x: rect.left + rect.width / 2,\n y: rect.top + rect.height * head_pos\n }, {\n x: event.clientX,\n y: event.clientY\n }, rect);\n var vx = transformViewX(target.x - rect.left);\n var vy = transformViewY(target.y - rect.top);\n\n if (_LAppDefine2.default.DEBUG_MOUSE_LOG) console.log(\"onMouseDown 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 live2DMgr.tapEvent(vx, vy);\n}\n\nfunction followPointer(event) {\n var rect = canvas.getBoundingClientRect();\n\n var sx = transformScreenX(event.clientX - rect.left);\n var sy = transformScreenY(event.clientY - rect.top);\n var target = transformRect({\n x: rect.left + rect.width / 2,\n y: rect.top + rect.height * head_pos\n }, {\n x: event.clientX,\n y: event.clientY\n }, rect);\n var vx = transformViewX(target.x - rect.left);\n var vy = transformViewY(target.y - rect.top);\n\n if (_LAppDefine2.default.DEBUG_MOUSE_LOG) console.log(\"onMouseMove device( x:\" + event.clientX + \" y:\" + event.clientY + \" ) view( x:\" + vx + \" y:\" + vy + \")\");\n\n if (drag) {\n lastMouseX = sx;\n lastMouseY = sy;\n dragMgr.setPoint(vx, vy);\n }\n}\n\nfunction lookFront() {\n if (drag) {\n drag = false;\n }\n dragMgr.setPoint(0, 0);\n}\n\nfunction mouseEvent(e) {\n //e.preventDefault();\n if (e.type == \"mousewheel\") {\n // if (e.clientX < 0 || canvas.clientWidth < e.clientX || \n // e.clientY < 0 || canvas.clientHeight < e.clientY)\n // {\n // return;\n // }\n // if (e.wheelDelta > 0) modelScaling(1.1); \n // else modelScaling(0.9); \n } else if (e.type == \"mousedown\") {\n if (\"button\" in e && e.button != 0) return;\n // modelTurnHead(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 var touch = e.touches[0];\n if (e.type == \"touchstart\") {\n if (e.touches.length == 1) modelTurnHead(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 var screenX = deviceToScreen.transformX(deviceX);\n return viewMatrix.invertTransformX(screenX);\n}\n\nfunction transformViewY(deviceY) {\n var screenY = deviceToScreen.transformY(deviceY);\n return viewMatrix.invertTransformY(screenY);\n}\n\nfunction transformScreenX(deviceX) {\n return deviceToScreen.transformX(deviceX);\n}\n\nfunction transformScreenY(deviceY) {\n return deviceToScreen.transformY(deviceY);\n}\n\nfunction getWebGLContext() {\n var NAMES = [\"webgl\", \"experimental-webgl\", \"webkit-3d\", \"moz-webgl\"];\n for (var i = 0; i < NAMES.length; i++) {\n try {\n var ctx = canvas.getContext(NAMES[i], { premultipliedAlpha: true });\n if (ctx) return ctx;\n } catch (e) {}\n }\n return null;\n};\n\nfunction loadlive2d(id, modelurl, headPos) {\n head_pos = typeof headPos === 'undefined' ? 0.5 : headPos;\n initL2dCanvas(id);\n init(modelurl);\n}\n\nwindow.loadlive2d = loadlive2d;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(System) {\n\n(function () {\n var j = true;function aa() {\n if (j) {\n return;\n }this._$MT = null;this._$5S = null;this._$NP = 0;aa._$42++;this._$5S = new y(this);\n }aa._$0s = 1;aa._$4s = 2;aa._$42 = 0;aa._$62 = function (aQ, aU) {\n try {\n if (aU instanceof ArrayBuffer) {\n aU = new DataView(aU);\n }if (!(aU instanceof DataView)) {\n throw new J(\"_$SS#loadModel(b) / b _$x be DataView or ArrayBuffer\");\n }var aS = new K(aU);var aM = aS._$ST();var aK = aS._$ST();var aJ = aS._$ST();var aN;if (aM == 109 && aK == 111 && aJ == 99) {\n aN = aS._$ST();\n } else {\n throw new J(\"_$gi _$C _$li , _$Q0 _$P0.\");\n }aS._$gr(aN);if (aN > ay._$T7) {\n aQ._$NP |= aa._$4s;var aR = ay._$T7;var aI = \"_$gi _$C _$li , _$n0 _$_ version _$li ( SDK : \" + aR + \" < _$f0 : \" + aN + \" )@_$SS#loadModel()\\n\";throw new J(aI);\n }var aL = aS._$nP();if (aN >= ay._$s7) {\n var aH = aS._$9T();var aT = aS._$9T();if (aH != -30584 || aT != -30584) {\n aQ._$NP |= aa._$0s;throw new J(\"_$gi _$C _$li , _$0 _$6 _$Ui.\");\n }\n }aQ._$KS(aL);var aP = aQ.getModelContext();aP.setDrawParam(aQ.getDrawParam());aP.init();\n } catch (aO) {\n q._$Rb(aO);\n }\n };aa.prototype._$KS = function (aH) {\n this._$MT = aH;\n };aa.prototype.getModelImpl = function () {\n if (this._$MT == null) {\n this._$MT = new w();this._$MT._$zP();\n }return this._$MT;\n };aa.prototype.getCanvasWidth = function () {\n if (this._$MT == null) {\n return 0;\n }return this._$MT.getCanvasWidth();\n };aa.prototype.getCanvasHeight = function () {\n if (this._$MT == null) {\n return 0;\n }return this._$MT.getCanvasHeight();\n };aa.prototype.getParamFloat = function (aH) {\n if (typeof aH != \"number\") {\n aH = this._$5S.getParamIndex(z.getID(aH));\n }return this._$5S.getParamFloat(aH);\n };aa.prototype.setParamFloat = function (aH, aJ, aI) {\n if (typeof aH != \"number\") {\n aH = this._$5S.getParamIndex(z.getID(aH));\n }if (arguments.length < 3) {\n aI = 1;\n }this._$5S.setParamFloat(aH, this._$5S.getParamFloat(aH) * (1 - aI) + aJ * aI);\n };aa.prototype.addToParamFloat = function (aH, aJ, aI) {\n if (typeof aH != \"number\") {\n aH = this._$5S.getParamIndex(z.getID(aH));\n }if (arguments.length < 3) {\n aI = 1;\n }this._$5S.setParamFloat(aH, this._$5S.getParamFloat(aH) + aJ * aI);\n };aa.prototype.multParamFloat = function (aH, aJ, aI) {\n if (typeof aH != \"number\") {\n aH = this._$5S.getParamIndex(z.getID(aH));\n }if (arguments.length < 3) {\n aI = 1;\n }this._$5S.setParamFloat(aH, this._$5S.getParamFloat(aH) * (1 + (aJ - 1) * aI));\n };aa.prototype.getParamIndex = function (aH) {\n return this._$5S.getParamIndex(z.getID(aH));\n };aa.prototype.loadParam = function () {\n this._$5S.loadParam();\n };aa.prototype.saveParam = function () {\n this._$5S.saveParam();\n };aa.prototype.init = function () {\n this._$5S.init();\n };aa.prototype.update = function () {\n this._$5S.update();\n };aa.prototype._$Rs = function () {\n q._$li(\"_$60 _$PT _$Rs()\");return -1;\n };aa.prototype._$Ds = function (aH) {\n q._$li(\"_$60 _$PT _$SS#_$Ds() \\n\");\n };aa.prototype._$K2 = function () {};aa.prototype.draw = function () {};aa.prototype.getModelContext = function () {\n return this._$5S;\n };aa.prototype._$s2 = function () {\n return this._$NP;\n };aa.prototype._$P7 = function (aK, aR, aH, a0) {\n var aU = -1;var aY = 0;var aM = this;var aJ = 0.5;var aI = 0.15;var aX = true;if (aH == 0) {\n for (var aV = 0; aV < aK.length; aV++) {\n var aP = aK[aV];var aO = aR[aV];var aS = aM.getParamFloat(aP) != 0;aM.setPartsOpacity(aO, aS ? 1 : 0);\n }return;\n } else {\n if (aK.length == 1) {\n var aP = aK[0];var aT = aM.getParamFloat(aP) != 0;var aO = aR[0];var aQ = aM.getPartsOpacity(aO);var aW = aH / a0;if (aT) {\n aQ += aW;if (aQ > 1) {\n aQ = 1;\n }\n } else {\n aQ -= aW;if (aQ < 0) {\n aQ = 0;\n }\n }aM.setPartsOpacity(aO, aQ);\n } else {\n for (var aV = 0; aV < aK.length; aV++) {\n var aP = aK[aV];var aS = aM.getParamFloat(aP) != 0;if (aS) {\n if (aU >= 0) {\n break;\n }aU = aV;var aO = aR[aV];aY = aM.getPartsOpacity(aO);aY += aH / a0;if (aY > 1) {\n aY = 1;\n }\n }\n }if (aU < 0) {\n console.log(\"No _$wi _$q0/ _$U default[%s]\", aK[0]);aU = 0;aY = 1;aM.loadParam();aM.setParamFloat(aK[aU], aY);aM.saveParam();\n }for (var aV = 0; aV < aK.length; aV++) {\n var aO = aR[aV];if (aU == aV) {\n aM.setPartsOpacity(aO, aY);\n } else {\n var aL = aM.getPartsOpacity(aO);var aZ;if (aY < aJ) {\n aZ = aY * (aJ - 1) / aJ + 1;\n } else {\n aZ = (1 - aY) * aJ / (1 - aJ);\n }if (aX) {\n var aN = (1 - aZ) * (1 - aY);if (aN > aI) {\n aZ = 1 - aI / (1 - aY);\n }\n }if (aL > aZ) {\n aL = aZ;\n }aM.setPartsOpacity(aO, aL);\n }\n }\n }\n }\n };aa.prototype.setPartsOpacity = function (aI, aH) {\n if (typeof aI != \"number\") {\n aI = this._$5S.getPartsDataIndex(i.getID(aI));\n }this._$5S.setPartsOpacity(aI, aH);\n };aa.prototype.getPartsDataIndex = function (aH) {\n if (!(aH instanceof i)) {\n aH = i.getID(aH);\n }return this._$5S.getPartsDataIndex(aH);\n };aa.prototype.getPartsOpacity = function (aH) {\n if (typeof aH != \"number\") {\n aH = this._$5S.getPartsDataIndex(i.getID(aH));\n }if (aH < 0) {\n return 0;\n }return this._$5S.getPartsOpacity(aH);\n };aa.prototype.getDrawParam = function () {};aa.prototype.getDrawDataIndex = function (aH) {\n return this._$5S.getDrawDataIndex(Z.getID(aH));\n };aa.prototype.getDrawData = function (aH) {\n return this._$5S.getDrawData(aH);\n };aa.prototype.getTransformedPoints = function (aH) {\n var aI = this._$5S._$C2(aH);if (aI instanceof ag) {\n return aI.getTransformedPoints();\n }return null;\n };aa.prototype.getIndexArray = function (aI) {\n if (aI < 0 || aI >= this._$5S._$aS.length) {\n return null;\n }var aH = this._$5S._$aS[aI];if (aH != null && aH.getType() == a._$wb) {\n if (aH instanceof b) {\n return aH.getIndexArray();\n }\n }return null;\n };function W(aJ) {\n if (j) {\n return;\n }this.clipContextList = new Array();this.glcontext = aJ.gl;this.dp_webgl = aJ;this.curFrameNo = 0;this.firstError_clipInNotUpdate = true;this.colorBuffer = 0;this.isInitGLFBFunc = false;this.tmpBoundsOnModel = new av();if (Q.glContext.length > Q.frameBuffers.length) {\n this.curFrameNo = this.getMaskRenderTexture();\n } else {}this.tmpModelToViewMatrix = new ac();this.tmpMatrix2 = new ac();this.tmpMatrixForMask = new ac();this.tmpMatrixForDraw = new ac();this.CHANNEL_COLORS = new Array();var aI = new o();aI = new o();aI.r = 0;aI.g = 0;aI.b = 0;aI.a = 1;this.CHANNEL_COLORS.push(aI);aI = new o();aI.r = 1;aI.g = 0;aI.b = 0;aI.a = 0;this.CHANNEL_COLORS.push(aI);aI = new o();aI.r = 0;aI.g = 1;aI.b = 0;aI.a = 0;this.CHANNEL_COLORS.push(aI);aI = new o();aI.r = 0;aI.g = 0;aI.b = 1;aI.a = 0;this.CHANNEL_COLORS.push(aI);for (var aH = 0; aH < this.CHANNEL_COLORS.length; aH++) {\n this.dp_webgl.setChannelFlagAsColor(aH, this.CHANNEL_COLORS[aH]);\n }\n }W.CHANNEL_COUNT = 4;W.RENDER_TEXTURE_USE_MIPMAP = false;W.NOT_USED_FRAME = -100;W.prototype._$L7 = function () {\n if (this.tmpModelToViewMatrix) {\n this.tmpModelToViewMatrix = null;\n }if (this.tmpMatrix2) {\n this.tmpMatrix2 = null;\n }if (this.tmpMatrixForMask) {\n this.tmpMatrixForMask = null;\n }if (this.tmpMatrixForDraw) {\n this.tmpMatrixForDraw = null;\n }if (this.tmpBoundsOnModel) {\n this.tmpBoundsOnModel = null;\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 }this.CHANNEL_COLORS = [];\n }this.releaseShader();\n };W.prototype.releaseShader = function () {\n var aI = Q.frameBuffers.length;for (var aH = 0; aH < aI; aH++) {\n this.gl.deleteFramebuffer(Q.frameBuffers[aH].framebuffer);\n }Q.frameBuffers = [];Q.glContext = [];\n };W.prototype.init = function (aO, aN, aL) {\n for (var aM = 0; aM < aN.length; aM++) {\n var aH = aN[aM].getClipIDList();if (aH == null) {\n continue;\n }var aJ = this.findSameClip(aH);if (aJ == null) {\n aJ = new U(this, aO, aH);this.clipContextList.push(aJ);\n }var aI = aN[aM].getDrawDataID();var aK = aO.getDrawDataIndex(aI);aJ.addClippedDrawData(aI, aK);var aP = aL[aM];aP.clipBufPre_clipContext = aJ;\n }\n };W.prototype.getMaskRenderTexture = function () {\n var aH = null;aH = this.dp_webgl.createFramebuffer();Q.frameBuffers[this.dp_webgl.glno] = aH;return this.dp_webgl.glno;\n };W.prototype.setupClip = function (a1, aQ) {\n var aK = 0;for (var aO = 0; aO < this.clipContextList.length; aO++) {\n var aP = this.clipContextList[aO];this.calcClippedDrawTotalBounds(a1, aP);if (aP.isUsing) {\n aK++;\n }\n }if (aK > 0) {\n var aM = aQ.gl.getParameter(aQ.gl.FRAMEBUFFER_BINDING);var aW = new Array(4);aW[0] = 0;aW[1] = 0;aW[2] = aQ.gl.canvas.width;aW[3] = aQ.gl.canvas.height;aQ.gl.viewport(0, 0, Q.clippingMaskBufferSize, Q.clippingMaskBufferSize);this.setupLayoutBounds(aK);aQ.gl.bindFramebuffer(aQ.gl.FRAMEBUFFER, Q.frameBuffers[this.curFrameNo].framebuffer);aQ.gl.clearColor(0, 0, 0, 0);aQ.gl.clear(aQ.gl.COLOR_BUFFER_BIT);for (var aO = 0; aO < this.clipContextList.length; aO++) {\n var aP = this.clipContextList[aO];var aT = aP.allClippedDrawRect;var aN = aP.layoutChannelNo;var aV = aP.layoutBounds;var aJ = 0.05;this.tmpBoundsOnModel._$jL(aT);this.tmpBoundsOnModel.expand(aT.width * aJ, aT.height * aJ);var aZ = aV.width / this.tmpBoundsOnModel.width;var aY = aV.height / this.tmpBoundsOnModel.height;this.tmpMatrix2.identity();this.tmpMatrix2.translate(-1, -1, 0);this.tmpMatrix2.scale(2, 2, 1);this.tmpMatrix2.translate(aV.x, aV.y, 0);this.tmpMatrix2.scale(aZ, aY, 1);this.tmpMatrix2.translate(-this.tmpBoundsOnModel.x, -this.tmpBoundsOnModel.y, 0);this.tmpMatrixForMask.setMatrix(this.tmpMatrix2.m);this.tmpMatrix2.identity();this.tmpMatrix2.translate(aV.x, aV.y, 0);this.tmpMatrix2.scale(aZ, aY, 1);this.tmpMatrix2.translate(-this.tmpBoundsOnModel.x, -this.tmpBoundsOnModel.y, 0);this.tmpMatrixForDraw.setMatrix(this.tmpMatrix2.m);var aH = this.tmpMatrixForMask.getArray();for (var aX = 0; aX < 16; aX++) {\n aP.matrixForMask[aX] = aH[aX];\n }var a0 = this.tmpMatrixForDraw.getArray();for (var aX = 0; aX < 16; aX++) {\n aP.matrixForDraw[aX] = a0[aX];\n }var aS = aP.clippingMaskDrawIndexList.length;for (var aU = 0; aU < aS; aU++) {\n var aR = aP.clippingMaskDrawIndexList[aU];var aI = a1.getDrawData(aR);var aL = a1._$C2(aR);aQ.setClipBufPre_clipContextForMask(aP);aI.draw(aQ, a1, aL);\n }\n }aQ.gl.bindFramebuffer(aQ.gl.FRAMEBUFFER, aM);aQ.setClipBufPre_clipContextForMask(null);aQ.gl.viewport(aW[0], aW[1], aW[2], aW[3]);\n }\n };W.prototype.getColorBuffer = function () {\n return this.colorBuffer;\n };W.prototype.findSameClip = function (aK) {\n for (var aN = 0; aN < this.clipContextList.length; aN++) {\n var aO = this.clipContextList[aN];var aH = aO.clipIDList.length;if (aH != aK.length) {\n continue;\n }var aI = 0;for (var aM = 0; aM < aH; aM++) {\n var aL = aO.clipIDList[aM];for (var aJ = 0; aJ < aH; aJ++) {\n if (aK[aJ] == aL) {\n aI++;break;\n }\n }\n }if (aI == aH) {\n return aO;\n }\n }return null;\n };W.prototype.calcClippedDrawTotalBounds = function (a6, aV) {\n var aU = a6._$Ri.getModelImpl().getCanvasWidth();var a5 = a6._$Ri.getModelImpl().getCanvasHeight();var aJ = aU > a5 ? aU : a5;var aT = aJ;var aR = aJ;var aS = 0;var aP = 0;var aL = aV.clippedDrawContextList.length;for (var aM = 0; aM < aL; aM++) {\n var aW = aV.clippedDrawContextList[aM];var aN = aW.drawDataIndex;var aK = a6._$C2(aN);if (aK._$yo()) {\n var aX = aK.getTransformedPoints();var a4 = aX.length;var aI = [];var aH = [];var aO = 0;for (var a3 = aw._$i2; a3 < a4; a3 += aw._$No) {\n aI[aO] = aX[a3];aH[aO] = aX[a3 + 1];aO++;\n }var a2 = Math.min.apply(null, aI);var a1 = Math.min.apply(null, aH);var a0 = Math.max.apply(null, aI);var aZ = Math.max.apply(null, aH);if (a2 < aT) {\n aT = a2;\n }if (a1 < aR) {\n aR = a1;\n }if (a0 > aS) {\n aS = a0;\n }if (aZ > aP) {\n aP = aZ;\n }\n }\n }if (aT == aJ) {\n aV.allClippedDrawRect.x = 0;aV.allClippedDrawRect.y = 0;aV.allClippedDrawRect.width = 0;aV.allClippedDrawRect.height = 0;aV.isUsing = false;\n } else {\n var aQ = aS - aT;var aY = aP - aR;aV.allClippedDrawRect.x = aT;aV.allClippedDrawRect.y = aR;aV.allClippedDrawRect.width = aQ;aV.allClippedDrawRect.height = aY;aV.isUsing = true;\n }\n };W.prototype.setupLayoutBounds = function (aQ) {\n var aI = aQ / W.CHANNEL_COUNT;var aP = aQ % W.CHANNEL_COUNT;aI = ~~aI;aP = ~~aP;var aH = 0;for (var aJ = 0; aJ < W.CHANNEL_COUNT; aJ++) {\n var aM = aI + (aJ < aP ? 1 : 0);if (aM == 0) {} else {\n if (aM == 1) {\n var aL = this.clipContextList[aH++];aL.layoutChannelNo = aJ;aL.layoutBounds.x = 0;aL.layoutBounds.y = 0;aL.layoutBounds.width = 1;aL.layoutBounds.height = 1;\n } else {\n if (aM == 2) {\n for (var aO = 0; aO < aM; aO++) {\n var aN = aO % 2;var aK = 0;aN = ~~aN;var aL = this.clipContextList[aH++];aL.layoutChannelNo = aJ;aL.layoutBounds.x = aN * 0.5;aL.layoutBounds.y = 0;aL.layoutBounds.width = 0.5;aL.layoutBounds.height = 1;\n }\n } else {\n if (aM <= 4) {\n for (var aO = 0; aO < aM; aO++) {\n var aN = aO % 2;var aK = aO / 2;aN = ~~aN;aK = ~~aK;var aL = this.clipContextList[aH++];aL.layoutChannelNo = aJ;aL.layoutBounds.x = aN * 0.5;aL.layoutBounds.y = aK * 0.5;aL.layoutBounds.width = 0.5;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;var aK = aO / 3;aN = ~~aN;aK = ~~aK;var aL = this.clipContextList[aH++];aL.layoutChannelNo = aJ;aL.layoutBounds.x = aN / 3;aL.layoutBounds.y = aK / 3;aL.layoutBounds.width = 1 / 3;aL.layoutBounds.height = 1 / 3;\n }\n } else {\n q._$li(\"_$6 _$0P mask count : %d\", aM);\n }\n }\n }\n }\n }\n }\n };function U(aH, aK, aI) {\n this.clipIDList = new Array();this.clipIDList = aI;this.clippingMaskDrawIndexList = new Array();for (var aJ = 0; aJ < aI.length; aJ++) {\n this.clippingMaskDrawIndexList.push(aK.getDrawDataIndex(aI[aJ]));\n }this.clippedDrawContextList = new Array();this.isUsing = true;this.layoutChannelNo = 0;this.layoutBounds = new av();this.allClippedDrawRect = new av();this.matrixForMask = new Float32Array(16);this.matrixForDraw = new Float32Array(16);this.owner = aH;\n }U.prototype.addClippedDrawData = function (aJ, aI) {\n var aH = new R(aJ, aI);this.clippedDrawContextList.push(aH);\n };function R(aI, aH) {\n this._$gP = aI;this.drawDataIndex = aH;\n }function I() {\n if (j) {\n return;\n }this.color = null;\n }function ah() {\n if (j) {\n return;\n }this._$dP = null;this._$eo = null;this._$V0 = null;this._$dP = 1000;this._$eo = 1000;this._$V0 = 1;this._$a0();\n }ah._$JT = function (aP, aN, aO) {\n var aQ = aP / aN;var a1 = aO / aN;var aU = a1;var aZ = 1 / 3;var aR = 2 / 3;var a0 = 1 - (1 - a1) * (1 - a1);var a2 = 1 - (1 - aU) * (1 - aU);var aM = 0;var aL = (1 - a1) * aZ * a0 + (aU * aR + (1 - aU) * aZ) * (1 - a0);var aK = (aU + (1 - aU) * aR) * a2 + (a1 * aZ + (1 - a1) * aR) * (1 - a2);var aJ = 1;var aY = aJ - 3 * aK + 3 * aL - aM;var aX = 3 * aK - 6 * aL + 3 * aM;var aW = 3 * aL - 3 * aM;var aV = aM;if (aQ <= 0) {\n return 0;\n } else {\n if (aQ >= 1) {\n return 1;\n }\n }var aS = aQ;var aI = aS * aS;var aH = aS * aI;var aT = aY * aH + aX * aI + aW * aS + aV;return aT;\n };ah.prototype._$a0 = function () {};ah.prototype.setFadeIn = function (aH) {\n this._$dP = aH;\n };ah.prototype.setFadeOut = function (aH) {\n this._$eo = aH;\n };ah.prototype._$pT = function (aH) {\n this._$V0 = aH;\n };ah.prototype.getFadeOut = function () {\n return this._$eo;\n };ah.prototype._$4T = function () {\n return this._$eo;\n };ah.prototype._$mT = function () {\n return this._$V0;\n };ah.prototype.getDurationMSec = function () {\n return -1;\n };ah.prototype.getLoopDurationMSec = function () {\n return -1;\n };ah.prototype.updateParam = function (aJ, aN) {\n if (!aN._$AT || aN._$9L) {\n return;\n }var aL = P.getUserTimeMSec();if (aN._$z2 < 0) {\n aN._$z2 = aL;aN._$bs = aL;var aM = this.getDurationMSec();if (aN._$Do < 0) {\n aN._$Do = aM <= 0 ? -1 : aN._$z2 + aM;\n }\n }var aI = this._$V0;var aH = this._$dP == 0 ? 1 : A._$r2((aL - aN._$bs) / this._$dP);var aK = this._$eo == 0 || aN._$Do < 0 ? 1 : A._$r2((aN._$Do - aL) / this._$eo);aI = aI * aH * aK;if (!(0 <= aI && aI <= 1)) {\n console.log(\"### assert!! ### \");\n }this.updateParamExe(aJ, aL, aI, aN);if (aN._$Do > 0 && aN._$Do < aL) {\n aN._$9L = true;\n }\n };ah.prototype.updateParamExe = function (aH, aI, aJ, aK) {};function q() {}q._$8s = 0;q._$fT = new Object();q.start = function (aI) {\n var aH = q._$fT[aI];if (aH == null) {\n aH = new af();aH._$r = aI;q._$fT[aI] = aH;\n }aH._$0S = P.getSystemTimeMSec();\n };q.dump = function (aJ) {\n var aH = q._$fT[aJ];if (aH != null) {\n var aI = P.getSystemTimeMSec();var aK = aI - aH._$0S;console.log(aJ + \" : \" + aK + \"ms\");return aK;\n } else {\n return -1;\n }\n };q.end = function (aJ) {\n var aH = q._$fT[aJ];if (aH != null) {\n var aI = P.getSystemTimeMSec();return aI - aH._$0S;\n } else {\n return -1;\n }\n };q._$li = function (aI, aH) {\n console.log(\"_$li : \" + aI + \"\\n\", aH);\n };q._$Ji = function (aI, aH) {\n console.log(aI, aH);\n };q._$dL = function (aI, aH) {\n console.log(aI, aH);console.log(\"\\n\");\n };q._$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 }console.log(\"%02X \", aJ[aH] & 255);\n }console.log(\"\\n\");\n };q._$nr = function (aL, aI, aK) {\n console.log(\"%s\\n\", aL);var aH = aI.length;for (var aJ = 0; aJ < aH; ++aJ) {\n console.log(\"%5d\", aI[aJ]);console.log(\"%s\\n\", aK);console.log(\",\");\n }console.log(\"\\n\");\n };q._$Rb = function (aH) {\n console.log(\"dump exception : \" + aH);console.log(\"stack :: \" + aH.stack);\n };function af() {\n this._$r = null;this._$0S = null;\n }function F() {\n if (j) {\n return;\n }this.x = null;this.y = null;this.width = null;this.height = null;\n }F.prototype._$8P = function () {\n return 0.5 * (this.x + this.x + this.width);\n };F.prototype._$6P = function () {\n return 0.5 * (this.y + this.y + this.height);\n };F.prototype._$EL = function () {\n return this.x + this.width;\n };F.prototype._$5T = function () {\n return this.y + this.height;\n };F.prototype._$jL = function (aI, aK, aJ, aH) {\n this.x = aI;this.y = aK;this.width = aJ;this.height = aH;\n };F.prototype._$jL = function (aH) {\n this.x = aH.x;this.y = aH.y;this.width = aH.width;this.height = aH.height;\n };function i(aH) {\n if (j) {\n return;\n }ak.prototype.constructor.call(this, aH);\n }i.prototype = new ak();i._$tP = new Object();i._$27 = function () {\n i._$tP.clear();\n };i.getID = function (aH) {\n var aI = i._$tP[aH];if (aI == null) {\n aI = new i(aH);i._$tP[aH] = aI;\n }return aI;\n };i.prototype._$3s = function () {\n return new i();\n };function S() {}function z(aH) {\n if (j) {\n return;\n }ak.prototype.constructor.call(this, aH);\n }z.prototype = new ak();z._$tP = new Object();z._$27 = function () {\n z._$tP.clear();\n };z.getID = function (aH) {\n var aI = z._$tP[aH];if (aI == null) {\n aI = new z(aH);z._$tP[aH] = aI;\n }return aI;\n };z.prototype._$3s = function () {\n return new z();\n };function w() {\n if (j) {\n return;\n }this._$vo = null;this._$F2 = null;this._$ao = 400;this._$1S = 400;w._$42++;\n }w._$42 = 0;w.prototype._$zP = function () {\n if (this._$vo == null) {\n this._$vo = new an();\n }if (this._$F2 == null) {\n this._$F2 = new Array();\n }\n };w.prototype.getCanvasWidth = function () {\n return this._$ao;\n };w.prototype.getCanvasHeight = function () {\n return this._$1S;\n };w.prototype._$F0 = function (aH) {\n this._$vo = aH._$nP();this._$F2 = aH._$nP();this._$ao = aH._$6L();this._$1S = aH._$6L();\n };w.prototype._$6S = function (aH) {\n this._$F2.push(aH);\n };w.prototype._$Xr = function () {\n return this._$F2;\n };w.prototype._$E2 = function () {\n return this._$vo;\n };function u() {\n if (j) {\n return;\n }this.p1 = new N();this.p2 = new N();this._$Fo = 0;this._$Db = 0;this._$L2 = 0;this._$M2 = 0;this._$ks = 0;this._$9b = 0;this._$iP = 0;this._$iT = 0;this._$lL = new Array();this._$qP = new Array();this.setup(0.3, 0.5, 0.1);\n }u.prototype.setup = function (aJ, aI, aH) {\n this._$ks = this._$Yb();this.p2._$xT();if (arguments.length == 3) {\n this._$Fo = aJ;this._$L2 = aI;this.p1._$p = aH;this.p2._$p = aH;this.p2.y = aJ;this.setup();\n }\n };u.prototype.getPhysicsPoint1 = function () {\n return this.p1;\n };u.prototype.getPhysicsPoint2 = function () {\n return this.p2;\n };u.prototype._$qr = function () {\n return this._$Db;\n };u.prototype._$pr = function (aH) {\n this._$Db = aH;\n };u.prototype._$5r = function () {\n return this._$M2;\n };u.prototype._$Cs = function () {\n return this._$9b;\n };u.prototype._$Yb = function () {\n return -180 * Math.atan2(this.p1.x - this.p2.x, -(this.p1.y - this.p2.y)) / Math.PI;\n };u.prototype.addSrcParam = function (aJ, aH, aL, aI) {\n var aK = new h(aJ, aH, aL, aI);this._$lL.push(aK);\n };u.prototype.addTargetParam = function (aJ, aH, aK, aI) {\n var aL = new aF(aJ, aH, aK, aI);this._$qP.push(aL);\n };u.prototype.update = function (aI, aL) {\n if (this._$iP == 0) {\n this._$iP = this._$iT = aL;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));return;\n }var aK = (aL - this._$iT) / 1000;if (aK != 0) {\n for (var aJ = this._$lL.length - 1; aJ >= 0; --aJ) {\n var aM = this._$lL[aJ];aM._$oP(aI, this);\n }this._$oo(aI, aK);this._$M2 = this._$Yb();this._$9b = (this._$M2 - this._$ks) / aK;this._$ks = this._$M2;\n }for (var aJ = this._$qP.length - 1; aJ >= 0; --aJ) {\n var aH = this._$qP[aJ];aH._$YS(aI, this);\n }this._$iT = aL;\n };u.prototype._$oo = function (aN, aI) {\n if (aI < 0.033) {\n aI = 0.033;\n }var aU = 1 / aI;this.p1.vx = (this.p1.x - this.p1._$s0) * aU;this.p1.vy = (this.p1.y - this.p1._$70) * aU;this.p1.ax = (this.p1.vx - this.p1._$7L) * aU;this.p1.ay = (this.p1.vy - this.p1._$HL) * aU;this.p1.fx = this.p1.ax * this.p1._$p;this.p1.fy = this.p1.ay * this.p1._$p;this.p1._$xT();var aM = -Math.atan2(this.p1.y - this.p2.y, this.p1.x - this.p2.x);var aL;var aV;var aR = Math.cos(aM);var aH = Math.sin(aM);var aW = 9.8 * this.p2._$p;var aQ = this._$Db * aC._$bS;var aP = aW * Math.cos(aM - aQ);aL = aP * aH;aV = aP * aR;var aK = -this.p1.fx * aH * aH;var aT = -this.p1.fy * aH * aR;var aJ = -this.p2.vx * this._$L2;var aS = -this.p2.vy * this._$L2;this.p2.fx = aL + aK + aJ;this.p2.fy = aV + aT + aS;this.p2.ax = this.p2.fx / this.p2._$p;this.p2.ay = this.p2.fy / this.p2._$p;this.p2.vx += this.p2.ax * aI;this.p2.vy += this.p2.ay * aI;this.p2.x += this.p2.vx * aI;this.p2.y += this.p2.vy * aI;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));this.p2.x = this.p1.x + this._$Fo * (this.p2.x - this.p1.x) / aO;this.p2.y = this.p1.y + this._$Fo * (this.p2.y - this.p1.y) / aO;this.p2.vx = (this.p2.x - this.p2._$s0) * aU;this.p2.vy = (this.p2.y - this.p2._$70) * aU;this.p2._$xT();\n };function N() {\n this._$p = 1;this.x = 0;this.y = 0;this.vx = 0;this.vy = 0;this.ax = 0;this.ay = 0;this.fx = 0;this.fy = 0;this._$s0 = 0;this._$70 = 0;this._$7L = 0;this._$HL = 0;\n }N.prototype._$xT = function () {\n this._$s0 = this.x;this._$70 = this.y;this._$7L = this.vx;this._$HL = this.vy;\n };function at(aJ, aI, aH) {\n this._$wL = null;this.scale = null;this._$V0 = null;this._$wL = aJ;this.scale = aI;this._$V0 = aH;\n }at.prototype._$oP = function (aI, aH) {};function h(aJ, aK, aI, aH) {\n at.prototype.constructor.call(this, aK, aI, aH);this._$tL = null;this._$tL = aJ;\n }h.prototype = new at();h.prototype._$oP = function (aJ, aH) {\n var aK = this.scale * aJ.getParamFloat(this._$wL);var aL = aH.getPhysicsPoint1();switch (this._$tL) {default:case u.Src.SRC_TO_X:\n aL.x = aL.x + (aK - aL.x) * this._$V0;break;case u.Src.SRC_TO_Y:\n aL.y = aL.y + (aK - aL.y) * this._$V0;break;case u.Src.SRC_TO_G_ANGLE:\n var aI = aH._$qr();aI = aI + (aK - aI) * this._$V0;aH._$pr(aI);break;}\n };function d(aJ, aI, aH) {\n this._$wL = null;this.scale = null;this._$V0 = null;this._$wL = aJ;this.scale = aI;this._$V0 = aH;\n }d.prototype._$YS = function (aI, aH) {};function aF(aI, aK, aJ, aH) {\n d.prototype.constructor.call(this, aK, aJ, aH);this._$YP = null;this._$YP = aI;\n }aF.prototype = new d();aF.prototype._$YS = function (aI, aH) {\n switch (this._$YP) {default:case u.Target.TARGET_FROM_ANGLE:\n aI.setParamFloat(this._$wL, this.scale * aH._$5r(), this._$V0);break;case u.Target.TARGET_FROM_ANGLE_V:\n aI.setParamFloat(this._$wL, this.scale * aH._$Cs(), this._$V0);break;}\n };u.Src = function () {};u.Src.SRC_TO_X = \"SRC_TO_X\";u.Src.SRC_TO_Y = \"SRC_TO_Y\";u.Src.SRC_TO_G_ANGLE = \"SRC_TO_G_ANGLE\";u.Target = function () {};u.Target.TARGET_FROM_ANGLE = \"TARGET_FROM_ANGLE\";u.Target.TARGET_FROM_ANGLE_V = \"TARGET_FROM_ANGLE_V\";function X() {\n if (j) {\n return;\n }this._$fL = 0;this._$gL = 0;this._$B0 = 1;this._$z0 = 1;this._$qT = 0;this.reflectX = false;this.reflectY = false;\n }X.prototype.init = function (aH) {\n this._$fL = aH._$fL;this._$gL = aH._$gL;this._$B0 = aH._$B0;this._$z0 = aH._$z0;this._$qT = aH._$qT;this.reflectX = aH.reflectX;this.reflectY = aH.reflectY;\n };X.prototype._$F0 = function (aH) {\n this._$fL = aH._$_T();this._$gL = aH._$_T();this._$B0 = aH._$_T();this._$z0 = aH._$_T();this._$qT = aH._$_T();if (aH.getFormatVersion() >= ay.LIVE2D_FORMAT_VERSION_V2_10_SDK2) {\n this.reflectX = aH._$po();this.reflectY = aH._$po();\n }\n };X.prototype._$e = function () {};var ad = function ad() {};ad._$ni = function (aL, aJ, aR, aQ, aK, aI, aH, aS, aN) {\n var aM = aH * aI - aS * aK;if (aM == 0) {\n return null;\n } else {\n var aO = ((aL - aR) * aI - (aJ - aQ) * aK) / aM;var aP;if (aK != 0) {\n aP = (aL - aR - aO * aH) / aK;\n } else {\n aP = (aJ - aQ - aO * aS) / aI;\n }if (isNaN(aP)) {\n aP = (aL - aR - aO * aH) / aK;if (isNaN(aP)) {\n aP = (aJ - aQ - aO * aS) / aI;\n }if (isNaN(aP)) {\n console.log(\"a is NaN @UtVector#_$ni() \");console.log(\"v1x : \" + aK);console.log(\"v1x != 0 ? \" + (aK != 0));\n }\n }if (aN == null) {\n return new Array(aP, aO);\n } else {\n aN[0] = aP;aN[1] = aO;return aN;\n }\n }\n };function av() {\n if (j) {\n return;\n }this.x = null;this.y = null;this.width = null;this.height = null;\n }av.prototype._$8P = function () {\n return this.x + 0.5 * this.width;\n };av.prototype._$6P = function () {\n return this.y + 0.5 * this.height;\n };av.prototype._$EL = function () {\n return this.x + this.width;\n };av.prototype._$5T = function () {\n return this.y + this.height;\n };av.prototype._$jL = function (aI, aK, aJ, aH) {\n this.x = aI;this.y = aK;this.width = aJ;this.height = aH;\n };av.prototype._$jL = function (aH) {\n this.x = aH.x;this.y = aH.y;this.width = aH.width;this.height = aH.height;\n };av.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 };av.prototype.expand = function (aH, aI) {\n this.x -= aH;this.y -= aI;this.width += aH * 2;this.height += aI * 2;\n };function aG() {}aG._$Z2 = function (bb, bo, bp, a2) {\n var a1 = bo._$Q2(bb, bp);var a3 = bb._$vs();var ba = bb._$Tr();bo._$zr(a3, ba, a1);if (a1 <= 0) {\n return a2[a3[0]];\n } else {\n if (a1 == 1) {\n var bj = a2[a3[0]];var bi = a2[a3[1]];var a9 = ba[0];return bj + (bi - bj) * a9 | 0;\n } else {\n if (a1 == 2) {\n var bj = a2[a3[0]];var bi = a2[a3[1]];var a0 = a2[a3[2]];var aZ = a2[a3[3]];var a9 = ba[0];var a8 = ba[1];var br = bj + (bi - bj) * a9 | 0;var bq = a0 + (aZ - a0) * a9 | 0;return br + (bq - br) * a8 | 0;\n } else {\n if (a1 == 3) {\n var aP = a2[a3[0]];var aO = a2[a3[1]];var bn = a2[a3[2]];var bm = a2[a3[3]];var aK = a2[a3[4]];var aJ = a2[a3[5]];var bg = a2[a3[6]];var bf = a2[a3[7]];var a9 = ba[0];var a8 = ba[1];var a6 = ba[2];var bj = aP + (aO - aP) * a9 | 0;var bi = bn + (bm - bn) * a9 | 0;var a0 = aK + (aJ - aK) * a9 | 0;var aZ = bg + (bf - bg) * a9 | 0;var br = bj + (bi - bj) * a8 | 0;var bq = a0 + (aZ - a0) * a8 | 0;return br + (bq - br) * a6 | 0;\n } else {\n if (a1 == 4) {\n var aT = a2[a3[0]];var aS = a2[a3[1]];var bu = a2[a3[2]];var bt = a2[a3[3]];var aN = a2[a3[4]];var aM = a2[a3[5]];var bl = a2[a3[6]];var bk = a2[a3[7]];var be = a2[a3[8]];var bc = a2[a3[9]];var aX = a2[a3[10]];var aW = a2[a3[11]];var a7 = a2[a3[12]];var a5 = a2[a3[13]];var aR = a2[a3[14]];var aQ = a2[a3[15]];var a9 = ba[0];var a8 = ba[1];var a6 = ba[2];var a4 = ba[3];var aP = aT + (aS - aT) * a9 | 0;var aO = bu + (bt - bu) * a9 | 0;var bn = aN + (aM - aN) * a9 | 0;var bm = bl + (bk - bl) * a9 | 0;var aK = be + (bc - be) * a9 | 0;var aJ = aX + (aW - aX) * a9 | 0;var bg = a7 + (a5 - a7) * a9 | 0;var bf = aR + (aQ - aR) * a9 | 0;var bj = aP + (aO - aP) * a8 | 0;var bi = bn + (bm - bn) * a8 | 0;var a0 = aK + (aJ - aK) * a8 | 0;var aZ = bg + (bf - bg) * a8 | 0;var br = bj + (bi - bj) * a6 | 0;var bq = a0 + (aZ - a0) * a6 | 0;return br + (bq - br) * a4 | 0;\n } else {\n var aV = 1 << a1;var aY = new Float32Array(aV);for (var bh = 0; bh < aV; bh++) {\n var aI = bh;var aH = 1;for (var aL = 0; aL < a1; aL++) {\n aH *= aI % 2 == 0 ? 1 - ba[aL] : ba[aL];aI /= 2;\n }aY[bh] = aH;\n }var bs = new Float32Array(aV);for (var aU = 0; aU < aV; aU++) {\n bs[aU] = a2[a3[aU]];\n }var bd = 0;for (var aU = 0; aU < aV; aU++) {\n bd += aY[aU] * bs[aU];\n }return bd + 0.5 | 0;\n }\n }\n }\n }\n }\n };aG._$br = function (ba, bo, bp, bg) {\n var a1 = bo._$Q2(ba, bp);var a2 = ba._$vs();var a9 = ba._$Tr();bo._$zr(a2, a9, a1);if (a1 <= 0) {\n return bg[a2[0]];\n } else {\n if (a1 == 1) {\n var bj = bg[a2[0]];var bi = bg[a2[1]];var a8 = a9[0];return bj + (bi - bj) * a8;\n } else {\n if (a1 == 2) {\n var bj = bg[a2[0]];var bi = bg[a2[1]];var a0 = bg[a2[2]];var aZ = bg[a2[3]];var a8 = a9[0];var a7 = a9[1];return (1 - a7) * (bj + (bi - bj) * a8) + a7 * (a0 + (aZ - a0) * a8);\n } else {\n if (a1 == 3) {\n var aP = bg[a2[0]];var aO = bg[a2[1]];var bn = bg[a2[2]];var bm = bg[a2[3]];var aK = bg[a2[4]];var aJ = bg[a2[5]];var bf = bg[a2[6]];var be = bg[a2[7]];var a8 = a9[0];var a7 = a9[1];var a5 = a9[2];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]];var aS = bg[a2[1]];var bs = bg[a2[2]];var br = bg[a2[3]];var aN = bg[a2[4]];var aM = bg[a2[5]];var bl = bg[a2[6]];var bk = bg[a2[7]];var bd = bg[a2[8]];var bb = bg[a2[9]];var aX = bg[a2[10]];var aW = bg[a2[11]];var a6 = bg[a2[12]];var a4 = bg[a2[13]];var aR = bg[a2[14]];var aQ = bg[a2[15]];var a8 = a9[0];var a7 = a9[1];var a5 = a9[2];var a3 = a9[3];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;var aY = new Float32Array(aV);for (var bh = 0; bh < aV; bh++) {\n var aI = bh;var aH = 1;for (var aL = 0; aL < a1; aL++) {\n aH *= aI % 2 == 0 ? 1 - a9[aL] : a9[aL];aI /= 2;\n }aY[bh] = aH;\n }var bq = new Float32Array(aV);for (var aU = 0; aU < aV; aU++) {\n bq[aU] = bg[a2[aU]];\n }var bc = 0;for (var aU = 0; aU < aV; aU++) {\n bc += aY[aU] * bq[aU];\n }return bc;\n }\n }\n }\n }\n }\n };aG._$Vr = function (bV, bW, a5, aI, bC, a3, bX, bH) {\n var aN = bW._$Q2(bV, a5);var bw = bV._$vs();var a2 = bV._$Tr();bW._$zr(bw, a2, aN);var aJ = aI * 2;var aQ = bX;if (aN <= 0) {\n var bI = bw[0];var bq = bC[bI];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++];a3[aQ + 1] = bq[bt++];aQ += bH;\n }\n }\n } else {\n if (aN == 1) {\n var bq = bC[bw[0]];var bp = bC[bw[1]];var b3 = a2[0];var bT = 1 - b3;for (var bt = 0; bt < aJ;) {\n a3[aQ] = bq[bt] * bT + bp[bt] * b3;++bt;a3[aQ + 1] = bq[bt] * bT + bp[bt] * b3;++bt;aQ += bH;\n }\n } else {\n if (aN == 2) {\n var bq = bC[bw[0]];var bp = bC[bw[1]];var aZ = bC[bw[2]];var aY = bC[bw[3]];var b3 = a2[0];var b1 = a2[1];var bT = 1 - b3;var bP = 1 - b1;var b2 = bP * bT;var b0 = bP * b3;var bM = b1 * bT;var bL = b1 * b3;for (var bt = 0; bt < aJ;) {\n a3[aQ] = b2 * bq[bt] + b0 * bp[bt] + bM * aZ[bt] + bL * aY[bt];++bt;a3[aQ + 1] = b2 * bq[bt] + b0 * bp[bt] + bM * aZ[bt] + bL * aY[bt];++bt;aQ += bH;\n }\n } else {\n if (aN == 3) {\n var ba = bC[bw[0]];var a9 = bC[bw[1]];var aP = bC[bw[2]];var aO = bC[bw[3]];var a6 = bC[bw[4]];var a4 = bC[bw[5]];var aL = bC[bw[6]];var aK = bC[bw[7]];var b3 = a2[0];var b1 = a2[1];var bZ = a2[2];var bT = 1 - b3;var bP = 1 - b1;var bN = 1 - bZ;var b8 = bN * bP * bT;var b7 = bN * bP * b3;var bU = bN * b1 * bT;var bS = bN * b1 * b3;var b6 = bZ * bP * bT;var b5 = bZ * bP * b3;var bQ = bZ * b1 * bT;var bO = bZ * b1 * b3;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];++bt;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];++bt;aQ += bH;\n }\n } else {\n if (aN == 4) {\n var bD = bC[bw[0]];var bB = bC[bw[1]];var bo = bC[bw[2]];var bm = bC[bw[3]];var by = bC[bw[4]];var bx = bC[bw[5]];var be = bC[bw[6]];var bd = bC[bw[7]];var bG = bC[bw[8]];var bE = bC[bw[9]];var bv = bC[bw[10]];var bu = bC[bw[11]];var bA = bC[bw[12]];var bz = bC[bw[13]];var bn = bC[bw[14]];var bl = bC[bw[15]];var b3 = a2[0];var b1 = a2[1];var bZ = a2[2];var bY = a2[3];var bT = 1 - b3;var bP = 1 - b1;var bN = 1 - bZ;var bK = 1 - bY;var bk = bK * bN * bP * bT;var bi = bK * bN * bP * b3;var aW = bK * bN * b1 * bT;var aV = bK * bN * b1 * b3;var bc = bK * bZ * bP * bT;var bb = bK * bZ * bP * b3;var aS = bK * bZ * b1 * bT;var aR = bK * bZ * b1 * b3;var bs = bY * bN * bP * bT;var br = bY * bN * bP * b3;var a1 = bY * bN * b1 * bT;var a0 = bY * bN * b1 * b3;var bh = bY * bZ * bP * bT;var bf = bY * bZ * bP * b3;var aU = bY * bZ * b1 * bT;var aT = bY * bZ * b1 * b3;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];++bt;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];++bt;aQ += bH;\n }\n } else {\n var b4 = 1 << aN;var bJ = new Float32Array(b4);for (var bj = 0; bj < b4; bj++) {\n var aH = bj;var aM = 1;for (var bF = 0; bF < aN; bF++) {\n aM *= aH % 2 == 0 ? 1 - a2[bF] : a2[bF];aH /= 2;\n }bJ[bj] = aM;\n }var bg = new Float32Array(b4);for (var aX = 0; aX < b4; aX++) {\n bg[aX] = bC[bw[aX]];\n }for (var bt = 0; bt < aJ;) {\n var a8 = 0,\n a7 = 0;var bR = bt + 1;for (var aX = 0; aX < b4; aX++) {\n a8 += bJ[aX] * bg[aX][bt];a7 += bJ[aX] * bg[aX][bR];\n }bt += 2;a3[aQ] = a8;a3[aQ + 1] = a7;aQ += bH;\n }\n }\n }\n }\n }\n }\n };function e() {\n if (j) {\n return;\n }this.x = null;this.y = null;\n }e.prototype._$HT = function (aH, aI) {\n this.x = aH;this.y = aI;\n };e.prototype._$HT = function (aH) {\n this.x = aH.x;this.y = aH.y;\n };function ae() {\n if (j) {\n return;\n }this._$gP = null;this._$dr = null;this._$GS = null;this._$qb = null;this._$Lb = null;this._$mS = null;this.clipID = null;this.clipIDList = new Array();\n }ae._$ur = -2;ae._$ES = 500;ae._$wb = 2;ae._$8S = 3;ae._$52 = ae._$ES;ae._$R2 = ae._$ES;ae._$or = function () {\n return ae._$52;\n };ae._$Pr = function () {\n return ae._$R2;\n };ae.prototype.convertClipIDForV2_11 = function (aI) {\n var aH = [];if (aI == null) {\n return null;\n }if (aI.length == 0) {\n return null;\n }if (!/,/.test(aI)) {\n aH.push(aI.id);return aH;\n }aH = aI.id.split(\",\");return aH;\n };ae.prototype._$F0 = function (aH) {\n this._$gP = aH._$nP();this._$dr = aH._$nP();this._$GS = aH._$nP();this._$qb = aH._$6L();this._$Lb = aH._$cS();this._$mS = aH._$Tb();if (aH.getFormatVersion() >= ay._$T7) {\n this.clipID = aH._$nP();this.clipIDList = this.convertClipIDForV2_11(this.clipID);\n } else {\n this.clipIDList = [];\n }this._$MS(this._$Lb);\n };ae.prototype.getClipIDList = function () {\n return this.clipIDList;\n };ae.prototype.init = function (aH) {};ae.prototype._$Nr = function (aH, aI) {\n aI._$IS[0] = false;aI._$Us = aG._$Z2(aH, this._$GS, aI._$IS, this._$Lb);if (Q._$Zs) {} else {\n if (aI._$IS[0]) {\n return;\n }\n }aI._$7s = aG._$br(aH, this._$GS, aI._$IS, this._$mS);\n };ae.prototype._$2b = function (aH, aI) {};ae.prototype.getDrawDataID = function () {\n return this._$gP;\n };ae.prototype._$j2 = function (aH) {\n this._$gP = aH;\n };ae.prototype.getOpacity = function (aH, aI) {\n return aI._$7s;\n };ae.prototype._$zS = function (aH, aI) {\n return aI._$Us;\n };ae.prototype._$MS = function (aJ) {\n for (var aI = aJ.length - 1; aI >= 0; --aI) {\n var aH = aJ[aI];if (aH < ae._$52) {\n ae._$52 = aH;\n } else {\n if (aH > ae._$R2) {\n ae._$R2 = aH;\n }\n }\n }\n };ae.prototype.getTargetBaseDataID = function () {\n return this._$dr;\n };ae.prototype._$gs = function (aH) {\n this._$dr = aH;\n };ae.prototype._$32 = function () {\n return this._$dr != null && this._$dr != n._$2o();\n };ae.prototype.preDraw = function (aJ, aH, aI) {};ae.prototype.draw = function (aJ, aH, aI) {};ae.prototype.getType = function () {};ae.prototype._$B2 = function (aI, aH, aJ) {};function ax() {\n if (j) {\n return;\n }this._$Eb = ax._$ps;this._$lT = 1;this._$C0 = 1;this._$tT = 1;this._$WL = 1;this.culling = false;this.matrix4x4 = new Float32Array(16);this.premultipliedAlpha = false;this.anisotropy = 0;this.clippingProcess = ax.CLIPPING_PROCESS_NONE;this.clipBufPre_clipContextMask = null;this.clipBufPre_clipContextDraw = null;this.CHANNEL_COLORS = new Array();\n }ax._$ps = 32;ax.CLIPPING_PROCESS_NONE = 0;ax.CLIPPING_PROCESS_OVERWRITE_ALPHA = 1;ax.CLIPPING_PROCESS_MULTIPLY_ALPHA = 2;ax.CLIPPING_PROCESS_DRAW = 3;ax.CLIPPING_PROCESS_CLEAR_ALPHA = 4;ax.prototype.setChannelFlagAsColor = function (aH, aI) {\n this.CHANNEL_COLORS[aH] = aI;\n };ax.prototype.getChannelFlagAsColor = function (aH) {\n return this.CHANNEL_COLORS[aH];\n };ax.prototype._$ZT = function () {};ax.prototype._$Uo = function (aM, aK, aJ, aL, aN, aI, aH) {};ax.prototype._$Rs = function () {\n return -1;\n };ax.prototype._$Ds = function (aH) {};ax.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 }if (aJ < 0) {\n aJ = 0;\n } else {\n if (aJ > 1) {\n aJ = 1;\n }\n }if (aI < 0) {\n aI = 0;\n } else {\n if (aI > 1) {\n aI = 1;\n }\n }if (aH < 0) {\n aH = 0;\n } else {\n if (aH > 1) {\n aH = 1;\n }\n }this._$lT = aK;this._$C0 = aJ;this._$tT = aI;this._$WL = aH;\n };ax.prototype._$WP = function (aH) {\n this.culling = aH;\n };ax.prototype.setMatrix = function (aH) {\n for (var aI = 0; aI < 16; aI++) {\n this.matrix4x4[aI] = aH[aI];\n }\n };ax.prototype._$IT = function () {\n return this.matrix4x4;\n };ax.prototype.setPremultipliedAlpha = function (aH) {\n this.premultipliedAlpha = aH;\n };ax.prototype.isPremultipliedAlpha = function () {\n return this.premultipliedAlpha;\n };ax.prototype.setAnisotropy = function (aH) {\n this.anisotropy = aH;\n };ax.prototype.getAnisotropy = function () {\n return this.anisotropy;\n };ax.prototype.getClippingProcess = function () {\n return this.clippingProcess;\n };ax.prototype.setClippingProcess = function (aH) {\n this.clippingProcess = aH;\n };ax.prototype.setClipBufPre_clipContextForMask = function (aH) {\n this.clipBufPre_clipContextMask = aH;\n };ax.prototype.getClipBufPre_clipContextMask = function () {\n return this.clipBufPre_clipContextMask;\n };ax.prototype.setClipBufPre_clipContextForDraw = function (aH) {\n this.clipBufPre_clipContextDraw = aH;\n };ax.prototype.getClipBufPre_clipContextDraw = function () {\n return this.clipBufPre_clipContextDraw;\n };function o() {\n if (j) {\n return;\n }this.a = 1;this.r = 1;this.g = 1;this.b = 1;this.scale = 1;this._$ho = 1;this.blendMode = Q.L2D_COLOR_BLEND_MODE_MULT;\n }function c() {\n if (j) {\n return;\n }this._$kP = null;this._$dr = null;this._$Ai = true;this._$mS = null;\n }c._$ur = -2;c._$c2 = 1;c._$_b = 2;c.prototype._$F0 = function (aH) {\n this._$kP = aH._$nP();this._$dr = aH._$nP();\n };c.prototype.readV2_opacity = function (aH) {\n if (aH.getFormatVersion() >= ay.LIVE2D_FORMAT_VERSION_V2_10_SDK2) {\n this._$mS = aH._$Tb();\n }\n };c.prototype.init = function (aH) {};c.prototype._$Nr = function (aI, aH) {};c.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 };c.prototype._$2b = function (aI, aH) {};c.prototype._$nb = function (aL, aK, aM, aH, aI, aJ, aN) {};c.prototype.getType = function () {};c.prototype._$gs = function (aH) {\n this._$dr = aH;\n };c.prototype._$a2 = function (aH) {\n this._$kP = aH;\n };c.prototype.getTargetBaseDataID = function () {\n return this._$dr;\n };c.prototype.getBaseDataID = function () {\n return this._$kP;\n };c.prototype._$32 = function () {\n return this._$dr != null && this._$dr != n._$2o();\n };function P() {}P._$W2 = 0;P._$CS = P._$W2;P._$Mo = function () {\n return true;\n };P._$XP = function (aI) {\n try {\n var aJ = getTimeMSec();while (getTimeMSec() - aJ < aI) {}\n } catch (aH) {\n aH._$Rb();\n }\n };P.getUserTimeMSec = function () {\n return P._$CS == P._$W2 ? P.getSystemTimeMSec() : P._$CS;\n };P.setUserTimeMSec = function (aH) {\n P._$CS = aH;\n };P.updateUserTimeMSec = function () {\n return P._$CS = P.getSystemTimeMSec();\n };P.getTimeMSec = function () {\n return new Date().getTime();\n };P.getSystemTimeMSec = function () {\n return new Date().getTime();\n };P._$Q = function (aH) {};P._$jT = function (aM, aJ, aI, aL, aH) {\n for (var aK = 0; aK < aH; aK++) {\n aI[aL + aK] = aM[aJ + aK];\n }\n };function aA() {\n if (j) {\n return;\n }this._$VP = 0;this._$wL = null;this._$GP = null;this._$8o = aA._$ds;this._$2r = -1;this._$O2 = 0;this._$ri = 0;\n }aA._$ds = -2;aA.prototype._$F0 = function (aH) {\n this._$wL = aH._$nP();this._$VP = aH._$6L();this._$GP = aH._$nP();\n };aA.prototype.getParamIndex = function (aH) {\n if (this._$2r != aH) {\n this._$8o = aA._$ds;\n }return this._$8o;\n };aA.prototype._$Pb = function (aI, aH) {\n this._$8o = aI;this._$2r = aH;\n };aA.prototype.getParamID = function () {\n return this._$wL;\n };aA.prototype._$yP = function (aH) {\n this._$wL = aH;\n };aA.prototype._$N2 = function () {\n return this._$VP;\n };aA.prototype._$d2 = function () {\n return this._$GP;\n };aA.prototype._$t2 = function (aI, aH) {\n this._$VP = aI;this._$GP = aH;\n };aA.prototype._$Lr = function () {\n return this._$O2;\n };aA.prototype._$wr = function (aH) {\n this._$O2 = aH;\n };aA.prototype._$SL = function () {\n return this._$ri;\n };aA.prototype._$AL = function (aH) {\n this._$ri = aH;\n };function G() {}G.startsWith = function (aJ, aL, aK) {\n var aH = aL + aK.length;if (aH >= aJ.length) {\n return false;\n }for (var aI = aL; aI < aH; aI++) {\n if (G.getChar(aJ, aI) != aK.charAt(aI - aL)) {\n return false;\n }\n }return true;\n };G.getChar = function (aI, aH) {\n return String.fromCharCode(aI.getUint8(aH));\n };G.createString = function (aM, aL, aJ) {\n var aH = new ArrayBuffer(aJ * 2);var aK = new Uint16Array(aH);for (var aI = 0; aI < aJ; aI++) {\n aK[aI] = aM.getUint8(aL + aI);\n }return String.fromCharCode.apply(null, aK);\n };G._$LS = function (aP, aM, aR, aK) {\n if (aP instanceof ArrayBuffer) {\n aP = new DataView(aP);\n }var aL = aR;var aJ = false;var aQ = false;var aS = 0;var aO = G.getChar(aP, aL);if (aO == \"-\") {\n aJ = true;aL++;\n }var aN = false;for (; aL < aM; aL++) {\n aO = G.getChar(aP, aL);switch (aO) {case \"0\":\n aS = aS * 10;break;case \"1\":\n aS = aS * 10 + 1;break;case \"2\":\n aS = aS * 10 + 2;break;case \"3\":\n aS = aS * 10 + 3;break;case \"4\":\n aS = aS * 10 + 4;break;case \"5\":\n aS = aS * 10 + 5;break;case \"6\":\n aS = aS * 10 + 6;break;case \"7\":\n aS = aS * 10 + 7;break;case \"8\":\n aS = aS * 10 + 8;break;case \"9\":\n aS = aS * 10 + 9;break;case \".\":\n aQ = true;aL++;aN = true;break;default:\n aN = true;break;}if (aN) {\n break;\n }\n }if (aQ) {\n var aI = 0.1;var aH = false;for (; aL < aM; aL++) {\n aO = G.getChar(aP, aL);switch (aO) {case \"0\":\n break;case \"1\":\n aS += aI * 1;break;case \"2\":\n aS += aI * 2;break;case \"3\":\n aS += aI * 3;break;case \"4\":\n aS += aI * 4;break;case \"5\":\n aS += aI * 5;break;case \"6\":\n aS += aI * 6;break;case \"7\":\n aS += aI * 7;break;case \"8\":\n aS += aI * 8;break;case \"9\":\n aS += aI * 9;break;default:\n aH = true;break;}aI *= 0.1;if (aH) {\n break;\n }\n }\n }if (aJ) {\n aS = -aS;\n }aK[0] = aL;return aS;\n };function g() {\n if (j) {\n return;\n }this._$Ob = null;\n }g.prototype._$zP = function () {\n this._$Ob = new Array();\n };g.prototype._$F0 = function (aH) {\n this._$Ob = aH._$nP();\n };g.prototype._$Ur = function (aK) {\n if (aK._$WS()) {\n return true;\n }var aH = aK._$v2();for (var aJ = this._$Ob.length - 1; aJ >= 0; --aJ) {\n var aI = this._$Ob[aJ].getParamIndex(aH);if (aI == aA._$ds) {\n aI = aK.getParamIndex(this._$Ob[aJ].getParamID());\n }if (aK._$Xb(aI)) {\n return true;\n }\n }return false;\n };g.prototype._$Q2 = function (aL, aV) {\n var aX = this._$Ob.length;var aJ = aL._$v2();var aN = 0;var aI;var aQ;for (var aK = 0; aK < aX; aK++) {\n var aH = this._$Ob[aK];aI = aH.getParamIndex(aJ);if (aI == aA._$ds) {\n aI = aL.getParamIndex(aH.getParamID());aH._$Pb(aI, aJ);\n }if (aI < 0) {\n throw new Exception(\"err 23242 : \" + aH.getParamID());\n }var aU = aI < 0 ? 0 : aL.getParamFloat(aI);aQ = aH._$N2();var aM = aH._$d2();var aP = -1;var aT = 0;var aS;var aR;if (aQ < 1) {} else {\n if (aQ == 1) {\n aS = aM[0];if (aS - aw._$J < aU && aU < aS + aw._$J) {\n aP = 0;aT = 0;\n } else {\n aP = 0;aV[0] = true;\n }\n } else {\n aS = aM[0];if (aU < aS - aw._$J) {\n aP = 0;aV[0] = true;\n } else {\n if (aU < aS + aw._$J) {\n aP = 0;\n } else {\n var aW = false;for (var aO = 1; aO < aQ; ++aO) {\n aR = aM[aO];if (aU < aR + aw._$J) {\n if (aR - aw._$J < aU) {\n aP = aO;\n } else {\n aP = aO - 1;aT = (aU - aS) / (aR - aS);aN++;\n }aW = true;break;\n }aS = aR;\n }if (!aW) {\n aP = aQ - 1;aT = 0;aV[0] = true;\n }\n }\n }\n }\n }aH._$wr(aP);aH._$AL(aT);\n }return aN;\n };g.prototype._$zr = function (aN, aT, aP) {\n var aR = 1 << aP;if (aR + 1 > aw._$Qb) {\n console.log(\"err 23245\\n\");\n }var aS = this._$Ob.length;var aK = 1;var aH = 1;var aJ = 0;for (var aQ = 0; aQ < aR; ++aQ) {\n aN[aQ] = 0;\n }for (var aL = 0; aL < aS; ++aL) {\n var aI = this._$Ob[aL];if (aI._$SL() == 0) {\n var aO = aI._$Lr() * aK;if (aO < 0 && Q._$3T) {\n throw new Exception(\"err 23246\");\n }for (var aQ = 0; aQ < aR; ++aQ) {\n aN[aQ] += aO;\n }\n } else {\n var aO = aK * aI._$Lr();var aM = aK * (aI._$Lr() + 1);for (var aQ = 0; aQ < aR; ++aQ) {\n aN[aQ] += (aQ / aH | 0) % 2 == 0 ? aO : aM;\n }aT[aJ++] = aI._$SL();aH *= 2;\n }aK *= aI._$N2();\n }aN[aR] = 65535;aT[aJ] = -1;\n };g.prototype._$h2 = function (aJ, aH, aK) {\n var aM = new Float32Array(aH);for (var aL = 0; aL < aH; ++aL) {\n aM[aL] = aK[aL];\n }var aI = new aA();aI._$yP(aJ);aI._$t2(aH, aM);this._$Ob.push(aI);\n };g.prototype._$J2 = function (aO) {\n var aN = aO;var aM = this._$Ob.length;for (var aK = 0; aK < aM; ++aK) {\n var aI = this._$Ob[aK];var aH = aI._$N2();var aJ = aN % aI._$N2();var aL = aI._$d2()[aJ];console.log(\"%s[%d]=%7.2f / \", aI.getParamID(), aJ, aL);aN /= aH;\n }console.log(\"\\n\");\n };g.prototype.getParamCount = function () {\n return this._$Ob.length;\n };g.prototype._$zs = function () {\n return this._$Ob;\n };function ac() {\n this.m = new Float32Array(16);this.identity();\n }ac.prototype.identity = function () {\n for (var aH = 0; aH < 16; aH++) {\n this.m[aH] = aH % 5 == 0 ? 1 : 0;\n }\n };ac.prototype.getArray = function () {\n return this.m;\n };ac.prototype.getCopyMatrix = function () {\n return new Float32Array(this.m);\n };ac.prototype.setMatrix = function (aI) {\n if (aI == null || aI.length != 16) {\n return;\n }for (var aH = 0; aH < 16; aH++) {\n this.m[aH] = aI[aH];\n }\n };ac.prototype.mult = function (aH, aJ, aI) {\n if (aJ == null) {\n return null;\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 }return aJ;\n };ac.prototype.mult_safe = function (aI, aH, aM, aJ) {\n if (aI == aM) {\n var aL = new Array(16);this.mult_fast(aI, aH, aL, aJ);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 };ac.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];aK[4] = aI[0] * aH[4] + aI[4] * aH[5] + aI[8] * aH[6];aK[8] = aI[0] * aH[8] + aI[4] * aH[9] + aI[8] * aH[10];aK[12] = aI[0] * aH[12] + aI[4] * aH[13] + aI[8] * aH[14] + aI[12];aK[1] = aI[1] * aH[0] + aI[5] * aH[1] + aI[9] * aH[2];aK[5] = aI[1] * aH[4] + aI[5] * aH[5] + aI[9] * aH[6];aK[9] = aI[1] * aH[8] + aI[5] * aH[9] + aI[9] * aH[10];aK[13] = aI[1] * aH[12] + aI[5] * aH[13] + aI[9] * aH[14] + aI[13];aK[2] = aI[2] * aH[0] + aI[6] * aH[1] + aI[10] * aH[2];aK[6] = aI[2] * aH[4] + aI[6] * aH[5] + aI[10] * aH[6];aK[10] = aI[2] * aH[8] + aI[6] * aH[9] + aI[10] * aH[10];aK[14] = aI[2] * aH[12] + aI[6] * aH[13] + aI[10] * aH[14] + aI[14];aK[3] = aK[7] = aK[11] = 0;aK[15] = 1;\n } else {\n aK[0] = aI[0] * aH[0] + aI[4] * aH[1] + aI[8] * aH[2] + aI[12] * aH[3];aK[4] = aI[0] * aH[4] + aI[4] * aH[5] + aI[8] * aH[6] + aI[12] * aH[7];aK[8] = aI[0] * aH[8] + aI[4] * aH[9] + aI[8] * aH[10] + aI[12] * aH[11];aK[12] = aI[0] * aH[12] + aI[4] * aH[13] + aI[8] * aH[14] + aI[12] * aH[15];aK[1] = aI[1] * aH[0] + aI[5] * aH[1] + aI[9] * aH[2] + aI[13] * aH[3];aK[5] = aI[1] * aH[4] + aI[5] * aH[5] + aI[9] * aH[6] + aI[13] * aH[7];aK[9] = aI[1] * aH[8] + aI[5] * aH[9] + aI[9] * aH[10] + aI[13] * aH[11];aK[13] = aI[1] * aH[12] + aI[5] * aH[13] + aI[9] * aH[14] + aI[13] * aH[15];aK[2] = aI[2] * aH[0] + aI[6] * aH[1] + aI[10] * aH[2] + aI[14] * aH[3];aK[6] = aI[2] * aH[4] + aI[6] * aH[5] + aI[10] * aH[6] + aI[14] * aH[7];aK[10] = aI[2] * aH[8] + aI[6] * aH[9] + aI[10] * aH[10] + aI[14] * aH[11];aK[14] = aI[2] * aH[12] + aI[6] * aH[13] + aI[10] * aH[14] + aI[14] * aH[15];aK[3] = aI[3] * aH[0] + aI[7] * aH[1] + aI[11] * aH[2] + aI[15] * aH[3];aK[7] = aI[3] * aH[4] + aI[7] * aH[5] + aI[11] * aH[6] + aI[15] * aH[7];aK[11] = aI[3] * aH[8] + aI[7] * aH[9] + aI[11] * aH[10] + aI[15] * aH[11];aK[15] = aI[3] * aH[12] + aI[7] * aH[13] + aI[11] * aH[14] + aI[15] * aH[15];\n }\n };ac.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];this.m[13] = this.m[1] * aH + this.m[5] * aJ + this.m[9] * aI + this.m[13];this.m[14] = this.m[2] * aH + this.m[6] * aJ + this.m[10] * aI + this.m[14];this.m[15] = this.m[3] * aH + this.m[7] * aJ + this.m[11] * aI + this.m[15];\n };ac.prototype.scale = function (aJ, aI, aH) {\n this.m[0] *= aJ;this.m[4] *= aI;this.m[8] *= aH;this.m[1] *= aJ;this.m[5] *= aI;this.m[9] *= aH;this.m[2] *= aJ;this.m[6] *= aI;this.m[10] *= aH;this.m[3] *= aJ;this.m[7] *= aI;this.m[11] *= aH;\n };ac.prototype.rotateX = function (aH) {\n var aK = aC.fcos(aH);var aJ = aC._$9(aH);var aI = this.m[4];this.m[4] = aI * aK + this.m[8] * aJ;this.m[8] = aI * -aJ + this.m[8] * aK;aI = this.m[5];this.m[5] = aI * aK + this.m[9] * aJ;this.m[9] = aI * -aJ + this.m[9] * aK;aI = this.m[6];this.m[6] = aI * aK + this.m[10] * aJ;this.m[10] = aI * -aJ + this.m[10] * aK;aI = this.m[7];this.m[7] = aI * aK + this.m[11] * aJ;this.m[11] = aI * -aJ + this.m[11] * aK;\n };ac.prototype.rotateY = function (aH) {\n var aK = aC.fcos(aH);var aJ = aC._$9(aH);var aI = this.m[0];this.m[0] = aI * aK + this.m[8] * -aJ;this.m[8] = aI * aJ + this.m[8] * aK;aI = this.m[1];this.m[1] = aI * aK + this.m[9] * -aJ;this.m[9] = aI * aJ + this.m[9] * aK;aI = m[2];this.m[2] = aI * aK + this.m[10] * -aJ;this.m[10] = aI * aJ + this.m[10] * aK;aI = m[3];this.m[3] = aI * aK + this.m[11] * -aJ;this.m[11] = aI * aJ + this.m[11] * aK;\n };ac.prototype.rotateZ = function (aH) {\n var aK = aC.fcos(aH);var aJ = aC._$9(aH);var aI = this.m[0];this.m[0] = aI * aK + this.m[4] * aJ;this.m[4] = aI * -aJ + this.m[4] * aK;aI = this.m[1];this.m[1] = aI * aK + this.m[5] * aJ;this.m[5] = aI * -aJ + this.m[5] * aK;aI = this.m[2];this.m[2] = aI * aK + this.m[6] * aJ;this.m[6] = aI * -aJ + this.m[6] * aK;aI = this.m[3];this.m[3] = aI * aK + this.m[7] * aJ;this.m[7] = aI * -aJ + this.m[7] * aK;\n };function Z(aH) {\n if (j) {\n return;\n }ak.prototype.constructor.call(this, aH);\n }Z.prototype = new ak();Z._$tP = new Object();Z._$27 = function () {\n Z._$tP.clear();\n };Z.getID = function (aH) {\n var aI = Z._$tP[aH];if (aI == null) {\n aI = new Z(aH);Z._$tP[aH] = aI;\n }return aI;\n };Z.prototype._$3s = function () {\n return new Z();\n };function aD() {\n if (j) {\n return;\n }this._$7 = 1;this._$f = 0;this._$H = 0;this._$g = 1;this._$k = 0;this._$w = 0;this._$hi = STATE_IDENTITY;this._$Z = _$pS;\n }aD._$kS = -1;aD._$pS = 0;aD._$hb = 1;aD.STATE_IDENTITY = 0;aD._$gb = 1;aD._$fo = 2;aD._$go = 4;aD.prototype.transform = function (aK, aI, aH) {\n var aT, aS, aR, aM, aL, aJ;var aQ = 0;var aN = 0;switch (this._$hi) {default:\n return;case aD._$go | aD._$fo | aD._$gb:\n aT = this._$7;aS = this._$H;aR = this._$k;aM = this._$f;aL = this._$g;aJ = this._$w;while (--aH >= 0) {\n var aP = aK[aQ++];var aO = aK[aQ++];aI[aN++] = aT * aP + aS * aO + aR;aI[aN++] = aM * aP + aL * aO + aJ;\n }return;case aD._$go | aD._$fo:\n aT = this._$7;aS = this._$H;aM = this._$f;aL = this._$g;while (--aH >= 0) {\n var aP = aK[aQ++];var aO = aK[aQ++];aI[aN++] = aT * aP + aS * aO;aI[aN++] = aM * aP + aL * aO;\n }return;case aD._$go | aD._$gb:\n aS = this._$H;aR = this._$k;aM = this._$f;aJ = this._$w;while (--aH >= 0) {\n var aP = aK[aQ++];aI[aN++] = aS * aK[aQ++] + aR;aI[aN++] = aM * aP + aJ;\n }return;case aD._$go:\n aS = this._$H;aM = this._$f;while (--aH >= 0) {\n var aP = aK[aQ++];aI[aN++] = aS * aK[aQ++];aI[aN++] = aM * aP;\n }return;case aD._$fo | aD._$gb:\n aT = this._$7;aR = this._$k;aL = this._$g;aJ = this._$w;while (--aH >= 0) {\n aI[aN++] = aT * aK[aQ++] + aR;aI[aN++] = aL * aK[aQ++] + aJ;\n }return;case aD._$fo:\n aT = this._$7;aL = this._$g;while (--aH >= 0) {\n aI[aN++] = aT * aK[aQ++];aI[aN++] = aL * aK[aQ++];\n }return;case aD._$gb:\n aR = this._$k;aJ = this._$w;while (--aH >= 0) {\n aI[aN++] = aK[aQ++] + aR;aI[aN++] = aK[aQ++] + aJ;\n }return;case aD.STATE_IDENTITY:\n if (aK != aI || aQ != aN) {\n P._$jT(aK, aQ, aI, aN, aH * 2);\n }return;}\n };aD.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;this._$Z = aD._$pS;\n } else {\n this._$hi = aD._$gb;this._$Z = aD._$hb;\n }\n } else {\n if (this._$k == 0 && this._$w == 0) {\n this._$hi = aD._$fo;this._$Z = aD._$kS;\n } else {\n this._$hi = aD._$fo | aD._$gb;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;this._$Z = aD._$kS;\n } else {\n this._$hi = aD._$go | aD._$gb;this._$Z = aD._$kS;\n }\n } else {\n if (this._$k == 0 && this._$w == 0) {\n this._$hi = aD._$go | aD._$fo;this._$Z = aD._$kS;\n } else {\n this._$hi = aD._$go | aD._$fo | aD._$gb;this._$Z = aD._$kS;\n }\n }\n }\n };aD.prototype._$RT = function (aK) {\n this._$IT(aK);var aJ = aK[0];var aH = aK[2];var aN = aK[1];var aM = aK[3];var aI = Math.sqrt(aJ * aJ + aN * aN);var aL = aJ * aM - aH * aN;if (aI == 0) {\n if (Q._$so) {\n console.log(\"affine._$RT() / rt==0\");\n }\n } else {\n aK[0] = aI;aK[1] = aL / aI;aK[2] = (aN * aM + aJ * aH) / aL;aK[3] = Math.atan2(aN, aJ);\n }\n };aD.prototype._$ho = function (aN, aM, aI, aH) {\n var aL = new Float32Array(6);var aK = new Float32Array(6);aN._$RT(aL);aM._$RT(aK);var aJ = new Float32Array(6);aJ[0] = aL[0] + (aK[0] - aL[0]) * aI;aJ[1] = aL[1] + (aK[1] - aL[1]) * aI;aJ[2] = aL[2] + (aK[2] - aL[2]) * aI;aJ[3] = aL[3] + (aK[3] - aL[3]) * aI;aJ[4] = aL[4] + (aK[4] - aL[4]) * aI;aJ[5] = aL[5] + (aK[5] - aL[5]) * aI;aH._$CT(aJ);\n };aD.prototype._$CT = function (aJ) {\n var aI = Math.cos(aJ[3]);var aH = Math.sin(aJ[3]);this._$7 = aJ[0] * aI;this._$f = aJ[0] * aH;this._$H = aJ[1] * (aJ[2] * aI - aH);this._$g = aJ[1] * (aJ[2] * aH + aI);this._$k = aJ[4];this._$w = aJ[5];this.update();\n };aD.prototype._$IT = function (aH) {\n aH[0] = this._$7;aH[1] = this._$f;aH[2] = this._$H;aH[3] = this._$g;aH[4] = this._$k;aH[5] = this._$w;\n };function Y() {\n if (j) {\n return;\n }ah.prototype.constructor.call(this);this.motions = new Array();this._$7r = null;this._$7r = Y._$Co++;this._$D0 = 30;this._$yT = 0;this._$E = true;this.loopFadeIn = true;this._$AS = -1;_$a0();\n }Y.prototype = new ah();Y._$cs = \"VISIBLE:\";Y._$ar = \"LAYOUT:\";Y._$Co = 0;Y._$D2 = [];Y._$1T = 1;Y.loadMotion = function (aR) {\n var aM = new Y();var aI = [0];var aP = aR.length;aM._$yT = 0;for (var aJ = 0; aJ < aP; ++aJ) {\n var aQ = aR[aJ] & 255;if (aQ == \"\\n\" || aQ == \"\\r\") {\n continue;\n }if (aQ == \"#\") {\n for (; aJ < aP; ++aJ) {\n if (aR[aJ] == \"\\n\" || aR[aJ] == \"\\r\") {\n break;\n }\n }continue;\n }if (aQ == \"$\") {\n var aT = aJ;var aK = -1;for (; aJ < aP; ++aJ) {\n aQ = aR[aJ] & 255;if (aQ == \"\\r\" || aQ == \"\\n\") {\n break;\n }if (aQ == \"=\") {\n aK = aJ;break;\n }\n }var aO = false;if (aK >= 0) {\n if (aK == aT + 4 && aR[aT + 1] == \"f\" && aR[aT + 2] == \"p\" && aR[aT + 3] == \"s\") {\n aO = true;\n }for (aJ = aK + 1; aJ < aP; ++aJ) {\n aQ = aR[aJ] & 255;if (aQ == \"\\r\" || aQ == \"\\n\") {\n break;\n }if (aQ == \",\" || aQ == \" \" || aQ == \"\\t\") {\n continue;\n }var aL = G._$LS(aR, aP, aJ, aI);if (aI[0] > 0) {\n if (aO && 5 < aL && aL < 121) {\n aM._$D0 = aL;\n }\n }aJ = aI[0];\n }\n }for (; aJ < aP; ++aJ) {\n if (aR[aJ] == \"\\n\" || aR[aJ] == \"\\r\") {\n break;\n }\n }continue;\n }if (\"a\" <= aQ && aQ <= \"z\" || \"A\" <= aQ && aQ <= \"Z\" || aQ == \"_\") {\n var aT = aJ;var aK = -1;for (; aJ < aP; ++aJ) {\n aQ = aR[aJ] & 255;if (aQ == \"\\r\" || aQ == \"\\n\") {\n break;\n }if (aQ == \"=\") {\n aK = aJ;break;\n }\n }if (aK >= 0) {\n var aN = new t();if (G.startsWith(aR, aT, Y._$cs)) {\n aN._$RP = t._$hs;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);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;aN._$4P = new String(aR, aT, aK - aT);\n }\n }aM.motions.push(aN);var aS = 0;Y._$D2.clear();for (aJ = aK + 1; aJ < aP; ++aJ) {\n aQ = aR[aJ] & 255;if (aQ == \"\\r\" || aQ == \"\\n\") {\n break;\n }if (aQ == \",\" || aQ == \" \" || aQ == \"\\t\") {\n continue;\n }var aL = G._$LS(aR, aP, aJ, aI);if (aI[0] > 0) {\n Y._$D2.push(aL);aS++;var aH = aI[0];if (aH < aJ) {\n console.log(\"_$n0 _$hi . @Live2DMotion loadMotion()\\n\");break;\n }aJ = aH;\n }\n }aN._$I0 = Y._$D2._$BL();if (aS > aM._$yT) {\n aM._$yT = aS;\n }\n }\n }\n }aM._$AS = 1000 * aM._$yT / aM._$D0 | 0;return aM;\n };Y.prototype.getDurationMSec = function () {\n return this._$AS;\n };Y.prototype.dump = function () {\n for (var aJ = 0; aJ < this.motions.length; aJ++) {\n var aH = this.motions[aJ];console.log(\"_$wL[%s] [%d]. \", aH._$4P, aH._$I0.length);for (var aI = 0; aI < aH._$I0.length && aI < 10; aI++) {\n console.log(\"%5.2f ,\", aH._$I0[aI]);\n }console.log(\"\\n\");\n }\n };Y.prototype.updateParamExe = function (aH, aL, aO, aX) {\n var aM = aL - aX._$z2;var aV = aM * this._$D0 / 1000;var aJ = aV | 0;var aP = aV - aJ;for (var aU = 0; aU < this.motions.length; aU++) {\n var aS = this.motions[aU];var aK = aS._$I0.length;var aQ = aS._$4P;if (aS._$RP == t._$hs) {\n var aT = aS._$I0[aJ >= aK ? aK - 1 : aJ];aH.setParamFloat(aQ, aT);\n } else {\n if (t._$ws <= aS._$RP && aS._$RP <= t._$Ys) {} else {\n var aR = aH.getParamFloat(aQ);var aY = aS._$I0[aJ >= aK ? aK - 1 : aJ];var aW = aS._$I0[aJ + 1 >= aK ? aK - 1 : aJ + 1];var aI = aY + (aW - aY) * aP;var aN = aR + (aI - aR) * aO;aH.setParamFloat(aQ, aN);\n }\n }\n }if (aJ >= this._$yT) {\n if (this._$E) {\n aX._$z2 = aL;if (this.loopFadeIn) {\n aX._$bs = aL;\n }\n } else {\n aX._$9L = true;\n }\n }\n };Y.prototype._$r0 = function () {\n return this._$E;\n };Y.prototype._$aL = function (aH) {\n this._$E = aH;\n };Y.prototype.isLoopFadeIn = function () {\n return this.loopFadeIn;\n };Y.prototype.setLoopFadeIn = function (aH) {\n this.loopFadeIn = aH;\n };function aE() {\n this._$P = new Float32Array(100);this.size = 0;\n }aE.prototype.clear = function () {\n this.size = 0;\n };aE.prototype.add = function (aI) {\n if (this._$P.length <= this.size) {\n var aH = new Float32Array(this.size * 2);P._$jT(this._$P, 0, aH, 0, this.size);this._$P = aH;\n }this._$P[this.size++] = aI;\n };aE.prototype._$BL = function () {\n var aH = new Float32Array(this.size);P._$jT(this._$P, 0, aH, 0, this.size);return aH;\n };function t() {\n this._$4P = null;this._$I0 = null;this._$RP = null;\n }t._$Fr = 0;t._$hs = 1;t._$ws = 100;t._$Ns = 101;t._$xs = 102;t._$us = 103;t._$qs = 104;t._$Ys = 105;function aw() {}aw._$Ms = 1;aw._$Qs = 2;aw._$i2 = 0;aw._$No = 2;aw._$do = aw._$Ms;aw._$Ls = true;aw._$1r = 5;aw._$Qb = 65;aw._$J = 0.0001;aw._$FT = 0.001;aw._$Ss = 3;function ay() {}ay._$o7 = 6;ay._$S7 = 7;ay._$s7 = 8;ay._$77 = 9;ay.LIVE2D_FORMAT_VERSION_V2_10_SDK2 = 10;ay.LIVE2D_FORMAT_VERSION_V2_11_SDK2_1 = 11;ay._$T7 = ay.LIVE2D_FORMAT_VERSION_V2_11_SDK2_1;ay._$Is = -2004318072;ay._$h0 = 0;ay._$4L = 23;ay._$7P = 33;ay._$uT = function (aH) {\n console.log(\"_$bo :: _$6 _$mo _$E0 : %d\\n\", aH);\n };ay._$9o = function (aH) {\n if (aH < 40) {\n ay._$uT(aH);return null;\n } else {\n if (aH < 50) {\n ay._$uT(aH);return null;\n } else {\n if (aH < 60) {\n ay._$uT(aH);return null;\n } else {\n if (aH < 100) {\n switch (aH) {case 65:\n return new E();case 66:\n return new g();case 67:\n return new aA();case 68:\n return new ab();case 69:\n return new X();case 70:\n return new b();default:\n ay._$uT(aH);return null;}\n } else {\n if (aH < 150) {\n switch (aH) {case 131:\n return new f();case 133:\n return new s();case 136:\n return new w();case 137:\n return new an();case 142:\n return new aq();}\n }\n }\n }\n }\n }ay._$uT(aH);return null;\n };function y(aH) {\n if (j) {\n return;\n }this._$QT = true;this._$co = -1;this._$qo = 0;this._$pb = new Array(y._$is);this._$_2 = new Float32Array(y._$is);this._$vr = new Float32Array(y._$is);this._$Rr = new Float32Array(y._$is);this._$Or = new Float32Array(y._$is);this._$fs = new Float32Array(y._$is);this._$Js = new Array(y._$is);this._$3S = new Array();this._$aS = new Array();this._$Bo = null;this._$F2 = new Array();this._$db = new Array();this._$8b = new Array();this._$Hr = new Array();this._$Ws = null;this._$Vs = null;this._$Er = null;this._$Es = new Int16Array(aw._$Qb);this._$ZP = new Float32Array(aw._$1r * 2);this._$Ri = aH;this._$b0 = y._$HP++;this.clipManager = null;this.dp_webgl = null;\n }y._$HP = 0;y._$_0 = true;y._$V2 = -1;y._$W0 = -1;y._$jr = false;y._$ZS = true;y._$tr = -1000000;y._$lr = 1000000;y._$is = 32;y._$e = false;y.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 }return -1;\n };y.prototype.getDrawData = function (aH) {\n if (aH instanceof Z) {\n if (this._$Bo == null) {\n this._$Bo = new Object();var aJ = this._$aS.length;for (var aI = 0; aI < aJ; aI++) {\n var aL = this._$aS[aI];var aK = aL.getDrawDataID();if (aK == null) {\n continue;\n }this._$Bo[aK] = aL;\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 };y.prototype.release = function () {\n this._$3S.clear();this._$aS.clear();this._$F2.clear();if (this._$Bo != null) {\n this._$Bo.clear();\n }this._$db.clear();this._$8b.clear();this._$Hr.clear();\n };y.prototype.init = function () {\n this._$co++;if (this._$F2.length > 0) {\n this.release();\n }var aO = this._$Ri.getModelImpl();var aT = aO._$Xr();var aS = aT.length;var aH = new Array();var a3 = new Array();for (var aV = 0; aV < aS; ++aV) {\n var a4 = aT[aV];this._$F2.push(a4);this._$Hr.push(a4.init(this));var aK = a4.getBaseData();var aR = aK.length;for (var aU = 0; aU < aR; ++aU) {\n aH.push(aK[aU]);\n }for (var aU = 0; aU < aR; ++aU) {\n var aM = aK[aU].init(this);aM._$l2(aV);a3.push(aM);\n }var a1 = a4.getDrawData();var aP = a1.length;for (var aU = 0; aU < aP; ++aU) {\n var aZ = a1[aU];var a0 = aZ.init(this);a0._$IP = aV;this._$aS.push(aZ);this._$8b.push(a0);\n }\n }var aY = aH.length;var aN = n._$2o();while (true) {\n var aX = false;for (var aV = 0; aV < aY; ++aV) {\n var aL = aH[aV];if (aL == null) {\n continue;\n }var a2 = aL.getTargetBaseDataID();if (a2 == null || a2 == aN || this.getBaseDataIndex(a2) >= 0) {\n this._$3S.push(aL);this._$db.push(a3[aV]);aH[aV] = null;aX = true;\n }\n }if (!aX) {\n break;\n }\n }var aI = aO._$E2();if (aI != null) {\n var aJ = aI._$1s();if (aJ != null) {\n var aW = aJ.length;for (var aV = 0; aV < aW; ++aV) {\n var aQ = aJ[aV];if (aQ == null) {\n continue;\n }this._$02(aQ.getParamID(), aQ.getDefaultValue(), aQ.getMinValue(), aQ.getMaxValue());\n }\n }\n }this.clipManager = new W(this.dp_webgl);this.clipManager.init(this, this._$aS, this._$8b);this._$QT = true;\n };y.prototype.update = function () {\n if (y._$e) {\n q.start(\"_$zL\");\n }var aK = this._$_2.length;for (var aW = 0; aW < aK; aW++) {\n if (this._$_2[aW] != this._$vr[aW]) {\n this._$Js[aW] = y._$ZS;this._$vr[aW] = this._$_2[aW];\n }\n }var aX = false;var aQ = this._$3S.length;var aN = this._$aS.length;var aS = a._$or();var aZ = a._$Pr();var aU = aZ - aS + 1;if (this._$Ws == null || this._$Ws.length < aU) {\n this._$Ws = new Int16Array(aU);this._$Vs = new Int16Array(aU);\n }for (var aW = 0; aW < aU; aW++) {\n this._$Ws[aW] = y._$V2;this._$Vs[aW] = y._$V2;\n }if (this._$Er == null || this._$Er.length < aN) {\n this._$Er = new Int16Array(aN);\n }for (var aW = 0; aW < aN; aW++) {\n this._$Er[aW] = y._$W0;\n }if (y._$e) {\n q.dump(\"_$zL\");\n }if (y._$e) {\n q.start(\"_$UL\");\n }var aL = null;for (var aV = 0; aV < aQ; ++aV) {\n var aJ = this._$3S[aV];var aH = this._$db[aV];try {\n aJ._$Nr(this, aH);aJ._$2b(this, aH);\n } catch (aY) {\n if (aL == null) {\n aL = aY;\n }\n }\n }if (aL != null) {\n if (y._$_0) {\n q._$Rb(aL);\n }\n }if (y._$e) {\n q.dump(\"_$UL\");\n }if (y._$e) {\n q.start(\"_$DL\");\n }var aR = null;for (var aO = 0; aO < aN; ++aO) {\n var aM = this._$aS[aO];var aI = this._$8b[aO];try {\n aM._$Nr(this, aI);if (aI._$u2()) {\n continue;\n }aM._$2b(this, aI);var aT = Math.floor(aM._$zS(this, aI) - aS);var aP;try {\n aP = this._$Vs[aT];\n } catch (aY) {\n console.log(\"_$li :: %s / %s \t\t\t\t@@_$fS\\n\", aY.toString(), aM.getDrawDataID().toString());aT = Math.floor(aM._$zS(this, aI) - aS);continue;\n }if (aP == y._$V2) {\n this._$Ws[aT] = aO;\n } else {\n this._$Er[aP] = aO;\n }this._$Vs[aT] = aO;\n } catch (aY) {\n if (aR == null) {\n aR = aY;Q._$sT(Q._$H7);\n }\n }\n }if (aR != null) {\n if (y._$_0) {\n q._$Rb(aR);\n }\n }if (y._$e) {\n q.dump(\"_$DL\");\n }if (y._$e) {\n q.start(\"_$eL\");\n }for (var aW = this._$Js.length - 1; aW >= 0; aW--) {\n this._$Js[aW] = y._$jr;\n }this._$QT = false;if (y._$e) {\n q.dump(\"_$eL\");\n }return aX;\n };y.prototype.preDraw = function (aH) {\n if (this.clipManager != null) {\n aH._$ZT();this.clipManager.setupClip(this, aH);\n }\n };y.prototype.draw = function (aM) {\n if (this._$Ws == null) {\n q._$li(\"call _$Ri.update() before _$Ri.draw() \");return;\n }var aP = this._$Ws.length;aM._$ZT();for (var aK = 0; aK < aP; ++aK) {\n var aN = this._$Ws[aK];if (aN == y._$V2) {\n continue;\n }do {\n var aH = this._$aS[aN];var aI = this._$8b[aN];if (aI._$yo()) {\n var aJ = aI._$IP;var aL = this._$Hr[aJ];aI._$VS = aL.getPartsOpacity();aH.draw(aM, this, aI);\n }var aO = this._$Er[aN];if (aO <= aN || aO == y._$W0) {\n break;\n }aN = aO;\n } while (true);\n }\n };y.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 }return this._$02(aH, 0, y._$tr, y._$lr);\n };y.prototype._$BS = function (aH) {\n return this.getBaseDataIndex(aH);\n };y.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 }return -1;\n };y.prototype._$UT = function (aJ, aH) {\n var aI = new Float32Array(aH);P._$jT(aJ, 0, aI, 0, aJ.length);return aI;\n };y.prototype._$02 = function (aN, aM, aL, aH) {\n if (this._$qo >= this._$pb.length) {\n var aK = this._$pb.length;var aJ = new Array(aK * 2);P._$jT(this._$pb, 0, aJ, 0, aK);this._$pb = aJ;this._$_2 = this._$UT(this._$_2, aK * 2);this._$vr = this._$UT(this._$vr, aK * 2);this._$Rr = this._$UT(this._$Rr, aK * 2);this._$Or = this._$UT(this._$Or, aK * 2);var aI = new Array();P._$jT(this._$Js, 0, aI, 0, aK);this._$Js = aI;\n }this._$pb[this._$qo] = aN;this._$_2[this._$qo] = aM;this._$vr[this._$qo] = aM;this._$Rr[this._$qo] = aL;this._$Or[this._$qo] = aH;this._$Js[this._$qo] = y._$ZS;return this._$qo++;\n };y.prototype._$Zo = function (aI, aH) {\n this._$3S[aI] = aH;\n };y.prototype.setParamFloat = function (aH, aI) {\n if (aI < this._$Rr[aH]) {\n aI = this._$Rr[aH];\n }if (aI > this._$Or[aH]) {\n aI = this._$Or[aH];\n }this._$_2[aH] = aI;\n };y.prototype.loadParam = function () {\n var aH = this._$_2.length;if (aH > this._$fs.length) {\n aH = this._$fs.length;\n }P._$jT(this._$fs, 0, this._$_2, 0, aH);\n };y.prototype.saveParam = function () {\n var aH = this._$_2.length;if (aH > this._$fs.length) {\n this._$fs = new Float32Array(aH);\n }P._$jT(this._$_2, 0, this._$fs, 0, aH);\n };y.prototype._$v2 = function () {\n return this._$co;\n };y.prototype._$WS = function () {\n return this._$QT;\n };y.prototype._$Xb = function (aH) {\n return this._$Js[aH] == y._$ZS;\n };y.prototype._$vs = function () {\n return this._$Es;\n };y.prototype._$Tr = function () {\n return this._$ZP;\n };y.prototype.getBaseData = function (aH) {\n return this._$3S[aH];\n };y.prototype.getParamFloat = function (aH) {\n return this._$_2[aH];\n };y.prototype.getParamMax = function (aH) {\n return this._$Or[aH];\n };y.prototype.getParamMin = function (aH) {\n return this._$Rr[aH];\n };y.prototype.setPartsOpacity = function (aJ, aH) {\n var aI = this._$Hr[aJ];aI.setPartsOpacity(aH);\n };y.prototype.getPartsOpacity = function (aI) {\n var aH = this._$Hr[aI];return aH.getPartsOpacity();\n };y.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 }return -1;\n };y.prototype._$q2 = function (aH) {\n return this._$db[aH];\n };y.prototype._$C2 = function (aH) {\n return this._$8b[aH];\n };y.prototype._$Bb = function (aH) {\n return this._$Hr[aH];\n };y.prototype._$5s = function (aO, aK) {\n var aJ = this._$Ws.length;var aN = aO;for (var aL = 0; aL < aJ; ++aL) {\n var aI = this._$Ws[aL];if (aI == y._$V2) {\n continue;\n }do {\n var aM = this._$8b[aI];if (aM._$yo()) {\n aM._$GT()._$B2(this, aM, aN);aN += aK;\n }var aH = this._$Er[aI];if (aH <= aI || aH == y._$W0) {\n break;\n }aI = aH;\n } while (true);\n }\n };y.prototype.setDrawParam = function (aH) {\n this.dp_webgl = aH;\n };y.prototype.getDrawParam = function () {\n return this.dp_webgl;\n };function ap() {}ap._$0T = function (aH) {\n return ap._$0T(new _$5(aH));\n };ap._$0T = function (aJ) {\n if (!aJ.exists()) {\n throw new _$ls(aJ._$3b());\n }var aH = aJ.length();var aI = new Int8Array(aH);var aM = new _$Xs(new _$kb(aJ), 8192);var aK;var aL = 0;while ((aK = aM.read(aI, aL, aH - aL)) > 0) {\n aL += aK;\n }return aI;\n };ap._$C = function (aJ) {\n var aI = null;var aL = null;try {\n aI = aJ instanceof Array ? aJ : new _$Xs(aJ, 8192);aL = new _$js();var aM = 1000;var aK;var aH = new Int8Array(aM);while ((aK = aI.read(aH)) > 0) {\n aL.write(aH, 0, aK);\n }return aL._$TS();\n } finally {\n if (aJ != null) {\n aJ.close();\n }if (aL != null) {\n aL.flush();aL.close();\n }\n }\n };function ar() {\n if (j) {\n return;\n }this._$12 = null;this._$bb = null;this._$_L = null;this._$jo = null;this._$iL = null;this._$0L = null;this._$Br = null;this._$Dr = null;this._$Cb = null;this._$mr = null;this._$_L = az.STATE_FIRST;this._$Br = 4000;this._$Dr = 100;this._$Cb = 50;this._$mr = 150;this._$jo = true;this._$iL = \"PARAM_EYE_L_OPEN\";this._$0L = \"PARAM_EYE_R_OPEN\";\n }ar.prototype._$T2 = function () {\n var aI = P.getUserTimeMSec();var aH = Math._$10();return aI + aH * (2 * this._$Br - 1);\n };ar.prototype._$uo = function (aH) {\n this._$Br = aH;\n };ar.prototype._$QS = function (aI, aH, aJ) {\n this._$Dr = aI;this._$Cb = aH;this._$mr = aJ;\n };ar.prototype._$7T = function (aI) {\n var aK = P.getUserTimeMSec();var aH;var aJ = 0;switch (this._$_L) {case STATE_CLOSING:\n aJ = (aK - this._$bb) / this._$Dr;if (aJ >= 1) {\n aJ = 1;this._$_L = az.STATE_CLOSED;this._$bb = aK;\n }aH = 1 - aJ;break;case STATE_CLOSED:\n aJ = (aK - this._$bb) / this._$Cb;if (aJ >= 1) {\n this._$_L = az.STATE_OPENING;this._$bb = aK;\n }aH = 0;break;case STATE_OPENING:\n aJ = (aK - this._$bb) / this._$mr;if (aJ >= 1) {\n aJ = 1;this._$_L = az.STATE_INTERVAL;this._$12 = this._$T2();\n }aH = aJ;break;case STATE_INTERVAL:\n if (this._$12 < aK) {\n this._$_L = az.STATE_CLOSING;this._$bb = aK;\n }aH = 1;break;case STATE_FIRST:default:\n this._$_L = az.STATE_INTERVAL;this._$12 = this._$T2();aH = 1;break;}if (!this._$jo) {\n aH = -aH;\n }aI.setParamFloat(this._$iL, aH);aI.setParamFloat(this._$0L, aH);\n };var az = function az() {};az.STATE_FIRST = \"STATE_FIRST\";az.STATE_INTERVAL = \"STATE_INTERVAL\";az.STATE_CLOSING = \"STATE_CLOSING\";az.STATE_CLOSED = \"STATE_CLOSED\";az.STATE_OPENING = \"STATE_OPENING\";function x() {\n if (j) {\n return;\n }ax.prototype.constructor.call(this);this._$sb = new Int32Array(x._$As);this._$U2 = new Array();this.transform = null;this.gl = null;if (x._$NT == null) {\n x._$NT = x._$9r(256);x._$vS = x._$9r(256);x._$no = x._$vb(256);\n }\n }x.prototype = new ax();x._$As = 32;x._$Gr = false;x._$NT = null;x._$vS = null;x._$no = null;x._$9r = function (aH) {\n var aI = new Float32Array(aH);return aI;\n };x._$vb = function (aH) {\n var aI = new Int16Array(aH);return aI;\n };x._$cr = function (aI, aH) {\n if (aI == null || aI._$yL() < aH.length) {\n aI = x._$9r(aH.length * 2);aI.put(aH);aI._$oT(0);\n } else {\n aI.clear();aI.put(aH);aI._$oT(0);\n }return aI;\n };x._$mb = function (aI, aH) {\n if (aI == null || aI._$yL() < aH.length) {\n aI = x._$vb(aH.length * 2);aI.put(aH);aI._$oT(0);\n } else {\n aI.clear();aI.put(aH);aI._$oT(0);\n }return aI;\n };x._$Hs = function () {\n return x._$Gr;\n };x._$as = function (aH) {\n x._$Gr = aH;\n };x.prototype.setGL = function (aH) {\n this.gl = aH;\n };x.prototype.setTransform = function (aH) {\n this.transform = aH;\n };x.prototype._$ZT = function () {};x.prototype._$Uo = function (aO, aH, aP, aI, aQ, aM, aK, aJ) {\n if (aM < 0.01) {\n return;\n }var aL = this._$U2[aO];var aN = aM > 0.9 ? Q.EXPAND_W : 0;this.gl.drawElements(aL, aP, aI, aQ, aM, aN, this.transform, aJ);\n };x.prototype._$Rs = function () {\n throw new Error(\"_$Rs\");\n };x.prototype._$Ds = function (aH) {\n throw new Error(\"_$Ds\");\n };x.prototype._$K2 = function () {\n for (var aH = 0; aH < this._$sb.length; aH++) {\n var aI = this._$sb[aH];if (aI != 0) {\n this.gl._$Sr(1, this._$sb, aH);this._$sb[aH] = 0;\n }\n }\n };x.prototype.setTexture = function (aI, aH) {\n if (this._$sb.length < aI + 1) {\n this._$nS(aI);\n }this._$sb[aI] = aH;\n };x.prototype.setTexture = function (aH, aI) {\n if (this._$sb.length < aH + 1) {\n this._$nS(aH);\n }this._$U2[aH] = aI;\n };x.prototype._$nS = function (aH) {\n var aK = Math.max(this._$sb.length * 2, aH + 1 + 10);var aI = new Int32Array(aK);P._$jT(this._$sb, 0, aI, 0, this._$sb.length);this._$sb = aI;var aJ = new Array();P._$jT(this._$U2, 0, aJ, 0, this._$U2.length);this._$U2 = aJ;\n };function ab() {\n if (j) {\n return;\n }c.prototype.constructor.call(this);this._$GS = null;this._$Y0 = null;\n }ab.prototype = new c();ab._$Xo = new Float32Array(2);ab._$io = new Float32Array(2);ab._$0o = new Float32Array(2);ab._$Lo = new Float32Array(2);ab._$To = new Float32Array(2);ab._$Po = new Float32Array(2);ab._$gT = new Array();ab.prototype._$zP = function () {\n this._$GS = new g();this._$GS._$zP();this._$Y0 = new Array();\n };ab.prototype.getType = function () {\n return c._$c2;\n };ab.prototype._$F0 = function (aH) {\n c.prototype._$F0.call(this, aH);this._$GS = aH._$nP();this._$Y0 = aH._$nP();c.prototype.readV2_opacity.call(this, aH);\n };ab.prototype.init = function (aH) {\n var aI = new al(this);aI._$Yr = new X();if (this._$32()) {\n aI._$Wr = new X();\n }return aI;\n };ab.prototype._$Nr = function (bf, bx) {\n if (!(this == bx._$GT())) {\n console.log(\"### assert!! ### \");\n }var bm = bx;if (!this._$GS._$Ur(bf)) {\n return;\n }var bw = ab._$gT;bw[0] = false;var a2 = this._$GS._$Q2(bf, bw);bx._$Ib(bw[0]);this.interpolateOpacity(bf, this._$GS, bx, bw);var a3 = bf._$vs();var ba = bf._$Tr();this._$GS._$zr(a3, ba, a2);if (a2 <= 0) {\n var bn = this._$Y0[a3[0]];bm._$Yr.init(bn);\n } else {\n if (a2 == 1) {\n var bn = this._$Y0[a3[0]];var bl = this._$Y0[a3[1]];var a9 = ba[0];bm._$Yr._$fL = bn._$fL + (bl._$fL - bn._$fL) * a9;bm._$Yr._$gL = bn._$gL + (bl._$gL - bn._$gL) * a9;bm._$Yr._$B0 = bn._$B0 + (bl._$B0 - bn._$B0) * a9;bm._$Yr._$z0 = bn._$z0 + (bl._$z0 - bn._$z0) * a9;bm._$Yr._$qT = bn._$qT + (bl._$qT - bn._$qT) * a9;\n } else {\n if (a2 == 2) {\n var bn = this._$Y0[a3[0]];var bl = this._$Y0[a3[1]];var a1 = this._$Y0[a3[2]];var a0 = this._$Y0[a3[3]];var a9 = ba[0];var a8 = ba[1];var bC = bn._$fL + (bl._$fL - bn._$fL) * a9;var bB = a1._$fL + (a0._$fL - a1._$fL) * a9;bm._$Yr._$fL = bC + (bB - bC) * a8;bC = bn._$gL + (bl._$gL - bn._$gL) * a9;bB = a1._$gL + (a0._$gL - a1._$gL) * a9;bm._$Yr._$gL = bC + (bB - bC) * a8;bC = bn._$B0 + (bl._$B0 - bn._$B0) * a9;bB = a1._$B0 + (a0._$B0 - a1._$B0) * a9;bm._$Yr._$B0 = bC + (bB - bC) * a8;bC = bn._$z0 + (bl._$z0 - bn._$z0) * a9;bB = a1._$z0 + (a0._$z0 - a1._$z0) * a9;bm._$Yr._$z0 = bC + (bB - bC) * a8;bC = bn._$qT + (bl._$qT - bn._$qT) * a9;bB = a1._$qT + (a0._$qT - a1._$qT) * a9;bm._$Yr._$qT = bC + (bB - bC) * a8;\n } else {\n if (a2 == 3) {\n var aP = this._$Y0[a3[0]];var aO = this._$Y0[a3[1]];var bu = this._$Y0[a3[2]];var bs = this._$Y0[a3[3]];var aK = this._$Y0[a3[4]];var aJ = this._$Y0[a3[5]];var bj = this._$Y0[a3[6]];var bi = this._$Y0[a3[7]];var a9 = ba[0];var a8 = ba[1];var a6 = ba[2];var bC = aP._$fL + (aO._$fL - aP._$fL) * a9;var bB = bu._$fL + (bs._$fL - bu._$fL) * a9;var bz = aK._$fL + (aJ._$fL - aK._$fL) * a9;var by = bj._$fL + (bi._$fL - bj._$fL) * a9;bm._$Yr._$fL = (1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8);bC = aP._$gL + (aO._$gL - aP._$gL) * a9;bB = bu._$gL + (bs._$gL - bu._$gL) * a9;bz = aK._$gL + (aJ._$gL - aK._$gL) * a9;by = bj._$gL + (bi._$gL - bj._$gL) * a9;bm._$Yr._$gL = (1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8);bC = aP._$B0 + (aO._$B0 - aP._$B0) * a9;bB = bu._$B0 + (bs._$B0 - bu._$B0) * a9;bz = aK._$B0 + (aJ._$B0 - aK._$B0) * a9;by = bj._$B0 + (bi._$B0 - bj._$B0) * a9;bm._$Yr._$B0 = (1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8);bC = aP._$z0 + (aO._$z0 - aP._$z0) * a9;bB = bu._$z0 + (bs._$z0 - bu._$z0) * a9;bz = aK._$z0 + (aJ._$z0 - aK._$z0) * a9;by = bj._$z0 + (bi._$z0 - bj._$z0) * a9;bm._$Yr._$z0 = (1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8);bC = aP._$qT + (aO._$qT - aP._$qT) * a9;bB = bu._$qT + (bs._$qT - bu._$qT) * a9;bz = aK._$qT + (aJ._$qT - aK._$qT) * a9;by = bj._$qT + (bi._$qT - bj._$qT) * a9;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]];var aS = this._$Y0[a3[1]];var bE = this._$Y0[a3[2]];var bD = this._$Y0[a3[3]];var aN = this._$Y0[a3[4]];var aM = this._$Y0[a3[5]];var bp = this._$Y0[a3[6]];var bo = this._$Y0[a3[7]];var bh = this._$Y0[a3[8]];var bg = this._$Y0[a3[9]];var aY = this._$Y0[a3[10]];var aW = this._$Y0[a3[11]];var a7 = this._$Y0[a3[12]];var a5 = this._$Y0[a3[13]];var aR = this._$Y0[a3[14]];var aQ = this._$Y0[a3[15]];var a9 = ba[0];var a8 = ba[1];var a6 = ba[2];var a4 = ba[3];var bC = aT._$fL + (aS._$fL - aT._$fL) * a9;var bB = bE._$fL + (bD._$fL - bE._$fL) * a9;var bz = aN._$fL + (aM._$fL - aN._$fL) * a9;var by = bp._$fL + (bo._$fL - bp._$fL) * a9;var bv = bh._$fL + (bg._$fL - bh._$fL) * a9;var bt = aY._$fL + (aW._$fL - aY._$fL) * a9;var br = a7._$fL + (a5._$fL - a7._$fL) * a9;var bq = aR._$fL + (aQ._$fL - aR._$fL) * a9;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));bC = aT._$gL + (aS._$gL - aT._$gL) * a9;bB = bE._$gL + (bD._$gL - bE._$gL) * a9;bz = aN._$gL + (aM._$gL - aN._$gL) * a9;by = bp._$gL + (bo._$gL - bp._$gL) * a9;bv = bh._$gL + (bg._$gL - bh._$gL) * a9;bt = aY._$gL + (aW._$gL - aY._$gL) * a9;br = a7._$gL + (a5._$gL - a7._$gL) * a9;bq = aR._$gL + (aQ._$gL - aR._$gL) * a9;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));bC = aT._$B0 + (aS._$B0 - aT._$B0) * a9;bB = bE._$B0 + (bD._$B0 - bE._$B0) * a9;bz = aN._$B0 + (aM._$B0 - aN._$B0) * a9;by = bp._$B0 + (bo._$B0 - bp._$B0) * a9;bv = bh._$B0 + (bg._$B0 - bh._$B0) * a9;bt = aY._$B0 + (aW._$B0 - aY._$B0) * a9;br = a7._$B0 + (a5._$B0 - a7._$B0) * a9;bq = aR._$B0 + (aQ._$B0 - aR._$B0) * a9;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));bC = aT._$z0 + (aS._$z0 - aT._$z0) * a9;bB = bE._$z0 + (bD._$z0 - bE._$z0) * a9;bz = aN._$z0 + (aM._$z0 - aN._$z0) * a9;by = bp._$z0 + (bo._$z0 - bp._$z0) * a9;bv = bh._$z0 + (bg._$z0 - bh._$z0) * a9;bt = aY._$z0 + (aW._$z0 - aY._$z0) * a9;br = a7._$z0 + (a5._$z0 - a7._$z0) * a9;bq = aR._$z0 + (aQ._$z0 - aR._$z0) * a9;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));bC = aT._$qT + (aS._$qT - aT._$qT) * a9;bB = bE._$qT + (bD._$qT - bE._$qT) * a9;bz = aN._$qT + (aM._$qT - aN._$qT) * a9;by = bp._$qT + (bo._$qT - bp._$qT) * a9;bv = bh._$qT + (bg._$qT - bh._$qT) * a9;bt = aY._$qT + (aW._$qT - aY._$qT) * a9;br = a7._$qT + (a5._$qT - a7._$qT) * a9;bq = aR._$qT + (aQ._$qT - aR._$qT) * a9;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;var aZ = new Float32Array(aV);for (var bk = 0; bk < aV; bk++) {\n var aI = bk;var aH = 1;for (var aL = 0; aL < a2; aL++) {\n aH *= aI % 2 == 0 ? 1 - ba[aL] : ba[aL];aI /= 2;\n }aZ[bk] = aH;\n }var bA = new Array();for (var aU = 0; aU < aV; aU++) {\n bA[aU] = this._$Y0[a3[aU]];\n }var be = 0,\n bc = 0,\n bd = 0,\n bb = 0,\n aX = 0;for (var aU = 0; aU < aV; aU++) {\n be += aZ[aU] * bA[aU]._$fL;bc += aZ[aU] * bA[aU]._$gL;bd += aZ[aU] * bA[aU]._$B0;bb += aZ[aU] * bA[aU]._$z0;aX += aZ[aU] * bA[aU]._$qT;\n }bm._$Yr._$fL = be;bm._$Yr._$gL = bc;bm._$Yr._$B0 = bd;bm._$Yr._$z0 = bb;bm._$Yr._$qT = aX;\n }\n }\n }\n }\n }var bn = this._$Y0[a3[0]];bm._$Yr.reflectX = bn.reflectX;bm._$Yr.reflectY = bn.reflectY;\n };ab.prototype._$2b = function (aM, aH) {\n if (!(this == aH._$GT())) {\n console.log(\"### assert!! ### \");\n }var aR = aH;aR._$hS(true);if (!this._$32()) {\n aR.setTotalScale_notForClient(aR._$Yr._$B0);aR.setTotalOpacity(aR.getInterpolatedOpacity());\n } else {\n var aT = this.getTargetBaseDataID();if (aR._$8r == c._$ur) {\n aR._$8r = aM.getBaseDataIndex(aT);\n }if (aR._$8r < 0) {\n if (Q._$so) {\n q._$li(\"_$L _$0P _$G :: %s\", aT);\n }aR._$hS(false);\n } else {\n var aI = aM.getBaseData(aR._$8r);if (aI != null) {\n var aL = aM._$q2(aR._$8r);var aS = ab._$Xo;aS[0] = aR._$Yr._$fL;aS[1] = aR._$Yr._$gL;var aJ = ab._$io;aJ[0] = 0;aJ[1] = -0.1;var aO = aL._$GT().getType();if (aO == c._$c2) {\n aJ[1] = -10;\n } else {\n aJ[1] = -0.1;\n }var aQ = ab._$0o;this._$Jr(aM, aI, aL, aS, aJ, aQ);var aP = aC._$92(aJ, aQ);aI._$nb(aM, aL, aS, aS, 1, 0, 2);aR._$Wr._$fL = aS[0];aR._$Wr._$gL = aS[1];aR._$Wr._$B0 = aR._$Yr._$B0;aR._$Wr._$z0 = aR._$Yr._$z0;aR._$Wr._$qT = aR._$Yr._$qT - aP * aC._$NS;var aK = aL.getTotalScale();aR.setTotalScale_notForClient(aK * aR._$Wr._$B0);var aN = aL.getTotalOpacity();aR.setTotalOpacity(aN * aR.getInterpolatedOpacity());aR._$Wr.reflectX = aR._$Yr.reflectX;aR._$Wr.reflectY = aR._$Yr.reflectY;aR._$hS(aL._$yo());\n } else {\n aR._$hS(false);\n }\n }\n }\n };ab.prototype._$nb = function (aJ, aR, aL, a4, aT, aO, a2) {\n if (!(this == aR._$GT())) {\n console.log(\"### assert!! ### \");\n }var aH = aR;var aU = aH._$Wr != null ? aH._$Wr : aH._$Yr;var a0 = Math.sin(aC._$bS * aU._$qT);var aP = Math.cos(aC._$bS * aU._$qT);var a3 = aH.getTotalScale();var aW = aU.reflectX ? -1 : 1;var aV = aU.reflectY ? -1 : 1;var aS = aP * a3 * aW;var aQ = -a0 * a3 * aV;var a1 = a0 * a3 * aW;var aZ = aP * a3 * aV;var aY = aU._$fL;var aX = aU._$gL;var aN, aM;var aI = aT * a2;for (var aK = aO; aK < aI; aK += a2) {\n aN = aL[aK];aM = aL[aK + 1];a4[aK] = aS * aN + aQ * aM + aY;a4[aK + 1] = a1 * aN + aZ * aM + aX;\n }\n };ab.prototype._$Jr = function (aP, aK, aI, aR, aQ, aH) {\n if (!(aK == aI._$GT())) {\n console.log(\"### assert!! ### \");\n }var aO = ab._$Lo;ab._$Lo[0] = aR[0];ab._$Lo[1] = aR[1];aK._$nb(aP, aI, aO, aO, 1, 0, 2);var aL = ab._$To;var aS = ab._$Po;var aN = 10;var aJ = 1;for (var aM = 0; aM < aN; aM++) {\n aS[0] = aR[0] + aJ * aQ[0];aS[1] = aR[1] + aJ * aQ[1];aK._$nb(aP, aI, aS, aL, 1, 0, 2);aL[0] -= aO[0];aL[1] -= aO[1];if (aL[0] != 0 || aL[1] != 0) {\n aH[0] = aL[0];aH[1] = aL[1];return;\n }aS[0] = aR[0] - aJ * aQ[0];aS[1] = aR[1] - aJ * aQ[1];aK._$nb(aP, aI, aS, aL, 1, 0, 2);aL[0] -= aO[0];aL[1] -= aO[1];if (aL[0] != 0 || aL[1] != 0) {\n aL[0] = -aL[0];aL[0] = -aL[0];aH[0] = aL[0];aH[1] = aL[1];return;\n }aJ *= 0.1;\n }if (Q._$so) {\n console.log(\"_$L0 to transform _$SP\\n\");\n }\n };function al(aH) {\n B.prototype.constructor.call(this, aH);this._$8r = c._$ur;this._$Yr = null;this._$Wr = null;\n }al.prototype = new B();function a() {\n if (j) {\n return;\n }ae.prototype.constructor.call(this);this._$gP = null;this._$dr = null;this._$GS = null;this._$qb = null;this._$Lb = null;this._$mS = null;\n }a.prototype = new ae();a._$ur = -2;a._$ES = 500;a._$wb = 2;a._$8S = 3;a._$os = 4;a._$52 = a._$ES;a._$R2 = a._$ES;a._$Sb = function (aJ) {\n for (var aI = aJ.length - 1; aI >= 0; --aI) {\n var aH = aJ[aI];if (aH < a._$52) {\n a._$52 = aH;\n } else {\n if (aH > a._$R2) {\n a._$R2 = aH;\n }\n }\n }\n };a._$or = function () {\n return a._$52;\n };a._$Pr = function () {\n return a._$R2;\n };a.prototype._$F0 = function (aH) {\n this._$gP = aH._$nP();this._$dr = aH._$nP();this._$GS = aH._$nP();this._$qb = aH._$6L();this._$Lb = aH._$cS();this._$mS = aH._$Tb();if (aH.getFormatVersion() >= ay._$T7) {\n this.clipID = aH._$nP();this.clipIDList = this.convertClipIDForV2_11(this.clipID);\n } else {\n this.clipIDList = null;\n }a._$Sb(this._$Lb);\n };a.prototype.getClipIDList = function () {\n return this.clipIDList;\n };a.prototype._$Nr = function (aI, aH) {\n aH._$IS[0] = false;aH._$Us = aG._$Z2(aI, this._$GS, aH._$IS, this._$Lb);if (Q._$Zs) {} else {\n if (aH._$IS[0]) {\n return;\n }\n }aH._$7s = aG._$br(aI, this._$GS, aH._$IS, this._$mS);\n };a.prototype._$2b = function (aH) {};a.prototype.getDrawDataID = function () {\n return this._$gP;\n };a.prototype._$j2 = function (aH) {\n this._$gP = aH;\n };a.prototype.getOpacity = function (aH, aI) {\n return aI._$7s;\n };a.prototype._$zS = function (aH, aI) {\n return aI._$Us;\n };a.prototype.getTargetBaseDataID = function () {\n return this._$dr;\n };a.prototype._$gs = function (aH) {\n this._$dr = aH;\n };a.prototype._$32 = function () {\n return this._$dr != null && this._$dr != n._$2o();\n };a.prototype.getType = function () {};function aq() {\n if (j) {\n return;\n }this._$NL = null;this._$3S = null;this._$aS = null;aq._$42++;\n }aq._$42 = 0;aq.prototype._$1b = function () {\n return this._$3S;\n };aq.prototype.getDrawDataList = function () {\n return this._$aS;\n };aq.prototype._$F0 = function (aH) {\n this._$NL = aH._$nP();this._$aS = aH._$nP();this._$3S = aH._$nP();\n };aq.prototype._$kr = function (aH) {\n aH._$Zo(this._$3S);aH._$xo(this._$aS);this._$3S = null;this._$aS = null;\n };function v() {\n if (j) {\n return;\n }aa.prototype.constructor.call(this);this._$zo = new x();\n }v.prototype = new aa();v.loadModel = function (aI) {\n var aH = new v();aa._$62(aH, aI);return aH;\n };v.loadModel = function (aI) {\n var aH = new v();aa._$62(aH, aI);return aH;\n };v._$to = function () {\n var aH = new v();return aH;\n };v._$er = function (aM) {\n var aJ = new _$5(\"../_$_r/_$t0/_$Ri/_$_P._$d\");if (aJ.exists() == false) {\n throw new _$ls(\"_$t0 _$_ _$6 _$Ui :: \" + aJ._$PL());\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\"];var aK = v.loadModel(aJ._$3b());for (var aI = 0; aI < aH.length; aI++) {\n var aL = new _$5(aH[aI]);if (aL.exists() == false) {\n throw new _$ls(\"_$t0 _$_ _$6 _$Ui :: \" + aL._$PL());\n }aK.setTexture(aI, _$nL._$_o(aM, aL._$3b()));\n }return aK;\n };v.prototype.setGL = function (aH) {\n this._$zo.setGL(aH);\n };v.prototype.setTransform = function (aH) {\n this._$zo.setTransform(aH);\n };v.prototype.draw = function () {\n this._$5S.draw(this._$zo);\n };v.prototype._$K2 = function () {\n this._$zo._$K2();\n };v.prototype.setTexture = function (aI, aH) {\n if (this._$zo == null) {\n q._$li(\"_$Yi for QT _$ki / _$XS() is _$6 _$ui!!\");\n }this._$zo.setTexture(aI, aH);\n };v.prototype.setTexture = function (aI, aH) {\n if (this._$zo == null) {\n q._$li(\"_$Yi for QT _$ki / _$XS() is _$6 _$ui!!\");\n }this._$zo.setTexture(aI, aH);\n };v.prototype._$Rs = function () {\n return this._$zo._$Rs();\n };v.prototype._$Ds = function (aH) {\n this._$zo._$Ds(aH);\n };v.prototype.getDrawParam = function () {\n return this._$zo;\n };function ao() {\n if (j) {\n return;\n }ah.prototype.constructor.call(this);this.motions = new Array();this._$o2 = null;this._$7r = ao._$Co++;this._$D0 = 30;this._$yT = 0;this._$E = false;this.loopFadeIn = true;this._$rr = -1;this._$eP = 0;\n }ao.prototype = new ah();ao._$cs = \"VISIBLE:\";ao._$ar = \"LAYOUT:\";ao.MTN_PREFIX_FADEIN = \"FADEIN:\";ao.MTN_PREFIX_FADEOUT = \"FADEOUT:\";ao._$Co = 0;ao._$1T = 1;ao.loadMotion = function (aJ) {\n var aI = ap._$C(aJ);var aH = ao.loadMotion(aI);return aH;\n };function p(aI, aH) {\n return String.fromCharCode(aI.getUint8(aH));\n }ao.loadMotion = function (aT) {\n if (aT instanceof ArrayBuffer) {\n aT = new DataView(aT);\n }var aN = new ao();var aI = [0];var aQ = aT.byteLength;aN._$yT = 0;for (var aJ = 0; aJ < aQ; ++aJ) {\n var aS = p(aT, aJ);var aL = aS.charCodeAt(0);if (aS == \"\\n\" || aS == \"\\r\") {\n continue;\n }if (aS == \"#\") {\n for (; aJ < aQ; ++aJ) {\n if (p(aT, aJ) == \"\\n\" || p(aT, aJ) == \"\\r\") {\n break;\n }\n }continue;\n }if (aS == \"$\") {\n var aV = aJ;var aK = -1;for (; aJ < aQ; ++aJ) {\n aS = p(aT, aJ);if (aS == \"\\r\" || aS == \"\\n\") {\n break;\n }if (aS == \"=\") {\n aK = aJ;break;\n }\n }var aP = false;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 }for (aJ = aK + 1; aJ < aQ; ++aJ) {\n aS = p(aT, aJ);if (aS == \"\\r\" || aS == \"\\n\") {\n break;\n }if (aS == \",\" || aS == \" \" || aS == \"\\t\") {\n continue;\n }var aM = G._$LS(aT, aQ, aJ, aI);if (aI[0] > 0) {\n if (aP && 5 < aM && aM < 121) {\n aN._$D0 = aM;\n }\n }aJ = aI[0];\n }\n }for (; aJ < aQ; ++aJ) {\n if (p(aT, aJ) == \"\\n\" || p(aT, aJ) == \"\\r\") {\n break;\n }\n }continue;\n }if (97 <= aL && aL <= 122 || 65 <= aL && aL <= 90 || aS == \"_\") {\n var aV = aJ;var aK = -1;for (; aJ < aQ; ++aJ) {\n aS = p(aT, aJ);if (aS == \"\\r\" || aS == \"\\n\") {\n break;\n }if (aS == \"=\") {\n aK = aJ;break;\n }\n }if (aK >= 0) {\n var aO = new t();if (G.startsWith(aT, aV, ao._$cs)) {\n aO._$RP = t._$hs;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);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;aO._$4P = G.createString(aT, aV, aK - aV);\n }\n }aN.motions.push(aO);var aU = 0;var aR = [];for (aJ = aK + 1; aJ < aQ; ++aJ) {\n aS = p(aT, aJ);if (aS == \"\\r\" || aS == \"\\n\") {\n break;\n }if (aS == \",\" || aS == \" \" || aS == \"\\t\") {\n continue;\n }var aM = G._$LS(aT, aQ, aJ, aI);if (aI[0] > 0) {\n aR.push(aM);aU++;var aH = aI[0];if (aH < aJ) {\n console.log(\"_$n0 _$hi . @Live2DMotion loadMotion()\\n\");break;\n }aJ = aH - 1;\n }\n }aO._$I0 = new Float32Array(aR);if (aU > aN._$yT) {\n aN._$yT = aU;\n }\n }\n }\n }aN._$rr = 1000 * aN._$yT / aN._$D0 | 0;return aN;\n };ao.prototype.getDurationMSec = function () {\n return this._$E ? -1 : this._$rr;\n };ao.prototype.getLoopDurationMSec = function () {\n return this._$rr;\n };ao.prototype.dump = function () {\n for (var aJ = 0; aJ < this.motions.length; aJ++) {\n var aH = this.motions[aJ];console.log(\"_$wL[%s] [%d]. \", aH._$4P, aH._$I0.length);for (var aI = 0; aI < aH._$I0.length && aI < 10; aI++) {\n console.log(\"%5.2f ,\", aH._$I0[aI]);\n }console.log(\"\\n\");\n }\n };ao.prototype.updateParamExe = function (aJ, aN, aQ, a3) {\n var aO = aN - a3._$z2;var a0 = aO * this._$D0 / 1000;var aK = a0 | 0;var aR = a0 - aK;for (var aZ = 0; aZ < this.motions.length; aZ++) {\n var aV = this.motions[aZ];var aL = aV._$I0.length;var aT = aV._$4P;if (aV._$RP == t._$hs) {\n var aX = aV._$I0[aK >= aL ? aL - 1 : aK];aJ.setParamFloat(aT, aX);\n } else {\n if (t._$ws <= aV._$RP && aV._$RP <= t._$Ys) {} else {\n var aH = aJ.getParamIndex(aT);var a4 = aJ.getModelContext();var aY = a4.getParamMax(aH);var aW = a4.getParamMin(aH);var aM = 0.4;var aS = aM * (aY - aW);var aU = a4.getParamFloat(aH);var a2 = aV._$I0[aK >= aL ? aL - 1 : aK];var a1 = aV._$I0[aK + 1 >= aL ? aL - 1 : aK + 1];var aI;if (a2 < a1 && a1 - a2 > aS || a2 > a1 && a2 - a1 > aS) {\n aI = a2;\n } else {\n aI = a2 + (a1 - a2) * aR;\n }var aP = aU + (aI - aU) * aQ;aJ.setParamFloat(aT, aP);\n }\n }\n }if (aK >= this._$yT) {\n if (this._$E) {\n a3._$z2 = aN;if (this.loopFadeIn) {\n a3._$bs = aN;\n }\n } else {\n a3._$9L = true;\n }\n }this._$eP = aQ;\n };ao.prototype._$r0 = function () {\n return this._$E;\n };ao.prototype._$aL = function (aH) {\n this._$E = aH;\n };ao.prototype._$S0 = function () {\n return this._$D0;\n };ao.prototype._$U0 = function (aH) {\n this._$D0 = aH;\n };ao.prototype.isLoopFadeIn = function () {\n return this.loopFadeIn;\n };ao.prototype.setLoopFadeIn = function (aH) {\n this.loopFadeIn = aH;\n };function aE() {\n this._$P = new Float32Array(100);this.size = 0;\n }aE.prototype.clear = function () {\n this.size = 0;\n };aE.prototype.add = function (aI) {\n if (this._$P.length <= this.size) {\n var aH = new Float32Array(this.size * 2);P._$jT(this._$P, 0, aH, 0, this.size);this._$P = aH;\n }this._$P[this.size++] = aI;\n };aE.prototype._$BL = function () {\n var aH = new Float32Array(this.size);P._$jT(this._$P, 0, aH, 0, this.size);return aH;\n };function t() {\n this._$4P = null;this._$I0 = null;this._$RP = null;\n }t._$Fr = 0;t._$hs = 1;t._$ws = 100;t._$Ns = 101;t._$xs = 102;t._$us = 103;t._$qs = 104;t._$Ys = 105;function E() {\n if (j) {\n return;\n }c.prototype.constructor.call(this);this._$o = 0;this._$A = 0;this._$GS = null;this._$Eo = null;\n }E.prototype = new c();E._$gT = new Array();E.prototype._$zP = function () {\n this._$GS = new g();this._$GS._$zP();\n };E.prototype._$F0 = function (aH) {\n c.prototype._$F0.call(this, aH);this._$A = aH._$6L();this._$o = aH._$6L();this._$GS = aH._$nP();this._$Eo = aH._$nP();c.prototype.readV2_opacity.call(this, aH);\n };E.prototype.init = function (aH) {\n var aI = new H(this);var aJ = (this._$o + 1) * (this._$A + 1);if (aI._$Cr != null) {\n aI._$Cr = null;\n }aI._$Cr = new Float32Array(aJ * 2);if (aI._$hr != null) {\n aI._$hr = null;\n }if (this._$32()) {\n aI._$hr = new Float32Array(aJ * 2);\n } else {\n aI._$hr = null;\n }return aI;\n };E.prototype._$Nr = function (aJ, aI) {\n var aK = aI;if (!this._$GS._$Ur(aJ)) {\n return;\n }var aL = this._$VT();var aH = E._$gT;aH[0] = false;aG._$Vr(aJ, this._$GS, aH, aL, this._$Eo, aK._$Cr, 0, 2);aI._$Ib(aH[0]);this.interpolateOpacity(aJ, this._$GS, aI, aH);\n };E.prototype._$2b = function (aK, aJ) {\n var aL = aJ;aL._$hS(true);if (!this._$32()) {\n aL.setTotalOpacity(aL.getInterpolatedOpacity());\n } else {\n var aH = this.getTargetBaseDataID();if (aL._$8r == c._$ur) {\n aL._$8r = aK.getBaseDataIndex(aH);\n }if (aL._$8r < 0) {\n if (Q._$so) {\n q._$li(\"_$L _$0P _$G :: %s\", aH);\n }aL._$hS(false);\n } else {\n var aN = aK.getBaseData(aL._$8r);var aI = aK._$q2(aL._$8r);if (aN != null && aI._$yo()) {\n var aM = aI.getTotalScale();aL.setTotalScale_notForClient(aM);var aO = aI.getTotalOpacity();aL.setTotalOpacity(aO * aL.getInterpolatedOpacity());aN._$nb(aK, aI, aL._$Cr, aL._$hr, this._$VT(), 0, 2);aL._$hS(true);\n } else {\n aL._$hS(false);\n }\n }\n }\n };E.prototype._$nb = function (aL, aI, aH, aM, aO, aK, aJ) {\n if (true) {\n var aN = aI;var aP = aN._$hr != null ? aN._$hr : aN._$Cr;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 };E.transformPoints_sdk2 = function (a0, bc, a5, aP, aI, aR, aQ, aU) {\n var aW = a5 * aI;var aV;var bn, bm;var aT = 0;var aS = 0;var bl = 0;var bk = 0;var bf = 0;var be = 0;var aZ = false;for (var ba = aP; ba < aW; ba += aI) {\n var bd, a7, a4, aX;a4 = a0[ba];aX = a0[ba + 1];bd = a4 * aQ;a7 = aX * aU;if (bd < 0 || a7 < 0 || aQ <= bd || aU <= a7) {\n var a1 = aQ + 1;if (!aZ) {\n aZ = true;aT = 0.25 * (aR[(0 + 0 * a1) * 2] + aR[(aQ + 0 * a1) * 2] + aR[(0 + aU * a1) * 2] + aR[(aQ + aU * a1) * 2]);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]);var aM = aR[(aQ + aU * a1) * 2] - aR[(0 + 0 * a1) * 2];var aL = aR[(aQ + aU * a1) * 2 + 1] - aR[(0 + 0 * a1) * 2 + 1];var bh = aR[(aQ + 0 * a1) * 2] - aR[(0 + aU * a1) * 2];var bg = aR[(aQ + 0 * a1) * 2 + 1] - aR[(0 + aU * a1) * 2 + 1];bl = (aM + bh) * 0.5;bk = (aL + bg) * 0.5;bf = (aM - bh) * 0.5;be = (aL - bg) * 0.5;if (bl == 0 && bk == 0) {}if (bf == 0 && be == 0) {}aT -= 0.5 * (bl + bf);aS -= 0.5 * (bk + be);\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];var a2 = aR[(0 + 0 * a1) * 2 + 1];var a8 = aT - 2 * bl;var a6 = aS - 2 * bk;var aK = aT - 2 * bf;var aJ = aS - 2 * be;var aO = aT - 2 * bl - 2 * bf;var aN = aS - 2 * bk - 2 * be;var bj = 0.5 * (a4 - -2);var bi = 0.5 * (aX - -2);if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);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];var aJ = aR[(0 + aU * a1) * 2 + 1];var aO = aT - 2 * bl + 1 * bf;var aN = aS - 2 * bk + 1 * be;var a3 = aT + 3 * bf;var a2 = aS + 3 * be;var a8 = aT - 2 * bl + 3 * bf;var a6 = aS - 2 * bk + 3 * be;var bj = 0.5 * (a4 - -2);var bi = 0.5 * (aX - 1);if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n } else {\n var aH = a7 | 0;if (aH == aU) {\n aH = aU - 1;\n }var bj = 0.5 * (a4 - -2);var bi = a7 - aH;var bb = aH / aU;var a9 = (aH + 1) / aU;var aK = aR[(0 + aH * a1) * 2];var aJ = aR[(0 + aH * a1) * 2 + 1];var a3 = aR[(0 + (aH + 1) * a1) * 2];var a2 = aR[(0 + (aH + 1) * a1) * 2 + 1];var aO = aT - 2 * bl + bb * bf;var aN = aS - 2 * bk + bb * be;var a8 = aT - 2 * bl + a9 * bf;var a6 = aS - 2 * bk + a9 * be;if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);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];var a6 = aR[(aQ + 0 * a1) * 2 + 1];var a3 = aT + 3 * bl;var a2 = aS + 3 * bk;var aO = aT + 1 * bl - 2 * bf;var aN = aS + 1 * bk - 2 * be;var aK = aT + 3 * bl - 2 * bf;var aJ = aS + 3 * bk - 2 * be;var bj = 0.5 * (a4 - 1);var bi = 0.5 * (aX - -2);if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);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];var aN = aR[(aQ + aU * a1) * 2 + 1];var aK = aT + 3 * bl + 1 * bf;var aJ = aS + 3 * bk + 1 * be;var a8 = aT + 1 * bl + 3 * bf;var a6 = aS + 1 * bk + 3 * be;var a3 = aT + 3 * bl + 3 * bf;var a2 = aS + 3 * bk + 3 * be;var bj = 0.5 * (a4 - 1);var bi = 0.5 * (aX - 1);if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n } else {\n var aH = a7 | 0;if (aH == aU) {\n aH = aU - 1;\n }var bj = 0.5 * (a4 - 1);var bi = a7 - aH;var bb = aH / aU;var a9 = (aH + 1) / aU;var aO = aR[(aQ + aH * a1) * 2];var aN = aR[(aQ + aH * a1) * 2 + 1];var a8 = aR[(aQ + (aH + 1) * a1) * 2];var a6 = aR[(aQ + (aH + 1) * a1) * 2 + 1];var aK = aT + 3 * bl + bb * bf;var aJ = aS + 3 * bk + bb * be;var a3 = aT + 3 * bl + a9 * bf;var a2 = aS + 3 * bk + a9 * be;if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);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;if (aY == aQ) {\n aY = aQ - 1;\n }var bj = bd - aY;var bi = 0.5 * (aX - -2);var bp = aY / aQ;var bo = (aY + 1) / aQ;var a8 = aR[(aY + 0 * a1) * 2];var a6 = aR[(aY + 0 * a1) * 2 + 1];var a3 = aR[(aY + 1 + 0 * a1) * 2];var a2 = aR[(aY + 1 + 0 * a1) * 2 + 1];var aO = aT + bp * bl - 2 * bf;var aN = aS + bp * bk - 2 * be;var aK = aT + bo * bl - 2 * bf;var aJ = aS + bo * bk - 2 * be;if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n } else {\n if (aX >= 1) {\n var aY = bd | 0;if (aY == aQ) {\n aY = aQ - 1;\n }var bj = bd - aY;var bi = 0.5 * (aX - 1);var bp = aY / aQ;var bo = (aY + 1) / aQ;var aO = aR[(aY + aU * a1) * 2];var aN = aR[(aY + aU * a1) * 2 + 1];var aK = aR[(aY + 1 + aU * a1) * 2];var aJ = aR[(aY + 1 + aU * a1) * 2 + 1];var a8 = aT + bp * bl + 3 * bf;var a6 = aS + bp * bk + 3 * be;var a3 = aT + bo * bl + 3 * bf;var a2 = aS + bo * bk + 3 * be;if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n } else {\n System.err.printf(\"_$li calc : %.4f , %.4f\t\t\t\t\t@@BDBoxGrid\\n\", a4, aX);\n }\n }\n }\n }\n } else {\n bc[ba] = aT + a4 * bl + aX * bf;bc[ba + 1] = aS + a4 * bk + aX * be;\n }\n } else {\n bn = bd - (bd | 0);bm = a7 - (a7 | 0);aV = 2 * ((bd | 0) + (a7 | 0) * (aQ + 1));if (bn + bm < 1) {\n bc[ba] = aR[aV] * (1 - bn - bm) + aR[aV + 2] * bn + aR[aV + 2 * (aQ + 1)] * bm;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);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 };E.prototype.transformPoints_sdk1 = function (aJ, aR, aL, a0, aU, aP, aZ) {\n var aH = aR;var aO, aN;var aM = this._$o;var aQ = this._$A;var aI = aU * aZ;var aS, aY;var aV;var aX, aW;var aT = aH._$hr != null ? aH._$hr : aH._$Cr;for (var aK = aP; aK < aI; aK += aZ) {\n if (Q._$ts) {\n aO = aL[aK];aN = aL[aK + 1];if (aO < 0) {\n aO = 0;\n } else {\n if (aO > 1) {\n aO = 1;\n }\n }if (aN < 0) {\n aN = 0;\n } else {\n if (aN > 1) {\n aN = 1;\n }\n }aO *= aM;aN *= aQ;aS = aO | 0;aY = aN | 0;if (aS > aM - 1) {\n aS = aM - 1;\n }if (aY > aQ - 1) {\n aY = aQ - 1;\n }aX = aO - aS;aW = aN - aY;aV = 2 * (aS + aY * (aM + 1));\n } else {\n aO = aL[aK] * aM;aN = aL[aK + 1] * aQ;aX = aO - (aO | 0);aW = aN - (aN | 0);aV = 2 * ((aO | 0) + (aN | 0) * (aM + 1));\n }if (aX + aW < 1) {\n a0[aK] = aT[aV] * (1 - aX - aW) + aT[aV + 2] * aX + aT[aV + 2 * (aM + 1)] * aW;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);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 };E.prototype._$VT = function () {\n return (this._$o + 1) * (this._$A + 1);\n };E.prototype.getType = function () {\n return c._$_b;\n };function H(aH) {\n B.prototype.constructor.call(this, aH);this._$8r = c._$ur;this._$Cr = null;this._$hr = null;\n }H.prototype = new B();function s() {\n if (j) {\n return;\n }this.visible = true;this._$g0 = false;this._$NL = null;this._$3S = null;this._$aS = null;s._$42++;\n }s._$42 = 0;s.prototype._$zP = function () {\n this._$3S = new Array();this._$aS = new Array();\n };s.prototype._$F0 = function (aH) {\n this._$g0 = aH._$8L();this.visible = aH._$8L();this._$NL = aH._$nP();this._$3S = aH._$nP();this._$aS = aH._$nP();\n };s.prototype.init = function (aI) {\n var aH = new aj(this);aH.setPartsOpacity(this.isVisible() ? 1 : 0);return aH;\n };s.prototype._$6o = function (aH) {\n if (this._$3S == null) {\n throw new Error(\"_$3S _$6 _$Wo@_$6o\");\n }this._$3S.push(aH);\n };s.prototype._$3o = function (aH) {\n if (this._$aS == null) {\n throw new Error(\"_$aS _$6 _$Wo@_$3o\");\n }this._$aS.push(aH);\n };s.prototype._$Zo = function (aH) {\n this._$3S = aH;\n };s.prototype._$xo = function (aH) {\n this._$aS = aH;\n };s.prototype.isVisible = function () {\n return this.visible;\n };s.prototype._$uL = function () {\n return this._$g0;\n };s.prototype._$KP = function (aH) {\n this.visible = aH;\n };s.prototype._$ET = function (aH) {\n this._$g0 = aH;\n };s.prototype.getBaseData = function () {\n return this._$3S;\n };s.prototype.getDrawData = function () {\n return this._$aS;\n };s.prototype._$p2 = function () {\n return this._$NL;\n };s.prototype._$ob = function (aH) {\n this._$NL = aH;\n };s.prototype.getPartsID = function () {\n return this._$NL;\n };s.prototype._$MP = function (aH) {\n this._$NL = aH;\n };function aj(aH) {\n this._$VS = null;this._$e0 = null;this._$e0 = aH;\n }aj.prototype = new S();aj.prototype.getPartsOpacity = function () {\n return this._$VS;\n };aj.prototype.setPartsOpacity = function (aH) {\n this._$VS = aH;\n };function ak(aH) {\n if (j) {\n return;\n }this.id = aH;\n }ak._$L7 = function () {\n z._$27();n._$27();Z._$27();i._$27();\n };ak.prototype.toString = function () {\n return this.id;\n };function D() {}D.prototype._$F0 = function (aH) {};function an() {\n if (j) {\n return;\n }this._$4S = null;\n }an.prototype._$1s = function () {\n return this._$4S;\n };an.prototype._$zP = function () {\n this._$4S = new Array();\n };an.prototype._$F0 = function (aH) {\n this._$4S = aH._$nP();\n };an.prototype._$Ks = function (aH) {\n this._$4S.push(aH);\n };function au(aH, aI) {\n this.canvas = aH;this.context = aI;this.viewport = new Array(0, 0, aH.width, aH.height);this._$6r = 1;this._$xP = 0;this._$3r = 1;this._$uP = 0;this._$Qo = -1;this.cacheImages = {};\n }au.tr = new am();au._$50 = new am();au._$Ti = new Array(0, 0);au._$Pi = new Array(0, 0);au._$B = new Array(0, 0);au.prototype._$lP = function (aI, aK, aJ, aH) {\n this.viewport = new Array(aI, aK, aJ, aH);\n };au.prototype._$bL = function () {\n this.context.save();var aH = this.viewport;if (aH != null) {\n this.context.beginPath();this.context._$Li(aH[0], aH[1], aH[2], aH[3]);this.context.clip();\n }\n };au.prototype._$ei = function () {\n this.context.restore();\n };au.prototype.drawElements = function (bc, bm, aX, aJ, bA, aM, bl, bz) {\n try {\n if (bA != this._$Qo) {\n this._$Qo = bA;this.context.globalAlpha = bA;\n }var a2 = bm.length;var aP = bc.width;var a5 = bc.height;var bE = this.context;var a7 = this._$xP;var a6 = this._$uP;var a1 = this._$6r;var aZ = this._$3r;var bD = au.tr;var aI = au._$Ti;var aH = au._$Pi;var bu = au._$B;for (var by = 0; by < a2; by += 3) {\n bE.save();var aW = bm[by];var aV = bm[by + 1];var aT = bm[by + 2];var aL = a7 + a1 * aX[aW * 2];var aK = a6 + aZ * aX[aW * 2 + 1];var br = a7 + a1 * aX[aV * 2];var bp = a6 + aZ * aX[aV * 2 + 1];var bh = a7 + a1 * aX[aT * 2];var bf = a6 + aZ * aX[aT * 2 + 1];if (bl) {\n bl._$PS(aL, aK, bu);aL = bu[0];aK = bu[1];bl._$PS(br, bp, bu);br = bu[0];bp = bu[1];bl._$PS(bh, bf, bu);bh = bu[0];bf = bu[1];\n }var aS = aP * aJ[aW * 2];var aQ = a5 - a5 * aJ[aW * 2 + 1];var bx = aP * aJ[aV * 2];var bw = a5 - a5 * aJ[aV * 2 + 1];var bk = aP * aJ[aT * 2];var bj = a5 - a5 * aJ[aT * 2 + 1];var a3 = Math.atan2(bw - aQ, bx - aS);var a0 = Math.atan2(bp - aK, br - aL);var aO = br - aL;var aN = bp - aK;var bi = Math.sqrt(aO * aO + aN * aN);var aU = bx - aS;var aR = bw - aQ;var bt = Math.sqrt(aU * aU + aR * aR);var bv = bi / bt;ad._$ni(bk, bj, aS, aQ, bx - aS, bw - aQ, -(bw - aQ), bx - aS, aI);ad._$ni(bh, bf, aL, aK, br - aL, bp - aK, -(bp - aK), br - aL, aH);var aY = (aH[0] - aI[0]) / aI[1];var bs = Math.min(aS, bx, bk);var bg = Math.max(aS, bx, bk);var bq = Math.min(aQ, bw, bj);var be = Math.max(aQ, bw, bj);var bo = Math.floor(bs);var bb = Math.floor(bq);var a4 = Math.ceil(bg);var bC = Math.ceil(be);bD.identity();bD.translate(aL, aK);bD.rotate(a0);bD.scale(1, aH[1] / aI[1]);bD.shear(aY, 0);bD.scale(bv, bv);bD.rotate(-a3);bD.translate(-aS, -aQ);bD.setContext(bE);var a8 = true;var a9 = 1.2;if (!aM) {\n aM = a8 ? a9 : 0;\n }if (Q.IGNORE_EXPAND) {\n aM = 0;\n }if (Q.USE_CACHED_POLYGON_IMAGE) {\n var bd = bz._$e0;bd.gl_cacheImage = bd.gl_cacheImage || {};if (!bd.gl_cacheImage[by]) {\n var bn = au.createCanvas(a4 - bo, bC - bb);Q.DEBUG_DATA.LDGL_CANVAS_MB = Q.DEBUG_DATA.LDGL_CANVAS_MB || 0;Q.DEBUG_DATA.LDGL_CANVAS_MB += (a4 - bo) * (bC - bb) * 4;var ba = bn.getContext(\"2d\");ba.translate(-bo, -bb);au.clip(ba, bD, aM, bi, aS, aQ, bx, bw, bk, bj, aL, aK, br, bp, bh, bf);ba.drawImage(bc, 0, 0);bd.gl_cacheImage[by] = { cacheCanvas: bn, cacheContext: ba };\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 }if (Q.USE_ADJUST_TRANSLATION) {\n bs = 0;bg = aP;bq = 0;be = a5;\n }bE.drawImage(bc, bs, bq, bg - bs, be - bq, bs, bq, bg - bs, be - bq);\n }bE.restore();\n }\n } catch (bB) {\n q._$Rb(bB);\n }\n };au.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 };au.expandClip = function (aV, bg, aK, a3, aJ, aI, be, ba, aZ, aX) {\n var aP = be - aJ;var aO = ba - aI;var bi = aZ - aJ;var bh = aX - aI;var bj = aP * bh - aO * bi > 0 ? aK : -aK;var aL = -aO;var aH = aP;var bc = aZ - be;var a8 = aX - ba;var a7 = -a8;var a6 = bc;var aQ = Math.sqrt(bc * bc + a8 * a8);var bf = -bh;var bb = bi;var a2 = Math.sqrt(bi * bi + bh * bh);var bd = aJ - bj * aL / a3;var a9 = aI - bj * aH / a3;var aY = be - bj * aL / a3;var aW = ba - bj * aH / a3;var a5 = be - bj * a7 / aQ;var a4 = ba - bj * a6 / aQ;var aS = aZ - bj * a7 / aQ;var aR = aX - bj * a6 / aQ;var aN = aJ + bj * bf / a2;var aM = aI + bj * bb / a2;var a1 = aZ + bj * bf / a2;var a0 = aX + bj * bb / a2;var aU = au._$50;var aT = bg._$P2(aU);if (aT == null) {\n return false;\n }au.clipWithTransform(aV, aU, bd, a9, aY, aW, a5, a4, aS, aR, a1, a0, aN, aM);return true;\n };au.clipWithTransform = function (aH, aI, aS, aN, aQ, aK, aP, aJ) {\n if (arguments.length < 1 + 3 * 2) {\n q._$li(\"err : @LDGL.clip()\");return;\n }if (!(arguments[1] instanceof am)) {\n q._$li(\"err : a[0] is _$6 LDTransform @LDGL.clip()\");return;\n }var aM = au._$B;var aO = aI;var aR = arguments;aH.beginPath();if (aO) {\n aO._$PS(aR[2], aR[3], aM);aH.moveTo(aM[0], aM[1]);for (var aL = 4; aL < aR.length; aL += 2) {\n aO._$PS(aR[aL], aR[aL + 1], aM);aH.lineTo(aM[0], aM[1]);\n }\n } else {\n aH.moveTo(aR[2], aR[3]);for (var aL = 4; aL < aR.length; aL += 2) {\n aH.lineTo(aR[aL], aR[aL + 1]);\n }\n }aH.clip();\n };au.createCanvas = function (aH, aJ) {\n var aI = document.createElement(\"canvas\");aI.setAttribute(\"width\", aH);aI.setAttribute(\"height\", aJ);if (!aI) {\n q._$li(\"err : \" + aI);\n }return aI;\n };au.dumpValues = function () {\n var aI = \"\";for (var aH = 0; aH < arguments.length; aH++) {\n aI += \"[\" + aH + \"]= \" + arguments[aH].toFixed(3) + \" , \";\n }console.log(aI);\n };function f() {\n if (j) {\n return;\n }this._$TT = null;this._$LT = null;this._$FS = null;this._$wL = null;\n }f.prototype._$F0 = function (aH) {\n this._$TT = aH._$_T();this._$LT = aH._$_T();this._$FS = aH._$_T();this._$wL = aH._$nP();\n };f.prototype.getMinValue = function () {\n return this._$TT;\n };f.prototype.getMaxValue = function () {\n return this._$LT;\n };f.prototype.getDefaultValue = function () {\n return this._$FS;\n };f.prototype.getParamID = function () {\n return this._$wL;\n };function B(aH) {\n if (j) {\n return;\n }this._$e0 = null;this._$IP = null;this._$JS = false;this._$AT = true;this._$e0 = aH;this.totalScale = 1;this._$7s = 1;this.totalOpacity = 1;\n }B.prototype._$yo = function () {\n return this._$AT && !this._$JS;\n };B.prototype._$hS = function (aH) {\n this._$AT = aH;\n };B.prototype._$GT = function () {\n return this._$e0;\n };B.prototype._$l2 = function (aH) {\n this._$IP = aH;\n };B.prototype.getPartsIndex = function () {\n return this._$IP;\n };B.prototype._$x2 = function () {\n return this._$JS;\n };B.prototype._$Ib = function (aH) {\n this._$JS = aH;\n };B.prototype.getTotalScale = function () {\n return this.totalScale;\n };B.prototype.setTotalScale_notForClient = function (aH) {\n this.totalScale = aH;\n };B.prototype.getInterpolatedOpacity = function () {\n return this._$7s;\n };B.prototype.setInterpolatedOpacity = function (aH) {\n this._$7s = aH;\n };B.prototype.getTotalOpacity = function (aH) {\n return this.totalOpacity;\n };B.prototype.setTotalOpacity = function (aH) {\n this.totalOpacity = aH;\n };function Q() {}Q._$2s = \"2.1.00_1\";Q._$Kr = 201001000;Q._$sP = true;Q._$so = true;Q._$cb = false;Q._$3T = true;Q._$Ts = true;Q._$fb = true;Q._$ts = true;Q.L2D_DEFORMER_EXTEND = true;Q._$Wb = false;Q._$yr = false;Q._$Zs = false;Q.L2D_NO_ERROR = 0;Q._$i7 = 1000;Q._$9s = 1001;Q._$es = 1100;Q._$r7 = 2000;Q._$07 = 2001;Q._$b7 = 2002;Q._$H7 = 4000;Q.L2D_COLOR_BLEND_MODE_MULT = 0;Q.L2D_COLOR_BLEND_MODE_ADD = 1;Q.L2D_COLOR_BLEND_MODE_INTERPOLATE = 2;Q._$6b = true;Q._$cT = 0;Q.clippingMaskBufferSize = 256;Q.glContext = new Array();Q.frameBuffers = new Array();Q.fTexture = new Array();Q.IGNORE_CLIP = false;Q.IGNORE_EXPAND = false;Q.EXPAND_W = 2;Q.USE_ADJUST_TRANSLATION = true;Q.USE_CANVAS_TRANSFORM = true;Q.USE_CACHED_POLYGON_IMAGE = false;Q.DEBUG_DATA = {};Q.PROFILE_IOS_SPEED = { PROFILE_NAME: \"iOS Speed\", USE_ADJUST_TRANSLATION: true, USE_CACHED_POLYGON_IMAGE: true, EXPAND_W: 4 };Q.PROFILE_IOS_QUALITY = { PROFILE_NAME: \"iOS HiQ\", USE_ADJUST_TRANSLATION: true, USE_CACHED_POLYGON_IMAGE: false, EXPAND_W: 2 };Q.PROFILE_IOS_DEFAULT = Q.PROFILE_IOS_QUALITY;Q.PROFILE_ANDROID = { PROFILE_NAME: \"Android\", USE_ADJUST_TRANSLATION: false, USE_CACHED_POLYGON_IMAGE: false, EXPAND_W: 2 };Q.PROFILE_DESKTOP = { PROFILE_NAME: \"Desktop\", USE_ADJUST_TRANSLATION: false, USE_CACHED_POLYGON_IMAGE: false, EXPAND_W: 2 };Q.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 };Q.setupProfile = function (aI, aJ) {\n if (typeof aI == \"number\") {\n switch (aI) {case 9901:\n aI = Q.PROFILE_IOS_SPEED;break;case 9902:\n aI = Q.PROFILE_IOS_QUALITY;break;case 9903:\n aI = Q.PROFILE_IOS_DEFAULT;break;case 9904:\n aI = Q.PROFILE_ANDROID;break;case 9905:\n aI = Q.PROFILE_DESKTOP;break;default:\n alert(\"profile _$6 _$Ui : \" + aI);break;}\n }if (arguments.length < 2) {\n aJ = true;\n }if (aJ) {\n console.log(\"profile : \" + aI.PROFILE_NAME);\n }for (var aH in aI) {\n Q[aH] = aI[aH];if (aJ) {\n console.log(\" [\" + aH + \"] = \" + aI[aH]);\n }\n }\n };Q.init = function () {\n if (Q._$6b) {\n console.log(\"Live2D %s\", Q._$2s);Q._$6b = false;var aH = false;aH = true;Q.initProfile();\n }\n };Q.getVersionStr = function () {\n return Q._$2s;\n };Q.getVersionNo = function () {\n return Q._$Kr;\n };Q._$sT = function (aH) {\n Q._$cT = aH;\n };Q.getError = function () {\n var aH = Q._$cT;Q._$cT = 0;return aH;\n };Q.dispose = function () {\n Q.glContext = [];Q.frameBuffers = [];Q.fTexture = [];\n };Q.setGL = function (aJ, aI) {\n var aH = aI || 0;Q.glContext[aH] = aJ;\n };Q.getGL = function (aH) {\n return Q.glContext[aH];\n };Q.setClippingMaskBufferSize = function (aH) {\n Q.clippingMaskBufferSize = aH;\n };Q.getClippingMaskBufferSize = function () {\n return Q.clippingMaskBufferSize;\n };Q.deleteBuffer = function (aI) {\n var aH = Q.getGL(aI);aH.deleteFramebuffer(Q.frameBuffers[aI].framebuffer);delete Q.frameBuffers[aI];delete Q.glContext[aI];\n };function A() {}A._$r2 = function (aH) {\n if (aH < 0) {\n return 0;\n } else {\n if (aH > 1) {\n return 1;\n }\n }return 0.5 - 0.5 * Math.cos(aH * aC.PI_F);\n };function J(aH) {\n if (j) {\n return;\n }this._$ib = aH;\n }J._$fr = -1;J.prototype.toString = function () {\n return this._$ib;\n };function b() {\n if (j) {\n return;\n }a.prototype.constructor.call(this);this._$LP = -1;this._$d0 = 0;this._$Yo = 0;this._$JP = null;this._$5P = null;this._$BP = null;this._$Eo = null;this._$Qi = null;this._$6s = b._$ms;this.culling = true;this.gl_cacheImage = null;this.instanceNo = b._$42++;\n }b.prototype = new a();b._$42 = 0;b._$Os = 30;b._$ms = 0;b._$ns = 1;b._$_s = 2;b._$gT = new Array();b.prototype._$_S = function (aH) {\n this._$LP = aH;\n };b.prototype.getTextureNo = function () {\n return this._$LP;\n };b.prototype._$ZL = function () {\n return this._$Qi;\n };b.prototype._$H2 = function () {\n return this._$JP;\n };b.prototype.getNumPoints = function () {\n return this._$d0;\n };b.prototype.getType = function () {\n return a._$wb;\n };b.prototype._$B2 = function (aL, aH, aO) {\n var aM = aH;var aN = aM._$hr != null ? aM._$hr : aM._$Cr;var aK = aw._$do;switch (aK) {default:case aw._$Ms:\n throw new Error(\"_$L _$ro \");case aw._$Qs:\n for (var aJ = this._$d0 - 1; aJ >= 0; --aJ) {\n var aI = aJ * aw._$No;aN[aI + 4] = aO;\n }break;}\n };b.prototype._$zP = function () {\n this._$GS = new g();this._$GS._$zP();\n };b.prototype._$F0 = function (aK) {\n a.prototype._$F0.call(this, aK);this._$LP = aK._$6L();this._$d0 = aK._$6L();this._$Yo = aK._$6L();var aH = aK._$nP();this._$BP = new Int16Array(this._$Yo * 3);for (var aJ = this._$Yo * 3 - 1; aJ >= 0; --aJ) {\n this._$BP[aJ] = aH[aJ];\n }this._$Eo = aK._$nP();this._$Qi = aK._$nP();if (aK.getFormatVersion() >= ay._$s7) {\n this._$JP = aK._$6L();if (this._$JP != 0) {\n if ((this._$JP & 1) != 0) {\n var aI = aK._$6L();if (this._$5P == null) {\n this._$5P = new Object();\n }this._$5P._$Hb = parseInt(aI);\n }if ((this._$JP & b._$Os) != 0) {\n this._$6s = (this._$JP & b._$Os) >> 1;\n } else {\n this._$6s = b._$ms;\n }if ((this._$JP & 32) != 0) {\n this.culling = false;\n }\n }\n } else {\n this._$JP = 0;\n }\n };b.prototype.init = function (aL) {\n var aN = new ag(this);var aI = this._$d0 * aw._$No;var aH = this._$32();if (aN._$Cr != null) {\n aN._$Cr = null;\n }aN._$Cr = new Float32Array(aI);if (aN._$hr != null) {\n aN._$hr = null;\n }aN._$hr = aH ? new Float32Array(aI) : null;var aM = aw._$do;switch (aM) {default:case aw._$Ms:\n if (aw._$Ls) {\n for (var aJ = this._$d0 - 1; aJ >= 0; --aJ) {\n var aO = aJ << 1;this._$Qi[aO + 1] = 1 - this._$Qi[aO + 1];\n }\n }break;case aw._$Qs:\n for (var aJ = this._$d0 - 1; aJ >= 0; --aJ) {\n var aO = aJ << 1;var aK = aJ * aw._$No;var aQ = this._$Qi[aO];var aP = this._$Qi[aO + 1];aN._$Cr[aK] = aQ;aN._$Cr[aK + 1] = aP;aN._$Cr[aK + 4] = 0;if (aH) {\n aN._$hr[aK] = aQ;aN._$hr[aK + 1] = aP;aN._$hr[aK + 4] = 0;\n }\n }break;}return aN;\n };b.prototype._$Nr = function (aJ, aH) {\n var aK = aH;if (!(this == aK._$GT())) {\n console.log(\"### assert!! ### \");\n }if (!this._$GS._$Ur(aJ)) {\n return;\n }a.prototype._$Nr.call(this, aJ, aK);if (aK._$IS[0]) {\n return;\n }var aI = b._$gT;aI[0] = false;aG._$Vr(aJ, this._$GS, aI, this._$d0, this._$Eo, aK._$Cr, aw._$i2, aw._$No);\n };b.prototype._$2b = function (aK, aI) {\n try {\n if (!(this == aI._$GT())) {\n console.log(\"### assert!! ### \");\n }var aL = false;if (aI._$IS[0]) {\n aL = true;\n }var aM = aI;if (!aL) {\n a.prototype._$2b.call(this, aK);if (this._$32()) {\n var aH = this.getTargetBaseDataID();if (aM._$8r == a._$ur) {\n aM._$8r = aK.getBaseDataIndex(aH);\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);var aJ = aK._$q2(aM._$8r);if (aO != null && !aJ._$x2()) {\n aO._$nb(aK, aJ, aM._$Cr, aM._$hr, this._$d0, aw._$i2, aw._$No);aM._$AT = true;\n } else {\n aM._$AT = false;\n }aM.baseOpacity = aJ.getTotalOpacity();\n }\n }\n }\n } catch (aN) {\n throw aN;\n }\n };b.prototype.draw = function (aN, aK, aI) {\n if (!(this == aI._$GT())) {\n console.log(\"### assert!! ### \");\n }if (aI._$IS[0]) {\n return;\n }var aL = aI;var aJ = this._$LP;if (aJ < 0) {\n aJ = 1;\n }var aH = this.getOpacity(aK, aL) * aI._$VS * aI.baseOpacity;var aM = aL._$hr != null ? aL._$hr : aL._$Cr;aN.setClipBufPre_clipContextForDraw(aI.clipBufPre_clipContext);aN._$WP(this.culling);aN._$Uo(aJ, 3 * this._$Yo, this._$BP, aM, this._$Qi, aH, this._$6s, aL);\n };b.prototype.dump = function () {\n console.log(\" _$yi( %d ) , _$d0( %d ) , _$Yo( %d ) \\n\", this._$LP, this._$d0, this._$Yo);console.log(\" _$Oi _$di = { \");for (var aJ = 0; aJ < this._$BP.length; aJ++) {\n console.log(\"%5d ,\", this._$BP[aJ]);\n }console.log(\"\\n _$5i _$30\");for (var aJ = 0; aJ < this._$Eo.length; aJ++) {\n console.log(\"\\n _$30[%d] = \", aJ);var aH = this._$Eo[aJ];for (var aI = 0; aI < aH.length; aI++) {\n console.log(\"%6.2f, \", aH[aI]);\n }\n }console.log(\"\\n\");\n };b.prototype._$72 = function (aH) {\n if (this._$5P == null) {\n return null;\n }return this._$5P[aH];\n };b.prototype.getIndexArray = function () {\n return this._$BP;\n };function ag(aH) {\n aB.prototype.constructor.call(this, aH);this._$8r = a._$ur;this._$Cr = null;this._$hr = null;\n }ag.prototype = new aB();ag.prototype.getTransformedPoints = function () {\n return this._$hr != null ? this._$hr : this._$Cr;\n };function k() {\n if (j) {\n return;\n }this.x = null;this.y = null;\n }k.prototype._$HT = function (aH) {\n this.x = aH.x;this.y = aH.y;\n };k.prototype._$HT = function (aH, aI) {\n this.x = aH;this.y = aI;\n };function l(aH) {\n if (j) {\n return;\n }aa.prototype.constructor.call(this);this.drawParamWebGL = new C(aH);this.drawParamWebGL.setGL(Q.getGL(aH));\n }l.prototype = new aa();l.loadModel = function (aI) {\n var aH = new l();aa._$62(aH, aI);return aH;\n };l.loadModel = function (aI, aK) {\n var aJ = aK || 0;var aH = new l(aJ);aa._$62(aH, aI);return aH;\n };l._$to = function () {\n var aH = new l();return aH;\n };l._$er = function (aM) {\n var aJ = new _$5(\"../_$_r/_$t0/_$Ri/_$_P._$d\");if (aJ.exists() == false) {\n throw new _$ls(\"_$t0 _$_ _$6 _$Ui :: \" + aJ._$PL());\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\"];var aK = l.loadModel(aJ._$3b());for (var aI = 0; aI < aH.length; aI++) {\n var aL = new _$5(aH[aI]);if (aL.exists() == false) {\n throw new _$ls(\"_$t0 _$_ _$6 _$Ui :: \" + aL._$PL());\n }aK.setTexture(aI, _$nL._$_o(aM, aL._$3b()));\n }return aK;\n };l.prototype.setGL = function (aH) {\n Q.setGL(aH);\n };l.prototype.setTransform = function (aH) {\n this.drawParamWebGL.setTransform(aH);\n };l.prototype.update = function () {\n this._$5S.update();this._$5S.preDraw(this.drawParamWebGL);\n };l.prototype.draw = function () {\n this._$5S.draw(this.drawParamWebGL);\n };l.prototype._$K2 = function () {\n this.drawParamWebGL._$K2();\n };l.prototype.setTexture = function (aI, aH) {\n if (this.drawParamWebGL == null) {\n q._$li(\"_$Yi for QT _$ki / _$XS() is _$6 _$ui!!\");\n }this.drawParamWebGL.setTexture(aI, aH);\n };l.prototype.setTexture = function (aI, aH) {\n if (this.drawParamWebGL == null) {\n q._$li(\"_$Yi for QT _$ki / _$XS() is _$6 _$ui!!\");\n }this.drawParamWebGL.setTexture(aI, aH);\n };l.prototype._$Rs = function () {\n return this.drawParamWebGL._$Rs();\n };l.prototype._$Ds = function (aH) {\n this.drawParamWebGL._$Ds(aH);\n };l.prototype.getDrawParam = function () {\n return this.drawParamWebGL;\n };l.prototype.setMatrix = function (aH) {\n this.drawParamWebGL.setMatrix(aH);\n };l.prototype.setPremultipliedAlpha = function (aH) {\n this.drawParamWebGL.setPremultipliedAlpha(aH);\n };l.prototype.isPremultipliedAlpha = function () {\n return this.drawParamWebGL.isPremultipliedAlpha();\n };l.prototype.setAnisotropy = function (aH) {\n this.drawParamWebGL.setAnisotropy(aH);\n };l.prototype.getAnisotropy = function () {\n return this.drawParamWebGL.getAnisotropy();\n };function V() {\n if (j) {\n return;\n }this.motions = null;this._$eb = false;this.motions = new Array();\n }V.prototype._$tb = function () {\n return this.motions;\n };V.prototype.startMotion = function (aJ, aI) {\n var aM = null;var aL = null;var aH = this.motions.length;for (var aK = 0; aK < aH; ++aK) {\n aL = this.motions[aK];if (aL == null) {\n continue;\n }aL._$qS(aL._$w0.getFadeOut());if (this._$eb) {\n q._$Ji(\"MotionQueueManager[size:%2d]->startMotion() / start _$K _$3 (m%d)\\n\", aH, aL._$sr);\n }\n }if (aJ == null) {\n return -1;\n }aL = new M();aL._$w0 = aJ;this.motions.push(aL);var aN = aL._$sr;if (this._$eb) {\n q._$Ji(\"MotionQueueManager[size:%2d]->startMotion() / new _$w0 (m%d)\\n\", aH, aN);\n }return aN;\n };V.prototype.updateParam = function (aJ) {\n try {\n var aI = false;for (var aK = 0; aK < this.motions.length; aK++) {\n var aL = this.motions[aK];if (aL == null) {\n this.motions.splice(aK, 1);aK--;continue;\n }var aH = aL._$w0;if (aH == null) {\n this.motions = this.motions.splice(aK, 1);aK--;continue;\n }aH.updateParam(aJ, aL);aI = true;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 }this.motions.splice(aK, 1);aK--;\n } else {}\n }return aI;\n } catch (aM) {\n q._$li(aM);return true;\n }\n };V.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];if (aJ == null) {\n continue;\n }if (aJ._$sr == aK && !aJ.isFinished()) {\n return false;\n }\n }return true;\n } else {\n for (var aI = 0; aI < this.motions.length; aI++) {\n var aJ = this.motions[aI];if (aJ == null) {\n this.motions.splice(aI, 1);aI--;continue;\n }var aH = aJ._$w0;if (aH == null) {\n this.motions.splice(aI, 1);aI--;continue;\n }if (!aJ.isFinished()) {\n return false;\n }\n }return true;\n }\n };V.prototype.stopAllMotions = function () {\n for (var aI = 0; aI < this.motions.length; aI++) {\n var aJ = this.motions[aI];if (aJ == null) {\n this.motions.splice(aI, 1);aI--;continue;\n }var aH = aJ._$w0;if (aH == null) {\n this.motions.splice(aI, 1);aI--;continue;\n }if (true) {\n this.motions.splice(aI, 1);aI--;\n }\n }\n };V.prototype._$Zr = function (aH) {\n this._$eb = aH;\n };V.prototype._$e = function () {\n console.log(\"-- _$R --\\n\");for (var aH = 0; aH < this.motions.length; aH++) {\n var aI = this.motions[aH];var aJ = aI._$w0;console.log(\"MotionQueueEnt[%d] :: %s\\n\", this.motions.length, aJ.toString());\n }\n };function M() {\n this._$w0 = null;this._$AT = true;this._$9L = false;this._$z2 = -1;this._$bs = -1;this._$Do = -1;this._$sr = null;this._$sr = M._$Gs++;\n }M._$Gs = 0;M.prototype.isFinished = function () {\n return this._$9L;\n };M.prototype._$qS = function (aJ) {\n var aI = P.getUserTimeMSec();var aH = aI + aJ;if (this._$Do < 0 || aH < this._$Do) {\n this._$Do = aH;\n }\n };M.prototype._$Bs = function () {\n return this._$sr;\n };function am() {\n this.m = new Array(1, 0, 0, 0, 1, 0, 0, 0, 1);\n }am.prototype.setContext = function (aI) {\n var aH = this.m;aI.transform(aH[0], aH[1], aH[3], aH[4], aH[6], aH[7]);\n };am.prototype.toString = function () {\n var aI = \"LDTransform { \";for (var aH = 0; aH < 9; aH++) {\n aI += this.m[aH].toFixed(2) + \" ,\";\n }aI += \" }\";return aI;\n };am.prototype.identity = function () {\n var aH = this.m;aH[0] = aH[4] = aH[8] = 1;aH[1] = aH[2] = aH[3] = aH[5] = aH[6] = aH[7] = 0;\n };am.prototype._$PS = function (aI, aK, aJ) {\n if (aJ == null) {\n aJ = new Array(0, 0);\n }var aH = this.m;aJ[0] = aH[0] * aI + aH[3] * aK + aH[6];aJ[1] = aH[1] * aI + aH[4] * aK + aH[7];return aJ;\n };am.prototype._$P2 = function (aK) {\n if (!aK) {\n aK = new am();\n }var aI = this.m;var aT = aI[0];var aS = aI[1];var aR = aI[2];var aQ = aI[3];var aP = aI[4];var aO = aI[5];var aN = aI[6];var aM = aI[7];var aL = aI[8];var aJ = aT * aP * aL + aS * aO * aN + aR * aQ * aM - aT * aO * aM - aR * aP * aN - aS * aQ * aL;if (aJ == 0) {\n return null;\n } else {\n var aH = 1 / aJ;aK.m[0] = aH * (aP * aL - aM * aO);aK.m[1] = aH * (aM * aR - aS * aL);aK.m[2] = aH * (aS * aO - aP * aR);aK.m[3] = aH * (aN * aO - aQ * aL);aK.m[4] = aH * (aT * aL - aN * aR);aK.m[5] = aH * (aQ * aR - aT * aO);aK.m[6] = aH * (aQ * aM - aN * aP);aK.m[7] = aH * (aN * aS - aT * aM);aK.m[8] = aH * (aT * aP - aQ * aS);return aK;\n }\n };am.prototype.transform = function (aI, aK, aJ) {\n if (aJ == null) {\n aJ = new Array(0, 0);\n }var aH = this.m;aJ[0] = aH[0] * aI + aH[3] * aK + aH[6];aJ[1] = aH[1] * aI + aH[4] * aK + aH[7];return aJ;\n };am.prototype.translate = function (aI, aJ) {\n var aH = this.m;aH[6] = aH[0] * aI + aH[3] * aJ + aH[6];aH[7] = aH[1] * aI + aH[4] * aJ + aH[7];aH[8] = aH[2] * aI + aH[5] * aJ + aH[8];\n };am.prototype.scale = function (aJ, aI) {\n var aH = this.m;aH[0] *= aJ;aH[1] *= aJ;aH[2] *= aJ;aH[3] *= aI;aH[4] *= aI;aH[5] *= aI;\n };am.prototype.shear = function (aM, aL) {\n var aH = this.m;var aK = aH[0] + aH[3] * aL;var aJ = aH[1] + aH[4] * aL;var aI = aH[2] + aH[5] * aL;aH[3] = aH[0] * aM + aH[3];aH[4] = aH[1] * aM + aH[4];aH[5] = aH[2] * aM + aH[5];aH[0] = aK;aH[1] = aJ;aH[2] = aI;\n };am.prototype.rotate = function (aM) {\n var aH = this.m;var aN = Math.cos(aM);var aL = Math.sin(aM);var aK = aH[0] * aN + aH[3] * aL;var aJ = aH[1] * aN + aH[4] * aL;var aI = aH[2] * aN + aH[5] * aL;aH[3] = -aH[0] * aL + aH[3] * aN;aH[4] = -aH[1] * aL + aH[4] * aN;aH[5] = -aH[2] * aL + aH[5] * aN;aH[0] = aK;aH[1] = aJ;aH[2] = aI;\n };am.prototype.concatenate = function (aL) {\n var aO = this.m;var aM = aL.m;var aS = aO[0] * aM[0] + aO[3] * aM[1] + aO[6] * aM[2];var aR = aO[1] * aM[0] + aO[4] * aM[1] + aO[7] * aM[2];var aQ = aO[2] * aM[0] + aO[5] * aM[1] + aO[8] * aM[2];var aP = aO[0] * aM[3] + aO[3] * aM[4] + aO[6] * aM[5];var aN = aO[1] * aM[3] + aO[4] * aM[4] + aO[7] * aM[5];var aK = aO[2] * aM[3] + aO[5] * aM[4] + aO[8] * aM[5];var aJ = aO[0] * aM[6] + aO[3] * aM[7] + aO[6] * aM[8];var aI = aO[1] * aM[6] + aO[4] * aM[7] + aO[7] * aM[8];var aH = aO[2] * aM[6] + aO[5] * aM[7] + aO[8] * aM[8];m[0] = aS;m[1] = aR;m[2] = aQ;m[3] = aP;m[4] = aN;m[5] = aK;m[6] = aJ;m[7] = aI;m[8] = aH;\n };function n(aH) {\n if (j) {\n return;\n }ak.prototype.constructor.call(this, aH);\n }n.prototype = new ak();n._$eT = null;n._$tP = new Object();n._$2o = function () {\n if (n._$eT == null) {\n n._$eT = n.getID(\"DST_BASE\");\n }return n._$eT;\n };n._$27 = function () {\n n._$tP.clear();n._$eT = null;\n };n.getID = function (aH) {\n var aI = n._$tP[aH];if (aI == null) {\n aI = new n(aH);n._$tP[aH] = aI;\n }return aI;\n };n.prototype._$3s = function () {\n return new n();\n };function C(aH) {\n if (j) {\n return;\n }ax.prototype.constructor.call(this);this.textures = new Array();this.transform = null;this.gl = null;this.glno = aH;this.firstDraw = true;this.anisotropyExt = null;this.maxAnisotropy = 0;this._$As = 32;this._$Gr = false;this._$NT = null;this._$vS = null;this._$no = null;this.vertShader = null;this.fragShader = null;this.vertShaderOff = null;this.fragShaderOff = null;\n }C.prototype = new ax();C._$9r = function (aH) {\n var aI = new Float32Array(aH);return aI;\n };C._$vb = function (aH) {\n var aI = new Int16Array(aH);return aI;\n };C._$cr = function (aI, aH) {\n if (aI == null || aI._$yL() < aH.length) {\n aI = C._$9r(aH.length * 2);aI.put(aH);aI._$oT(0);\n } else {\n aI.clear();aI.put(aH);aI._$oT(0);\n }return aI;\n };C._$mb = function (aI, aH) {\n if (aI == null || aI._$yL() < aH.length) {\n aI = C._$vb(aH.length * 2);aI.put(aH);aI._$oT(0);\n } else {\n aI.clear();aI.put(aH);aI._$oT(0);\n }return aI;\n };C._$Hs = function () {\n return this._$Gr;\n };C._$as = function (aH) {\n this._$Gr = aH;\n };C.prototype.getGL = function () {\n return this.gl;\n };C.prototype.setGL = function (aH) {\n this.gl = aH;\n };C.prototype.setTransform = function (aH) {\n this.transform = aH;\n };C.prototype._$ZT = function () {\n var aH = this.gl;if (this.firstDraw) {\n this.initShader();this.firstDraw = false;this.anisotropyExt = aH.getExtension(\"EXT_texture_filter_anisotropic\") || aH.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\") || aH.getExtension(\"MOZ_EXT_texture_filter_anisotropic\");if (this.anisotropyExt) {\n this.maxAnisotropy = aH.getParameter(this.anisotropyExt.MAX_TEXTURE_MAX_ANISOTROPY_EXT);\n }\n }aH.disable(aH.SCISSOR_TEST);aH.disable(aH.STENCIL_TEST);aH.disable(aH.DEPTH_TEST);aH.frontFace(aH.CW);aH.enable(aH.BLEND);aH.colorMask(1, 1, 1, 1);aH.bindBuffer(aH.ARRAY_BUFFER, null);aH.bindBuffer(aH.ELEMENT_ARRAY_BUFFER, null);\n };C.prototype._$Uo = function (aS, aT, aL, aU, aV, aN, aM, aO) {\n if (aN < 0.01 && this.clipBufPre_clipContextMask == null) {\n return;\n }var aH = aN > 0.9 ? Q.EXPAND_W : 0;var a0 = this.gl;if (this.gl == null) {\n throw new Error(\"gl is null\");\n }var a1 = false;var aQ = 1;var aP = 1;var a3 = 1;var aZ = 1;var aW = this._$C0 * aP * aN;var a2 = this._$tT * a3 * aN;var a5 = this._$WL * aZ * aN;var a7 = this._$lT * aN;if (this.clipBufPre_clipContextMask != null) {\n a0.frontFace(a0.CCW);a0.useProgram(this.shaderProgram);this._$vS = T(a0, this._$vS, aU);this._$no = L(a0, this._$no, aL);a0.enableVertexAttribArray(this.a_position_Loc);a0.vertexAttribPointer(this.a_position_Loc, 2, a0.FLOAT, false, 0, 0);this._$NT = T(a0, this._$NT, aV);a0.activeTexture(a0.TEXTURE1);a0.bindTexture(a0.TEXTURE_2D, this.textures[aS]);a0.uniform1i(this.s_texture0_Loc, 1);a0.enableVertexAttribArray(this.a_texCoord_Loc);a0.vertexAttribPointer(this.a_texCoord_Loc, 2, a0.FLOAT, false, 0, 0);a0.uniformMatrix4fv(this.u_matrix_Loc, false, this.getClipBufPre_clipContextMask().matrixForMask);var aY = this.getClipBufPre_clipContextMask().layoutChannelNo;var a4 = this.getChannelFlagAsColor(aY);a0.uniform4f(this.u_channelFlag, a4.r, a4.g, a4.b, a4.a);var aI = this.getClipBufPre_clipContextMask().layoutBounds;a0.uniform4f(this.u_baseColor_Loc, aI.x * 2 - 1, aI.y * 2 - 1, aI._$EL() * 2 - 1, aI._$5T() * 2 - 1);a0.uniform1i(this.u_maskFlag_Loc, true);\n } else {\n a1 = this.getClipBufPre_clipContextDraw() != null;if (a1) {\n a0.useProgram(this.shaderProgramOff);this._$vS = T(a0, this._$vS, aU);this._$no = L(a0, this._$no, aL);a0.enableVertexAttribArray(this.a_position_Loc_Off);a0.vertexAttribPointer(this.a_position_Loc_Off, 2, a0.FLOAT, false, 0, 0);this._$NT = T(a0, this._$NT, aV);a0.activeTexture(a0.TEXTURE1);a0.bindTexture(a0.TEXTURE_2D, this.textures[aS]);a0.uniform1i(this.s_texture0_Loc_Off, 1);a0.enableVertexAttribArray(this.a_texCoord_Loc_Off);a0.vertexAttribPointer(this.a_texCoord_Loc_Off, 2, a0.FLOAT, false, 0, 0);a0.uniformMatrix4fv(this.u_clipMatrix_Loc_Off, false, this.getClipBufPre_clipContextDraw().matrixForDraw);a0.uniformMatrix4fv(this.u_matrix_Loc_Off, false, this.matrix4x4);a0.activeTexture(a0.TEXTURE2);a0.bindTexture(a0.TEXTURE_2D, Q.fTexture[this.glno]);a0.uniform1i(this.s_texture1_Loc_Off, 2);var aY = this.getClipBufPre_clipContextDraw().layoutChannelNo;var a4 = this.getChannelFlagAsColor(aY);a0.uniform4f(this.u_channelFlag_Loc_Off, a4.r, a4.g, a4.b, a4.a);a0.uniform4f(this.u_baseColor_Loc_Off, aW, a2, a5, a7);\n } else {\n a0.useProgram(this.shaderProgram);this._$vS = T(a0, this._$vS, aU);this._$no = L(a0, this._$no, aL);a0.enableVertexAttribArray(this.a_position_Loc);a0.vertexAttribPointer(this.a_position_Loc, 2, a0.FLOAT, false, 0, 0);this._$NT = T(a0, this._$NT, aV);a0.activeTexture(a0.TEXTURE1);a0.bindTexture(a0.TEXTURE_2D, this.textures[aS]);a0.uniform1i(this.s_texture0_Loc, 1);a0.enableVertexAttribArray(this.a_texCoord_Loc);a0.vertexAttribPointer(this.a_texCoord_Loc, 2, a0.FLOAT, false, 0, 0);a0.uniformMatrix4fv(this.u_matrix_Loc, false, this.matrix4x4);a0.uniform4f(this.u_baseColor_Loc, aW, a2, a5, a7);a0.uniform1i(this.u_maskFlag_Loc, false);\n }\n }if (this.culling) {\n this.gl.enable(a0.CULL_FACE);\n } else {\n this.gl.disable(a0.CULL_FACE);\n }this.gl.enable(a0.BLEND);var a6;var aX;var aR;var aK;if (this.clipBufPre_clipContextMask != null) {\n a6 = a0.ONE;aX = a0.ONE_MINUS_SRC_ALPHA;aR = a0.ONE;aK = a0.ONE_MINUS_SRC_ALPHA;\n } else {\n switch (aM) {case b._$ms:\n a6 = a0.ONE;aX = a0.ONE_MINUS_SRC_ALPHA;aR = a0.ONE;aK = a0.ONE_MINUS_SRC_ALPHA;break;case b._$ns:\n a6 = a0.ONE;aX = a0.ONE;aR = a0.ZERO;aK = a0.ONE;break;case b._$_s:\n a6 = a0.DST_COLOR;aX = a0.ONE_MINUS_SRC_ALPHA;aR = a0.ZERO;aK = a0.ONE;break;}\n }a0.blendEquationSeparate(a0.FUNC_ADD, a0.FUNC_ADD);a0.blendFuncSeparate(a6, aX, aR, aK);if (this.anisotropyExt) {\n a0.texParameteri(a0.TEXTURE_2D, this.anisotropyExt.TEXTURE_MAX_ANISOTROPY_EXT, this.maxAnisotropy);\n }var aJ = aL.length;a0.drawElements(a0.TRIANGLES, aJ, a0.UNSIGNED_SHORT, 0);a0.bindTexture(a0.TEXTURE_2D, null);\n };function T(aJ, aH, aI) {\n if (aH == null) {\n aH = aJ.createBuffer();\n }aJ.bindBuffer(aJ.ARRAY_BUFFER, aH);aJ.bufferData(aJ.ARRAY_BUFFER, aI, aJ.DYNAMIC_DRAW);return aH;\n }function L(aJ, aH, aI) {\n if (aH == null) {\n aH = aJ.createBuffer();\n }aJ.bindBuffer(aJ.ELEMENT_ARRAY_BUFFER, aH);aJ.bufferData(aJ.ELEMENT_ARRAY_BUFFER, aI, aJ.DYNAMIC_DRAW);return aH;\n }C.prototype._$Rs = function () {\n throw new Error(\"_$Rs\");\n };C.prototype._$Ds = function (aH) {\n throw new Error(\"_$Ds\");\n };C.prototype._$K2 = function () {\n for (var aH = 0; aH < this.textures.length; aH++) {\n var aI = this.textures[aH];if (aI != 0) {\n this.gl._$K2(1, this.textures, aH);this.textures[aH] = null;\n }\n }\n };C.prototype.setTexture = function (aH, aI) {\n this.textures[aH] = aI;\n };C.prototype.initShader = function () {\n var aH = this.gl;this.loadShaders2();this.a_position_Loc = aH.getAttribLocation(this.shaderProgram, \"a_position\");this.a_texCoord_Loc = aH.getAttribLocation(this.shaderProgram, \"a_texCoord\");this.u_matrix_Loc = aH.getUniformLocation(this.shaderProgram, \"u_mvpMatrix\");this.s_texture0_Loc = aH.getUniformLocation(this.shaderProgram, \"s_texture0\");this.u_channelFlag = aH.getUniformLocation(this.shaderProgram, \"u_channelFlag\");this.u_baseColor_Loc = aH.getUniformLocation(this.shaderProgram, \"u_baseColor\");this.u_maskFlag_Loc = aH.getUniformLocation(this.shaderProgram, \"u_maskFlag\");this.a_position_Loc_Off = aH.getAttribLocation(this.shaderProgramOff, \"a_position\");this.a_texCoord_Loc_Off = aH.getAttribLocation(this.shaderProgramOff, \"a_texCoord\");this.u_matrix_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"u_mvpMatrix\");this.u_clipMatrix_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"u_ClipMatrix\");this.s_texture0_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"s_texture0\");this.s_texture1_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"s_texture1\");this.u_channelFlag_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"u_channelFlag\");this.u_baseColor_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"u_baseColor\");\n };C.prototype.disposeShader = function () {\n var aH = this.gl;if (this.shaderProgram) {\n aH.deleteProgram(this.shaderProgram);this.shaderProgram = null;\n }if (this.shaderProgramOff) {\n aH.deleteProgram(this.shaderProgramOff);this.shaderProgramOff = null;\n }\n };C.prototype.compileShader = function (aJ, aN) {\n var aM = this.gl;var aH;var aL = aN;var aK = aM.createShader(aJ);if (aK == null) {\n q._$Ji(\"_$L0 to create shader\");return null;\n }aM.shaderSource(aK, aL);aM.compileShader(aK);var aH = aM.getShaderParameter(aK, aM.COMPILE_STATUS);if (!aH) {\n var aI = aM.getShaderInfoLog(aK);q._$Ji(\"_$L0 to compile shader : \" + aI);aM.deleteShader(aK);return null;\n }return aK;\n };C.prototype.loadShaders2 = function () {\n var aN = this.gl;this.shaderProgram = aN.createProgram();if (!this.shaderProgram) {\n return false;\n }this.shaderProgramOff = aN.createProgram();if (!this.shaderProgramOff) {\n return false;\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;}\";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;}\";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 ;}\";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;}\";this.vertShader = this.compileShader(aN.VERTEX_SHADER, aK);if (!this.vertShader) {\n q._$Ji(\"Vertex shader compile _$li!\");return false;\n }this.vertShaderOff = this.compileShader(aN.VERTEX_SHADER, aL);if (!this.vertShaderOff) {\n q._$Ji(\"OffVertex shader compile _$li!\");return false;\n }this.fragShader = this.compileShader(aN.FRAGMENT_SHADER, aM);if (!this.fragShader) {\n q._$Ji(\"Fragment shader compile _$li!\");return false;\n }this.fragShaderOff = this.compileShader(aN.FRAGMENT_SHADER, aJ);if (!this.fragShaderOff) {\n q._$Ji(\"OffFragment shader compile _$li!\");return false;\n }aN.attachShader(this.shaderProgram, this.vertShader);aN.attachShader(this.shaderProgram, this.fragShader);aN.attachShader(this.shaderProgramOff, this.vertShaderOff);aN.attachShader(this.shaderProgramOff, this.fragShaderOff);aN.linkProgram(this.shaderProgram);aN.linkProgram(this.shaderProgramOff);var aH = aN.getProgramParameter(this.shaderProgram, aN.LINK_STATUS);if (!aH) {\n var aI = aN.getProgramInfoLog(this.shaderProgram);q._$Ji(\"_$L0 to link program: \" + aI);if (this.vertShader) {\n aN.deleteShader(this.vertShader);this.vertShader = 0;\n }if (this.fragShader) {\n aN.deleteShader(this.fragShader);this.fragShader = 0;\n }if (this.shaderProgram) {\n aN.deleteProgram(this.shaderProgram);this.shaderProgram = 0;\n }if (this.vertShaderOff) {\n aN.deleteShader(this.vertShaderOff);this.vertShaderOff = 0;\n }if (this.fragShaderOff) {\n aN.deleteShader(this.fragShaderOff);this.fragShaderOff = 0;\n }if (this.shaderProgramOff) {\n aN.deleteProgram(this.shaderProgramOff);this.shaderProgramOff = 0;\n }return false;\n }return true;\n };C.prototype.createFramebuffer = function () {\n var aL = this.gl;var aK = Q.clippingMaskBufferSize;var aJ = aL.createFramebuffer();aL.bindFramebuffer(aL.FRAMEBUFFER, aJ);var aH = aL.createRenderbuffer();aL.bindRenderbuffer(aL.RENDERBUFFER, aH);aL.renderbufferStorage(aL.RENDERBUFFER, aL.RGBA4, aK, aK);aL.framebufferRenderbuffer(aL.FRAMEBUFFER, aL.COLOR_ATTACHMENT0, aL.RENDERBUFFER, aH);var aI = aL.createTexture();aL.bindTexture(aL.TEXTURE_2D, aI);aL.texImage2D(aL.TEXTURE_2D, 0, aL.RGBA, aK, aK, 0, aL.RGBA, aL.UNSIGNED_BYTE, null);aL.texParameteri(aL.TEXTURE_2D, aL.TEXTURE_MIN_FILTER, aL.LINEAR);aL.texParameteri(aL.TEXTURE_2D, aL.TEXTURE_MAG_FILTER, aL.LINEAR);aL.texParameteri(aL.TEXTURE_2D, aL.TEXTURE_WRAP_S, aL.CLAMP_TO_EDGE);aL.texParameteri(aL.TEXTURE_2D, aL.TEXTURE_WRAP_T, aL.CLAMP_TO_EDGE);aL.framebufferTexture2D(aL.FRAMEBUFFER, aL.COLOR_ATTACHMENT0, aL.TEXTURE_2D, aI, 0);aL.bindTexture(aL.TEXTURE_2D, null);aL.bindRenderbuffer(aL.RENDERBUFFER, null);aL.bindFramebuffer(aL.FRAMEBUFFER, null);Q.fTexture[this.glno] = aI;return { framebuffer: aJ, renderbuffer: aH, texture: Q.fTexture[this.glno] };\n };function K(aH) {\n if (j) {\n return;\n }this._$P = new Int8Array(8);this._$R0 = new DataView(this._$P.buffer);this._$3i = new Int8Array(1000);this._$hL = 0;this._$v0 = 0;this._$S2 = 0;this._$Ko = new Array();this._$T = aH;this._$F = 0;\n }K.prototype._$fP = function () {\n var aK = this._$ST();var aJ, aI, aH;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 };K.prototype.getFormatVersion = function () {\n return this._$S2;\n };K.prototype._$gr = function (aH) {\n this._$S2 = aH;\n };K.prototype._$3L = function () {\n return this._$fP();\n };K.prototype._$mP = function () {\n this._$zT();this._$F += 8;return this._$T.getFloat64(this._$F - 8);\n };K.prototype._$_T = function () {\n this._$zT();this._$F += 4;return this._$T.getFloat32(this._$F - 4);\n };K.prototype._$6L = function () {\n this._$zT();this._$F += 4;return this._$T.getInt32(this._$F - 4);\n };K.prototype._$ST = function () {\n this._$zT();return this._$T.getInt8(this._$F++);\n };K.prototype._$9T = function () {\n this._$zT();this._$F += 2;return this._$T.getInt16(this._$F - 2);\n };K.prototype._$2T = function () {\n this._$zT();this._$F += 8;throw new J(\"_$L _$q read long\");\n };K.prototype._$po = function () {\n this._$zT();return this._$T.getInt8(this._$F++) != 0;\n };var O = true;K.prototype._$bT = function () {\n this._$zT();var aH = this._$3L();var aK = null;if (O) {\n try {\n var aM = new ArrayBuffer(aH * 2);aK = new Uint16Array(aM);for (var aJ = 0; aJ < aH; ++aJ) {\n aK[aJ] = this._$T.getUint8(this._$F++);\n }return String.fromCharCode.apply(null, aK);\n } catch (aL) {\n O = false;\n }\n }try {\n var aI = new Array();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 }return String.fromCharCode.apply(null, aI);\n } catch (aL) {\n console.log(\"read utf8 / _$rT _$L0 !! : \" + aL);\n }\n };K.prototype._$cS = function () {\n this._$zT();var aI = this._$3L();var aH = new Int32Array(aI);for (var aJ = 0; aJ < aI; aJ++) {\n aH[aJ] = this._$T.getInt32(this._$F);this._$F += 4;\n }return aH;\n };K.prototype._$Tb = function () {\n this._$zT();var aI = this._$3L();var aH = new Float32Array(aI);for (var aJ = 0; aJ < aI; aJ++) {\n aH[aJ] = this._$T.getFloat32(this._$F);this._$F += 4;\n }return aH;\n };K.prototype._$5b = function () {\n this._$zT();var aI = this._$3L();var aH = new Float64Array(aI);for (var aJ = 0; aJ < aI; aJ++) {\n aH[aJ] = this._$T.getFloat64(this._$F);this._$F += 8;\n }return aH;\n };K.prototype._$nP = function () {\n return this._$Jb(-1);\n };K.prototype._$Jb = function (aJ) {\n this._$zT();if (aJ < 0) {\n aJ = this._$3L();\n }if (aJ == ay._$7P) {\n var aH = this._$6L();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);this._$Ko.push(aI);return aI;\n }\n };K.prototype._$4b = function (aN) {\n if (aN == 0) {\n return null;\n }if (aN == 50) {\n var aK = this._$bT();var aI = Z.getID(aK);return aI;\n } else {\n if (aN == 51) {\n var aK = this._$bT();var aI = n.getID(aK);return aI;\n } else {\n if (aN == 134) {\n var aK = this._$bT();var aI = i.getID(aK);return aI;\n } else {\n if (aN == 60) {\n var aK = this._$bT();var aI = z.getID(aK);return aI;\n }\n }\n }\n }if (aN >= 48) {\n var aL = ay._$9o(aN);if (aL != null) {\n aL._$F0(this);return aL;\n } else {\n return null;\n }\n }switch (aN) {case 1:\n return this._$bT();case 10:\n var aM = this._$6L();return new I(aM, true);case 11:\n return new av(this._$mP(), this._$mP(), this._$mP(), this._$mP());case 12:\n return new av(this._$_T(), this._$_T(), this._$_T(), this._$_T());case 13:\n return new e(this._$mP(), this._$mP());case 14:\n return new e(this._$_T(), this._$_T());case 15:\n var aH = this._$3L();var aI = new Array(aH);for (var aJ = 0; aJ < aH; aJ++) {\n aI[aJ] = this._$nP();\n }return aI;case 17:\n var aI = new aD(this._$mP(), this._$mP(), this._$mP(), this._$mP(), this._$mP(), this._$mP());return aI;case 21:\n return new F(this._$6L(), this._$6L(), this._$6L(), this._$6L());case 22:\n return new k(this._$6L(), this._$6L());case 23:\n throw new Error(\"_$L _$ro \");case 16:case 25:\n return this._$cS();case 26:\n return this._$5b();case 27:\n return this._$Tb();case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 18:case 19:case 20:case 24:case 28:\n throw new J(\"_$6 _$q : _$nP() of 2-9 ,18,19,20,24,28 : \" + aN);default:\n throw new J(\"_$6 _$q : _$nP() NO _$i : \" + aN);}\n };K.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();this._$hL = 0;\n }\n }return (this._$v0 >> 7 - this._$hL++ & 1) == 1;\n };K.prototype._$zT = function () {\n if (this._$hL != 0) {\n this._$hL = 0;\n }\n };function ai() {}ai.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);console.log(\"(% 7.3f , % 7.3f) , \", aM[aJ], aM[aJ + 1]);\n }console.log(\"\\n\");\n }console.log(\"\\n\");\n };function aC() {}aC._$2S = Math.PI / 180;aC._$bS = Math.PI / 180;aC._$wS = 180 / Math.PI;aC._$NS = 180 / Math.PI;aC.PI_F = Math.PI;aC._$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];aC._$92 = function (aK, aI) {\n var aH = Math.atan2(aK[1], aK[0]);var aJ = Math.atan2(aI[1], aI[0]);return aC._$tS(aH, aJ);\n };aC._$tS = function (aI, aH) {\n var aJ = aI - aH;while (aJ < -Math.PI) {\n aJ += 2 * Math.PI;\n }while (aJ > Math.PI) {\n aJ -= 2 * Math.PI;\n }return aJ;\n };aC._$9 = function (aH) {\n return Math.sin(aH);\n };aC.fcos = function (aH) {\n return Math.cos(aH);\n };function aB(aH) {\n if (j) {\n return;\n }this._$e0 = null;this._$IP = null;this._$Us = null;this._$7s = null;this._$IS = [false];this._$VS = null;this._$AT = true;this.baseOpacity = 1;this.clipBufPre_clipContext = null;this._$e0 = aH;\n }aB.prototype._$u2 = function () {\n return this._$IS[0];\n };aB.prototype._$yo = function () {\n return this._$AT && !this._$IS[0];\n };aB.prototype._$GT = function () {\n return this._$e0;\n };function r() {}r._$W2 = 0;r.SYSTEM_INFO = null;r.USER_AGENT = navigator.userAgent;r.isIPhone = function () {\n if (!r.SYSTEM_INFO) {\n r.setup();\n }return r.SYSTEM_INFO._isIPhone;\n };r.isIOS = function () {\n if (!r.SYSTEM_INFO) {\n r.setup();\n }return r.SYSTEM_INFO._isIPhone || r.SYSTEM_INFO._isIPad;\n };r.isAndroid = function () {\n if (!r.SYSTEM_INFO) {\n r.setup();\n }return r.SYSTEM_INFO._isAndroid;\n };r.getOSVersion = function () {\n if (!r.SYSTEM_INFO) {\n r.setup();\n }return r.SYSTEM_INFO.version;\n };r.getOS = function () {\n if (!r.SYSTEM_INFO) {\n r.setup();\n }if (r.SYSTEM_INFO._isIPhone || r.SYSTEM_INFO._isIPad) {\n return \"iOS\";\n }if (r.SYSTEM_INFO._isAndroid) {\n return \"Android\";\n } else {\n return \"_$Q0 OS\";\n }\n };r.setup = function () {\n var aK = r.USER_AGENT;function aI(aO, aR) {\n var aN = aO.substring(aR).split(/[ _,;\\.]/);var aQ = 0;for (var aM = 0; aM <= 2; aM++) {\n if (isNaN(aN[aM])) {\n break;\n }var aP = parseInt(aN[aM]);if (aP < 0 || aP > 999) {\n q._$li(\"err : \" + aP + \" @UtHtml5.setup()\");aQ = 0;break;\n }aQ += aP * Math.pow(1000, 2 - aM);\n }return aQ;\n }var aL;var aH;var aJ = r.SYSTEM_INFO = { userAgent: aK };if ((aL = aK.indexOf(\"iPhone OS \")) >= 0) {\n aJ.os = \"iPhone\";aJ._isIPhone = true;aJ.version = aI(aK, aL + \"iPhone OS \".length);\n } else {\n if ((aL = aK.indexOf(\"iPad\")) >= 0) {\n aL = aK.indexOf(\"CPU OS\");if (aL < 0) {\n q._$li(\" err : \" + aK + \" @UtHtml5.setup()\");return;\n }aJ.os = \"iPad\";aJ._isIPad = true;aJ.version = aI(aK, aL + \"CPU OS \".length);\n } else {\n if ((aL = aK.indexOf(\"Android\")) >= 0) {\n aJ.os = \"Android\";aJ._isAndroid = true;aJ.version = aI(aK, aL + \"Android \".length);\n } else {\n aJ.os = \"-\";aJ.version = -1;\n }\n }\n }\n };window.UtSystem = P;window.UtDebug = q;window.LDTransform = am;window.LDGL = au;window.Live2D = Q;window.Live2DModelWebGL = l;window.Live2DModelJS = v;window.Live2DMotion = ao;window.MotionQueueManager = V;window.PhysicsHair = u;window.AMotion = ah;window.PartsDataID = i;window.DrawDataID = Z;window.BaseDataID = n;window.ParamID = z;Q.init();var j = false;\n})();\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(7)))\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\n// Provide a \"System\" global.\nmodule.exports = {\n\t// Make sure import is only used as \"System.import\"\n\timport: function() {\n\t\tthrow new Error(\"System.import cannot be used indirectly\");\n\t}\n};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = LAppLive2DManager;\n\nvar _Live2DFramework = __webpack_require__(0);\n\nvar _PlatformManager = __webpack_require__(9);\n\nvar _PlatformManager2 = _interopRequireDefault(_PlatformManager);\n\nvar _LAppModel = __webpack_require__(10);\n\nvar _LAppModel2 = _interopRequireDefault(_LAppModel);\n\nvar _LAppDefine = __webpack_require__(1);\n\nvar _LAppDefine2 = _interopRequireDefault(_LAppDefine);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction LAppLive2DManager() {\n // console.log(\"--> LAppLive2DManager()\");\n\n\n this.models = [];\n\n this.count = -1;\n this.reloadFlg = false;\n\n Live2D.init();\n _Live2DFramework.Live2DFramework.setPlatformManager(new _PlatformManager2.default());\n}\n\nLAppLive2DManager.prototype.createModel = function () {\n\n var model = new _LAppModel2.default();\n this.models.push(model);\n\n return model;\n};\n\nLAppLive2DManager.prototype.changeModel = function (gl, modelurl) {\n // console.log(\"--> LAppLive2DManager.update(gl)\");\n\n if (this.reloadFlg) {\n\n this.reloadFlg = false;\n\n var thisRef = this;\n this.releaseModel(0, gl);\n this.createModel();\n this.models[0].load(gl, modelurl);\n }\n};\n\nLAppLive2DManager.prototype.getModel = function (no) {\n // console.log(\"--> LAppLive2DManager.getModel(\" + no + \")\");\n\n if (no >= this.models.length) return null;\n\n return this.models[no];\n};\n\nLAppLive2DManager.prototype.releaseModel = function (no, gl) {\n // console.log(\"--> LAppLive2DManager.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\nLAppLive2DManager.prototype.numModels = function () {\n return this.models.length;\n};\n\nLAppLive2DManager.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\nLAppLive2DManager.prototype.maxScaleEvent = function () {\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Max scale event.\");\n for (var i = 0; i < this.models.length; i++) {\n this.models[i].startRandomMotion(_LAppDefine2.default.MOTION_GROUP_PINCH_IN, _LAppDefine2.default.PRIORITY_NORMAL);\n }\n};\n\nLAppLive2DManager.prototype.minScaleEvent = function () {\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Min scale event.\");\n for (var i = 0; i < this.models.length; i++) {\n this.models[i].startRandomMotion(_LAppDefine2.default.MOTION_GROUP_PINCH_OUT, _LAppDefine2.default.PRIORITY_NORMAL);\n }\n};\n\nLAppLive2DManager.prototype.tapEvent = function (x, y) {\n if (_LAppDefine2.default.DEBUG_LOG) 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(_LAppDefine2.default.HIT_AREA_HEAD, x, y)) {\n\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Tap face.\");\n\n this.models[i].setRandomExpression();\n } else if (this.models[i].hitTest(_LAppDefine2.default.HIT_AREA_BODY, x, y)) {\n\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Tap body.\" + \" models[\" + i + \"]\");\n\n this.models[i].startRandomMotion(_LAppDefine2.default.MOTION_GROUP_TAP_BODY, _LAppDefine2.default.PRIORITY_NORMAL);\n }\n }\n\n return true;\n};\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = PlatformManager;\n\nvar _webglcontext = __webpack_require__(2);\n\n//============================================================\n//============================================================\n// class PlatformManager extend IPlatformManager\n//============================================================\n//============================================================\nfunction PlatformManager() {}\n\n//============================================================\n// PlatformManager # loadBytes()\n//============================================================\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 */\nPlatformManager.prototype.loadBytes = function (path /*String*/, callback) {\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// PlatformManager # loadString()\n//============================================================\nPlatformManager.prototype.loadString = function (path /*String*/) {\n\n this.loadBytes(path, function (buf) {\n return buf;\n });\n};\n\n//============================================================\n// PlatformManager # loadLive2DModel()\n//============================================================\nPlatformManager.prototype.loadLive2DModel = function (path /*String*/, callback) {\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// PlatformManager # loadTexture()\n//============================================================\nPlatformManager.prototype.loadTexture = function (model /*ALive2DModel*/, no /*int*/, path /*String*/, callback) {\n // load textures\n var loadedImage = new Image();\n loadedImage.src = path;\n\n var thisRef = this;\n loadedImage.onload = function () {\n // create texture\n var gl = (0, _webglcontext.getContext)();\n var texture = gl.createTexture();\n if (!texture) {\n console.error(\"Failed to generate gl texture name.\");return -1;\n }\n\n if (model.isPremultipliedAlpha() == false) {\n // 乗算済アルファテクスチャ以外の場合\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, 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 model.setTexture(no, texture);\n\n // テクスチャオブジェクトを解放\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// PlatformManager # parseFromBytes(buf)\n\n//============================================================\nPlatformManager.prototype.jsonParseFromBytes = function (buf) {\n\n var jsonStr;\n\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// PlatformManager # log()\n//============================================================\nPlatformManager.prototype.log = function (txt /*String*/) {\n //console.log(txt);\n};\n\nfunction getWebGLContext(canvas) {\n var NAMES = [\"webgl\", \"experimental-webgl\", \"webkit-3d\", \"moz-webgl\"];\n for (var i = 0; i < NAMES.length; i++) {\n try {\n var ctx = canvas.getContext(NAMES[i], { premultipliedAlpha: true });\n if (ctx) return ctx;\n } catch (e) {}\n }\n return null;\n};\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = LAppModel;\n\nvar _Live2DFramework = __webpack_require__(0);\n\nvar _ModelSettingJson = __webpack_require__(11);\n\nvar _ModelSettingJson2 = _interopRequireDefault(_ModelSettingJson);\n\nvar _LAppDefine = __webpack_require__(1);\n\nvar _LAppDefine2 = _interopRequireDefault(_LAppDefine);\n\nvar _MatrixStack = __webpack_require__(3);\n\nvar _MatrixStack2 = _interopRequireDefault(_MatrixStack);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n//============================================================\n//============================================================\n// class LAppModel extends L2DBaseModel \n//============================================================\n//============================================================\nfunction LAppModel() {\n //L2DBaseModel.apply(this, arguments);\n _Live2DFramework.L2DBaseModel.prototype.constructor.call(this);\n\n this.modelHomeDir = \"\";\n this.modelSetting = null;\n this.tmpMatrix = [];\n}\n\nLAppModel.prototype = new _Live2DFramework.L2DBaseModel();\n\nLAppModel.prototype.load = function (gl, modelSettingPath, callback) {\n this.setUpdating(true);\n this.setInitialized(false);\n\n this.modelHomeDir = modelSettingPath.substring(0, modelSettingPath.lastIndexOf(\"/\") + 1);\n\n this.modelSetting = new _ModelSettingJson2.default();\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 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 thisRef.expressions = {};\n\n for (var j = 0; j < thisRef.modelSetting.getExpressionNum(); j++) {\n var expName = thisRef.modelSetting.getExpressionName(j);\n var expFilePath = thisRef.modelHomeDir + thisRef.modelSetting.getExpressionFile(j);\n\n thisRef.loadExpression(expName, expFilePath);\n }\n } else {\n thisRef.expressionManager = null;\n thisRef.expressions = {};\n }\n\n if (thisRef.eyeBlink == null) {\n thisRef.eyeBlink = new _Live2DFramework.L2DEyeBlink();\n }\n\n if (thisRef.modelSetting.getPhysicsFile() != null) {\n thisRef.loadPhysics(thisRef.modelHomeDir + thisRef.modelSetting.getPhysicsFile());\n } else {\n thisRef.physics = null;\n }\n\n if (thisRef.modelSetting.getPoseFile() != null) {\n thisRef.loadPose(thisRef.modelHomeDir + thisRef.modelSetting.getPoseFile(), function () {\n thisRef.pose.updateParam(thisRef.live2DModel);\n });\n } else {\n thisRef.pose = null;\n }\n\n if (thisRef.modelSetting.getLayout() != null) {\n var layout = thisRef.modelSetting.getLayout();\n if (layout[\"width\"] != null) thisRef.modelMatrix.setWidth(layout[\"width\"]);\n if (layout[\"height\"] != null) thisRef.modelMatrix.setHeight(layout[\"height\"]);\n\n if (layout[\"x\"] != null) thisRef.modelMatrix.setX(layout[\"x\"]);\n if (layout[\"y\"] != null) thisRef.modelMatrix.setY(layout[\"y\"]);\n if (layout[\"center_x\"] != null) thisRef.modelMatrix.centerX(layout[\"center_x\"]);\n if (layout[\"center_y\"] != null) thisRef.modelMatrix.centerY(layout[\"center_y\"]);\n if (layout[\"top\"] != null) thisRef.modelMatrix.top(layout[\"top\"]);\n if (layout[\"bottom\"] != null) thisRef.modelMatrix.bottom(layout[\"bottom\"]);\n if (layout[\"left\"] != null) thisRef.modelMatrix.left(layout[\"left\"]);\n if (layout[\"right\"] != null) thisRef.modelMatrix.right(layout[\"right\"]);\n }\n\n for (var j = 0; j < thisRef.modelSetting.getInitParamNum(); j++) {\n\n thisRef.live2DModel.setParamFloat(thisRef.modelSetting.getInitParamID(j), thisRef.modelSetting.getInitParamValue(j));\n }\n\n for (var j = 0; j < thisRef.modelSetting.getInitPartsVisibleNum(); j++) {\n\n thisRef.live2DModel.setPartsOpacity(thisRef.modelSetting.getInitPartsVisibleID(j), thisRef.modelSetting.getInitPartsVisibleValue(j));\n }\n\n thisRef.live2DModel.saveParam();\n // thisRef.live2DModel.setGL(gl);\n\n\n thisRef.preloadMotionGroup(_LAppDefine2.default.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\nLAppModel.prototype.release = function (gl) {\n // this.live2DModel.deleteTextures();\n var pm = Live2DFramework.getPlatformManager();\n\n gl.deleteTexture(pm.texture);\n};\n\nLAppModel.prototype.preloadMotionGroup = function (name) {\n var thisRef = this;\n\n for (var i = 0; i < this.modelSetting.getMotionNum(name); i++) {\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\nLAppModel.prototype.update = function () {\n // console.log(\"--> LAppModel.update()\");\n\n if (this.live2DModel == null) {\n if (_LAppDefine2.default.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 if (this.mainMotionManager.isFinished()) {\n\n this.startRandomMotion(_LAppDefine2.default.MOTION_GROUP_IDLE, _LAppDefine2.default.PRIORITY_IDLE);\n }\n\n //-----------------------------------------------------------------\t\t\n\n\n this.live2DModel.loadParam();\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 this.live2DModel.saveParam();\n\n //-----------------------------------------------------------------\t\t\n\n\n if (this.expressionManager != null && this.expressions != null && !this.expressionManager.isFinished()) {\n this.expressionManager.updateParam(this.live2DModel);\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 this.live2DModel.addToParamFloat(\"PARAM_BODY_ANGLE_X\", this.dragX * 10, 1);\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 this.live2DModel.addToParamFloat(\"PARAM_ANGLE_X\", Number(15 * Math.sin(t / 6.5345)), 0.5);\n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_Y\", Number(8 * Math.sin(t / 3.5345)), 0.5);\n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_Z\", Number(10 * Math.sin(t / 5.5345)), 0.5);\n this.live2DModel.addToParamFloat(\"PARAM_BODY_ANGLE_X\", Number(4 * Math.sin(t / 15.5345)), 0.5);\n this.live2DModel.setParamFloat(\"PARAM_BREATH\", Number(0.5 + 0.5 * Math.sin(t / 3.2345)), 1);\n\n if (this.physics != null) {\n this.physics.updateParam(this.live2DModel);\n }\n\n if (this.lipSync == null) {\n this.live2DModel.setParamFloat(\"PARAM_MOUTH_OPEN_Y\", this.lipSyncValue);\n }\n\n if (this.pose != null) {\n this.pose.updateParam(this.live2DModel);\n }\n\n this.live2DModel.update();\n};\n\nLAppModel.prototype.setRandomExpression = function () {\n var tmp = [];\n for (var name in this.expressions) {\n tmp.push(name);\n }\n\n var no = parseInt(Math.random() * tmp.length);\n\n this.setExpression(tmp[no]);\n};\n\nLAppModel.prototype.startRandomMotion = function (name, priority) {\n var max = this.modelSetting.getMotionNum(name);\n var no = parseInt(Math.random() * max);\n this.startMotion(name, no, priority);\n};\n\nLAppModel.prototype.startMotion = function (name, no, priority) {\n // console.log(\"startMotion : \" + name + \" \" + no + \" \" + priority);\n\n var motionName = this.modelSetting.getMotionFile(name, no);\n\n if (motionName == null || motionName == \"\") {\n if (_LAppDefine2.default.DEBUG_LOG) console.error(\"Failed to motion.\");\n return;\n }\n\n if (priority == _LAppDefine2.default.PRIORITY_FORCE) {\n this.mainMotionManager.setReservePriority(priority);\n } else if (!this.mainMotionManager.reserveMotion(priority)) {\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Motion is running.\");\n return;\n }\n\n var thisRef = this;\n var motion;\n\n if (this.motions[name] == null) {\n this.loadMotion(null, this.modelHomeDir + motionName, function (mtn) {\n motion = mtn;\n\n thisRef.setFadeInFadeOut(name, no, priority, motion);\n });\n } else {\n motion = this.motions[name];\n\n thisRef.setFadeInFadeOut(name, no, priority, motion);\n }\n};\n\nLAppModel.prototype.setFadeInFadeOut = function (name, no, priority, motion) {\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 if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Start motion : \" + motionName);\n\n if (this.modelSetting.getMotionSound(name, no) == null) {\n this.mainMotionManager.startMotionPrio(motion, priority);\n } else {\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 (_LAppDefine2.default.DEBUG_LOG) console.log(\"Start sound : \" + soundName);\n\n snd.play();\n this.mainMotionManager.startMotionPrio(motion, priority);\n }\n};\n\nLAppModel.prototype.setExpression = function (name) {\n var motion = this.expressions[name];\n\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Expression : \" + name);\n\n this.expressionManager.startMotion(motion, false);\n};\n\nLAppModel.prototype.draw = function (gl) {\n //console.log(\"--> LAppModel.draw()\");\n\n // if(this.live2DModel == null) return;\n\n\n _MatrixStack2.default.push();\n\n _MatrixStack2.default.multMatrix(this.modelMatrix.getArray());\n\n this.tmpMatrix = _MatrixStack2.default.getMatrix();\n this.live2DModel.setMatrix(this.tmpMatrix);\n this.live2DModel.draw();\n\n _MatrixStack2.default.pop();\n};\n\nLAppModel.prototype.hitTest = function (id, testX, testY) {\n var len = this.modelSetting.getHitAreaNum();\n for (var i = 0; i < len; i++) {\n if (id == this.modelSetting.getHitAreaName(i)) {\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/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ModelSettingJson;\n\nvar _Live2DFramework = __webpack_require__(0);\n\nfunction ModelSettingJson() {\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\n this.json = {};\n}\n\nModelSettingJson.prototype.loadModelSetting = function (path, callback) {\n var thisRef = this;\n var pm = _Live2DFramework.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\nModelSettingJson.prototype.getTextureFile = function (n) {\n if (this.json[this.TEXTURES] == null || this.json[this.TEXTURES][n] == null) return null;\n\n return this.json[this.TEXTURES][n];\n};\n\nModelSettingJson.prototype.getModelFile = function () {\n return this.json[this.MODEL];\n};\n\nModelSettingJson.prototype.getTextureNum = function () {\n if (this.json[this.TEXTURES] == null) return 0;\n\n return this.json[this.TEXTURES].length;\n};\n\nModelSettingJson.prototype.getHitAreaNum = function () {\n if (this.json[this.HIT_AREAS] == null) return 0;\n\n return this.json[this.HIT_AREAS].length;\n};\n\nModelSettingJson.prototype.getHitAreaID = function (n) {\n if (this.json[this.HIT_AREAS] == null || this.json[this.HIT_AREAS][n] == null) return null;\n\n return this.json[this.HIT_AREAS][n][this.ID];\n};\n\nModelSettingJson.prototype.getHitAreaName = function (n) {\n if (this.json[this.HIT_AREAS] == null || this.json[this.HIT_AREAS][n] == null) return null;\n\n return this.json[this.HIT_AREAS][n][this.NAME];\n};\n\nModelSettingJson.prototype.getPhysicsFile = function () {\n return this.json[this.PHYSICS];\n};\n\nModelSettingJson.prototype.getPoseFile = function () {\n return this.json[this.POSE];\n};\n\nModelSettingJson.prototype.getExpressionNum = function () {\n return this.json[this.EXPRESSIONS] == null ? 0 : this.json[this.EXPRESSIONS].length;\n};\n\nModelSettingJson.prototype.getExpressionFile = function (n) {\n if (this.json[this.EXPRESSIONS] == null) return null;\n return this.json[this.EXPRESSIONS][n][this.FILE];\n};\n\nModelSettingJson.prototype.getExpressionName = function (n) {\n if (this.json[this.EXPRESSIONS] == null) return null;\n return this.json[this.EXPRESSIONS][n][this.NAME];\n};\n\nModelSettingJson.prototype.getLayout = function () {\n return this.json[this.LAYOUT];\n};\n\nModelSettingJson.prototype.getInitParamNum = function () {\n return this.json[this.INIT_PARAM] == null ? 0 : this.json[this.INIT_PARAM].length;\n};\n\nModelSettingJson.prototype.getMotionNum = function (name) {\n if (this.json[this.MOTION_GROUPS] == null || this.json[this.MOTION_GROUPS][name] == null) return 0;\n\n return this.json[this.MOTION_GROUPS][name].length;\n};\n\nModelSettingJson.prototype.getMotionFile = function (name, n) {\n if (this.json[this.MOTION_GROUPS] == null || this.json[this.MOTION_GROUPS][name] == null || this.json[this.MOTION_GROUPS][name][n] == null) return null;\n\n return this.json[this.MOTION_GROUPS][name][n][this.FILE];\n};\n\nModelSettingJson.prototype.getMotionSound = function (name, n) {\n if (this.json[this.MOTION_GROUPS] == null || this.json[this.MOTION_GROUPS][name] == null || this.json[this.MOTION_GROUPS][name][n] == null || this.json[this.MOTION_GROUPS][name][n][this.SOUND] == null) return null;\n\n return this.json[this.MOTION_GROUPS][name][n][this.SOUND];\n};\n\nModelSettingJson.prototype.getMotionFadeIn = function (name, n) {\n if (this.json[this.MOTION_GROUPS] == null || this.json[this.MOTION_GROUPS][name] == null || this.json[this.MOTION_GROUPS][name][n] == null || this.json[this.MOTION_GROUPS][name][n][this.FADE_IN] == null) return 1000;\n\n return this.json[this.MOTION_GROUPS][name][n][this.FADE_IN];\n};\n\nModelSettingJson.prototype.getMotionFadeOut = function (name, n) {\n if (this.json[this.MOTION_GROUPS] == null || this.json[this.MOTION_GROUPS][name] == null || this.json[this.MOTION_GROUPS][name][n] == null || this.json[this.MOTION_GROUPS][name][n][this.FADE_OUT] == null) return 1000;\n\n return this.json[this.MOTION_GROUPS][name][n][this.FADE_OUT];\n};\n\nModelSettingJson.prototype.getInitParamID = function (n) {\n if (this.json[this.INIT_PARAM] == null || this.json[this.INIT_PARAM][n] == null) return null;\n\n return this.json[this.INIT_PARAM][n][this.ID];\n};\n\nModelSettingJson.prototype.getInitParamValue = function (n) {\n if (this.json[this.INIT_PARAM] == null || this.json[this.INIT_PARAM][n] == null) return NaN;\n\n return this.json[this.INIT_PARAM][n][this.VALUE];\n};\n\nModelSettingJson.prototype.getInitPartsVisibleNum = function () {\n return this.json[this.INIT_PARTS_VISIBLE] == null ? 0 : this.json[this.INIT_PARTS_VISIBLE].length;\n};\n\nModelSettingJson.prototype.getInitPartsVisibleID = function (n) {\n if (this.json[this.INIT_PARTS_VISIBLE] == null || this.json[this.INIT_PARTS_VISIBLE][n] == null) return null;\n return this.json[this.INIT_PARTS_VISIBLE][n][this.ID];\n};\n\nModelSettingJson.prototype.getInitPartsVisibleValue = function (n) {\n if (this.json[this.INIT_PARTS_VISIBLE] == null || this.json[this.INIT_PARTS_VISIBLE][n] == null) return NaN;\n\n return this.json[this.INIT_PARTS_VISIBLE][n][this.VALUE];\n};\n\n/***/ })\n/******/ ]);\n\n\n// WEBPACK FOOTER //\n// bundle.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 4);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 64fe0900cd19ddfbda5b","/**\r\n * EYHN 基于 live2d 官方 Live2DFramework.js 修改\r\n * \r\n * Copyright © 2016 - 2017 EYHN\r\n */\r\n//============================================================\r\n//============================================================\r\n// class L2DBaseModel \r\n//============================================================\r\n//============================================================\r\nfunction L2DBaseModel() {\r\n this.live2DModel = null; // ALive2DModel\r\n this.modelMatrix = null; // L2DModelMatrix\r\n this.eyeBlink = null; // L2DEyeBlink\r\n this.physics = null; // L2DPhysics\r\n this.pose = null; // L2DPose\r\n this.debugMode = false;\r\n this.initialized = false;\r\n this.updating = false;\r\n this.alpha = 1;\r\n this.accAlpha = 0;\r\n this.lipSync = false;\r\n this.lipSyncValue = 0;\r\n this.accelX = 0;\r\n this.accelY = 0;\r\n this.accelZ = 0;\r\n this.dragX = 0;\r\n this.dragY = 0;\r\n this.startTimeMSec = null;\r\n this.mainMotionManager = new L2DMotionManager(); //L2DMotionManager\r\n this.expressionManager = new L2DMotionManager(); //L2DMotionManager\r\n this.motions = {};\r\n this.expressions = {};\r\n\r\n this.isTexLoaded = false;\r\n}\r\n\r\nvar texCounter = 0;\r\n\r\n//============================================================\r\n// L2DBaseModel # getModelMatrix()\r\n//============================================================\r\nL2DBaseModel.prototype.getModelMatrix = function () {\r\n return this.modelMatrix;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # setAlpha()\r\n//============================================================\r\nL2DBaseModel.prototype.setAlpha = function (a/*float*/) {\r\n if (a > 0.999) a = 1;\r\n if (a < 0.001) a = 0;\r\n this.alpha = a;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # getAlpha()\r\n//============================================================\r\nL2DBaseModel.prototype.getAlpha = function () {\r\n return this.alpha;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # isInitialized()\r\n//============================================================\r\nL2DBaseModel.prototype.isInitialized = function () {\r\n return this.initialized;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # setInitialized()\r\n//============================================================\r\nL2DBaseModel.prototype.setInitialized = function (v/*boolean*/) {\r\n this.initialized = v;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # isUpdating()\r\n//============================================================\r\nL2DBaseModel.prototype.isUpdating = function () {\r\n return this.updating;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # setUpdating()\r\n//============================================================\r\nL2DBaseModel.prototype.setUpdating = function (v/*boolean*/) {\r\n this.updating = v;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # getLive2DModel()\r\n//============================================================\r\nL2DBaseModel.prototype.getLive2DModel = function () {\r\n return this.live2DModel;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # setLipSync()\r\n//============================================================\r\nL2DBaseModel.prototype.setLipSync = function (v/*boolean*/) {\r\n this.lipSync = v;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # setLipSyncValue()\r\n//============================================================\r\nL2DBaseModel.prototype.setLipSyncValue = function (v/*float*/) {\r\n this.lipSyncValue = v;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # setAccel()\r\n//============================================================\r\nL2DBaseModel.prototype.setAccel = function (x/*float*/, y/*float*/, z/*float*/) {\r\n this.accelX = x;\r\n this.accelY = y;\r\n this.accelZ = z;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # setDrag()\r\n//============================================================\r\nL2DBaseModel.prototype.setDrag = function (x/*float*/, y/*float*/) {\r\n this.dragX = x;\r\n this.dragY = y;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # getMainMotionManager()\r\n//============================================================\r\nL2DBaseModel.prototype.getMainMotionManager = function () {\r\n return this.mainMotionManager;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # getExpressionManager()\r\n//============================================================\r\nL2DBaseModel.prototype.getExpressionManager = function () {\r\n return this.expressionManager;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # loadModelData()\r\n//============================================================\r\nL2DBaseModel.prototype.loadModelData = function (path/*String*/, callback) {\r\n /*\r\n if( this.live2DModel != null ) {\r\n this.live2DModel.deleteTextures();\r\n }\r\n */\r\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\r\n if (this.debugMode) pm.log(\"Load model : \" + path);\r\n\r\n var thisRef = this;\r\n pm.loadLive2DModel(path, function (l2dModel) {\r\n thisRef.live2DModel = l2dModel;\r\n thisRef.live2DModel.saveParam();\r\n\r\n var _err = Live2D.getError();\r\n\r\n if (_err != 0) {\r\n console.error(\"Error : Failed to loadModelData().\");\r\n return;\r\n }\r\n\r\n thisRef.modelMatrix = new L2DModelMatrix(\r\n thisRef.live2DModel.getCanvasWidth(),\r\n thisRef.live2DModel.getCanvasHeight()); //L2DModelMatrix\r\n thisRef.modelMatrix.setWidth(2);\r\n thisRef.modelMatrix.setCenterPosition(0, 0);\r\n\r\n callback(thisRef.live2DModel);\r\n });\r\n}\r\n\r\n\r\n//============================================================\r\n// L2DBaseModel # loadTexture()\r\n//============================================================\r\nL2DBaseModel.prototype.loadTexture = function (no/*int*/, path/*String*/, callback) {\r\n texCounter++;\r\n\r\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\r\n\r\n if (this.debugMode) pm.log(\"Load Texture : \" + path);\r\n\r\n var thisRef = this;\r\n pm.loadTexture(this.live2DModel, no, path, function () {\r\n texCounter--;\r\n if (texCounter == 0) thisRef.isTexLoaded = true;\r\n if (typeof callback == \"function\") callback();\r\n });\r\n\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # loadMotion()\r\n//============================================================\r\nL2DBaseModel.prototype.loadMotion = function (name/*String*/, path /*String*/, callback) {\r\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\r\n\r\n if (this.debugMode) pm.log(\"Load Motion : \" + path);\r\n\r\n var motion = null; //Live2DMotion\r\n\r\n var thisRef = this;\r\n pm.loadBytes(path, function (buf) {\r\n motion = Live2DMotion.loadMotion(buf);\r\n if (name != null) {\r\n thisRef.motions[name] = motion;\r\n }\r\n callback(motion);\r\n });\r\n\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # loadExpression()\r\n//============================================================\r\nL2DBaseModel.prototype.loadExpression = function (name/*String*/, path /*String*/, callback) {\r\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\r\n\r\n if (this.debugMode) pm.log(\"Load Expression : \" + path);\r\n\r\n var thisRef = this;\r\n pm.loadBytes(path, function (buf) {\r\n if (name != null) {\r\n thisRef.expressions[name] = L2DExpressionMotion.loadJson(buf);\r\n }\r\n if (typeof callback == \"function\") callback();\r\n });\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # loadPose()\r\n//============================================================\r\nL2DBaseModel.prototype.loadPose = function (path /*String*/, callback) {\r\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\r\n if (this.debugMode) pm.log(\"Load Pose : \" + path);\r\n var thisRef = this;\r\n try {\r\n pm.loadBytes(path, function (buf) {\r\n thisRef.pose = L2DPose.load(buf);\r\n if (typeof callback == \"function\") callback();\r\n });\r\n }\r\n catch (e) {\r\n console.warn(e);\r\n }\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # loadPhysics()\r\n//============================================================\r\nL2DBaseModel.prototype.loadPhysics = function (path/*String*/) {\r\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\r\n if (this.debugMode) pm.log(\"Load Physics : \" + path);\r\n var thisRef = this;\r\n try {\r\n pm.loadBytes(path, function (buf) {\r\n thisRef.physics = L2DPhysics.load(buf);\r\n });\r\n }\r\n catch (e) {\r\n console.warn(e);\r\n }\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # hitTestSimple()\r\n//============================================================\r\nL2DBaseModel.prototype.hitTestSimple = function (drawID, testX, testY) {\r\n\t\r\n\tif(this.live2DModel === null) return !1;\r\n\t\r\n var drawIndex = this.live2DModel.getDrawDataIndex(drawID);\r\n\r\n if (drawIndex < 0) return false;\r\n\r\n var points = this.live2DModel.getTransformedPoints(drawIndex);\r\n var left = this.live2DModel.getCanvasWidth();\r\n var right = 0;\r\n var top = this.live2DModel.getCanvasHeight();\r\n var bottom = 0;\r\n\r\n for (var j = 0; j < points.length; j = j + 2) {\r\n var x = points[j];\r\n var y = points[j + 1];\r\n\r\n if (x < left) left = x;\r\n if (x > right) right = x;\r\n if (y < top) top = y;\r\n if (y > bottom) bottom = y;\r\n }\r\n var tx = this.modelMatrix.invertTransformX(testX);\r\n var ty = this.modelMatrix.invertTransformY(testY);\r\n\r\n return (left <= tx && tx <= right && top <= ty && ty <= bottom);\r\n}\r\n\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DExpressionMotion extends AMotion\r\n//============================================================\r\n//============================================================\r\nfunction L2DExpressionMotion() {\r\n AMotion.prototype.constructor.call(this);\r\n this.paramList = new Array(); //ArrayList\r\n}\r\n\r\nL2DExpressionMotion.prototype = new AMotion(); // L2DExpressionMotion extends AMotion\r\n\r\n//============================================================\r\nL2DExpressionMotion.EXPRESSION_DEFAULT = \"DEFAULT\";\r\nL2DExpressionMotion.TYPE_SET = 0;\r\nL2DExpressionMotion.TYPE_ADD = 1;\r\nL2DExpressionMotion.TYPE_MULT = 2;\r\n\r\n//============================================================\r\n// static L2DExpressionMotion.loadJson()\r\n//============================================================\r\nL2DExpressionMotion.loadJson = function (buf) {\r\n var ret = new L2DExpressionMotion();\r\n\r\n var pm = Live2DFramework.getPlatformManager();\r\n var json = pm.jsonParseFromBytes(buf);\r\n\r\n ret.setFadeIn(parseInt(json.fade_in) > 0 ? parseInt(json.fade_in) : 1000);\r\n ret.setFadeOut(parseInt(json.fade_out) > 0 ? parseInt(json.fade_out) : 1000);\r\n\r\n if (json.params == null) {\r\n return ret;\r\n }\r\n\r\n var params = json.params;\r\n var paramNum = params.length;\r\n ret.paramList = []; //ArrayList\r\n for (var i = 0; i < paramNum; i++) {\r\n var param = params[i];\r\n var paramID = param.id.toString();\r\n var value = parseFloat(param.val);\r\n var calcTypeInt = L2DExpressionMotion.TYPE_ADD;\r\n var calc = param.calc != null ? param.calc.toString() : \"add\";\r\n if (calc === \"add\") {\r\n calcTypeInt = L2DExpressionMotion.TYPE_ADD;\r\n }\r\n else if (calc === \"mult\") {\r\n calcTypeInt = L2DExpressionMotion.TYPE_MULT;\r\n }\r\n else if (calc === \"set\") {\r\n calcTypeInt = L2DExpressionMotion.TYPE_SET;\r\n }\r\n else {\r\n calcTypeInt = L2DExpressionMotion.TYPE_ADD;\r\n }\r\n if (calcTypeInt == L2DExpressionMotion.TYPE_ADD) {\r\n var defaultValue = param.def == null ? 0 : parseFloat(param.def);\r\n value = value - defaultValue;\r\n }\r\n else if (calcTypeInt == L2DExpressionMotion.TYPE_MULT) {\r\n var defaultValue = param.def == null ? 1 : parseFloat(param.def);\r\n if (defaultValue == 0) defaultValue = 1;\r\n value = value / defaultValue;\r\n }\r\n\r\n var item = new L2DExpressionParam();\r\n item.id = paramID;\r\n item.type = calcTypeInt;\r\n item.value = value;\r\n\r\n ret.paramList.push(item);\r\n }\r\n\r\n return ret;\r\n}\r\n\r\n\r\n//============================================================\r\n// L2DExpressionMotion # updateParamExe()\r\n//============================================================\r\nL2DExpressionMotion.prototype.updateParamExe = function (model /*ALive2DModel*/, timeMSec/*long*/, weight /*float*/, motionQueueEnt /*MotionQueueEnt*/) {\r\n for (var i = this.paramList.length - 1; i >= 0; --i) {\r\n var param = this.paramList[i]; //L2DExpressionParam\r\n // if (!param || !param.type) continue;\r\n if (param.type == L2DExpressionMotion.TYPE_ADD) {\r\n model.addToParamFloat(param.id, param.value, weight);\r\n }\r\n else if (param.type == L2DExpressionMotion.TYPE_MULT) {\r\n model.multParamFloat(param.id, param.value, weight);\r\n }\r\n else if (param.type == L2DExpressionMotion.TYPE_SET) {\r\n model.setParamFloat(param.id, param.value, weight);\r\n }\r\n }\r\n}\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DExpressionParam \r\n//============================================================\r\n//============================================================\r\nfunction L2DExpressionParam() {\r\n this.id = \"\";\r\n this.type = -1;\r\n this.value = null;\r\n}\r\n\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DEyeBlink \r\n//============================================================\r\n//============================================================\r\nfunction L2DEyeBlink() {\r\n this.nextBlinkTime = null /* TODO NOT INIT */; // \r\n this.stateStartTime = null /* TODO NOT INIT */; // \r\n this.blinkIntervalMsec = null /* TODO NOT INIT */; // \r\n this.eyeState = EYE_STATE.STATE_FIRST;\r\n this.blinkIntervalMsec = 4000;\r\n this.closingMotionMsec = 100;\r\n this.closedMotionMsec = 50;\r\n this.openingMotionMsec = 150;\r\n this.closeIfZero = true;\r\n this.eyeID_L = \"PARAM_EYE_L_OPEN\";\r\n this.eyeID_R = \"PARAM_EYE_R_OPEN\";\r\n}\r\n\r\n//============================================================\r\n// L2DEyeBlink # calcNextBlink()\r\n//============================================================\r\nL2DEyeBlink.prototype.calcNextBlink = function () {\r\n var time /*long*/ = UtSystem.getUserTimeMSec();\r\n var r /*Number*/ = Math.random();\r\n return /*(long)*/ (time + r * (2 * this.blinkIntervalMsec - 1));\r\n}\r\n\r\n//============================================================\r\n// L2DEyeBlink # setInterval()\r\n//============================================================\r\nL2DEyeBlink.prototype.setInterval = function (blinkIntervalMsec /*int*/) {\r\n this.blinkIntervalMsec = blinkIntervalMsec;\r\n}\r\n\r\n//============================================================\r\n// L2DEyeBlink # setEyeMotion()\r\n//============================================================\r\nL2DEyeBlink.prototype.setEyeMotion = function (closingMotionMsec/*int*/, closedMotionMsec/*int*/, openingMotionMsec/*int*/) {\r\n this.closingMotionMsec = closingMotionMsec;\r\n this.closedMotionMsec = closedMotionMsec;\r\n this.openingMotionMsec = openingMotionMsec;\r\n}\r\n\r\n//============================================================\r\n// L2DEyeBlink # updateParam()\r\n//============================================================\r\nL2DEyeBlink.prototype.updateParam = function (model/*ALive2DModel*/) {\r\n var time /*:long*/ = UtSystem.getUserTimeMSec();\r\n var eyeParamValue /*:Number*/;\r\n var t /*:Number*/ = 0;\r\n switch (this.eyeState) {\r\n case EYE_STATE.STATE_CLOSING:\r\n t = (time - this.stateStartTime) / this.closingMotionMsec;\r\n if (t >= 1) {\r\n t = 1;\r\n this.eyeState = EYE_STATE.STATE_CLOSED;\r\n this.stateStartTime = time;\r\n }\r\n eyeParamValue = 1 - t;\r\n break;\r\n case EYE_STATE.STATE_CLOSED:\r\n t = (time - this.stateStartTime) / this.closedMotionMsec;\r\n if (t >= 1) {\r\n this.eyeState = EYE_STATE.STATE_OPENING;\r\n this.stateStartTime = time;\r\n }\r\n eyeParamValue = 0;\r\n break;\r\n case EYE_STATE.STATE_OPENING:\r\n t = (time - this.stateStartTime) / this.openingMotionMsec;\r\n if (t >= 1) {\r\n t = 1;\r\n this.eyeState = EYE_STATE.STATE_INTERVAL;\r\n this.nextBlinkTime = this.calcNextBlink();\r\n }\r\n eyeParamValue = t;\r\n break;\r\n case EYE_STATE.STATE_INTERVAL:\r\n if (this.nextBlinkTime < time) {\r\n this.eyeState = EYE_STATE.STATE_CLOSING;\r\n this.stateStartTime = time;\r\n }\r\n eyeParamValue = 1;\r\n break;\r\n case EYE_STATE.STATE_FIRST:\r\n default:\r\n this.eyeState = EYE_STATE.STATE_INTERVAL;\r\n this.nextBlinkTime = this.calcNextBlink();\r\n eyeParamValue = 1;\r\n break;\r\n }\r\n if (!this.closeIfZero) eyeParamValue = -eyeParamValue;\r\n model.setParamFloat(this.eyeID_L, eyeParamValue);\r\n model.setParamFloat(this.eyeID_R, eyeParamValue);\r\n}\r\n\r\n//== enum EYE_STATE ==\r\nvar EYE_STATE = function () { };\r\n\r\nEYE_STATE.STATE_FIRST = \"STATE_FIRST\"\r\nEYE_STATE.STATE_INTERVAL = \"STATE_INTERVAL\"\r\nEYE_STATE.STATE_CLOSING = \"STATE_CLOSING\"\r\nEYE_STATE.STATE_CLOSED = \"STATE_CLOSED\"\r\nEYE_STATE.STATE_OPENING = \"STATE_OPENING\"\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DMatrix44 \r\n//============================================================\r\n//============================================================\r\nfunction L2DMatrix44() {\r\n this.tr = new Float32Array(16); // \r\n this.identity();\r\n}\r\n\r\n//============================================================\r\n// static L2DMatrix44.mul()\r\n//============================================================\r\nL2DMatrix44.mul = function (a/*float[]*/, b/*float[]*/, dst/*float[]*/) {\r\n var c = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\r\n var n = 4;\r\n var i, j, k;\r\n for (i = 0; i < n; i++) {\r\n for (j = 0; j < n; j++) {\r\n for (k = 0; k < n; k++) {\r\n c[i + j * 4] += a[i + k * 4] * b[k + j * 4];\r\n }\r\n }\r\n }\r\n for (i = 0; i < 16; i++) {\r\n dst[i] = c[i];\r\n }\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # identity()\r\n//============================================================\r\nL2DMatrix44.prototype.identity = function () {\r\n for (var i/*:int*/ = 0; i < 16; i++)\r\n this.tr[i] = ((i % 5) == 0) ? 1 : 0;\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # getArray()\r\n//============================================================\r\nL2DMatrix44.prototype.getArray = function () {\r\n return this.tr;\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # getCopyMatrix()\r\n//============================================================\r\nL2DMatrix44.prototype.getCopyMatrix = function () {\r\n return new Float32Array(this.tr); // this.tr.clone();\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # setMatrix()\r\n//============================================================\r\nL2DMatrix44.prototype.setMatrix = function (tr/*float[]*/) {\r\n if (this.tr == null || this.tr.length != this.tr.length) return;\r\n for (var i/*:int*/ = 0; i < 16; i++) this.tr[i] = tr[i];\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # getScaleX()\r\n//============================================================\r\nL2DMatrix44.prototype.getScaleX = function () {\r\n return this.tr[0];\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # getScaleY()\r\n//============================================================\r\nL2DMatrix44.prototype.getScaleY = function () {\r\n return this.tr[5];\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # transformX()\r\n//============================================================\r\nL2DMatrix44.prototype.transformX = function (src/*float*/) {\r\n return this.tr[0] * src + this.tr[12];\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # transformY()\r\n//============================================================\r\nL2DMatrix44.prototype.transformY = function (src/*float*/) {\r\n return this.tr[5] * src + this.tr[13];\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # invertTransformX()\r\n//============================================================\r\nL2DMatrix44.prototype.invertTransformX = function (src/*float*/) {\r\n return (src - this.tr[12]) / this.tr[0];\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # invertTransformY()\r\n//============================================================\r\nL2DMatrix44.prototype.invertTransformY = function (src/*float*/) {\r\n return (src - this.tr[13]) / this.tr[5];\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # multTranslate()\r\n//============================================================\r\nL2DMatrix44.prototype.multTranslate = function (shiftX/*float*/, shiftY/*float*/) {\r\n var tr1 = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, shiftX, shiftY, 0, 1];\r\n L2DMatrix44.mul(tr1, this.tr, this.tr);\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # translate()\r\n//============================================================\r\nL2DMatrix44.prototype.translate = function (x/*float*/, y/*float*/) {\r\n this.tr[12] = x;\r\n this.tr[13] = y;\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # translateX()\r\n//============================================================\r\nL2DMatrix44.prototype.translateX = function (x/*float*/) {\r\n this.tr[12] = x;\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # translateY()\r\n//============================================================\r\nL2DMatrix44.prototype.translateY = function (y/*float*/) {\r\n this.tr[13] = y;\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # multScale()\r\n//============================================================\r\nL2DMatrix44.prototype.multScale = function (scaleX/*float*/, scaleY/*float*/) {\r\n var tr1 = [scaleX, 0, 0, 0, 0, scaleY, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\r\n L2DMatrix44.mul(tr1, this.tr, this.tr);\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # scale()\r\n//============================================================\r\nL2DMatrix44.prototype.scale = function (scaleX/*float*/, scaleY/*float*/) {\r\n this.tr[0] = scaleX;\r\n this.tr[5] = scaleY;\r\n}\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DModelMatrix extends L2DMatrix44\r\n//============================================================\r\n//============================================================\r\nfunction L2DModelMatrix(w/*float*/, h/*float*/) {\r\n L2DMatrix44.prototype.constructor.call(this);\r\n this.width = w;\r\n this.height = h;\r\n}\r\n\r\n//L2DModelMatrix extends L2DMatrix44\r\nL2DModelMatrix.prototype = new L2DMatrix44();\r\n\r\n//============================================================\r\n// L2DModelMatrix # setPosition()\r\n//============================================================\r\nL2DModelMatrix.prototype.setPosition = function (x/*float*/, y/*float*/) {\r\n this.translate(x, y);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # setCenterPosition()\r\n//============================================================\r\nL2DModelMatrix.prototype.setCenterPosition = function (x/*float*/, y/*float*/) {\r\n var w = this.width * this.getScaleX();\r\n var h = this.height * this.getScaleY();\r\n this.translate(x - w / 2, y - h / 2);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # top()\r\n//============================================================\r\nL2DModelMatrix.prototype.top = function (y/*float*/) {\r\n this.setY(y);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # bottom()\r\n//============================================================\r\nL2DModelMatrix.prototype.bottom = function (y/*float*/) {\r\n var h = this.height * this.getScaleY();\r\n this.translateY(y - h);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # left()\r\n//============================================================\r\nL2DModelMatrix.prototype.left = function (x/*float*/) {\r\n this.setX(x);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # right()\r\n//============================================================\r\nL2DModelMatrix.prototype.right = function (x/*float*/) {\r\n var w = this.width * this.getScaleX();\r\n this.translateX(x - w);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # centerX()\r\n//============================================================\r\nL2DModelMatrix.prototype.centerX = function (x/*float*/) {\r\n var w = this.width * this.getScaleX();\r\n this.translateX(x - w / 2);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # centerY()\r\n//============================================================\r\nL2DModelMatrix.prototype.centerY = function (y/*float*/) {\r\n var h = this.height * this.getScaleY();\r\n this.translateY(y - h / 2);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # setX()\r\n//============================================================\r\nL2DModelMatrix.prototype.setX = function (x/*float*/) {\r\n this.translateX(x);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # setY()\r\n//============================================================\r\nL2DModelMatrix.prototype.setY = function (y/*float*/) {\r\n this.translateY(y);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # setHeight()\r\n//============================================================\r\nL2DModelMatrix.prototype.setHeight = function (h/*float*/) {\r\n var scaleX = h / this.height;\r\n var scaleY = -scaleX;\r\n this.scale(scaleX, scaleY);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # setWidth()\r\n//============================================================\r\nL2DModelMatrix.prototype.setWidth = function (w/*float*/) {\r\n var scaleX = w / this.width;\r\n var scaleY = -scaleX;\r\n this.scale(scaleX, scaleY);\r\n}\r\n\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DMotionManager extends MotionQueueManager\r\n//============================================================\r\n//============================================================\r\nfunction L2DMotionManager() {\r\n MotionQueueManager.prototype.constructor.call(this);\r\n this.currentPriority = null;\r\n this.reservePriority = null;\r\n\r\n this.super = MotionQueueManager.prototype;\r\n}\r\n\r\n\r\nL2DMotionManager.prototype = new MotionQueueManager();\r\n\r\n//============================================================\r\n// L2DMotionManager # getCurrentPriority()\r\n//============================================================\r\nL2DMotionManager.prototype.getCurrentPriority = function () {\r\n return this.currentPriority;\r\n}\r\n\r\n//============================================================\r\n// L2DMotionManager # getReservePriority()\r\n//============================================================\r\nL2DMotionManager.prototype.getReservePriority = function () {\r\n return this.reservePriority;\r\n}\r\n\r\n//============================================================\r\n// L2DMotionManager # reserveMotion()\r\n//============================================================\r\nL2DMotionManager.prototype.reserveMotion = function (priority/*int*/) {\r\n if (this.reservePriority >= priority) {\r\n return false;\r\n }\r\n if (this.currentPriority >= priority) {\r\n return false;\r\n }\r\n\r\n this.reservePriority = priority;\r\n\r\n return true;\r\n}\r\n\r\n//============================================================\r\n// L2DMotionManager # setReservePriority()\r\n//============================================================\r\nL2DMotionManager.prototype.setReservePriority = function (val/*int*/) {\r\n this.reservePriority = val;\r\n}\r\n\r\n//============================================================\r\n// L2DMotionManager # updateParam()\r\n//============================================================\r\nL2DMotionManager.prototype.updateParam = function (model/*ALive2DModel*/) {\r\n var updated = MotionQueueManager.prototype.updateParam.call(this, model);\r\n\r\n if (this.isFinished()) {\r\n this.currentPriority = 0;\r\n }\r\n\r\n return updated;\r\n}\r\n\r\n//============================================================\r\n// L2DMotionManager # startMotionPrio()\r\n//============================================================\r\nL2DMotionManager.prototype.startMotionPrio = function (motion/*AMotion*/, priority/*int*/) {\r\n if (priority == this.reservePriority) {\r\n this.reservePriority = 0;\r\n }\r\n this.currentPriority = priority;\r\n return this.startMotion(motion, false);\r\n}\r\n\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DPhysics \r\n//============================================================\r\n//============================================================\r\nfunction L2DPhysics() {\r\n this.physicsList = new Array(); //ArrayList\r\n this.startTimeMSec = UtSystem.getUserTimeMSec();\r\n}\r\n\r\n//============================================================\r\n// static L2DPhysics.load()\r\n//============================================================\r\nL2DPhysics.load = function (buf /*byte[]*/) {\r\n var ret = new L2DPhysics(); //L2DPhysicsL2DPhysics\r\n var pm = Live2DFramework.getPlatformManager();\r\n var json = pm.jsonParseFromBytes(buf);\r\n var params = json.physics_hair;\r\n var paramNum = params.length;\r\n for (var i = 0; i < paramNum; i++) {\r\n var param = params[i]; //Value\r\n var physics = new PhysicsHair(); //PhysicsHairPhysicsHair\r\n var setup = param.setup; //Value\r\n var length = parseFloat(setup.length);\r\n var resist = parseFloat(setup.regist);\r\n var mass = parseFloat(setup.mass);\r\n physics.setup(length, resist, mass);\r\n var srcList = param.src; //Value\r\n var srcNum = srcList.length;\r\n for (var j = 0; j < srcNum; j++) {\r\n var src = srcList[j]; //Value\r\n var id = src.id; //String\r\n var type = PhysicsHair.Src.SRC_TO_X;\r\n var typeStr = src.ptype; //String\r\n if (typeStr === \"x\") {\r\n type = PhysicsHair.Src.SRC_TO_X;\r\n }\r\n else if (typeStr === \"y\") {\r\n type = PhysicsHair.Src.SRC_TO_Y;\r\n }\r\n else if (typeStr === \"angle\") {\r\n type = PhysicsHair.Src.SRC_TO_G_ANGLE;\r\n }\r\n else {\r\n UtDebug.error(\"live2d\", \"Invalid parameter:PhysicsHair.Src\");\r\n }\r\n var scale = parseFloat(src.scale);\r\n var weight = parseFloat(src.weight);\r\n physics.addSrcParam(type, id, scale, weight);\r\n }\r\n var targetList = param.targets; //Value\r\n var targetNum = targetList.length;\r\n for (var j = 0; j < targetNum; j++) {\r\n var target = targetList[j]; //Value\r\n var id = target.id; //String\r\n var type = PhysicsHair.Target.TARGET_FROM_ANGLE;\r\n var typeStr = target.ptype; //String\r\n if (typeStr === \"angle\") {\r\n type = PhysicsHair.Target.TARGET_FROM_ANGLE;\r\n }\r\n else if (typeStr === \"angle_v\") {\r\n type = PhysicsHair.Target.TARGET_FROM_ANGLE_V;\r\n }\r\n else {\r\n UtDebug.error(\"live2d\", \"Invalid parameter:PhysicsHair.Target\");\r\n }\r\n var scale = parseFloat(target.scale);\r\n var weight = parseFloat(target.weight);\r\n physics.addTargetParam(type, id, scale, weight);\r\n }\r\n ret.physicsList.push(physics);\r\n }\r\n return ret;\r\n}\r\n\r\n//============================================================\r\n// L2DPhysics # updateParam()\r\n//============================================================\r\nL2DPhysics.prototype.updateParam = function (model/*ALive2DModel*/) {\r\n var timeMSec = UtSystem.getUserTimeMSec() - this.startTimeMSec;\r\n for (var i = 0; i < this.physicsList.length; i++) {\r\n this.physicsList[i].update(model, timeMSec);\r\n }\r\n}\r\n\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DPose \r\n//============================================================\r\n//============================================================\r\nfunction L2DPose() {\r\n this.lastTime = 0;\r\n this.lastModel = null; //ALive2DModel\r\n this.partsGroups = new Array(); //ArrayList\r\n}\r\n\r\n\r\n//============================================================\r\n// static L2DPose.load()\r\n//============================================================\r\nL2DPose.load = function (buf/*byte[]*/) {\r\n var ret = new L2DPose(); //L2DPose\r\n var pm = Live2DFramework.getPlatformManager();\r\n var json = pm.jsonParseFromBytes(buf);\r\n var poseListInfo = json.parts_visible; //Value\r\n var poseNum = poseListInfo.length;\r\n for (var i_pose = 0; i_pose < poseNum; i_pose++) {\r\n var poseInfo = poseListInfo[i_pose]; //Value\r\n var idListInfo = poseInfo.group; //Value\r\n var idNum = idListInfo.length;\r\n var partsGroup/*L2DPartsParam*/ = new Array();\r\n for (var i_group = 0; i_group < idNum; i_group++) {\r\n var partsInfo = idListInfo[i_group]; //Value\r\n var parts = new L2DPartsParam(partsInfo.id); //L2DPartsParamL2DPartsParam\r\n partsGroup[i_group] = parts;\r\n if (partsInfo.link == null) continue;\r\n var linkListInfo = partsInfo.link; //Value\r\n var linkNum = linkListInfo.length;\r\n parts.link = new Array(); //ArrayList\r\n for (var i_link = 0; i_link < linkNum; i_link++) {\r\n var linkParts = new L2DPartsParam(linkListInfo[i_link]); //L2DPartsParamL2DPartsParam\r\n parts.link.push(linkParts);\r\n }\r\n }\r\n ret.partsGroups.push(partsGroup);\r\n }\r\n\r\n return ret;\r\n}\r\n\r\n//============================================================\r\n// L2DPose # updateParam()\r\n//============================================================\r\nL2DPose.prototype.updateParam = function (model/*ALive2DModel*/) {\r\n if (model == null) return;\r\n\r\n if (!(model == this.lastModel)) {\r\n this.initParam(model);\r\n }\r\n this.lastModel = model;\r\n\r\n var curTime = UtSystem.getUserTimeMSec();\r\n var deltaTimeSec = ((this.lastTime == 0) ? 0 : (curTime - this.lastTime) / 1000.0);\r\n this.lastTime = curTime;\r\n if (deltaTimeSec < 0) deltaTimeSec = 0;\r\n for (var i = 0; i < this.partsGroups.length; i++) {\r\n this.normalizePartsOpacityGroup(model, this.partsGroups[i], deltaTimeSec);\r\n this.copyOpacityOtherParts(model, this.partsGroups[i]);\r\n }\r\n}\r\n\r\n//============================================================\r\n// L2DPose # initParam()\r\n//============================================================\r\nL2DPose.prototype.initParam = function (model/*ALive2DModel*/) {\r\n if (model == null) return;\r\n for (var i = 0; i < this.partsGroups.length; i++) {\r\n var partsGroup = this.partsGroups[i]; //L2DPartsParam\r\n for (var j = 0; j < partsGroup.length; j++) {\r\n partsGroup[j].initIndex(model);\r\n var partsIndex = partsGroup[j].partsIndex;\r\n var paramIndex = partsGroup[j].paramIndex;\r\n if (partsIndex < 0) continue;\r\n var v/*:Boolean*/ = (model.getParamFloat(paramIndex) != 0);\r\n model.setPartsOpacity(partsIndex, (v ? 1.0 : 0.0));\r\n model.setParamFloat(paramIndex, (v ? 1.0 : 0.0));\r\n if (partsGroup[j].link == null) continue;\r\n for (var k = 0; k < partsGroup[j].link.length; k++) {\r\n partsGroup[j].link[k].initIndex(model);\r\n }\r\n }\r\n }\r\n}\r\n\r\n//============================================================\r\n// L2DPose # normalizePartsOpacityGroup()\r\n//============================================================\r\nL2DPose.prototype.normalizePartsOpacityGroup = function (model/*ALive2DModel*/, partsGroup/*L2DPartsParam[]*/, deltaTimeSec/*float*/) {\r\n var visibleParts = -1;\r\n var visibleOpacity = 1.0;\r\n var CLEAR_TIME_SEC = 0.5;\r\n var phi = 0.5;\r\n var maxBackOpacity = 0.15;\r\n for (var i = 0; i < partsGroup.length; i++) {\r\n var partsIndex = partsGroup[i].partsIndex;\r\n var paramIndex = partsGroup[i].paramIndex;\r\n if (partsIndex < 0) continue; if (model.getParamFloat(paramIndex) != 0) {\r\n if (visibleParts >= 0) {\r\n break;\r\n }\r\n visibleParts = i;\r\n visibleOpacity = model.getPartsOpacity(partsIndex);\r\n visibleOpacity += deltaTimeSec / CLEAR_TIME_SEC;\r\n if (visibleOpacity > 1) {\r\n visibleOpacity = 1;\r\n }\r\n }\r\n }\r\n if (visibleParts < 0) {\r\n visibleParts = 0;\r\n visibleOpacity = 1;\r\n }\r\n for (var i = 0; i < partsGroup.length; i++) {\r\n var partsIndex = partsGroup[i].partsIndex;\r\n if (partsIndex < 0) continue; if (visibleParts == i) {\r\n model.setPartsOpacity(partsIndex, visibleOpacity);\r\n }\r\n else {\r\n var opacity = model.getPartsOpacity(partsIndex);\r\n var a1;\r\n if (visibleOpacity < phi) {\r\n a1 = visibleOpacity * (phi - 1) / phi + 1;\r\n }\r\n else {\r\n a1 = (1 - visibleOpacity) * phi / (1 - phi);\r\n }\r\n var backOp = (1 - a1) * (1 - visibleOpacity);\r\n if (backOp > maxBackOpacity) {\r\n a1 = 1 - maxBackOpacity / (1 - visibleOpacity);\r\n }\r\n if (opacity > a1) {\r\n opacity = a1;\r\n }\r\n model.setPartsOpacity(partsIndex, opacity);\r\n }\r\n }\r\n}\r\n\r\n//============================================================\r\n// L2DPose # copyOpacityOtherParts()\r\n//============================================================\r\nL2DPose.prototype.copyOpacityOtherParts = function (model/*ALive2DModel*/, partsGroup/*L2DPartsParam[]*/) {\r\n for (var i_group = 0; i_group < partsGroup.length; i_group++) {\r\n var partsParam = partsGroup[i_group]; //L2DPartsParam\r\n if (partsParam.link == null) continue;\r\n if (partsParam.partsIndex < 0) continue;\r\n var opacity = model.getPartsOpacity(partsParam.partsIndex);\r\n for (var i_link = 0; i_link < partsParam.link.length; i_link++) {\r\n var linkParts = partsParam.link[i_link]; //L2DPartsParam\r\n if (linkParts.partsIndex < 0) continue;\r\n model.setPartsOpacity(linkParts.partsIndex, opacity);\r\n }\r\n }\r\n}\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DPartsParam \r\n//============================================================\r\n//============================================================\r\nfunction L2DPartsParam(id/*String*/) {\r\n this.paramIndex = -1;\r\n this.partsIndex = -1;\r\n this.link = null; // ArrayList\r\n this.id = id;\r\n}\r\n\r\n//============================================================\r\n// L2DPartsParam # initIndex()\r\n//============================================================\r\nL2DPartsParam.prototype.initIndex = function (model/*ALive2DModel*/) {\r\n this.paramIndex = model.getParamIndex(\"VISIBLE:\" + this.id);\r\n this.partsIndex = model.getPartsDataIndex(PartsDataID.getID(this.id));\r\n model.setParamFloat(this.paramIndex, 1);\r\n}\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DTargetPoint \r\n//============================================================\r\n//============================================================\r\nfunction L2DTargetPoint() {\r\n this.EPSILON = 0.01; // 変化の最小値(この値以下は無視される)\r\n this.faceTargetX = 0;\r\n this.faceTargetY = 0;\r\n this.faceX = 0;\r\n this.faceY = 0;\r\n this.faceVX = 0;\r\n this.faceVY = 0;\r\n this.lastTimeSec = 0;\r\n}\r\n\r\n//============================================================\r\nL2DTargetPoint.FRAME_RATE = 30;\r\n\r\n//============================================================\r\n// L2DTargetPoint # set()\r\n//============================================================\r\nL2DTargetPoint.prototype.setPoint = function (x/*float*/, y/*float*/) {\r\n this.faceTargetX = x;\r\n this.faceTargetY = y;\r\n}\r\n\r\n//============================================================\r\n// L2DTargetPoint # getX()\r\n//============================================================\r\nL2DTargetPoint.prototype.getX = function () {\r\n return this.faceX;\r\n}\r\n\r\n//============================================================\r\n// L2DTargetPoint # getY()\r\n//============================================================\r\nL2DTargetPoint.prototype.getY = function () {\r\n return this.faceY;\r\n}\r\n\r\n//============================================================\r\n// L2DTargetPoint # update()\r\n//============================================================\r\nL2DTargetPoint.prototype.update = function () {\r\n var TIME_TO_MAX_SPEED = 0.15;\r\n var FACE_PARAM_MAX_V = 40.0 / 7.5;\r\n var MAX_V = FACE_PARAM_MAX_V / L2DTargetPoint.FRAME_RATE;\r\n if (this.lastTimeSec == 0) {\r\n this.lastTimeSec = UtSystem.getUserTimeMSec();\r\n return;\r\n }\r\n var curTimeSec = UtSystem.getUserTimeMSec();\r\n var deltaTimeWeight = (curTimeSec - this.lastTimeSec) * L2DTargetPoint.FRAME_RATE / 1000.0;\r\n this.lastTimeSec = curTimeSec;\r\n var FRAME_TO_MAX_SPEED = TIME_TO_MAX_SPEED * L2DTargetPoint.FRAME_RATE;\r\n var MAX_A = deltaTimeWeight * MAX_V / FRAME_TO_MAX_SPEED;\r\n var dx = (this.faceTargetX - this.faceX);\r\n var dy = (this.faceTargetY - this.faceY);\r\n // if(dx == 0 && dy == 0) return;\r\n if (Math.abs(dx) <= this.EPSILON && Math.abs(dy) <= this.EPSILON) return;\r\n var d = Math.sqrt(dx * dx + dy * dy);\r\n var vx = MAX_V * dx / d;\r\n var vy = MAX_V * dy / d;\r\n var ax = vx - this.faceVX;\r\n var ay = vy - this.faceVY;\r\n var a = Math.sqrt(ax * ax + ay * ay);\r\n if (a < -MAX_A || a > MAX_A) {\r\n ax *= MAX_A / a;\r\n ay *= MAX_A / a;\r\n a = MAX_A;\r\n }\r\n this.faceVX += ax;\r\n this.faceVY += ay;\r\n {\r\n var max_v = 0.5 * (Math.sqrt(MAX_A * MAX_A + 16 * MAX_A * d - 8 * MAX_A * d) - MAX_A);\r\n var cur_v = Math.sqrt(this.faceVX * this.faceVX + this.faceVY * this.faceVY);\r\n if (cur_v > max_v) {\r\n this.faceVX *= max_v / cur_v;\r\n this.faceVY *= max_v / cur_v;\r\n }\r\n }\r\n this.faceX += this.faceVX;\r\n this.faceY += this.faceVY;\r\n}\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DViewMatrix extends L2DMatrix44\r\n//============================================================\r\n//============================================================\r\nfunction L2DViewMatrix() {\r\n L2DMatrix44.prototype.constructor.call(this);\r\n this.screenLeft = null;\r\n this.screenRight = null;\r\n this.screenTop = null;\r\n this.screenBottom = null;\r\n this.maxLeft = null;\r\n this.maxRight = null;\r\n this.maxTop = null;\r\n this.maxBottom = null;\r\n this.max = Number.MAX_VALUE;\r\n this.min = 0;\r\n}\r\n\r\nL2DViewMatrix.prototype = new L2DMatrix44(); //L2DViewMatrix extends L2DMatrix44\r\n\r\n//============================================================\r\n// L2DViewMatrix # getMaxScale()\r\n//============================================================\r\nL2DViewMatrix.prototype.getMaxScale = function () {\r\n return this.max;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getMinScale()\r\n//============================================================\r\nL2DViewMatrix.prototype.getMinScale = function () {\r\n return this.min;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # setMaxScale()\r\n//============================================================\r\nL2DViewMatrix.prototype.setMaxScale = function (v/*float*/) {\r\n this.max = v;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # setMinScale()\r\n//============================================================\r\nL2DViewMatrix.prototype.setMinScale = function (v/*float*/) {\r\n this.min = v;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # isMaxScale()\r\n//============================================================\r\nL2DViewMatrix.prototype.isMaxScale = function () {\r\n return this.getScaleX() == this.max;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # isMinScale()\r\n//============================================================\r\nL2DViewMatrix.prototype.isMinScale = function () {\r\n return this.getScaleX() == this.min;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # adjustTranslate()\r\n//============================================================\r\nL2DViewMatrix.prototype.adjustTranslate = function (shiftX/*float*/, shiftY/*float*/) {\r\n if (this.tr[0] * this.maxLeft + (this.tr[12] + shiftX) > this.screenLeft)\r\n shiftX = this.screenLeft - this.tr[0] * this.maxLeft - this.tr[12];\r\n if (this.tr[0] * this.maxRight + (this.tr[12] + shiftX) < this.screenRight)\r\n shiftX = this.screenRight - this.tr[0] * this.maxRight - this.tr[12];\r\n if (this.tr[5] * this.maxTop + (this.tr[13] + shiftY) < this.screenTop)\r\n shiftY = this.screenTop - this.tr[5] * this.maxTop - this.tr[13];\r\n if (this.tr[5] * this.maxBottom + (this.tr[13] + shiftY) > this.screenBottom)\r\n shiftY = this.screenBottom - this.tr[5] * this.maxBottom - this.tr[13];\r\n\r\n var tr1 = [1, 0, 0, 0,\r\n 0, 1, 0, 0,\r\n 0, 0, 1, 0,\r\n shiftX, shiftY, 0, 1];\r\n L2DMatrix44.mul(tr1, this.tr, this.tr);\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # adjustScale()\r\n//============================================================\r\nL2DViewMatrix.prototype.adjustScale = function (cx/*float*/, cy/*float*/, scale/*float*/) {\r\n var targetScale = scale * this.tr[0];\r\n if (targetScale < this.min) {\r\n if (this.tr[0] > 0) scale = this.min / this.tr[0];\r\n }\r\n else if (targetScale > this.max) {\r\n if (this.tr[0] > 0) scale = this.max / this.tr[0];\r\n }\r\n var tr1 = [1, 0, 0, 0,\r\n 0, 1, 0, 0,\r\n 0, 0, 1, 0,\r\n cx, cy, 0, 1];\r\n var tr2 = [scale, 0, 0, 0,\r\n 0, scale, 0, 0,\r\n 0, 0, 1, 0,\r\n 0, 0, 0, 1];\r\n var tr3 = [1, 0, 0, 0,\r\n 0, 1, 0, 0,\r\n 0, 0, 1, 0,\r\n -cx, -cy, 0, 1];\r\n L2DMatrix44.mul(tr3, this.tr, this.tr);\r\n L2DMatrix44.mul(tr2, this.tr, this.tr);\r\n L2DMatrix44.mul(tr1, this.tr, this.tr);\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # setScreenRect()\r\n//============================================================\r\nL2DViewMatrix.prototype.setScreenRect = function (left/*float*/, right/*float*/, bottom/*float*/, top/*float*/) {\r\n this.screenLeft = left;\r\n this.screenRight = right;\r\n this.screenTop = top;\r\n this.screenBottom = bottom;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # setMaxScreenRect()\r\n//============================================================\r\nL2DViewMatrix.prototype.setMaxScreenRect = function (left/*float*/, right/*float*/, bottom/*float*/, top/*float*/) {\r\n this.maxLeft = left;\r\n this.maxRight = right;\r\n this.maxTop = top;\r\n this.maxBottom = bottom;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getScreenLeft()\r\n//============================================================\r\nL2DViewMatrix.prototype.getScreenLeft = function () {\r\n return this.screenLeft;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getScreenRight()\r\n//============================================================\r\nL2DViewMatrix.prototype.getScreenRight = function () {\r\n return this.screenRight;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getScreenBottom()\r\n//============================================================\r\nL2DViewMatrix.prototype.getScreenBottom = function () {\r\n return this.screenBottom;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getScreenTop()\r\n//============================================================\r\nL2DViewMatrix.prototype.getScreenTop = function () {\r\n return this.screenTop;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getMaxLeft()\r\n//============================================================\r\nL2DViewMatrix.prototype.getMaxLeft = function () {\r\n return this.maxLeft;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getMaxRight()\r\n//============================================================\r\nL2DViewMatrix.prototype.getMaxRight = function () {\r\n return this.maxRight;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getMaxBottom()\r\n//============================================================\r\nL2DViewMatrix.prototype.getMaxBottom = function () {\r\n return this.maxBottom;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getMaxTop()\r\n//============================================================\r\nL2DViewMatrix.prototype.getMaxTop = function () {\r\n return this.maxTop;\r\n}\r\n\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class Live2DFramework \r\n//============================================================\r\n//============================================================\r\nfunction Live2DFramework() {\r\n}\r\n\r\n//============================================================\r\nLive2DFramework.platformManager = null;\r\n\r\n//============================================================\r\n// static Live2DFramework.getPlatformManager()\r\n//============================================================\r\nLive2DFramework.getPlatformManager = function () {\r\n return Live2DFramework.platformManager;\r\n}\r\n\r\n//============================================================\r\n// static Live2DFramework.setPlatformManager()\r\n//============================================================\r\nLive2DFramework.setPlatformManager = function (platformManager /*IPlatformManager*/) {\r\n Live2DFramework.platformManager = platformManager;\r\n}\r\n\r\nmodule.exports = {\r\n L2DTargetPoint: L2DTargetPoint,\r\n Live2DFramework: Live2DFramework,\r\n L2DViewMatrix: L2DViewMatrix,\r\n L2DPose: L2DPose,\r\n L2DPartsParam: L2DPartsParam,\r\n L2DPhysics: L2DPhysics,\r\n L2DMotionManager: L2DMotionManager,\r\n L2DModelMatrix: L2DModelMatrix,\r\n L2DMatrix44: L2DMatrix44,\r\n EYE_STATE: EYE_STATE,\r\n L2DEyeBlink: L2DEyeBlink,\r\n L2DExpressionParam: L2DExpressionParam,\r\n L2DExpressionMotion: L2DExpressionMotion,\r\n L2DBaseModel: L2DBaseModel\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/lib/Live2DFramework.js","var LAppDefine = {\n \n \n DEBUG_LOG : false,\n DEBUG_MOUSE_LOG : false, \n // DEBUG_DRAW_HIT_AREA : false, \n // DEBUG_DRAW_ALPHA_MODEL : false, \n \n \n \n \n VIEW_MAX_SCALE : 2,\n VIEW_MIN_SCALE : 0.8,\n\n VIEW_LOGICAL_LEFT : -1,\n VIEW_LOGICAL_RIGHT : 1,\n\n VIEW_LOGICAL_MAX_LEFT : -2,\n VIEW_LOGICAL_MAX_RIGHT : 2,\n VIEW_LOGICAL_MAX_BOTTOM : -2,\n VIEW_LOGICAL_MAX_TOP : 2,\n \n \n PRIORITY_NONE : 0,\n PRIORITY_IDLE : 1,\n PRIORITY_NORMAL : 2,\n PRIORITY_FORCE : 3,\n\n MOTION_GROUP_IDLE : \"idle\", \n MOTION_GROUP_TAP_BODY : \"tap_body\", \n MOTION_GROUP_FLICK_HEAD : \"flick_head\", \n MOTION_GROUP_PINCH_IN : \"pinch_in\", \n MOTION_GROUP_PINCH_OUT : \"pinch_out\", \n MOTION_GROUP_SHAKE : \"shake\", \n\n \n HIT_AREA_HEAD : \"head\",\n HIT_AREA_BODY : \"body\"\n \n};\n\nmodule.exports = LAppDefine;\n\n\n// WEBPACK FOOTER //\n// ./src/LAppDefine.js","\r\nvar context = undefined;\r\n\r\nexport function setContext(webglContext) {\r\n context = webglContext;\r\n}\r\n\r\nexport function getContext() {\r\n return context;\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/webglcontext.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 * EYHN 修改\n * \n * Copyright © 2016 - 2017 EYHN\n */\n\nfunction MatrixStack() {}\n\n\nMatrixStack.matrixStack = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n\n\nMatrixStack.depth = 0;\n\n\nMatrixStack.currentMatrix = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n\n\nMatrixStack.tmp = new Array(16);\n\n\n\nMatrixStack.reset = function()\n{\n this.depth = 0;\n}\n\n\n\nMatrixStack.loadIdentity = function()\n{\n for (var i = 0; i < 16; i++)\n {\n this.currentMatrix[i] = (i % 5 == 0) ? 1 : 0;\n }\n}\n\n\n\nMatrixStack.push = function()\n{ \n var offset = this.depth * 16;\n var nextOffset = (this.depth + 1) * 16;\n \n if (this.matrixStack.length < nextOffset + 16)\n {\n this.matrixStack.length = nextOffset + 16;\n }\n\n for (var i = 0; i < 16; i++)\n {\n this.matrixStack[nextOffset + i] = this.currentMatrix[i];\n }\n\n this.depth++;\n}\n\n\n\nMatrixStack.pop = function()\n{\n this.depth--;\n if (this.depth < 0)\n {\n myError(\"Invalid matrix stack.\");\n this.depth = 0;\n }\n\n var offset = this.depth * 16;\n for (var i = 0; i < 16; i++)\n {\n this.currentMatrix[i] = this.matrixStack[offset + i];\n }\n}\n\n\n\nMatrixStack.getMatrix = function()\n{\n return this.currentMatrix;\n}\n\n\n\nMatrixStack.multMatrix = function(matNew)\n{\n var i, j, k;\n\n for (i = 0; i < 16; i++)\n {\n this.tmp[i] = 0;\n }\n\n for (i = 0; i < 4; i++)\n {\n for (j = 0; j < 4; j++)\n {\n for (k = 0; k < 4; k++)\n {\n this.tmp[i + j * 4] += this.currentMatrix[i + k * 4] * matNew[k + j * 4];\n }\n }\n }\n for (i = 0; i < 16; i++)\n {\n this.currentMatrix[i] = this.tmp[i];\n }\n}\n\nmodule.exports = MatrixStack;\n\n\n// WEBPACK FOOTER //\n// ./src/lib/MatrixStack.js","import \"./lib/live2d.min\";\n\nimport { L2DTargetPoint, L2DViewMatrix, L2DMatrix44 } from \"./lib/Live2DFramework\";\n\nimport LAppLive2DManager from \"./LAppLive2DManager\"\n\nimport LAppDefine from \"./LAppDefine\"\n\nimport MatrixStack from \"./lib/MatrixStack\"\n\nimport {setContext} from \"./webglcontext\"\n\n// window.onerror = function (msg, url, line, col, error) {\n// let errmsg = \"file:\" + url + \"
line:\" + line + \" \" + msg;\n// console.error(errmsg);\n// }\n\nconst platform = window.navigator.platform.toLowerCase();\n\nconst live2DMgr = new LAppLive2DManager();\n\nlet isDrawStart = false;\n\nlet gl = null;\n\nlet canvas = null;\n\nlet dragMgr = null;\n\nlet viewMatrix = null;\n\nlet projMatrix = null;\n\nlet deviceToScreen = null;\n\nlet drag = false;\n\nlet oldLen = 0;\n\nlet lastMouseX = 0;\n\nlet lastMouseY = 0;\n\nlet isModelShown = 0;\n\nlet modelurl = \"\";\n\nlet head_pos = 0.5;\n\nfunction initL2dCanvas(canvasId) {\n canvas = document.getElementById(canvasId);\n if (canvas.addEventListener) {\n //canvas.addEventListener(\"mousewheel\", mouseEvent);\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 //canvas.addEventListener(\"contextmenu\", mouseEvent);\n window.addEventListener(\"touchstart\", touchEvent);\n window.addEventListener(\"touchend\", touchEvent);\n window.addEventListener(\"touchmove\", touchEvent);\n }\n}\n\nfunction init(modelurl) {\n let width = canvas.width;\n let height = canvas.height;\n\n dragMgr = new L2DTargetPoint();\n\n let ratio = height / width;\n let left = LAppDefine.VIEW_LOGICAL_LEFT;\n let right = LAppDefine.VIEW_LOGICAL_RIGHT;\n let bottom = -ratio;\n let top = ratio;\n\n viewMatrix = new L2DViewMatrix();\n\n\n viewMatrix.setScreenRect(left, right, bottom, top);\n\n viewMatrix.setMaxScreenRect(LAppDefine.VIEW_LOGICAL_MAX_LEFT,\n LAppDefine.VIEW_LOGICAL_MAX_RIGHT,\n LAppDefine.VIEW_LOGICAL_MAX_BOTTOM,\n LAppDefine.VIEW_LOGICAL_MAX_TOP);\n\n viewMatrix.setMaxScale(LAppDefine.VIEW_MAX_SCALE);\n viewMatrix.setMinScale(LAppDefine.VIEW_MIN_SCALE);\n\n projMatrix = new L2DMatrix44();\n projMatrix.multScale(1, (width / height));\n\n deviceToScreen = new L2DMatrix44();\n deviceToScreen.multTranslate(-width / 2.0, -height / 2.0);\n deviceToScreen.multScale(2 / width, -2 / width);\n\n gl = getWebGLContext();\n setContext(gl);\n if (!gl) {\n console.error(\"Failed to create WebGL context.\");\n if(!!window.WebGLRenderingContext){\n console.error(\"Your browser don't support WebGL, check https://get.webgl.org/ for futher information.\");\n }\n return;\n }\n window.Live2D.setGL(gl);\n gl.clearColor(0.0, 0.0, 0.0, 0.0);\n changeModel(modelurl);\n startDraw();\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, canvas);\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 gl.clear(gl.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(gl);\n }\n }\n MatrixStack.pop();\n}\n\nfunction changeModel(modelurl)\n{\n live2DMgr.reloadFlg = true;\n live2DMgr.count++;\n live2DMgr.changeModel(gl,modelurl);\n}\n\nfunction modelScaling(scale)\n{\n let isMaxScale = viewMatrix.isMaxScale();\n let isMinScale = viewMatrix.isMinScale();\n \n viewMatrix.adjustScale(0, 0, scale);\n\n if (!isMaxScale)\n {\n if (viewMatrix.isMaxScale())\n {\n live2DMgr.maxScaleEvent();\n }\n }\n \n if (!isMinScale)\n {\n if (viewMatrix.isMinScale())\n {\n live2DMgr.minScaleEvent();\n }\n }\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 = canvas.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 * head_pos\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 (LAppDefine.DEBUG_MOUSE_LOG)\n console.log(\"onMouseDown 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 live2DMgr.tapEvent(vx, vy);\n}\n\nfunction followPointer(event)\n{ \n let rect = canvas.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 * head_pos\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 (LAppDefine.DEBUG_MOUSE_LOG)\n console.log(\"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 {\n drag = false;\n }\n dragMgr.setPoint(0, 0);\n}\n\nfunction mouseEvent(e)\n{\n //e.preventDefault();\n if (e.type == \"mousewheel\") {\n // if (e.clientX < 0 || canvas.clientWidth < e.clientX || \n // e.clientY < 0 || canvas.clientHeight < e.clientY)\n // {\n // return;\n // }\n // if (e.wheelDelta > 0) modelScaling(1.1); \n // else modelScaling(0.9); \n } else if (e.type == \"mousedown\") {\n if(\"button\" in e && e.button != 0) return;\n // modelTurnHead(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) modelTurnHead(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\nfunction getWebGLContext()\n{\n var NAMES = [ \"webgl\" , \"experimental-webgl\" , \"webkit-3d\" , \"moz-webgl\"];\n for( var i = 0; i < NAMES.length; i++ ){\n try{\n var ctx = canvas.getContext(NAMES[i], {premultipliedAlpha : true});\n if(ctx) return ctx;\n }\n catch(e){}\n }\n return null;\n};\n\nfunction loadlive2d(id,modelurl,headPos) {\n head_pos = typeof headPos === 'undefined' ? 0.5 : headPos;\n initL2dCanvas(id);\n init(modelurl);\n}\n\nwindow.loadlive2d = loadlive2d;\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.js","\r\n(function(){var j=true;function aa(){if(j){return;}this._$MT=null;this._$5S=null;this._$NP=0;aa._$42++;this._$5S=new y(this);}aa._$0s=1;aa._$4s=2;aa._$42=0;aa._$62=function(aQ,aU){try{if(aU instanceof ArrayBuffer){aU=new DataView(aU);}if(!(aU instanceof DataView)){throw new J(\"_$SS#loadModel(b) / b _$x be DataView or ArrayBuffer\");}var aS=new K(aU);var aM=aS._$ST();var aK=aS._$ST();var aJ=aS._$ST();var aN;if(aM==109&&aK==111&&aJ==99){aN=aS._$ST();}else{throw new J(\"_$gi _$C _$li , _$Q0 _$P0.\");}aS._$gr(aN);if(aN>ay._$T7){aQ._$NP|=aa._$4s;var aR=ay._$T7;var aI=\"_$gi _$C _$li , _$n0 _$_ version _$li ( SDK : \"+aR+\" < _$f0 : \"+aN+\" )@_$SS#loadModel()\\n\";throw new J(aI);}var aL=aS._$nP();if(aN>=ay._$s7){var aH=aS._$9T();var aT=aS._$9T();if(aH!=-30584||aT!=-30584){aQ._$NP|=aa._$0s;throw new J(\"_$gi _$C _$li , _$0 _$6 _$Ui.\");}}aQ._$KS(aL);var aP=aQ.getModelContext();aP.setDrawParam(aQ.getDrawParam());aP.init();}catch(aO){q._$Rb(aO);}};aa.prototype._$KS=function(aH){this._$MT=aH;};aa.prototype.getModelImpl=function(){if(this._$MT==null){this._$MT=new w();this._$MT._$zP();}return this._$MT;};aa.prototype.getCanvasWidth=function(){if(this._$MT==null){return 0;}return this._$MT.getCanvasWidth();};aa.prototype.getCanvasHeight=function(){if(this._$MT==null){return 0;}return this._$MT.getCanvasHeight();};aa.prototype.getParamFloat=function(aH){if(typeof aH!=\"number\"){aH=this._$5S.getParamIndex(z.getID(aH));}return this._$5S.getParamFloat(aH);};aa.prototype.setParamFloat=function(aH,aJ,aI){if(typeof aH!=\"number\"){aH=this._$5S.getParamIndex(z.getID(aH));}if(arguments.length<3){aI=1;}this._$5S.setParamFloat(aH,this._$5S.getParamFloat(aH)*(1-aI)+aJ*aI);};aa.prototype.addToParamFloat=function(aH,aJ,aI){if(typeof aH!=\"number\"){aH=this._$5S.getParamIndex(z.getID(aH));}if(arguments.length<3){aI=1;}this._$5S.setParamFloat(aH,this._$5S.getParamFloat(aH)+aJ*aI);};aa.prototype.multParamFloat=function(aH,aJ,aI){if(typeof aH!=\"number\"){aH=this._$5S.getParamIndex(z.getID(aH));}if(arguments.length<3){aI=1;}this._$5S.setParamFloat(aH,this._$5S.getParamFloat(aH)*(1+(aJ-1)*aI));};aa.prototype.getParamIndex=function(aH){return this._$5S.getParamIndex(z.getID(aH));};aa.prototype.loadParam=function(){this._$5S.loadParam();};aa.prototype.saveParam=function(){this._$5S.saveParam();};aa.prototype.init=function(){this._$5S.init();};aa.prototype.update=function(){this._$5S.update();};aa.prototype._$Rs=function(){q._$li(\"_$60 _$PT _$Rs()\");return -1;};aa.prototype._$Ds=function(aH){q._$li(\"_$60 _$PT _$SS#_$Ds() \\n\");};aa.prototype._$K2=function(){};aa.prototype.draw=function(){};aa.prototype.getModelContext=function(){return this._$5S;};aa.prototype._$s2=function(){return this._$NP;};aa.prototype._$P7=function(aK,aR,aH,a0){var aU=-1;var aY=0;var aM=this;var aJ=0.5;var aI=0.15;var aX=true;if(aH==0){for(var aV=0;aV1){aQ=1;}}else{aQ-=aW;if(aQ<0){aQ=0;}}aM.setPartsOpacity(aO,aQ);}else{for(var aV=0;aV=0){break;}aU=aV;var aO=aR[aV];aY=aM.getPartsOpacity(aO);aY+=aH/a0;if(aY>1){aY=1;}}}if(aU<0){console.log(\"No _$wi _$q0/ _$U default[%s]\",aK[0]);aU=0;aY=1;aM.loadParam();aM.setParamFloat(aK[aU],aY);aM.saveParam();}for(var aV=0;aVaI){aZ=1-aI/(1-aY);}}if(aL>aZ){aL=aZ;}aM.setPartsOpacity(aO,aL);}}}}};aa.prototype.setPartsOpacity=function(aI,aH){if(typeof aI!=\"number\"){aI=this._$5S.getPartsDataIndex(i.getID(aI));}this._$5S.setPartsOpacity(aI,aH);};aa.prototype.getPartsDataIndex=function(aH){if(!(aH instanceof i)){aH=i.getID(aH);}return this._$5S.getPartsDataIndex(aH);};aa.prototype.getPartsOpacity=function(aH){if(typeof aH!=\"number\"){aH=this._$5S.getPartsDataIndex(i.getID(aH));}if(aH<0){return 0;}return this._$5S.getPartsOpacity(aH);};aa.prototype.getDrawParam=function(){};aa.prototype.getDrawDataIndex=function(aH){return this._$5S.getDrawDataIndex(Z.getID(aH));};aa.prototype.getDrawData=function(aH){return this._$5S.getDrawData(aH);};aa.prototype.getTransformedPoints=function(aH){var aI=this._$5S._$C2(aH);if(aI instanceof ag){return(aI).getTransformedPoints();}return null;};aa.prototype.getIndexArray=function(aI){if(aI<0||aI>=this._$5S._$aS.length){return null;}var aH=this._$5S._$aS[aI];if(aH!=null&&aH.getType()==a._$wb){if(aH instanceof b){return aH.getIndexArray();}}return null;};function W(aJ){if(j){return;}this.clipContextList=new Array();this.glcontext=aJ.gl;this.dp_webgl=aJ;this.curFrameNo=0;this.firstError_clipInNotUpdate=true;this.colorBuffer=0;this.isInitGLFBFunc=false;this.tmpBoundsOnModel=new av();if(Q.glContext.length>Q.frameBuffers.length){this.curFrameNo=this.getMaskRenderTexture();}else{}this.tmpModelToViewMatrix=new ac();this.tmpMatrix2=new ac();this.tmpMatrixForMask=new ac();this.tmpMatrixForDraw=new ac();this.CHANNEL_COLORS=new Array();var aI=new o();aI=new o();aI.r=0;aI.g=0;aI.b=0;aI.a=1;this.CHANNEL_COLORS.push(aI);aI=new o();aI.r=1;aI.g=0;aI.b=0;aI.a=0;this.CHANNEL_COLORS.push(aI);aI=new o();aI.r=0;aI.g=1;aI.b=0;aI.a=0;this.CHANNEL_COLORS.push(aI);aI=new o();aI.r=0;aI.g=0;aI.b=1;aI.a=0;this.CHANNEL_COLORS.push(aI);for(var aH=0;aH=0;--aH){this.CHANNEL_COLORS.splice(aH,1);}this.CHANNEL_COLORS=[];}this.releaseShader();};W.prototype.releaseShader=function(){var aI=Q.frameBuffers.length;for(var aH=0;aH0){var aM=aQ.gl.getParameter(aQ.gl.FRAMEBUFFER_BINDING);var aW=new Array(4);aW[0]=0;aW[1]=0;aW[2]=aQ.gl.canvas.width;aW[3]=aQ.gl.canvas.height;aQ.gl.viewport(0,0,Q.clippingMaskBufferSize,Q.clippingMaskBufferSize);this.setupLayoutBounds(aK);aQ.gl.bindFramebuffer(aQ.gl.FRAMEBUFFER,Q.frameBuffers[this.curFrameNo].framebuffer);aQ.gl.clearColor(0,0,0,0);aQ.gl.clear(aQ.gl.COLOR_BUFFER_BIT);for(var aO=0;aOa5?aU:a5;var aT=aJ;var aR=aJ;var aS=0;var aP=0;var aL=aV.clippedDrawContextList.length;for(var aM=0;aMaS){aS=a0;}if(aZ>aP){aP=aZ;}}}if(aT==aJ){aV.allClippedDrawRect.x=0;aV.allClippedDrawRect.y=0;aV.allClippedDrawRect.width=0;aV.allClippedDrawRect.height=0;aV.isUsing=false;}else{var aQ=aS-aT;var aY=aP-aR;aV.allClippedDrawRect.x=aT;aV.allClippedDrawRect.y=aR;aV.allClippedDrawRect.width=aQ;aV.allClippedDrawRect.height=aY;aV.isUsing=true;}};W.prototype.setupLayoutBounds=function(aQ){var aI=aQ/W.CHANNEL_COUNT;var aP=aQ%W.CHANNEL_COUNT;aI=~~aI;aP=~~aP;var aH=0;for(var aJ=0;aJ=1){return 1;}}var aS=aQ;var aI=aS*aS;var aH=aS*aI;var aT=aY*aH+aX*aI+aW*aS+aV;return aT;};ah.prototype._$a0=function(){};ah.prototype.setFadeIn=function(aH){this._$dP=aH;};ah.prototype.setFadeOut=function(aH){this._$eo=aH;};ah.prototype._$pT=function(aH){this._$V0=aH;};ah.prototype.getFadeOut=function(){return this._$eo;};ah.prototype._$4T=function(){return this._$eo;};ah.prototype._$mT=function(){return this._$V0;};ah.prototype.getDurationMSec=function(){return -1;};ah.prototype.getLoopDurationMSec=function(){return -1;};ah.prototype.updateParam=function(aJ,aN){if(!aN._$AT||aN._$9L){return;}var aL=P.getUserTimeMSec();if(aN._$z2<0){aN._$z2=aL;aN._$bs=aL;var aM=this.getDurationMSec();if(aN._$Do<0){aN._$Do=(aM<=0)?-1:aN._$z2+aM;}}var aI=this._$V0;var aH=(this._$dP==0)?1:A._$r2(((aL-aN._$bs)/(this._$dP)));var aK=(this._$eo==0||aN._$Do<0)?1:A._$r2(((aN._$Do-aL)/(this._$eo)));aI=aI*aH*aK;if(!((0<=aI&&aI<=1))){console.log(\"### assert!! ### \");}this.updateParamExe(aJ,aL,aI,aN);if(aN._$Do>0&&aN._$Do0){console.log(\"\\n\");}else{if(aH%8==0&&aH>0){console.log(\" \");}}console.log(\"%02X \",(aJ[aH]&255));}console.log(\"\\n\");};q._$nr=function(aL,aI,aK){console.log(\"%s\\n\",aL);var aH=aI.length;for(var aJ=0;aJ=0;--aJ){var aM=this._$lL[aJ];aM._$oP(aI,this);}this._$oo(aI,aK);this._$M2=this._$Yb();this._$9b=(this._$M2-this._$ks)/aK;this._$ks=this._$M2;}for(var aJ=this._$qP.length-1;aJ>=0;--aJ){var aH=this._$qP[aJ];aH._$YS(aI,this);}this._$iT=aL;};u.prototype._$oo=function(aN,aI){if(aI<0.033){aI=0.033;}var aU=1/aI;this.p1.vx=(this.p1.x-this.p1._$s0)*aU;this.p1.vy=(this.p1.y-this.p1._$70)*aU;this.p1.ax=(this.p1.vx-this.p1._$7L)*aU;this.p1.ay=(this.p1.vy-this.p1._$HL)*aU;this.p1.fx=this.p1.ax*this.p1._$p;this.p1.fy=this.p1.ay*this.p1._$p;this.p1._$xT();var aM=-(Math.atan2((this.p1.y-this.p2.y),this.p1.x-this.p2.x));var aL;var aV;var aR=Math.cos(aM);var aH=Math.sin(aM);var aW=9.8*this.p2._$p;var aQ=(this._$Db*aC._$bS);var aP=(aW*Math.cos(aM-aQ));aL=(aP*aH);aV=(aP*aR);var aK=(-this.p1.fx*aH*aH);var aT=(-this.p1.fy*aH*aR);var aJ=((-this.p2.vx*this._$L2));var aS=((-this.p2.vy*this._$L2));this.p2.fx=((aL+aK+aJ));this.p2.fy=((aV+aT+aS));this.p2.ax=this.p2.fx/this.p2._$p;this.p2.ay=this.p2.fy/this.p2._$p;this.p2.vx+=this.p2.ax*aI;this.p2.vy+=this.p2.ay*aI;this.p2.x+=this.p2.vx*aI;this.p2.y+=this.p2.vy*aI;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)));this.p2.x=this.p1.x+this._$Fo*(this.p2.x-this.p1.x)/aO;this.p2.y=this.p1.y+this._$Fo*(this.p2.y-this.p1.y)/aO;this.p2.vx=(this.p2.x-this.p2._$s0)*aU;this.p2.vy=(this.p2.y-this.p2._$70)*aU;this.p2._$xT();};function N(){this._$p=1;this.x=0;this.y=0;this.vx=0;this.vy=0;this.ax=0;this.ay=0;this.fx=0;this.fy=0;this._$s0=0;this._$70=0;this._$7L=0;this._$HL=0;}N.prototype._$xT=function(){this._$s0=this.x;this._$70=this.y;this._$7L=this.vx;this._$HL=this.vy;};function at(aJ,aI,aH){this._$wL=null;this.scale=null;this._$V0=null;this._$wL=aJ;this.scale=aI;this._$V0=aH;}at.prototype._$oP=function(aI,aH){};function h(aJ,aK,aI,aH){at.prototype.constructor.call(this,aK,aI,aH);this._$tL=null;this._$tL=aJ;}h.prototype=new at();h.prototype._$oP=function(aJ,aH){var aK=this.scale*aJ.getParamFloat(this._$wL);var aL=aH.getPhysicsPoint1();switch(this._$tL){default:case u.Src.SRC_TO_X:aL.x=aL.x+(aK-aL.x)*this._$V0;break;case u.Src.SRC_TO_Y:aL.y=aL.y+(aK-aL.y)*this._$V0;break;case u.Src.SRC_TO_G_ANGLE:var aI=aH._$qr();aI=aI+(aK-aI)*this._$V0;aH._$pr(aI);break;}};function d(aJ,aI,aH){this._$wL=null;this.scale=null;this._$V0=null;this._$wL=aJ;this.scale=aI;this._$V0=aH;}d.prototype._$YS=function(aI,aH){};function aF(aI,aK,aJ,aH){d.prototype.constructor.call(this,aK,aJ,aH);this._$YP=null;this._$YP=aI;}aF.prototype=new d();aF.prototype._$YS=function(aI,aH){switch(this._$YP){default:case u.Target.TARGET_FROM_ANGLE:aI.setParamFloat(this._$wL,this.scale*aH._$5r(),this._$V0);break;case u.Target.TARGET_FROM_ANGLE_V:aI.setParamFloat(this._$wL,this.scale*aH._$Cs(),this._$V0);break;}};u.Src=function(){};u.Src.SRC_TO_X=\"SRC_TO_X\";u.Src.SRC_TO_Y=\"SRC_TO_Y\";u.Src.SRC_TO_G_ANGLE=\"SRC_TO_G_ANGLE\";u.Target=function(){};u.Target.TARGET_FROM_ANGLE=\"TARGET_FROM_ANGLE\";u.Target.TARGET_FROM_ANGLE_V=\"TARGET_FROM_ANGLE_V\";function X(){if(j){return;}this._$fL=0;this._$gL=0;this._$B0=1;this._$z0=1;this._$qT=0;this.reflectX=false;this.reflectY=false;}X.prototype.init=function(aH){this._$fL=aH._$fL;this._$gL=aH._$gL;this._$B0=aH._$B0;this._$z0=aH._$z0;this._$qT=aH._$qT;this.reflectX=aH.reflectX;this.reflectY=aH.reflectY;};X.prototype._$F0=function(aH){this._$fL=aH._$_T();this._$gL=aH._$_T();this._$B0=aH._$_T();this._$z0=aH._$_T();this._$qT=aH._$_T();if(aH.getFormatVersion()>=ay.LIVE2D_FORMAT_VERSION_V2_10_SDK2){this.reflectX=aH._$po();this.reflectY=aH._$po();}};X.prototype._$e=function(){};var ad=function(){};ad._$ni=function(aL,aJ,aR,aQ,aK,aI,aH,aS,aN){var aM=(aH*aI-aS*aK);if(aM==0){return null;}else{var aO=((aL-aR)*aI-(aJ-aQ)*aK)/aM;var aP;if(aK!=0){aP=(aL-aR-aO*aH)/aK;}else{aP=(aJ-aQ-aO*aS)/aI;}if(isNaN(aP)){aP=(aL-aR-aO*aH)/aK;if(isNaN(aP)){aP=(aJ-aQ-aO*aS)/aI;}if(isNaN(aP)){console.log(\"a is NaN @UtVector#_$ni() \");console.log(\"v1x : \"+aK);console.log(\"v1x != 0 ? \"+(aK!=0));}}if(aN==null){return new Array(aP,aO);}else{aN[0]=aP;aN[1]=aO;return aN;}}};function av(){if(j){return;}this.x=null;this.y=null;this.width=null;this.height=null;}av.prototype._$8P=function(){return this.x+0.5*this.width;};av.prototype._$6P=function(){return this.y+0.5*this.height;};av.prototype._$EL=function(){return this.x+this.width;};av.prototype._$5T=function(){return this.y+this.height;};av.prototype._$jL=function(aI,aK,aJ,aH){this.x=aI;this.y=aK;this.width=aJ;this.height=aH;};av.prototype._$jL=function(aH){this.x=aH.x;this.y=aH.y;this.width=aH.width;this.height=aH.height;};av.prototype.contains=function(aH,aI){return this.x<=this.x&&this.y<=this.y&&(this.x<=this.x+this.width)&&(this.y<=this.y+this.height);};av.prototype.expand=function(aH,aI){this.x-=aH;this.y-=aI;this.width+=aH*2;this.height+=aI*2;};function aG(){}aG._$Z2=function(bb,bo,bp,a2){var a1=bo._$Q2(bb,bp);var a3=bb._$vs();var ba=bb._$Tr();bo._$zr(a3,ba,a1);if(a1<=0){return a2[a3[0]];}else{if(a1==1){var bj=a2[a3[0]];var bi=a2[a3[1]];var a9=ba[0];return(bj+(bi-bj)*a9)|0;}else{if(a1==2){var bj=a2[a3[0]];var bi=a2[a3[1]];var a0=a2[a3[2]];var aZ=a2[a3[3]];var a9=ba[0];var a8=ba[1];var br=(bj+(bi-bj)*a9)|0;var bq=(a0+(aZ-a0)*a9)|0;return(br+(bq-br)*a8)|0;}else{if(a1==3){var aP=a2[a3[0]];var aO=a2[a3[1]];var bn=a2[a3[2]];var bm=a2[a3[3]];var aK=a2[a3[4]];var aJ=a2[a3[5]];var bg=a2[a3[6]];var bf=a2[a3[7]];var a9=ba[0];var a8=ba[1];var a6=ba[2];var bj=(aP+(aO-aP)*a9)|0;var bi=(bn+(bm-bn)*a9)|0;var a0=(aK+(aJ-aK)*a9)|0;var aZ=(bg+(bf-bg)*a9)|0;var br=(bj+(bi-bj)*a8)|0;var bq=(a0+(aZ-a0)*a8)|0;return(br+(bq-br)*a6)|0;}else{if(a1==4){var aT=a2[a3[0]];var aS=a2[a3[1]];var bu=a2[a3[2]];var bt=a2[a3[3]];var aN=a2[a3[4]];var aM=a2[a3[5]];var bl=a2[a3[6]];var bk=a2[a3[7]];var be=a2[a3[8]];var bc=a2[a3[9]];var aX=a2[a3[10]];var aW=a2[a3[11]];var a7=a2[a3[12]];var a5=a2[a3[13]];var aR=a2[a3[14]];var aQ=a2[a3[15]];var a9=ba[0];var a8=ba[1];var a6=ba[2];var a4=ba[3];var aP=(aT+(aS-aT)*a9)|0;var aO=(bu+(bt-bu)*a9)|0;var bn=(aN+(aM-aN)*a9)|0;var bm=(bl+(bk-bl)*a9)|0;var aK=(be+(bc-be)*a9)|0;var aJ=(aX+(aW-aX)*a9)|0;var bg=(a7+(a5-a7)*a9)|0;var bf=(aR+(aQ-aR)*a9)|0;var bj=(aP+(aO-aP)*a8)|0;var bi=(bn+(bm-bn)*a8)|0;var a0=(aK+(aJ-aK)*a8)|0;var aZ=(bg+(bf-bg)*a8)|0;var br=(bj+(bi-bj)*a6)|0;var bq=(a0+(aZ-a0)*a6)|0;return(br+(bq-br)*a4)|0;}else{var aV=1<=ay._$T7){this.clipID=aH._$nP();this.clipIDList=this.convertClipIDForV2_11(this.clipID);}else{this.clipIDList=[];}this._$MS(this._$Lb);};ae.prototype.getClipIDList=function(){return this.clipIDList;};ae.prototype.init=function(aH){};ae.prototype._$Nr=function(aH,aI){aI._$IS[0]=false;aI._$Us=aG._$Z2(aH,this._$GS,aI._$IS,this._$Lb);if(Q._$Zs){}else{if(aI._$IS[0]){return;}}aI._$7s=aG._$br(aH,this._$GS,aI._$IS,this._$mS);};ae.prototype._$2b=function(aH,aI){};ae.prototype.getDrawDataID=function(){return this._$gP;};ae.prototype._$j2=function(aH){this._$gP=aH;};ae.prototype.getOpacity=function(aH,aI){return aI._$7s;};ae.prototype._$zS=function(aH,aI){return aI._$Us;};ae.prototype._$MS=function(aJ){for(var aI=aJ.length-1;aI>=0;--aI){var aH=aJ[aI];if(aHae._$R2){ae._$R2=aH;}}}};ae.prototype.getTargetBaseDataID=function(){return this._$dr;};ae.prototype._$gs=function(aH){this._$dr=aH;};ae.prototype._$32=function(){return(this._$dr!=null&&(this._$dr!=n._$2o()));};ae.prototype.preDraw=function(aJ,aH,aI){};ae.prototype.draw=function(aJ,aH,aI){};ae.prototype.getType=function(){};ae.prototype._$B2=function(aI,aH,aJ){};function ax(){if(j){return;}this._$Eb=ax._$ps;this._$lT=1;this._$C0=1;this._$tT=1;this._$WL=1;this.culling=false;this.matrix4x4=new Float32Array(16);this.premultipliedAlpha=false;this.anisotropy=0;this.clippingProcess=ax.CLIPPING_PROCESS_NONE;this.clipBufPre_clipContextMask=null;this.clipBufPre_clipContextDraw=null;this.CHANNEL_COLORS=new Array();}ax._$ps=32;ax.CLIPPING_PROCESS_NONE=0;ax.CLIPPING_PROCESS_OVERWRITE_ALPHA=1;ax.CLIPPING_PROCESS_MULTIPLY_ALPHA=2;ax.CLIPPING_PROCESS_DRAW=3;ax.CLIPPING_PROCESS_CLEAR_ALPHA=4;ax.prototype.setChannelFlagAsColor=function(aH,aI){this.CHANNEL_COLORS[aH]=aI;};ax.prototype.getChannelFlagAsColor=function(aH){return this.CHANNEL_COLORS[aH];};ax.prototype._$ZT=function(){};ax.prototype._$Uo=function(aM,aK,aJ,aL,aN,aI,aH){};ax.prototype._$Rs=function(){return -1;};ax.prototype._$Ds=function(aH){};ax.prototype.setBaseColor=function(aK,aJ,aI,aH){if(aK<0){aK=0;}else{if(aK>1){aK=1;}}if(aJ<0){aJ=0;}else{if(aJ>1){aJ=1;}}if(aI<0){aI=0;}else{if(aI>1){aI=1;}}if(aH<0){aH=0;}else{if(aH>1){aH=1;}}this._$lT=aK;this._$C0=aJ;this._$tT=aI;this._$WL=aH;};ax.prototype._$WP=function(aH){this.culling=aH;};ax.prototype.setMatrix=function(aH){for(var aI=0;aI<16;aI++){this.matrix4x4[aI]=aH[aI];}};ax.prototype._$IT=function(){return this.matrix4x4;};ax.prototype.setPremultipliedAlpha=function(aH){this.premultipliedAlpha=aH;};ax.prototype.isPremultipliedAlpha=function(){return this.premultipliedAlpha;};ax.prototype.setAnisotropy=function(aH){this.anisotropy=aH;};ax.prototype.getAnisotropy=function(){return this.anisotropy;};ax.prototype.getClippingProcess=function(){return this.clippingProcess;};ax.prototype.setClippingProcess=function(aH){this.clippingProcess=aH;};ax.prototype.setClipBufPre_clipContextForMask=function(aH){this.clipBufPre_clipContextMask=aH;};ax.prototype.getClipBufPre_clipContextMask=function(){return this.clipBufPre_clipContextMask;};ax.prototype.setClipBufPre_clipContextForDraw=function(aH){this.clipBufPre_clipContextDraw=aH;};ax.prototype.getClipBufPre_clipContextDraw=function(){return this.clipBufPre_clipContextDraw;};function o(){if(j){return;}this.a=1;this.r=1;this.g=1;this.b=1;this.scale=1;this._$ho=1;this.blendMode=Q.L2D_COLOR_BLEND_MODE_MULT;}function c(){if(j){return;}this._$kP=null;this._$dr=null;this._$Ai=true;this._$mS=null;}c._$ur=-2;c._$c2=1;c._$_b=2;c.prototype._$F0=function(aH){this._$kP=aH._$nP();this._$dr=aH._$nP();};c.prototype.readV2_opacity=function(aH){if(aH.getFormatVersion()>=ay.LIVE2D_FORMAT_VERSION_V2_10_SDK2){this._$mS=aH._$Tb();}};c.prototype.init=function(aH){};c.prototype._$Nr=function(aI,aH){};c.prototype.interpolateOpacity=function(aJ,aK,aI,aH){if(this._$mS==null){aI.setInterpolatedOpacity(1);}else{aI.setInterpolatedOpacity(aG._$br(aJ,aK,aH,this._$mS));}};c.prototype._$2b=function(aI,aH){};c.prototype._$nb=function(aL,aK,aM,aH,aI,aJ,aN){};c.prototype.getType=function(){};c.prototype._$gs=function(aH){this._$dr=aH;};c.prototype._$a2=function(aH){this._$kP=aH;};c.prototype.getTargetBaseDataID=function(){return this._$dr;};c.prototype.getBaseDataID=function(){return this._$kP;};c.prototype._$32=function(){return(this._$dr!=null&&(this._$dr!=n._$2o()));};function P(){}P._$W2=0;P._$CS=P._$W2;P._$Mo=function(){return true;};P._$XP=function(aI){try{var aJ=getTimeMSec();while(getTimeMSec()-aJ=aJ.length){return false;}for(var aI=aL;aI=0;--aJ){var aI=this._$Ob[aJ].getParamIndex(aH);if(aI==aA._$ds){aI=aK.getParamIndex(this._$Ob[aJ].getParamID());}if(aK._$Xb(aI)){return true;}}return false;};g.prototype._$Q2=function(aL,aV){var aX=this._$Ob.length;var aJ=aL._$v2();var aN=0;var aI;var aQ;for(var aK=0;aKaw._$Qb){console.log(\"err 23245\\n\");}var aS=this._$Ob.length;var aK=1;var aH=1;var aJ=0;for(var aQ=0;aQ=0;--aK){aM[aK]=aL[aK];}}else{this.mult_fast(aI,aH,aM,aJ);}};ac.prototype.mult_fast=function(aI,aH,aK,aJ){if(aJ){aK[0]=aI[0]*aH[0]+aI[4]*aH[1]+aI[8]*aH[2];aK[4]=aI[0]*aH[4]+aI[4]*aH[5]+aI[8]*aH[6];aK[8]=aI[0]*aH[8]+aI[4]*aH[9]+aI[8]*aH[10];aK[12]=aI[0]*aH[12]+aI[4]*aH[13]+aI[8]*aH[14]+aI[12];aK[1]=aI[1]*aH[0]+aI[5]*aH[1]+aI[9]*aH[2];aK[5]=aI[1]*aH[4]+aI[5]*aH[5]+aI[9]*aH[6];aK[9]=aI[1]*aH[8]+aI[5]*aH[9]+aI[9]*aH[10];aK[13]=aI[1]*aH[12]+aI[5]*aH[13]+aI[9]*aH[14]+aI[13];aK[2]=aI[2]*aH[0]+aI[6]*aH[1]+aI[10]*aH[2];aK[6]=aI[2]*aH[4]+aI[6]*aH[5]+aI[10]*aH[6];aK[10]=aI[2]*aH[8]+aI[6]*aH[9]+aI[10]*aH[10];aK[14]=aI[2]*aH[12]+aI[6]*aH[13]+aI[10]*aH[14]+aI[14];aK[3]=aK[7]=aK[11]=0;aK[15]=1;}else{aK[0]=aI[0]*aH[0]+aI[4]*aH[1]+aI[8]*aH[2]+aI[12]*aH[3];aK[4]=aI[0]*aH[4]+aI[4]*aH[5]+aI[8]*aH[6]+aI[12]*aH[7];aK[8]=aI[0]*aH[8]+aI[4]*aH[9]+aI[8]*aH[10]+aI[12]*aH[11];aK[12]=aI[0]*aH[12]+aI[4]*aH[13]+aI[8]*aH[14]+aI[12]*aH[15];aK[1]=aI[1]*aH[0]+aI[5]*aH[1]+aI[9]*aH[2]+aI[13]*aH[3];aK[5]=aI[1]*aH[4]+aI[5]*aH[5]+aI[9]*aH[6]+aI[13]*aH[7];aK[9]=aI[1]*aH[8]+aI[5]*aH[9]+aI[9]*aH[10]+aI[13]*aH[11];aK[13]=aI[1]*aH[12]+aI[5]*aH[13]+aI[9]*aH[14]+aI[13]*aH[15];aK[2]=aI[2]*aH[0]+aI[6]*aH[1]+aI[10]*aH[2]+aI[14]*aH[3];aK[6]=aI[2]*aH[4]+aI[6]*aH[5]+aI[10]*aH[6]+aI[14]*aH[7];aK[10]=aI[2]*aH[8]+aI[6]*aH[9]+aI[10]*aH[10]+aI[14]*aH[11];aK[14]=aI[2]*aH[12]+aI[6]*aH[13]+aI[10]*aH[14]+aI[14]*aH[15];aK[3]=aI[3]*aH[0]+aI[7]*aH[1]+aI[11]*aH[2]+aI[15]*aH[3];aK[7]=aI[3]*aH[4]+aI[7]*aH[5]+aI[11]*aH[6]+aI[15]*aH[7];aK[11]=aI[3]*aH[8]+aI[7]*aH[9]+aI[11]*aH[10]+aI[15]*aH[11];aK[15]=aI[3]*aH[12]+aI[7]*aH[13]+aI[11]*aH[14]+aI[15]*aH[15];}};ac.prototype.translate=function(aH,aJ,aI){this.m[12]=this.m[0]*aH+this.m[4]*aJ+this.m[8]*aI+this.m[12];this.m[13]=this.m[1]*aH+this.m[5]*aJ+this.m[9]*aI+this.m[13];this.m[14]=this.m[2]*aH+this.m[6]*aJ+this.m[10]*aI+this.m[14];this.m[15]=this.m[3]*aH+this.m[7]*aJ+this.m[11]*aI+this.m[15];};ac.prototype.scale=function(aJ,aI,aH){this.m[0]*=aJ;this.m[4]*=aI;this.m[8]*=aH;this.m[1]*=aJ;this.m[5]*=aI;this.m[9]*=aH;this.m[2]*=aJ;this.m[6]*=aI;this.m[10]*=aH;this.m[3]*=aJ;this.m[7]*=aI;this.m[11]*=aH;};ac.prototype.rotateX=function(aH){var aK=aC.fcos(aH);var aJ=aC._$9(aH);var aI=this.m[4];this.m[4]=aI*aK+this.m[8]*aJ;this.m[8]=aI*-aJ+this.m[8]*aK;aI=this.m[5];this.m[5]=aI*aK+this.m[9]*aJ;this.m[9]=aI*-aJ+this.m[9]*aK;aI=this.m[6];this.m[6]=aI*aK+this.m[10]*aJ;this.m[10]=aI*-aJ+this.m[10]*aK;aI=this.m[7];this.m[7]=aI*aK+this.m[11]*aJ;this.m[11]=aI*-aJ+this.m[11]*aK;};ac.prototype.rotateY=function(aH){var aK=aC.fcos(aH);var aJ=aC._$9(aH);var aI=this.m[0];this.m[0]=aI*aK+this.m[8]*-aJ;this.m[8]=aI*aJ+this.m[8]*aK;aI=this.m[1];this.m[1]=aI*aK+this.m[9]*-aJ;this.m[9]=aI*aJ+this.m[9]*aK;aI=m[2];this.m[2]=aI*aK+this.m[10]*-aJ;this.m[10]=aI*aJ+this.m[10]*aK;aI=m[3];this.m[3]=aI*aK+this.m[11]*-aJ;this.m[11]=aI*aJ+this.m[11]*aK;};ac.prototype.rotateZ=function(aH){var aK=aC.fcos(aH);var aJ=aC._$9(aH);var aI=this.m[0];this.m[0]=aI*aK+this.m[4]*aJ;this.m[4]=aI*-aJ+this.m[4]*aK;aI=this.m[1];this.m[1]=aI*aK+this.m[5]*aJ;this.m[5]=aI*-aJ+this.m[5]*aK;aI=this.m[2];this.m[2]=aI*aK+this.m[6]*aJ;this.m[6]=aI*-aJ+this.m[6]*aK;aI=this.m[3];this.m[3]=aI*aK+this.m[7]*aJ;this.m[7]=aI*-aJ+this.m[7]*aK;};function Z(aH){if(j){return;}ak.prototype.constructor.call(this,aH);}Z.prototype=new ak();Z._$tP=new Object();Z._$27=function(){Z._$tP.clear();};Z.getID=function(aH){var aI=Z._$tP[aH];if(aI==null){aI=new Z(aH);Z._$tP[aH]=aI;}return aI;};Z.prototype._$3s=function(){return new Z();};function aD(){if(j){return;}this._$7=1;this._$f=0;this._$H=0;this._$g=1;this._$k=0;this._$w=0;this._$hi=STATE_IDENTITY;this._$Z=_$pS;}aD._$kS=-1;aD._$pS=0;aD._$hb=1;aD.STATE_IDENTITY=0;aD._$gb=1;aD._$fo=2;aD._$go=4;aD.prototype.transform=function(aK,aI,aH){var aT,aS,aR,aM,aL,aJ;var aQ=0;var aN=0;switch(this._$hi){default:return;case (aD._$go|aD._$fo|aD._$gb):aT=this._$7;aS=this._$H;aR=this._$k;aM=this._$f;aL=this._$g;aJ=this._$w;while(--aH>=0){var aP=aK[aQ++];var aO=aK[aQ++];aI[aN++]=(aT*aP+aS*aO+aR);aI[aN++]=(aM*aP+aL*aO+aJ);}return;case (aD._$go|aD._$fo):aT=this._$7;aS=this._$H;aM=this._$f;aL=this._$g;while(--aH>=0){var aP=aK[aQ++];var aO=aK[aQ++];aI[aN++]=(aT*aP+aS*aO);aI[aN++]=(aM*aP+aL*aO);}return;case (aD._$go|aD._$gb):aS=this._$H;aR=this._$k;aM=this._$f;aJ=this._$w;while(--aH>=0){var aP=aK[aQ++];aI[aN++]=(aS*aK[aQ++]+aR);aI[aN++]=(aM*aP+aJ);}return;case (aD._$go):aS=this._$H;aM=this._$f;while(--aH>=0){var aP=aK[aQ++];aI[aN++]=(aS*aK[aQ++]);aI[aN++]=(aM*aP);}return;case (aD._$fo|aD._$gb):aT=this._$7;aR=this._$k;aL=this._$g;aJ=this._$w;while(--aH>=0){aI[aN++]=(aT*aK[aQ++]+aR);aI[aN++]=(aL*aK[aQ++]+aJ);}return;case (aD._$fo):aT=this._$7;aL=this._$g;while(--aH>=0){aI[aN++]=(aT*aK[aQ++]);aI[aN++]=(aL*aK[aQ++]);}return;case (aD._$gb):aR=this._$k;aJ=this._$w;while(--aH>=0){aI[aN++]=(aK[aQ++]+aR);aI[aN++]=(aK[aQ++]+aJ);}return;case (aD.STATE_IDENTITY):if(aK!=aI||aQ!=aN){P._$jT(aK,aQ,aI,aN,aH*2);}return;}};aD.prototype.update=function(){if(this._$H==0&&this._$f==0){if(this._$7==1&&this._$g==1){if(this._$k==0&&this._$w==0){this._$hi=aD.STATE_IDENTITY;this._$Z=aD._$pS;}else{this._$hi=aD._$gb;this._$Z=aD._$hb;}}else{if(this._$k==0&&this._$w==0){this._$hi=aD._$fo;this._$Z=aD._$kS;}else{this._$hi=(aD._$fo|aD._$gb);this._$Z=aD._$kS;}}}else{if(this._$7==0&&this._$g==0){if(this._$k==0&&this._$w==0){this._$hi=aD._$go;this._$Z=aD._$kS;}else{this._$hi=(aD._$go|aD._$gb);this._$Z=aD._$kS;}}else{if(this._$k==0&&this._$w==0){this._$hi=(aD._$go|aD._$fo);this._$Z=aD._$kS;}else{this._$hi=(aD._$go|aD._$fo|aD._$gb);this._$Z=aD._$kS;}}}};aD.prototype._$RT=function(aK){this._$IT(aK);var aJ=aK[0];var aH=aK[2];var aN=aK[1];var aM=aK[3];var aI=Math.sqrt(aJ*aJ+aN*aN);var aL=aJ*aM-aH*aN;if(aI==0){if(Q._$so){console.log(\"affine._$RT() / rt==0\");}}else{aK[0]=aI;aK[1]=aL/aI;aK[2]=(aN*aM+aJ*aH)/aL;aK[3]=Math.atan2(aN,aJ);}};aD.prototype._$ho=function(aN,aM,aI,aH){var aL=new Float32Array(6);var aK=new Float32Array(6);aN._$RT(aL);aM._$RT(aK);var aJ=new Float32Array(6);aJ[0]=aL[0]+(aK[0]-aL[0])*aI;aJ[1]=aL[1]+(aK[1]-aL[1])*aI;aJ[2]=aL[2]+(aK[2]-aL[2])*aI;aJ[3]=aL[3]+(aK[3]-aL[3])*aI;aJ[4]=aL[4]+(aK[4]-aL[4])*aI;aJ[5]=aL[5]+(aK[5]-aL[5])*aI;aH._$CT(aJ);};aD.prototype._$CT=function(aJ){var aI=Math.cos(aJ[3]);var aH=Math.sin(aJ[3]);this._$7=aJ[0]*aI;this._$f=aJ[0]*aH;this._$H=aJ[1]*(aJ[2]*aI-aH);this._$g=aJ[1]*(aJ[2]*aH+aI);this._$k=aJ[4];this._$w=aJ[5];this.update();};aD.prototype._$IT=function(aH){aH[0]=this._$7;aH[1]=this._$f;aH[2]=this._$H;aH[3]=this._$g;aH[4]=this._$k;aH[5]=this._$w;};function Y(){if(j){return;}ah.prototype.constructor.call(this);this.motions=new Array();this._$7r=null;this._$7r=Y._$Co++;this._$D0=30;this._$yT=0;this._$E=true;this.loopFadeIn=true;this._$AS=-1;_$a0();}Y.prototype=new ah();Y._$cs=\"VISIBLE:\";Y._$ar=\"LAYOUT:\";Y._$Co=0;Y._$D2=[];Y._$1T=1;Y.loadMotion=function(aR){var aM=new Y();var aI=[0];var aP=aR.length;aM._$yT=0;for(var aJ=0;aJ=0){if(aK==aT+4&&aR[aT+1]==\"f\"&&aR[aT+2]==\"p\"&&aR[aT+3]==\"s\"){aO=true;}for(aJ=aK+1;aJ0){if(aO&&5=0){var aN=new t();if(G.startsWith(aR,aT,Y._$cs)){aN._$RP=t._$hs;aN._$4P=new String(aR,aT,aK-aT);}else{if(G.startsWith(aR,aT,Y._$ar)){aN._$4P=new String(aR,aT+7,aK-aT-7);if(G.startsWith(aR,aT+7,\"ANCHOR_X\")){aN._$RP=t._$xs;}else{if(G.startsWith(aR,aT+7,\"ANCHOR_Y\")){aN._$RP=t._$us;}else{if(G.startsWith(aR,aT+7,\"SCALE_X\")){aN._$RP=t._$qs;}else{if(G.startsWith(aR,aT+7,\"SCALE_Y\")){aN._$RP=t._$Ys;}else{if(G.startsWith(aR,aT+7,\"X\")){aN._$RP=t._$ws;}else{if(G.startsWith(aR,aT+7,\"Y\")){aN._$RP=t._$Ns;}}}}}}}else{aN._$RP=t._$Fr;aN._$4P=new String(aR,aT,aK-aT);}}aM.motions.push(aN);var aS=0;Y._$D2.clear();for(aJ=aK+1;aJ0){Y._$D2.push(aL);aS++;var aH=aI[0];if(aHaM._$yT){aM._$yT=aS;}}}}aM._$AS=((1000*aM._$yT)/aM._$D0)|0;return aM;};Y.prototype.getDurationMSec=function(){return this._$AS;};Y.prototype.dump=function(){for(var aJ=0;aJ=aK?aK-1:aJ)];aH.setParamFloat(aQ,aT);}else{if(t._$ws<=aS._$RP&&aS._$RP<=t._$Ys){}else{var aR=aH.getParamFloat(aQ);var aY=aS._$I0[(aJ>=aK?aK-1:aJ)];var aW=aS._$I0[(aJ+1>=aK?aK-1:aJ+1)];var aI=aY+(aW-aY)*aP;var aN=aR+(aI-aR)*aO;aH.setParamFloat(aQ,aN);}}}if(aJ>=this._$yT){if(this._$E){aX._$z2=aL;if(this.loopFadeIn){aX._$bs=aL;}}else{aX._$9L=true;}}};Y.prototype._$r0=function(){return this._$E;};Y.prototype._$aL=function(aH){this._$E=aH;};Y.prototype.isLoopFadeIn=function(){return this.loopFadeIn;};Y.prototype.setLoopFadeIn=function(aH){this.loopFadeIn=aH;};function aE(){this._$P=new Float32Array(100);this.size=0;}aE.prototype.clear=function(){this.size=0;};aE.prototype.add=function(aI){if(this._$P.length<=this.size){var aH=new Float32Array(this.size*2);P._$jT(this._$P,0,aH,0,this.size);this._$P=aH;}this._$P[this.size++]=aI;};aE.prototype._$BL=function(){var aH=new Float32Array(this.size);P._$jT(this._$P,0,aH,0,this.size);return aH;};function t(){this._$4P=null;this._$I0=null;this._$RP=null;}t._$Fr=0;t._$hs=1;t._$ws=100;t._$Ns=101;t._$xs=102;t._$us=103;t._$qs=104;t._$Ys=105;function aw(){}aw._$Ms=1;aw._$Qs=2;aw._$i2=0;aw._$No=2;aw._$do=aw._$Ms;aw._$Ls=true;aw._$1r=5;aw._$Qb=65;aw._$J=0.0001;aw._$FT=0.001;aw._$Ss=3;function ay(){}ay._$o7=6;ay._$S7=7;ay._$s7=8;ay._$77=9;ay.LIVE2D_FORMAT_VERSION_V2_10_SDK2=10;ay.LIVE2D_FORMAT_VERSION_V2_11_SDK2_1=11;ay._$T7=ay.LIVE2D_FORMAT_VERSION_V2_11_SDK2_1;ay._$Is=-2004318072;ay._$h0=0;ay._$4L=23;ay._$7P=33;ay._$uT=function(aH){console.log(\"_$bo :: _$6 _$mo _$E0 : %d\\n\",aH);};ay._$9o=function(aH){if(aH<40){ay._$uT(aH);return null;}else{if(aH<50){ay._$uT(aH);return null;}else{if(aH<60){ay._$uT(aH);return null;}else{if(aH<100){switch(aH){case 65:return new E();case 66:return new g();case 67:return new aA();case 68:return new ab();case 69:return new X();case 70:return new b();default:ay._$uT(aH);return null;}}else{if(aH<150){switch(aH){case 131:return new f();case 133:return new s();case 136:return new w();case 137:return new an();case 142:return new aq();}}}}}}ay._$uT(aH);return null;};function y(aH){if(j){return;}this._$QT=true;this._$co=-1;this._$qo=0;this._$pb=new Array(y._$is);this._$_2=new Float32Array(y._$is);this._$vr=new Float32Array(y._$is);this._$Rr=new Float32Array(y._$is);this._$Or=new Float32Array(y._$is);this._$fs=new Float32Array(y._$is);this._$Js=new Array(y._$is);this._$3S=new Array();this._$aS=new Array();this._$Bo=null;this._$F2=new Array();this._$db=new Array();this._$8b=new Array();this._$Hr=new Array();this._$Ws=null;this._$Vs=null;this._$Er=null;this._$Es=new Int16Array(aw._$Qb);this._$ZP=new Float32Array(aw._$1r*2);this._$Ri=aH;this._$b0=y._$HP++;this.clipManager=null;this.dp_webgl=null;}y._$HP=0;y._$_0=true;y._$V2=-1;y._$W0=-1;y._$jr=false;y._$ZS=true;y._$tr=(-1000000);y._$lr=(1000000);y._$is=32;y._$e=false;y.prototype.getDrawDataIndex=function(aI){for(var aH=this._$aS.length-1;aH>=0;--aH){if(this._$aS[aH]!=null&&this._$aS[aH].getDrawDataID()==aI){return aH;}}return -1;};y.prototype.getDrawData=function(aH){if(aH instanceof Z){if(this._$Bo==null){this._$Bo=new Object();var aJ=this._$aS.length;for(var aI=0;aI0){this.release();}var aO=this._$Ri.getModelImpl();var aT=aO._$Xr();var aS=aT.length;var aH=new Array();var a3=new Array();for(var aV=0;aV=0){this._$3S.push(aL);this._$db.push(a3[aV]);aH[aV]=null;aX=true;}}if(!aX){break;}}var aI=aO._$E2();if(aI!=null){var aJ=aI._$1s();if(aJ!=null){var aW=aJ.length;for(var aV=0;aV=0;aW--){this._$Js[aW]=y._$jr;}this._$QT=false;if(y._$e){q.dump(\"_$eL\");}return aX;};y.prototype.preDraw=function(aH){if(this.clipManager!=null){aH._$ZT();this.clipManager.setupClip(this,aH);}};y.prototype.draw=function(aM){if(this._$Ws==null){q._$li(\"call _$Ri.update() before _$Ri.draw() \");return;}var aP=this._$Ws.length;aM._$ZT();for(var aK=0;aK=0;--aI){if(this._$pb[aI]==aH){return aI;}}return this._$02(aH,0,y._$tr,y._$lr);};y.prototype._$BS=function(aH){return this.getBaseDataIndex(aH);};y.prototype.getBaseDataIndex=function(aH){for(var aI=this._$3S.length-1;aI>=0;--aI){if(this._$3S[aI]!=null&&this._$3S[aI].getBaseDataID()==aH){return aI;}}return -1;};y.prototype._$UT=function(aJ,aH){var aI=new Float32Array(aH);P._$jT(aJ,0,aI,0,aJ.length);return aI;};y.prototype._$02=function(aN,aM,aL,aH){if(this._$qo>=this._$pb.length){var aK=this._$pb.length;var aJ=new Array(aK*2);P._$jT(this._$pb,0,aJ,0,aK);this._$pb=aJ;this._$_2=this._$UT(this._$_2,aK*2);this._$vr=this._$UT(this._$vr,aK*2);this._$Rr=this._$UT(this._$Rr,aK*2);this._$Or=this._$UT(this._$Or,aK*2);var aI=new Array();P._$jT(this._$Js,0,aI,0,aK);this._$Js=aI;}this._$pb[this._$qo]=aN;this._$_2[this._$qo]=aM;this._$vr[this._$qo]=aM;this._$Rr[this._$qo]=aL;this._$Or[this._$qo]=aH;this._$Js[this._$qo]=y._$ZS;return this._$qo++;};y.prototype._$Zo=function(aI,aH){this._$3S[aI]=aH;};y.prototype.setParamFloat=function(aH,aI){if(aIthis._$Or[aH]){aI=this._$Or[aH];}this._$_2[aH]=aI;};y.prototype.loadParam=function(){var aH=this._$_2.length;if(aH>this._$fs.length){aH=this._$fs.length;}P._$jT(this._$fs,0,this._$_2,0,aH);};y.prototype.saveParam=function(){var aH=this._$_2.length;if(aH>this._$fs.length){this._$fs=new Float32Array(aH);}P._$jT(this._$_2,0,this._$fs,0,aH);};y.prototype._$v2=function(){return this._$co;};y.prototype._$WS=function(){return this._$QT;};y.prototype._$Xb=function(aH){return this._$Js[aH]==y._$ZS;};y.prototype._$vs=function(){return this._$Es;};y.prototype._$Tr=function(){return this._$ZP;};y.prototype.getBaseData=function(aH){return this._$3S[aH];};y.prototype.getParamFloat=function(aH){return this._$_2[aH];};y.prototype.getParamMax=function(aH){return this._$Or[aH];};y.prototype.getParamMin=function(aH){return this._$Rr[aH];};y.prototype.setPartsOpacity=function(aJ,aH){var aI=this._$Hr[aJ];aI.setPartsOpacity(aH);};y.prototype.getPartsOpacity=function(aI){var aH=this._$Hr[aI];return aH.getPartsOpacity();};y.prototype.getPartsDataIndex=function(aI){for(var aH=this._$F2.length-1;aH>=0;--aH){if(this._$F2[aH]!=null&&this._$F2[aH]._$p2()==aI){return aH;}}return -1;};y.prototype._$q2=function(aH){return this._$db[aH];};y.prototype._$C2=function(aH){return this._$8b[aH];};y.prototype._$Bb=function(aH){return this._$Hr[aH];};y.prototype._$5s=function(aO,aK){var aJ=this._$Ws.length;var aN=aO;for(var aL=0;aL0){aL+=aK;}return aI;};ap._$C=function(aJ){var aI=null;var aL=null;try{aI=(aJ instanceof Array)?aJ:new _$Xs(aJ,8192);aL=new _$js();var aM=1000;var aK;var aH=new Int8Array(aM);while((aK=aI.read(aH))>0){aL.write(aH,0,aK);}return aL._$TS();}finally{if(aJ!=null){aJ.close();}if(aL!=null){aL.flush();aL.close();}}};function ar(){if(j){return;}this._$12=null;this._$bb=null;this._$_L=null;this._$jo=null;this._$iL=null;this._$0L=null;this._$Br=null;this._$Dr=null;this._$Cb=null;this._$mr=null;this._$_L=az.STATE_FIRST;this._$Br=4000;this._$Dr=100;this._$Cb=50;this._$mr=150;this._$jo=true;this._$iL=\"PARAM_EYE_L_OPEN\";this._$0L=\"PARAM_EYE_R_OPEN\";}ar.prototype._$T2=function(){var aI=P.getUserTimeMSec();var aH=Math._$10();return(aI+aH*(2*this._$Br-1));};ar.prototype._$uo=function(aH){this._$Br=aH;};ar.prototype._$QS=function(aI,aH,aJ){this._$Dr=aI;this._$Cb=aH;this._$mr=aJ;};ar.prototype._$7T=function(aI){var aK=P.getUserTimeMSec();var aH;var aJ=0;switch(this._$_L){case STATE_CLOSING:aJ=(aK-this._$bb)/this._$Dr;if(aJ>=1){aJ=1;this._$_L=az.STATE_CLOSED;this._$bb=aK;}aH=1-aJ;break;case STATE_CLOSED:aJ=(aK-this._$bb)/this._$Cb;if(aJ>=1){this._$_L=az.STATE_OPENING;this._$bb=aK;}aH=0;break;case STATE_OPENING:aJ=(aK-this._$bb)/this._$mr;if(aJ>=1){aJ=1;this._$_L=az.STATE_INTERVAL;this._$12=this._$T2();}aH=aJ;break;case STATE_INTERVAL:if(this._$120.9?Q.EXPAND_W:0;this.gl.drawElements(aL,aP,aI,aQ,aM,aN,this.transform,aJ);};x.prototype._$Rs=function(){throw new Error(\"_$Rs\");};x.prototype._$Ds=function(aH){throw new Error(\"_$Ds\");};x.prototype._$K2=function(){for(var aH=0;aH=0;--aI){var aH=aJ[aI];if(aHa._$R2){a._$R2=aH;}}}};a._$or=function(){return a._$52;};a._$Pr=function(){return a._$R2;};a.prototype._$F0=function(aH){this._$gP=aH._$nP();this._$dr=aH._$nP();this._$GS=aH._$nP();this._$qb=aH._$6L();this._$Lb=aH._$cS();this._$mS=aH._$Tb();if(aH.getFormatVersion()>=ay._$T7){this.clipID=aH._$nP();this.clipIDList=this.convertClipIDForV2_11(this.clipID);}else{this.clipIDList=null;}a._$Sb(this._$Lb);};a.prototype.getClipIDList=function(){return this.clipIDList;};a.prototype._$Nr=function(aI,aH){aH._$IS[0]=false;aH._$Us=aG._$Z2(aI,this._$GS,aH._$IS,this._$Lb);if(Q._$Zs){}else{if(aH._$IS[0]){return;}}aH._$7s=aG._$br(aI,this._$GS,aH._$IS,this._$mS);};a.prototype._$2b=function(aH){};a.prototype.getDrawDataID=function(){return this._$gP;};a.prototype._$j2=function(aH){this._$gP=aH;};a.prototype.getOpacity=function(aH,aI){return aI._$7s;};a.prototype._$zS=function(aH,aI){return aI._$Us;};a.prototype.getTargetBaseDataID=function(){return this._$dr;};a.prototype._$gs=function(aH){this._$dr=aH;};a.prototype._$32=function(){return(this._$dr!=null&&(this._$dr!=n._$2o()));};a.prototype.getType=function(){};function aq(){if(j){return;}this._$NL=null;this._$3S=null;this._$aS=null;aq._$42++;}aq._$42=0;aq.prototype._$1b=function(){return this._$3S;};aq.prototype.getDrawDataList=function(){return this._$aS;};aq.prototype._$F0=function(aH){this._$NL=aH._$nP();this._$aS=aH._$nP();this._$3S=aH._$nP();};aq.prototype._$kr=function(aH){aH._$Zo(this._$3S);aH._$xo(this._$aS);this._$3S=null;this._$aS=null;};function v(){if(j){return;}aa.prototype.constructor.call(this);this._$zo=new x();}v.prototype=new aa();v.loadModel=function(aI){var aH=new v();aa._$62(aH,aI);return aH;};v.loadModel=function(aI){var aH=new v();aa._$62(aH,aI);return aH;};v._$to=function(){var aH=new v();return aH;};v._$er=function(aM){var aJ=new _$5(\"../_$_r/_$t0/_$Ri/_$_P._$d\");if(aJ.exists()==false){throw new _$ls(\"_$t0 _$_ _$6 _$Ui :: \"+aJ._$PL());}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\"];var aK=v.loadModel(aJ._$3b());for(var aI=0;aI=0){if(aK==aV+4&&p(aT,aV+1)==\"f\"&&p(aT,aV+2)==\"p\"&&p(aT,aV+3)==\"s\"){aP=true;}for(aJ=aK+1;aJ0){if(aP&&5=0){var aO=new t();if(G.startsWith(aT,aV,ao._$cs)){aO._$RP=t._$hs;aO._$4P=G.createString(aT,aV,aK-aV);}else{if(G.startsWith(aT,aV,ao._$ar)){aO._$4P=G.createString(aT,aV+7,aK-aV-7);if(G.startsWith(aT,aV+7,\"ANCHOR_X\")){aO._$RP=t._$xs;}else{if(G.startsWith(aT,aV+7,\"ANCHOR_Y\")){aO._$RP=t._$us;}else{if(G.startsWith(aT,aV+7,\"SCALE_X\")){aO._$RP=t._$qs;}else{if(G.startsWith(aT,aV+7,\"SCALE_Y\")){aO._$RP=t._$Ys;}else{if(G.startsWith(aT,aV+7,\"X\")){aO._$RP=t._$ws;}else{if(G.startsWith(aT,aV+7,\"Y\")){aO._$RP=t._$Ns;}}}}}}}else{aO._$RP=t._$Fr;aO._$4P=G.createString(aT,aV,aK-aV);}}aN.motions.push(aO);var aU=0;var aR=[];for(aJ=aK+1;aJ0){aR.push(aM);aU++;var aH=aI[0];if(aHaN._$yT){aN._$yT=aU;}}}}aN._$rr=((1000*aN._$yT)/aN._$D0)|0;return aN;};ao.prototype.getDurationMSec=function(){return this._$E?-1:this._$rr;};ao.prototype.getLoopDurationMSec=function(){return this._$rr;};ao.prototype.dump=function(){for(var aJ=0;aJ=aL?aL-1:aK)];aJ.setParamFloat(aT,aX);}else{if(t._$ws<=aV._$RP&&aV._$RP<=t._$Ys){}else{var aH=aJ.getParamIndex(aT);var a4=aJ.getModelContext();var aY=a4.getParamMax(aH);var aW=a4.getParamMin(aH);var aM=0.4;var aS=aM*(aY-aW);var aU=a4.getParamFloat(aH);var a2=aV._$I0[(aK>=aL?aL-1:aK)];var a1=aV._$I0[(aK+1>=aL?aL-1:aK+1)];var aI;if((a2aS)||(a2>a1&&a2-a1>aS)){aI=a2;}else{aI=a2+(a1-a2)*aR;}var aP=aU+(aI-aU)*aQ;aJ.setParamFloat(aT,aP);}}}if(aK>=this._$yT){if(this._$E){a3._$z2=aN;if(this.loopFadeIn){a3._$bs=aN;}}else{a3._$9L=true;}}this._$eP=aQ;};ao.prototype._$r0=function(){return this._$E;};ao.prototype._$aL=function(aH){this._$E=aH;};ao.prototype._$S0=function(){return this._$D0;};ao.prototype._$U0=function(aH){this._$D0=aH;};ao.prototype.isLoopFadeIn=function(){return this.loopFadeIn;};ao.prototype.setLoopFadeIn=function(aH){this.loopFadeIn=aH;};function aE(){this._$P=new Float32Array(100);this.size=0;}aE.prototype.clear=function(){this.size=0;};aE.prototype.add=function(aI){if(this._$P.length<=this.size){var aH=new Float32Array(this.size*2);P._$jT(this._$P,0,aH,0,this.size);this._$P=aH;}this._$P[this.size++]=aI;};aE.prototype._$BL=function(){var aH=new Float32Array(this.size);P._$jT(this._$P,0,aH,0,this.size);return aH;};function t(){this._$4P=null;this._$I0=null;this._$RP=null;}t._$Fr=0;t._$hs=1;t._$ws=100;t._$Ns=101;t._$xs=102;t._$us=103;t._$qs=104;t._$Ys=105;function E(){if(j){return;}c.prototype.constructor.call(this);this._$o=0;this._$A=0;this._$GS=null;this._$Eo=null;}E.prototype=new c();E._$gT=new Array();E.prototype._$zP=function(){this._$GS=new g();this._$GS._$zP();};E.prototype._$F0=function(aH){c.prototype._$F0.call(this,aH);this._$A=aH._$6L();this._$o=aH._$6L();this._$GS=aH._$nP();this._$Eo=aH._$nP();c.prototype.readV2_opacity.call(this,aH);};E.prototype.init=function(aH){var aI=new H(this);var aJ=(this._$o+1)*(this._$A+1);if(aI._$Cr!=null){aI._$Cr=null;}aI._$Cr=new Float32Array(aJ*2);if(aI._$hr!=null){aI._$hr=null;}if(this._$32()){aI._$hr=new Float32Array(aJ*2);}else{aI._$hr=null;}return aI;};E.prototype._$Nr=function(aJ,aI){var aK=aI;if(!this._$GS._$Ur(aJ)){return;}var aL=this._$VT();var aH=E._$gT;aH[0]=false;aG._$Vr(aJ,this._$GS,aH,aL,this._$Eo,aK._$Cr,0,2);aI._$Ib(aH[0]);this.interpolateOpacity(aJ,this._$GS,aI,aH);};E.prototype._$2b=function(aK,aJ){var aL=aJ;aL._$hS(true);if(!this._$32()){aL.setTotalOpacity(aL.getInterpolatedOpacity());}else{var aH=this.getTargetBaseDataID();if(aL._$8r==c._$ur){aL._$8r=aK.getBaseDataIndex(aH);}if(aL._$8r<0){if(Q._$so){q._$li(\"_$L _$0P _$G :: %s\",aH);}aL._$hS(false);}else{var aN=aK.getBaseData(aL._$8r);var aI=aK._$q2(aL._$8r);if(aN!=null&&aI._$yo()){var aM=aI.getTotalScale();aL.setTotalScale_notForClient(aM);var aO=aI.getTotalOpacity();aL.setTotalOpacity(aO*aL.getInterpolatedOpacity());aN._$nb(aK,aI,aL._$Cr,aL._$hr,this._$VT(),0,2);aL._$hS(true);}else{aL._$hS(false);}}}};E.prototype._$nb=function(aL,aI,aH,aM,aO,aK,aJ){if(true){var aN=aI;var aP=(aN._$hr!=null)?aN._$hr:aN._$Cr;E.transformPoints_sdk2(aH,aM,aO,aK,aJ,aP,this._$o,this._$A);}else{this.transformPoints_sdk1(aL,aI,aH,aM,aO,aK,aJ);}};E.transformPoints_sdk2=function(a0,bc,a5,aP,aI,aR,aQ,aU){var aW=a5*aI;var aV;var bn,bm;var aT=0;var aS=0;var bl=0;var bk=0;var bf=0;var be=0;var aZ=false;for(var ba=aP;ba=1){var aK=aR[((0)+(aU)*a1)*2];var aJ=aR[((0)+(aU)*a1)*2+1];var aO=aT-2*bl+1*bf;var aN=aS-2*bk+1*be;var a3=aT+3*bf;var a2=aS+3*be;var a8=aT-2*bl+3*bf;var a6=aS-2*bk+3*be;var bj=0.5*(a4-(-2));var bi=0.5*(aX-(1));if(bj+bi<=1){bc[ba]=aO+(aK-aO)*bj+(a8-aO)*bi;bc[ba+1]=aN+(aJ-aN)*bj+(a6-aN)*bi;}else{bc[ba]=a3+(a8-a3)*(1-bj)+(aK-a3)*(1-bi);bc[ba+1]=a2+(a6-a2)*(1-bj)+(aJ-a2)*(1-bi);}}else{var aH=(a7|0);if(aH==aU){aH=aU-1;}var bj=0.5*(a4-(-2));var bi=a7-aH;var bb=aH/aU;var a9=(aH+1)/aU;var aK=aR[((0)+(aH)*a1)*2];var aJ=aR[((0)+(aH)*a1)*2+1];var a3=aR[((0)+(aH+1)*a1)*2];var a2=aR[((0)+(aH+1)*a1)*2+1];var aO=aT-2*bl+bb*bf;var aN=aS-2*bk+bb*be;var a8=aT-2*bl+a9*bf;var a6=aS-2*bk+a9*be;if(bj+bi<=1){bc[ba]=aO+(aK-aO)*bj+(a8-aO)*bi;bc[ba+1]=aN+(aJ-aN)*bj+(a6-aN)*bi;}else{bc[ba]=a3+(a8-a3)*(1-bj)+(aK-a3)*(1-bi);bc[ba+1]=a2+(a6-a2)*(1-bj)+(aJ-a2)*(1-bi);}}}}else{if(1<=a4){if(aX<=0){var a8=aR[((aQ)+(0)*a1)*2];var a6=aR[((aQ)+(0)*a1)*2+1];var a3=aT+3*bl;var a2=aS+3*bk;var aO=aT+1*bl-2*bf;var aN=aS+1*bk-2*be;var aK=aT+3*bl-2*bf;var aJ=aS+3*bk-2*be;var bj=0.5*(a4-(1));var bi=0.5*(aX-(-2));if(bj+bi<=1){bc[ba]=aO+(aK-aO)*bj+(a8-aO)*bi;bc[ba+1]=aN+(aJ-aN)*bj+(a6-aN)*bi;}else{bc[ba]=a3+(a8-a3)*(1-bj)+(aK-a3)*(1-bi);bc[ba+1]=a2+(a6-a2)*(1-bj)+(aJ-a2)*(1-bi);}}else{if(aX>=1){var aO=aR[((aQ)+(aU)*a1)*2];var aN=aR[((aQ)+(aU)*a1)*2+1];var aK=aT+3*bl+1*bf;var aJ=aS+3*bk+1*be;var a8=aT+1*bl+3*bf;var a6=aS+1*bk+3*be;var a3=aT+3*bl+3*bf;var a2=aS+3*bk+3*be;var bj=0.5*(a4-(1));var bi=0.5*(aX-(1));if(bj+bi<=1){bc[ba]=aO+(aK-aO)*bj+(a8-aO)*bi;bc[ba+1]=aN+(aJ-aN)*bj+(a6-aN)*bi;}else{bc[ba]=a3+(a8-a3)*(1-bj)+(aK-a3)*(1-bi);bc[ba+1]=a2+(a6-a2)*(1-bj)+(aJ-a2)*(1-bi);}}else{var aH=(a7|0);if(aH==aU){aH=aU-1;}var bj=0.5*(a4-(1));var bi=a7-aH;var bb=aH/aU;var a9=(aH+1)/aU;var aO=aR[((aQ)+(aH)*a1)*2];var aN=aR[((aQ)+(aH)*a1)*2+1];var a8=aR[((aQ)+(aH+1)*a1)*2];var a6=aR[((aQ)+(aH+1)*a1)*2+1];var aK=aT+3*bl+bb*bf;var aJ=aS+3*bk+bb*be;var a3=aT+3*bl+a9*bf;var a2=aS+3*bk+a9*be;if(bj+bi<=1){bc[ba]=aO+(aK-aO)*bj+(a8-aO)*bi;bc[ba+1]=aN+(aJ-aN)*bj+(a6-aN)*bi;}else{bc[ba]=a3+(a8-a3)*(1-bj)+(aK-a3)*(1-bi);bc[ba+1]=a2+(a6-a2)*(1-bj)+(aJ-a2)*(1-bi);}}}}else{if(aX<=0){var aY=(bd|0);if(aY==aQ){aY=aQ-1;}var bj=bd-aY;var bi=0.5*(aX-(-2));var bp=aY/aQ;var bo=(aY+1)/aQ;var a8=aR[((aY)+(0)*a1)*2];var a6=aR[((aY)+(0)*a1)*2+1];var a3=aR[((aY+1)+(0)*a1)*2];var a2=aR[((aY+1)+(0)*a1)*2+1];var aO=aT+bp*bl-2*bf;var aN=aS+bp*bk-2*be;var aK=aT+bo*bl-2*bf;var aJ=aS+bo*bk-2*be;if(bj+bi<=1){bc[ba]=aO+(aK-aO)*bj+(a8-aO)*bi;bc[ba+1]=aN+(aJ-aN)*bj+(a6-aN)*bi;}else{bc[ba]=a3+(a8-a3)*(1-bj)+(aK-a3)*(1-bi);bc[ba+1]=a2+(a6-a2)*(1-bj)+(aJ-a2)*(1-bi);}}else{if(aX>=1){var aY=(bd|0);if(aY==aQ){aY=aQ-1;}var bj=bd-aY;var bi=0.5*(aX-(1));var bp=aY/aQ;var bo=(aY+1)/aQ;var aO=aR[((aY)+(aU)*a1)*2];var aN=aR[((aY)+(aU)*a1)*2+1];var aK=aR[((aY+1)+(aU)*a1)*2];var aJ=aR[((aY+1)+(aU)*a1)*2+1];var a8=aT+bp*bl+3*bf;var a6=aS+bp*bk+3*be;var a3=aT+bo*bl+3*bf;var a2=aS+bo*bk+3*be;if(bj+bi<=1){bc[ba]=aO+(aK-aO)*bj+(a8-aO)*bi;bc[ba+1]=aN+(aJ-aN)*bj+(a6-aN)*bi;}else{bc[ba]=a3+(a8-a3)*(1-bj)+(aK-a3)*(1-bi);bc[ba+1]=a2+(a6-a2)*(1-bj)+(aJ-a2)*(1-bi);}}else{System.err.printf(\"_$li calc : %.4f , %.4f\t\t\t\t\t@@BDBoxGrid\\n\",a4,aX);}}}}}else{bc[ba]=aT+a4*bl+aX*bf;bc[ba+1]=aS+a4*bk+aX*be;}}else{bn=bd-(bd|0);bm=a7-(a7|0);aV=2*((bd|0)+((a7|0))*(aQ+1));if(bn+bm<1){bc[ba]=aR[aV]*(1-bn-bm)+aR[aV+2]*bn+aR[aV+2*(aQ+1)]*bm;bc[ba+1]=aR[aV+1]*(1-bn-bm)+aR[aV+3]*bn+aR[aV+2*(aQ+1)+1]*bm;}else{bc[ba]=aR[aV+2*(aQ+1)+2]*(bn-1+bm)+aR[aV+2*(aQ+1)]*(1-bn)+aR[aV+2]*(1-bm);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);}}}};E.prototype.transformPoints_sdk1=function(aJ,aR,aL,a0,aU,aP,aZ){var aH=aR;var aO,aN;var aM=this._$o;var aQ=this._$A;var aI=aU*aZ;var aS,aY;var aV;var aX,aW;var aT=(aH._$hr!=null)?aH._$hr:aH._$Cr;for(var aK=aP;aK1){aO=1;}}if(aN<0){aN=0;}else{if(aN>1){aN=1;}}aO*=aM;aN*=aQ;aS=(aO|0);aY=(aN|0);if(aS>aM-1){aS=aM-1;}if(aY>aQ-1){aY=aQ-1;}aX=aO-aS;aW=aN-aY;aV=2*(aS+aY*(aM+1));}else{aO=aL[aK]*aM;aN=aL[aK+1]*aQ;aX=aO-(aO|0);aW=aN-(aN|0);aV=2*((aO|0)+(aN|0)*(aM+1));}if(aX+aW<1){a0[aK]=aT[aV]*(1-aX-aW)+aT[aV+2]*aX+aT[aV+2*(aM+1)]*aW;a0[aK+1]=aT[aV+1]*(1-aX-aW)+aT[aV+3]*aX+aT[aV+2*(aM+1)+1]*aW;}else{a0[aK]=aT[aV+2*(aM+1)+2]*(aX-1+aW)+aT[aV+2*(aM+1)]*(1-aX)+aT[aV+2]*(1-aW);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);}}};E.prototype._$VT=function(){return(this._$o+1)*(this._$A+1);};E.prototype.getType=function(){return c._$_b;};function H(aH){B.prototype.constructor.call(this,aH);this._$8r=c._$ur;this._$Cr=null;this._$hr=null;}H.prototype=new B();function s(){if(j){return;}this.visible=true;this._$g0=false;this._$NL=null;this._$3S=null;this._$aS=null;s._$42++;}s._$42=0;s.prototype._$zP=function(){this._$3S=new Array();this._$aS=new Array();};s.prototype._$F0=function(aH){this._$g0=aH._$8L();this.visible=aH._$8L();this._$NL=aH._$nP();this._$3S=aH._$nP();this._$aS=aH._$nP();};s.prototype.init=function(aI){var aH=new aj(this);aH.setPartsOpacity(this.isVisible()?1:0);return aH;};s.prototype._$6o=function(aH){if(this._$3S==null){throw new Error(\"_$3S _$6 _$Wo@_$6o\");}this._$3S.push(aH);};s.prototype._$3o=function(aH){if(this._$aS==null){throw new Error(\"_$aS _$6 _$Wo@_$3o\");}this._$aS.push(aH);};s.prototype._$Zo=function(aH){this._$3S=aH;};s.prototype._$xo=function(aH){this._$aS=aH;};s.prototype.isVisible=function(){return this.visible;};s.prototype._$uL=function(){return this._$g0;};s.prototype._$KP=function(aH){this.visible=aH;};s.prototype._$ET=function(aH){this._$g0=aH;};s.prototype.getBaseData=function(){return this._$3S;};s.prototype.getDrawData=function(){return this._$aS;};s.prototype._$p2=function(){return this._$NL;};s.prototype._$ob=function(aH){this._$NL=aH;};s.prototype.getPartsID=function(){return this._$NL;};s.prototype._$MP=function(aH){this._$NL=aH;};function aj(aH){this._$VS=null;this._$e0=null;this._$e0=aH;}aj.prototype=new S();aj.prototype.getPartsOpacity=function(){return this._$VS;};aj.prototype.setPartsOpacity=function(aH){this._$VS=aH;};function ak(aH){if(j){return;}this.id=aH;}ak._$L7=function(){z._$27();n._$27();Z._$27();i._$27();};ak.prototype.toString=function(){return this.id;};function D(){}D.prototype._$F0=function(aH){};function an(){if(j){return;}this._$4S=null;}an.prototype._$1s=function(){return this._$4S;};an.prototype._$zP=function(){this._$4S=new Array();};an.prototype._$F0=function(aH){this._$4S=aH._$nP();};an.prototype._$Ks=function(aH){this._$4S.push(aH);};function au(aH,aI){this.canvas=aH;this.context=aI;this.viewport=new Array(0,0,aH.width,aH.height);this._$6r=1;this._$xP=0;this._$3r=1;this._$uP=0;this._$Qo=-1;this.cacheImages={};}au.tr=new am();au._$50=new am();au._$Ti=new Array(0,0);au._$Pi=new Array(0,0);au._$B=new Array(0,0);au.prototype._$lP=function(aI,aK,aJ,aH){this.viewport=new Array(aI,aK,aJ,aH);};au.prototype._$bL=function(){this.context.save();var aH=this.viewport;if(aH!=null){this.context.beginPath();this.context._$Li(aH[0],aH[1],aH[2],aH[3]);this.context.clip();}};au.prototype._$ei=function(){this.context.restore();};au.prototype.drawElements=function(bc,bm,aX,aJ,bA,aM,bl,bz){try{if(bA!=this._$Qo){this._$Qo=bA;this.context.globalAlpha=bA;}var a2=bm.length;var aP=bc.width;var a5=bc.height;var bE=this.context;var a7=this._$xP;var a6=this._$uP;var a1=this._$6r;var aZ=this._$3r;var bD=au.tr;var aI=au._$Ti;var aH=au._$Pi;var bu=au._$B;for(var by=0;by0.02){au.expandClip(aK,aJ,aV,aI,aO,aN,aH,aW,aS,aR);}else{au.clipWithTransform(aK,null,aM,aL,aU,aT,aQ,aP);}};au.expandClip=function(aV,bg,aK,a3,aJ,aI,be,ba,aZ,aX){var aP=be-aJ;var aO=ba-aI;var bi=aZ-aJ;var bh=aX-aI;var bj=aP*bh-aO*bi>0?aK:-aK;var aL=-aO;var aH=aP;var bc=aZ-be;var a8=aX-ba;var a7=-a8;var a6=bc;var aQ=Math.sqrt(bc*bc+a8*a8);var bf=-bh;var bb=bi;var a2=Math.sqrt(bi*bi+bh*bh);var bd=aJ-bj*aL/a3;var a9=aI-bj*aH/a3;var aY=be-bj*aL/a3;var aW=ba-bj*aH/a3;var a5=be-bj*a7/aQ;var a4=ba-bj*a6/aQ;var aS=aZ-bj*a7/aQ;var aR=aX-bj*a6/aQ;var aN=aJ+bj*bf/a2;var aM=aI+bj*bb/a2;var a1=aZ+bj*bf/a2;var a0=aX+bj*bb/a2;var aU=au._$50;var aT=bg._$P2(aU);if(aT==null){return false;}au.clipWithTransform(aV,aU,bd,a9,aY,aW,a5,a4,aS,aR,a1,a0,aN,aM);return true;};au.clipWithTransform=function(aH,aI,aS,aN,aQ,aK,aP,aJ){if(arguments.length<(1+3*2)){q._$li(\"err : @LDGL.clip()\");return;}if(!(arguments[1] instanceof am)){q._$li(\"err : a[0] is _$6 LDTransform @LDGL.clip()\");return;}var aM=au._$B;var aO=aI;var aR=arguments;aH.beginPath();if(aO){aO._$PS(aR[2],aR[3],aM);aH.moveTo(aM[0],aM[1]);for(var aL=4;aL1){return 1;}}return(0.5-0.5*Math.cos(aH*aC.PI_F));};function J(aH){if(j){return;}this._$ib=aH;}J._$fr=-1;J.prototype.toString=function(){return this._$ib;};function b(){if(j){return;}a.prototype.constructor.call(this);this._$LP=-1;this._$d0=0;this._$Yo=0;this._$JP=null;this._$5P=null;this._$BP=null;this._$Eo=null;this._$Qi=null;this._$6s=b._$ms;this.culling=true;this.gl_cacheImage=null;this.instanceNo=b._$42++;}b.prototype=new a();b._$42=0;b._$Os=30;b._$ms=0;b._$ns=1;b._$_s=2;b._$gT=new Array();b.prototype._$_S=function(aH){this._$LP=aH;};b.prototype.getTextureNo=function(){return this._$LP;};b.prototype._$ZL=function(){return this._$Qi;};b.prototype._$H2=function(){return this._$JP;};b.prototype.getNumPoints=function(){return this._$d0;};b.prototype.getType=function(){return a._$wb;};b.prototype._$B2=function(aL,aH,aO){var aM=aH;var aN=(aM._$hr!=null)?aM._$hr:aM._$Cr;var aK=aw._$do;switch(aK){default:case aw._$Ms:throw new Error(\"_$L _$ro \");case aw._$Qs:for(var aJ=this._$d0-1;aJ>=0;--aJ){var aI=aJ*aw._$No;aN[aI+4]=aO;}break;}};b.prototype._$zP=function(){this._$GS=new g();this._$GS._$zP();};b.prototype._$F0=function(aK){a.prototype._$F0.call(this,aK);this._$LP=aK._$6L();this._$d0=aK._$6L();this._$Yo=aK._$6L();var aH=aK._$nP();this._$BP=new Int16Array(this._$Yo*3);for(var aJ=this._$Yo*3-1;aJ>=0;--aJ){this._$BP[aJ]=aH[aJ];}this._$Eo=aK._$nP();this._$Qi=aK._$nP();if(aK.getFormatVersion()>=ay._$s7){this._$JP=aK._$6L();if(this._$JP!=0){if((this._$JP&1)!=0){var aI=aK._$6L();if(this._$5P==null){this._$5P=new Object();}this._$5P._$Hb=parseInt(aI);}if((this._$JP&b._$Os)!=0){this._$6s=(this._$JP&b._$Os)>>1;}else{this._$6s=b._$ms;}if((this._$JP&32)!=0){this.culling=false;}}}else{this._$JP=0;}};b.prototype.init=function(aL){var aN=new ag(this);var aI=this._$d0*aw._$No;var aH=this._$32();if(aN._$Cr!=null){aN._$Cr=null;}aN._$Cr=new Float32Array(aI);if(aN._$hr!=null){aN._$hr=null;}aN._$hr=aH?new Float32Array(aI):null;var aM=aw._$do;switch(aM){default:case aw._$Ms:if(aw._$Ls){for(var aJ=this._$d0-1;aJ>=0;--aJ){var aO=aJ<<1;this._$Qi[aO+1]=1-this._$Qi[aO+1];}}break;case aw._$Qs:for(var aJ=this._$d0-1;aJ>=0;--aJ){var aO=aJ<<1;var aK=aJ*aw._$No;var aQ=this._$Qi[aO];var aP=this._$Qi[aO+1];aN._$Cr[aK]=aQ;aN._$Cr[aK+1]=aP;aN._$Cr[aK+4]=0;if(aH){aN._$hr[aK]=aQ;aN._$hr[aK+1]=aP;aN._$hr[aK+4]=0;}}break;}return aN;};b.prototype._$Nr=function(aJ,aH){var aK=aH;if(!((this==aK._$GT()))){console.log(\"### assert!! ### \");}if(!this._$GS._$Ur(aJ)){return;}a.prototype._$Nr.call(this,aJ,aK);if(aK._$IS[0]){return;}var aI=b._$gT;aI[0]=false;aG._$Vr(aJ,this._$GS,aI,this._$d0,this._$Eo,aK._$Cr,aw._$i2,aw._$No);};b.prototype._$2b=function(aK,aI){try{if(!((this==aI._$GT()))){console.log(\"### assert!! ### \");}var aL=false;if(aI._$IS[0]){aL=true;}var aM=aI;if(!aL){a.prototype._$2b.call(this,aK);if(this._$32()){var aH=this.getTargetBaseDataID();if(aM._$8r==a._$ur){aM._$8r=aK.getBaseDataIndex(aH);}if(aM._$8r<0){if(Q._$so){q._$li(\"_$L _$0P _$G :: %s\",aH);}}else{var aO=aK.getBaseData(aM._$8r);var aJ=aK._$q2(aM._$8r);if(aO!=null&&!aJ._$x2()){aO._$nb(aK,aJ,aM._$Cr,aM._$hr,this._$d0,aw._$i2,aw._$No);aM._$AT=true;}else{aM._$AT=false;}aM.baseOpacity=aJ.getTotalOpacity();}}}}catch(aN){throw aN;}};b.prototype.draw=function(aN,aK,aI){if(!((this==aI._$GT()))){console.log(\"### assert!! ### \");}if(aI._$IS[0]){return;}var aL=aI;var aJ=this._$LP;if(aJ<0){aJ=1;}var aH=this.getOpacity(aK,aL)*aI._$VS*aI.baseOpacity;var aM=(aL._$hr!=null)?aL._$hr:aL._$Cr;aN.setClipBufPre_clipContextForDraw(aI.clipBufPre_clipContext);aN._$WP(this.culling);aN._$Uo(aJ,3*this._$Yo,this._$BP,aM,this._$Qi,aH,this._$6s,aL);};b.prototype.dump=function(){console.log(\" _$yi( %d ) , _$d0( %d ) , _$Yo( %d ) \\n\",this._$LP,this._$d0,this._$Yo);console.log(\" _$Oi _$di = { \");for(var aJ=0;aJstartMotion() / start _$K _$3 (m%d)\\n\",aH,aL._$sr);}}if(aJ==null){return -1;}aL=new M();aL._$w0=aJ;this.motions.push(aL);var aN=aL._$sr;if(this._$eb){q._$Ji(\"MotionQueueManager[size:%2d]->startMotion() / new _$w0 (m%d)\\n\",aH,aN);}return aN;};V.prototype.updateParam=function(aJ){try{var aI=false;for(var aK=0;aKupdateParam() / _$T0 _$w0 (m%d)\\n\",this.motions.length-1,aL._$sr);}this.motions.splice(aK,1);aK--;}else{}}return aI;}catch(aM){q._$li(aM);return true;}};V.prototype.isFinished=function(aK){if(arguments.length>=1){for(var aI=0;aI0.9?Q.EXPAND_W:0;var a0=this.gl;if(this.gl==null){throw new Error(\"gl is null\");}var a1=false;var aQ=1;var aP=1;var a3=1;var aZ=1;var aW=this._$C0*aP*aN;var a2=this._$tT*a3*aN;var a5=this._$WL*aZ*aN;var a7=this._$lT*aN;if(this.clipBufPre_clipContextMask!=null){a0.frontFace(a0.CCW);a0.useProgram(this.shaderProgram);this._$vS=T(a0,this._$vS,aU);this._$no=L(a0,this._$no,aL);a0.enableVertexAttribArray(this.a_position_Loc);a0.vertexAttribPointer(this.a_position_Loc,2,a0.FLOAT,false,0,0);this._$NT=T(a0,this._$NT,aV);a0.activeTexture(a0.TEXTURE1);a0.bindTexture(a0.TEXTURE_2D,this.textures[aS]);a0.uniform1i(this.s_texture0_Loc,1);a0.enableVertexAttribArray(this.a_texCoord_Loc);a0.vertexAttribPointer(this.a_texCoord_Loc,2,a0.FLOAT,false,0,0);a0.uniformMatrix4fv(this.u_matrix_Loc,false,this.getClipBufPre_clipContextMask().matrixForMask);var aY=this.getClipBufPre_clipContextMask().layoutChannelNo;var a4=this.getChannelFlagAsColor(aY);a0.uniform4f(this.u_channelFlag,a4.r,a4.g,a4.b,a4.a);var aI=this.getClipBufPre_clipContextMask().layoutBounds;a0.uniform4f(this.u_baseColor_Loc,aI.x*2-1,aI.y*2-1,aI._$EL()*2-1,aI._$5T()*2-1);a0.uniform1i(this.u_maskFlag_Loc,true);}else{a1=this.getClipBufPre_clipContextDraw()!=null;if(a1){a0.useProgram(this.shaderProgramOff);this._$vS=T(a0,this._$vS,aU);this._$no=L(a0,this._$no,aL);a0.enableVertexAttribArray(this.a_position_Loc_Off);a0.vertexAttribPointer(this.a_position_Loc_Off,2,a0.FLOAT,false,0,0);this._$NT=T(a0,this._$NT,aV);a0.activeTexture(a0.TEXTURE1);a0.bindTexture(a0.TEXTURE_2D,this.textures[aS]);a0.uniform1i(this.s_texture0_Loc_Off,1);a0.enableVertexAttribArray(this.a_texCoord_Loc_Off);a0.vertexAttribPointer(this.a_texCoord_Loc_Off,2,a0.FLOAT,false,0,0);a0.uniformMatrix4fv(this.u_clipMatrix_Loc_Off,false,this.getClipBufPre_clipContextDraw().matrixForDraw);a0.uniformMatrix4fv(this.u_matrix_Loc_Off,false,this.matrix4x4);a0.activeTexture(a0.TEXTURE2);a0.bindTexture(a0.TEXTURE_2D,Q.fTexture[this.glno]);a0.uniform1i(this.s_texture1_Loc_Off,2);var aY=this.getClipBufPre_clipContextDraw().layoutChannelNo;var a4=this.getChannelFlagAsColor(aY);a0.uniform4f(this.u_channelFlag_Loc_Off,a4.r,a4.g,a4.b,a4.a);a0.uniform4f(this.u_baseColor_Loc_Off,aW,a2,a5,a7);}else{a0.useProgram(this.shaderProgram);this._$vS=T(a0,this._$vS,aU);this._$no=L(a0,this._$no,aL);a0.enableVertexAttribArray(this.a_position_Loc);a0.vertexAttribPointer(this.a_position_Loc,2,a0.FLOAT,false,0,0);this._$NT=T(a0,this._$NT,aV);a0.activeTexture(a0.TEXTURE1);a0.bindTexture(a0.TEXTURE_2D,this.textures[aS]);a0.uniform1i(this.s_texture0_Loc,1);a0.enableVertexAttribArray(this.a_texCoord_Loc);a0.vertexAttribPointer(this.a_texCoord_Loc,2,a0.FLOAT,false,0,0);a0.uniformMatrix4fv(this.u_matrix_Loc,false,this.matrix4x4);a0.uniform4f(this.u_baseColor_Loc,aW,a2,a5,a7);a0.uniform1i(this.u_maskFlag_Loc,false);}}if(this.culling){this.gl.enable(a0.CULL_FACE);}else{this.gl.disable(a0.CULL_FACE);}this.gl.enable(a0.BLEND);var a6;var aX;var aR;var aK;if(this.clipBufPre_clipContextMask!=null){a6=a0.ONE;aX=a0.ONE_MINUS_SRC_ALPHA;aR=a0.ONE;aK=a0.ONE_MINUS_SRC_ALPHA;}else{switch(aM){case b._$ms:a6=a0.ONE;aX=a0.ONE_MINUS_SRC_ALPHA;aR=a0.ONE;aK=a0.ONE_MINUS_SRC_ALPHA;break;case b._$ns:a6=a0.ONE;aX=a0.ONE;aR=a0.ZERO;aK=a0.ONE;break;case b._$_s:a6=a0.DST_COLOR;aX=a0.ONE_MINUS_SRC_ALPHA;aR=a0.ZERO;aK=a0.ONE;break;}}a0.blendEquationSeparate(a0.FUNC_ADD,a0.FUNC_ADD);a0.blendFuncSeparate(a6,aX,aR,aK);if(this.anisotropyExt){a0.texParameteri(a0.TEXTURE_2D,this.anisotropyExt.TEXTURE_MAX_ANISOTROPY_EXT,this.maxAnisotropy);}var aJ=aL.length;a0.drawElements(a0.TRIANGLES,aJ,a0.UNSIGNED_SHORT,0);a0.bindTexture(a0.TEXTURE_2D,null);};function T(aJ,aH,aI){if(aH==null){aH=aJ.createBuffer();}aJ.bindBuffer(aJ.ARRAY_BUFFER,aH);aJ.bufferData(aJ.ARRAY_BUFFER,aI,aJ.DYNAMIC_DRAW);return aH;}function L(aJ,aH,aI){if(aH==null){aH=aJ.createBuffer();}aJ.bindBuffer(aJ.ELEMENT_ARRAY_BUFFER,aH);aJ.bufferData(aJ.ELEMENT_ARRAY_BUFFER,aI,aJ.DYNAMIC_DRAW);return aH;}C.prototype._$Rs=function(){throw new Error(\"_$Rs\");};C.prototype._$Ds=function(aH){throw new Error(\"_$Ds\");};C.prototype._$K2=function(){for(var aH=0;aH=48){var aL=ay._$9o(aN);if(aL!=null){aL._$F0(this);return aL;}else{return null;}}switch(aN){case 1:return this._$bT();case 10:var aM=this._$6L();return new I(aM,true);case 11:return new av(this._$mP(),this._$mP(),this._$mP(),this._$mP());case 12:return new av(this._$_T(),this._$_T(),this._$_T(),this._$_T());case 13:return new e(this._$mP(),this._$mP());case 14:return new e(this._$_T(),this._$_T());case 15:var aH=this._$3L();var aI=new Array(aH);for(var aJ=0;aJ>(7-this._$hL++))&1)==1;};K.prototype._$zT=function(){if(this._$hL!=0){this._$hL=0;}};function ai(){}ai.prototype._$wP=function(aM,aI,aK){for(var aL=0;aLMath.PI){aJ-=2*Math.PI;}return aJ;};aC._$9=function(aH){return Math.sin(aH);};aC.fcos=function(aH){return Math.cos(aH);};function aB(aH){if(j){return;}this._$e0=null;this._$IP=null;this._$Us=null;this._$7s=null;this._$IS=[false];this._$VS=null;this._$AT=true;this.baseOpacity=1;this.clipBufPre_clipContext=null;this._$e0=aH;}aB.prototype._$u2=function(){return this._$IS[0];};aB.prototype._$yo=function(){return this._$AT&&!this._$IS[0];};aB.prototype._$GT=function(){return this._$e0;};function r(){}r._$W2=0;r.SYSTEM_INFO=null;r.USER_AGENT=navigator.userAgent;r.isIPhone=function(){if(!r.SYSTEM_INFO){r.setup();}return r.SYSTEM_INFO._isIPhone;};r.isIOS=function(){if(!r.SYSTEM_INFO){r.setup();}return r.SYSTEM_INFO._isIPhone||r.SYSTEM_INFO._isIPad;};r.isAndroid=function(){if(!r.SYSTEM_INFO){r.setup();}return r.SYSTEM_INFO._isAndroid;};r.getOSVersion=function(){if(!r.SYSTEM_INFO){r.setup();}return r.SYSTEM_INFO.version;};r.getOS=function(){if(!r.SYSTEM_INFO){r.setup();}if(r.SYSTEM_INFO._isIPhone||r.SYSTEM_INFO._isIPad){return\"iOS\";}if(r.SYSTEM_INFO._isAndroid){return\"Android\";}else{return\"_$Q0 OS\";}};r.setup=function(){var aK=r.USER_AGENT;function aI(aO,aR){var aN=aO.substring(aR).split(/[ _,;\\.]/);var aQ=0;for(var aM=0;aM<=2;aM++){if(isNaN(aN[aM])){break;}var aP=parseInt(aN[aM]);if(aP<0||aP>999){q._$li(\"err : \"+aP+\" @UtHtml5.setup()\");aQ=0;break;}aQ+=aP*Math.pow(1000,(2-aM));}return aQ;}var aL;var aH;var aJ=r.SYSTEM_INFO={userAgent:aK};if((aL=aK.indexOf(\"iPhone OS \"))>=0){aJ.os=\"iPhone\";aJ._isIPhone=true;aJ.version=aI(aK,aL+\"iPhone OS \".length);}else{if((aL=aK.indexOf(\"iPad\"))>=0){aL=aK.indexOf(\"CPU OS\");if(aL<0){q._$li(\" err : \"+aK+\" @UtHtml5.setup()\");return;}aJ.os=\"iPad\";aJ._isIPad=true;aJ.version=aI(aK,aL+\"CPU OS \".length);}else{if((aL=aK.indexOf(\"Android\"))>=0){aJ.os=\"Android\";aJ._isAndroid=true;aJ.version=aI(aK,aL+\"Android \".length);}else{aJ.os=\"-\";aJ.version=-1;}}}};window.UtSystem=P;window.UtDebug=q;window.LDTransform=am;window.LDGL=au;window.Live2D=Q;window.Live2DModelWebGL=l;window.Live2DModelJS=v;window.Live2DMotion=ao;window.MotionQueueManager=V;window.PhysicsHair=u;window.AMotion=ah;window.PartsDataID=i;window.DrawDataID=Z;window.BaseDataID=n;window.ParamID=z;Q.init();var j=false;})();\n\n\n// WEBPACK FOOTER //\n// ./src/lib/live2d.min.js","// Provide a \"System\" global.\nmodule.exports = {\n\t// Make sure import is only used as \"System.import\"\n\timport: function() {\n\t\tthrow new Error(\"System.import cannot be used indirectly\");\n\t}\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/system.js\n// module id = 7\n// module chunks = 0","import { Live2DFramework } from \"./lib/Live2DFramework.js\"\nimport PlatformManager from \"./PlatformManager\"\nimport LAppModel from \"./LAppModel\"\nimport LAppDefine from \"./LAppDefine\"\n\nexport default function LAppLive2DManager() {\n // console.log(\"--> LAppLive2DManager()\");\n\n\n this.models = [];\n\n\n this.count = -1;\n this.reloadFlg = false;\n\n Live2D.init();\n Live2DFramework.setPlatformManager(new PlatformManager);\n\n}\n\nLAppLive2DManager.prototype.createModel = function () {\n\n\n var model = new LAppModel();\n this.models.push(model);\n\n return model;\n}\n\n\nLAppLive2DManager.prototype.changeModel = function (gl, modelurl) {\n // console.log(\"--> LAppLive2DManager.update(gl)\");\n\n if (this.reloadFlg) {\n\n this.reloadFlg = false;\n\n var thisRef = this;\n this.releaseModel(0, gl);\n this.createModel();\n this.models[0].load(gl, modelurl);\n }\n};\n\n\nLAppLive2DManager.prototype.getModel = function (no) {\n // console.log(\"--> LAppLive2DManager.getModel(\" + no + \")\");\n\n if (no >= this.models.length) return null;\n\n return this.models[no];\n};\n\n\n\nLAppLive2DManager.prototype.releaseModel = function (no, gl) {\n // console.log(\"--> LAppLive2DManager.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\nLAppLive2DManager.prototype.numModels = function () {\n return this.models.length;\n};\n\n\n\nLAppLive2DManager.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\n\n\nLAppLive2DManager.prototype.maxScaleEvent = function () {\n if (LAppDefine.DEBUG_LOG)\n console.log(\"Max scale event.\");\n for (var i = 0; i < this.models.length; i++) {\n this.models[i].startRandomMotion(LAppDefine.MOTION_GROUP_PINCH_IN,\n LAppDefine.PRIORITY_NORMAL);\n }\n}\n\n\n\nLAppLive2DManager.prototype.minScaleEvent = function () {\n if (LAppDefine.DEBUG_LOG)\n console.log(\"Min scale event.\");\n for (var i = 0; i < this.models.length; i++) {\n this.models[i].startRandomMotion(LAppDefine.MOTION_GROUP_PINCH_OUT,\n LAppDefine.PRIORITY_NORMAL);\n }\n}\n\n\n\nLAppLive2DManager.prototype.tapEvent = function (x, y) {\n if (LAppDefine.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(LAppDefine.HIT_AREA_HEAD, x, y)) {\n\n if (LAppDefine.DEBUG_LOG)\n console.log(\"Tap face.\");\n\n this.models[i].setRandomExpression();\n }\n else if (this.models[i].hitTest(LAppDefine.HIT_AREA_BODY, x, y)) {\n\n if (LAppDefine.DEBUG_LOG)\n console.log(\"Tap body.\" + \" models[\" + i + \"]\");\n\n this.models[i].startRandomMotion(LAppDefine.MOTION_GROUP_TAP_BODY,\n LAppDefine.PRIORITY_NORMAL);\n }\n }\n\n return true;\n};\n\n\n// WEBPACK FOOTER //\n// ./src/LAppLive2DManager.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 */\nimport {getContext} from \"./webglcontext\"\n\n//============================================================\n//============================================================\n// class PlatformManager extend IPlatformManager\n//============================================================\n//============================================================\nexport default function PlatformManager()\n{\n\n}\n\n//============================================================\n// PlatformManager # loadBytes()\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// PlatformManager # loadString()\n//============================================================\nPlatformManager.prototype.loadString = function(path/*String*/)\n{\n \n this.loadBytes(path, function(buf) { \n return buf;\n });\n \n}\n\n//============================================================\n// PlatformManager # loadLive2DModel()\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// PlatformManager # loadTexture()\n//============================================================\nPlatformManager.prototype.loadTexture = function(model/*ALive2DModel*/, no/*int*/, path/*String*/, callback)\n{ \n // load textures\n var loadedImage = new Image();\n loadedImage.src = path;\n \n var thisRef = this;\n loadedImage.onload = function() {\n // create texture\n var gl = getContext();\n var texture = gl.createTexture();\t \n if (!texture){ console.error(\"Failed to generate gl texture name.\"); return -1; }\n\n if(model.isPremultipliedAlpha() == false){\n // 乗算済アルファテクスチャ以外の場合\n gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 1);\n }\n gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, 1);\t\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 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//============================================================\nPlatformManager.prototype.jsonParseFromBytes = function(buf){\n \n var jsonStr;\n \n \n \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// PlatformManager # log()\n//============================================================\nPlatformManager.prototype.log = function(txt/*String*/)\n{\n //console.log(txt);\n}\n\nfunction getWebGLContext(canvas)\n{\n var NAMES = [ \"webgl\" , \"experimental-webgl\" , \"webkit-3d\" , \"moz-webgl\"];\n for( var i = 0; i < NAMES.length; i++ ){\n try{\n var ctx = canvas.getContext(NAMES[i], {premultipliedAlpha : true});\n if(ctx) return ctx;\n }\n catch(e){}\n }\n return null;\n};\n\n\n// WEBPACK FOOTER //\n// ./src/PlatformManager.js","import {L2DBaseModel, L2DEyeBlink} from \"./lib/Live2DFramework\"\nimport ModelSettingJson from \"./lib/ModelSettingJson\"\nimport LAppDefine from \"./LAppDefine\"\nimport MatrixStack from \"./lib/MatrixStack\"\n\n//============================================================\n//============================================================\n// class LAppModel extends L2DBaseModel \n//============================================================\n//============================================================\nexport default function LAppModel()\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\nLAppModel.prototype = new L2DBaseModel();\n\n\nLAppModel.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 \n var texPaths = thisRef.modelHomeDir + \n 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(LAppDefine.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\nLAppModel.prototype.release = function(gl)\n{\n // this.live2DModel.deleteTextures();\n var pm = Live2DFramework.getPlatformManager();\n\n gl.deleteTexture(pm.texture);\n}\n\n\n\nLAppModel.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\nLAppModel.prototype.update = function()\n{\n // console.log(\"--> LAppModel.update()\");\n\n if(this.live2DModel == null) \n {\n if (LAppDefine.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(LAppDefine.MOTION_GROUP_IDLE, LAppDefine.PRIORITY_IDLE);\n }\n \n //-----------------------------------------------------------------\t\t\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 //-----------------------------------------------------------------\t\t\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\nLAppModel.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\nLAppModel.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\nLAppModel.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 (LAppDefine.DEBUG_LOG)\n console.error(\"Failed to motion.\");\n return;\n }\n\n if (priority == LAppDefine.PRIORITY_FORCE) \n {\n this.mainMotionManager.setReservePriority(priority);\n }\n else if (!this.mainMotionManager.reserveMotion(priority))\n {\n if (LAppDefine.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(null, 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\nLAppModel.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 (LAppDefine.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 (LAppDefine.DEBUG_LOG)\n console.log(\"Start sound : \" + soundName);\n \n snd.play();\n this.mainMotionManager.startMotionPrio(motion, priority);\n }\n}\n\n\n\nLAppModel.prototype.setExpression = function(name)\n{\n var motion = this.expressions[name];\n \n if (LAppDefine.DEBUG_LOG)\n console.log(\"Expression : \" + name);\n \n this.expressionManager.startMotion(motion, false);\n}\n\n\n\nLAppModel.prototype.draw = function(gl)\n{\n //console.log(\"--> LAppModel.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\nLAppModel.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// WEBPACK FOOTER //\n// ./src/LAppModel.js","import {Live2DFramework} from \"./Live2DFramework\"\n\nexport default function ModelSettingJson()\n{ \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\n this.json = {};\n}\n\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\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\nModelSettingJson.prototype.getModelFile = function()\n{ \n return this.json[this.MODEL];\n};\n\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\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\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\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\nModelSettingJson.prototype.getPhysicsFile = function()\n{\n return this.json[this.PHYSICS];\n}\n\n\nModelSettingJson.prototype.getPoseFile = function()\n{\n return this.json[this.POSE];\n}\n\n\nModelSettingJson.prototype.getExpressionNum = function()\n{\n return (this.json[this.EXPRESSIONS] == null) ? 0 : this.json[this.EXPRESSIONS].length;\n}\n\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\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\nModelSettingJson.prototype.getLayout = function()\n{\n return this.json[this.LAYOUT];\n}\n\n\nModelSettingJson.prototype.getInitParamNum = function()\n{\n return (this.json[this.INIT_PARAM] == null) ? 0 : this.json[this.INIT_PARAM].length;\n}\n\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\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\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\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\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\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\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\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\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\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// WEBPACK FOOTER //\n// ./src/lib/ModelSettingJson.js"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///bundle.js","webpack:///webpack/bootstrap 0f7f527630fd90639e82","webpack:///./src/lib/Live2DFramework.js","webpack:///./src/LAppDefine.js","webpack:///./src/webglcontext.js","webpack:///./src/lib/MatrixStack.js","webpack:///./src/main.js","webpack:///./src/lib/live2d.min.js","webpack:///(webpack)/buildin/system.js","webpack:///./src/LAppLive2DManager.js","webpack:///./src/PlatformManager.js","webpack:///./src/LAppModel.js","webpack:///./src/lib/ModelSettingJson.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","L2DBaseModel","this","live2DModel","modelMatrix","eyeBlink","physics","pose","debugMode","initialized","updating","alpha","accAlpha","lipSync","lipSyncValue","accelX","accelY","accelZ","dragX","dragY","startTimeMSec","mainMotionManager","L2DMotionManager","expressionManager","motions","expressions","isTexLoaded","L2DExpressionMotion","AMotion","constructor","paramList","Array","L2DExpressionParam","id","type","value","L2DEyeBlink","nextBlinkTime","stateStartTime","blinkIntervalMsec","eyeState","EYE_STATE","STATE_FIRST","closingMotionMsec","closedMotionMsec","openingMotionMsec","closeIfZero","eyeID_L","eyeID_R","L2DMatrix44","tr","Float32Array","identity","L2DModelMatrix","w","h","width","height","MotionQueueManager","currentPriority","reservePriority","super","L2DPhysics","physicsList","UtSystem","getUserTimeMSec","L2DPose","lastTime","lastModel","partsGroups","L2DPartsParam","paramIndex","partsIndex","link","L2DTargetPoint","EPSILON","faceTargetX","faceTargetY","faceX","faceY","faceVX","faceVY","lastTimeSec","L2DViewMatrix","screenLeft","screenRight","screenTop","screenBottom","maxLeft","maxRight","maxTop","maxBottom","max","Number","MAX_VALUE","min","Live2DFramework","texCounter","getModelMatrix","setAlpha","a","getAlpha","isInitialized","setInitialized","v","isUpdating","setUpdating","getLive2DModel","setLipSync","setLipSyncValue","setAccel","x","y","z","setDrag","getMainMotionManager","getExpressionManager","loadModelData","path","callback","pm","getPlatformManager","log","thisRef","loadLive2DModel","l2dModel","saveParam","Live2D","getError","console","error","getCanvasWidth","getCanvasHeight","setWidth","setCenterPosition","loadTexture","no","loadMotion","motion","loadBytes","buf","Live2DMotion","loadExpression","loadJson","loadPose","load","e","warn","loadPhysics","hitTestSimple","drawID","testX","testY","drawIndex","getDrawDataIndex","points","getTransformedPoints","left","right","top","bottom","j","length","tx","invertTransformX","ty","invertTransformY","EXPRESSION_DEFAULT","TYPE_SET","TYPE_ADD","TYPE_MULT","ret","json","jsonParseFromBytes","setFadeIn","parseInt","fade_in","setFadeOut","fade_out","params","paramNum","param","paramID","toString","parseFloat","val","calcTypeInt","calc","defaultValue","def","item","push","updateParamExe","model","timeMSec","weight","motionQueueEnt","addToParamFloat","multParamFloat","setParamFloat","calcNextBlink","Math","random","setInterval","setEyeMotion","updateParam","eyeParamValue","time","t","STATE_CLOSING","STATE_CLOSED","STATE_OPENING","STATE_INTERVAL","mul","b","dst","k","getArray","getCopyMatrix","setMatrix","getScaleX","getScaleY","transformX","src","transformY","multTranslate","shiftX","shiftY","tr1","translate","translateX","translateY","multScale","scaleX","scaleY","scale","setPosition","setY","setX","centerX","centerY","setHeight","getCurrentPriority","getReservePriority","reserveMotion","priority","setReservePriority","updated","isFinished","startMotionPrio","startMotion","physics_hair","PhysicsHair","setup","resist","regist","mass","srcList","srcNum","Src","SRC_TO_X","typeStr","ptype","SRC_TO_Y","SRC_TO_G_ANGLE","UtDebug","addSrcParam","targetList","targets","targetNum","target","Target","TARGET_FROM_ANGLE","TARGET_FROM_ANGLE_V","addTargetParam","update","poseListInfo","parts_visible","poseNum","i_pose","poseInfo","idListInfo","group","idNum","partsGroup","i_group","partsInfo","parts","linkListInfo","linkNum","i_link","linkParts","initParam","curTime","deltaTimeSec","normalizePartsOpacityGroup","copyOpacityOtherParts","initIndex","getParamFloat","setPartsOpacity","visibleParts","visibleOpacity","getPartsOpacity","a1","opacity","backOp","partsParam","getParamIndex","getPartsDataIndex","PartsDataID","getID","FRAME_RATE","setPoint","getX","getY","MAX_V","curTimeSec","deltaTimeWeight","FRAME_TO_MAX_SPEED","MAX_A","dx","dy","abs","sqrt","vx","vy","ax","ay","max_v","cur_v","getMaxScale","getMinScale","setMaxScale","setMinScale","isMaxScale","isMinScale","adjustTranslate","adjustScale","cx","cy","targetScale","tr2","tr3","setScreenRect","setMaxScreenRect","getScreenLeft","getScreenRight","getScreenBottom","getScreenTop","getMaxLeft","getMaxRight","getMaxBottom","getMaxTop","platformManager","setPlatformManager","LAppDefine","DEBUG_LOG","DEBUG_MOUSE_LOG","VIEW_MAX_SCALE","VIEW_MIN_SCALE","VIEW_LOGICAL_LEFT","VIEW_LOGICAL_RIGHT","VIEW_LOGICAL_MAX_LEFT","VIEW_LOGICAL_MAX_RIGHT","VIEW_LOGICAL_MAX_BOTTOM","VIEW_LOGICAL_MAX_TOP","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","setContext","webglContext","context","getContext","undefined","MatrixStack","matrixStack","depth","currentMatrix","tmp","reset","loadIdentity","nextOffset","pop","myError","offset","getMatrix","multMatrix","matNew","_interopRequireDefault","obj","default","initL2dCanvas","canvasId","canvas","document","getElementById","addEventListener","window","mouseEvent","touchEvent","init","modelurl","dragMgr","_Live2DFramework","ratio","_LAppDefine2","viewMatrix","projMatrix","deviceToScreen","gl","getWebGLContext","_webglcontext","WebGLRenderingContext","setGL","clearColor","changeModel","startDraw","isDrawStart","tick","draw","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","_MatrixStack2","live2DMgr","clear","COLOR_BUFFER_BIT","numModels","getModel","reloadFlg","count","dot","A","B","normalize","transformRect","center","transform","rect","angle","Len_X","Len_Y","acos","PI","angleTarget","angleLeftTop","angleLeftBottom","angleRightTop","angleRightBottom","res","y3","x3","modelTurnHead","event","drag","getBoundingClientRect","sx","transformScreenX","clientX","sy","transformScreenY","clientY","head_pos","transformViewX","transformViewY","lastMouseX","lastMouseY","modelTapEvent","tapEvent","followPointer","lookFront","button","touch","touches","deviceX","screenX","deviceY","screenY","NAMES","ctx","premultipliedAlpha","loadlive2d","headPos","_LAppLive2DManager","_LAppLive2DManager2","_LAppDefine","_MatrixStack","navigator","platform","toLowerCase","System","aa","_$MT","_$5S","_$NP","_$42","W","aJ","clipContextList","glcontext","dp_webgl","curFrameNo","firstError_clipInNotUpdate","colorBuffer","isInitGLFBFunc","tmpBoundsOnModel","av","Q","glContext","frameBuffers","getMaskRenderTexture","tmpModelToViewMatrix","ac","tmpMatrix2","tmpMatrixForMask","tmpMatrixForDraw","CHANNEL_COLORS","aI","r","g","aH","setChannelFlagAsColor","U","aK","clipIDList","clippingMaskDrawIndexList","clippedDrawContextList","isUsing","layoutChannelNo","layoutBounds","allClippedDrawRect","matrixForMask","matrixForDraw","owner","R","_$gP","drawDataIndex","I","color","ah","_$dP","_$eo","_$V0","_$a0","q","af","_$r","_$0S","F","ak","S","_$vo","_$F2","_$ao","_$1S","u","p1","N","p2","_$Fo","_$Db","_$L2","_$M2","_$ks","_$9b","_$iP","_$iT","_$lL","_$qP","_$p","fx","fy","_$s0","_$70","_$7L","_$HL","at","_$wL","_$tL","aF","_$YP","X","_$fL","_$gL","_$B0","_$z0","_$qT","reflectX","reflectY","aG","ae","_$dr","_$GS","_$qb","_$Lb","_$mS","clipID","_$Eb","_$ps","_$lT","_$C0","_$tT","_$WL","culling","matrix4x4","anisotropy","clippingProcess","CLIPPING_PROCESS_NONE","clipBufPre_clipContextMask","clipBufPre_clipContextDraw","_$ho","blendMode","L2D_COLOR_BLEND_MODE_MULT","_$kP","_$Ai","P","aA","_$VP","_$GP","_$8o","_$ds","_$2r","_$O2","_$ri","G","_$Ob","Z","aD","_$7","_$f","_$H","_$g","_$k","_$w","_$hi","STATE_IDENTITY","_$Z","_$pS","Y","_$7r","_$Co","_$D0","_$yT","_$E","loopFadeIn","_$AS","aE","_$P","size","_$4P","_$I0","_$RP","aw","_$QT","_$co","_$qo","_$pb","_$is","_$_2","_$vr","_$Rr","_$Or","_$fs","_$Js","_$3S","_$aS","_$Bo","_$db","_$8b","_$Hr","_$Ws","_$Vs","_$Er","_$Es","Int16Array","_$Qb","_$ZP","_$1r","_$Ri","_$b0","_$HP","clipManager","ap","ar","_$12","_$bb","_$_L","_$jo","_$iL","_$0L","_$Br","_$Dr","_$Cb","_$mr","az","_$sb","Int32Array","_$As","_$U2","_$NT","_$9r","_$vS","_$no","_$vb","ab","_$Y0","al","_$8r","_$ur","_$Yr","_$Wr","aq","_$NL","_$zo","ao","_$o2","_$rr","_$eP","String","fromCharCode","getUint8","E","_$o","_$A","_$Eo","H","_$Cr","_$hr","visible","_$g0","aj","_$VS","_$e0","D","an","_$4S","au","viewport","_$6r","_$xP","_$3r","_$uP","_$Qo","cacheImages","f","_$TT","_$LT","_$FS","_$IP","_$JS","_$AT","totalScale","_$7s","totalOpacity","J","_$ib","_$LP","_$d0","_$Yo","_$JP","_$5P","_$BP","_$Qi","_$6s","_$ms","gl_cacheImage","instanceNo","ag","aB","drawParamWebGL","C","getGL","V","_$eb","M","_$w0","_$9L","_$z2","_$bs","_$Do","_$sr","_$Gs","am","textures","glno","firstDraw","anisotropyExt","maxAnisotropy","_$Gr","vertShader","fragShader","vertShaderOff","fragShaderOff","T","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","DYNAMIC_DRAW","L","ELEMENT_ARRAY_BUFFER","K","Int8Array","_$R0","DataView","buffer","_$3i","_$hL","_$v0","_$S2","_$Ko","_$T","_$F","ai","aC","_$Us","_$IS","baseOpacity","clipBufPre_clipContext","_$0s","_$4s","_$62","aQ","aU","ArrayBuffer","aN","aS","aM","_$ST","_$gr","_$T7","aL","_$nP","_$s7","_$9T","aT","_$KS","aP","getModelContext","setDrawParam","getDrawParam","aO","_$Rb","getModelImpl","_$zP","arguments","loadParam","_$Rs","_$li","_$Ds","_$K2","_$s2","_$P7","aR","a0","aY","aW","aV","aZ","getDrawData","_$C2","getIndexArray","getType","_$wb","CHANNEL_COUNT","RENDER_TEXTURE_USE_MIPMAP","NOT_USED_FRAME","_$L7","splice","releaseShader","deleteFramebuffer","framebuffer","getClipIDList","findSameClip","getDrawDataID","addClippedDrawData","createFramebuffer","setupClip","calcClippedDrawTotalBounds","getParameter","FRAMEBUFFER_BINDING","clippingMaskBufferSize","setupLayoutBounds","bindFramebuffer","FRAMEBUFFER","_$jL","expand","aX","setClipBufPre_clipContextForMask","getColorBuffer","a6","a5","_$yo","a4","a3","_$i2","_$No","a2","apply","_$JT","_$pT","getFadeOut","_$4T","_$mT","getDurationMSec","getLoopDurationMSec","_$r2","_$8s","_$fT","start","getSystemTimeMSec","dump","end","_$Ji","_$dL","_$KL","_$nr","stack","_$8P","_$6P","_$EL","_$5T","_$tP","_$27","_$3s","_$F0","_$6L","_$6S","_$Xr","_$E2","_$Yb","_$xT","getPhysicsPoint1","getPhysicsPoint2","_$qr","_$pr","_$5r","_$Cs","atan2","_$oP","_$oo","_$YS","cos","sin","_$bS","_$_T","getFormatVersion","LIVE2D_FORMAT_VERSION_V2_10_SDK2","_$po","_$e","ad","_$ni","isNaN","contains","_$Z2","bb","bo","bp","_$Q2","_$vs","ba","_$Tr","_$zr","bj","bi","a9","a8","br","bq","bn","bm","bg","bf","bu","bt","bl","bk","be","bc","a7","bh","bs","bd","_$br","_$Vr","bV","bW","bC","bX","bH","bw","bI","_$jT","b3","bT","b1","bP","b2","b0","bM","bL","bZ","bN","b8","b7","bU","bS","b6","b5","bQ","bO","bD","bB","by","bx","bG","bE","bv","bA","bz","bY","bK","b4","bJ","bF","bR","_$HT","_$ES","_$8S","_$52","_$R2","_$or","_$Pr","convertClipIDForV2_11","test","split","_$cS","_$Tb","_$MS","_$Nr","_$Zs","_$2b","_$j2","getOpacity","_$zS","getTargetBaseDataID","_$gs","_$32","_$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","createString","Uint16Array","_$LS","_$Ur","_$WS","_$v2","_$Xb","Exception","_$J","_$3T","_$h2","_$J2","getParamCount","_$zs","mult","mult_safe","mult_fast","rotateX","fcos","_$9","rotateY","rotateZ","_$kS","_$hb","_$gb","_$fo","_$go","_$RT","_$so","_$CT","_$cs","_$ar","_$D2","_$1T","_$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","_$_0","_$V2","_$W0","_$jr","_$ZS","_$tr","_$lr","release","getBaseData","_$l2","getBaseDataIndex","_$1s","_$02","getDefaultValue","getMinValue","getMaxValue","_$u2","floor","_$sT","_$H7","_$BS","_$UT","_$Zo","getParamMax","getParamMin","_$p2","_$q2","_$Bb","_$5s","_$GT","_$0T","_$5","exists","_$ls","_$3b","_$Xs","_$kb","read","_$C","_$js","write","_$TS","close","flush","_$T2","_$10","_$uo","_$QS","_$7T","_$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","err","printf","transformPoints_sdk1","_$ts","_$8L","isVisible","_$6o","_$3o","_$uL","_$KP","_$ET","_$ob","getPartsID","_$MP","_$Ks","_$50","_$Ti","_$Pi","_$B","_$lP","_$bL","save","beginPath","_$Li","clip","_$ei","restore","globalAlpha","_$PS","ceil","rotate","shear","IGNORE_EXPAND","USE_CACHED_POLYGON_IMAGE","createCanvas","DEBUG_DATA","LDGL_CANVAS_MB","drawImage","cacheCanvas","cacheContext","IGNORE_CLIP","USE_ADJUST_TRANSLATION","expandClip","clipWithTransform","_$P2","moveTo","lineTo","createElement","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","dispose","setClippingMaskBufferSize","getClippingMaskBufferSize","deleteBuffer","PI_F","_$fr","_$Os","_$ns","_$_s","_$_S","getTextureNo","_$ZL","_$H2","getNumPoints","_$Hb","_$72","_$tb","_$qS","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","_$wP","_$2S","_$wS","_$kT","_$tS","SYSTEM_INFO","USER_AGENT","userAgent","isIPhone","_isIPhone","_isIPad","_isAndroid","getOSVersion","version","getOS","substring","indexOf","os","LDTransform","LDGL","Live2DModelWebGL","Live2DModelJS","DrawDataID","BaseDataID","ParamID","import","LAppLive2DManager","models","_PlatformManager2","_PlatformManager","_LAppModel","_LAppModel2","createModel","releaseModel","maxScaleEvent","startRandomMotion","minScaleEvent","hitTest","setRandomExpression","PlatformManager","request","XMLHttpRequest","open","responseType","onload","status","response","send","loadString","loadedImage","Image","pixelStorei","UNPACK_PREMULTIPLY_ALPHA_WEBGL","UNPACK_FLIP_Y_WEBGL","TEXTURE0","LINEAR_MIPMAP_NEAREST","generateMipmap","onerror","jsonStr","bomCode","Uint8Array","JSON","parse","txt","LAppModel","modelHomeDir","modelSetting","tmpMatrix","_ModelSettingJson","_ModelSettingJson2","modelSettingPath","lastIndexOf","loadModelSetting","getModelFile","getTextureNum","texPaths","getTextureFile","getExpressionNum","expName","getExpressionName","expFilePath","getExpressionFile","getPhysicsFile","getPoseFile","getLayout","layout","getInitParamNum","getInitParamID","getInitParamValue","getInitPartsVisibleNum","getInitPartsVisibleID","getInitPartsVisibleValue","preloadMotionGroup","deleteTexture","getMotionNum","file","getMotionFile","getMotionFadeIn","getMotionFadeOut","timeSec","setExpression","motionName","mtn","setFadeInFadeOut","getMotionSound","soundName","snd","play","len","getHitAreaNum","getHitAreaName","getHitAreaID","ModelSettingJson","NAME","ID","MODEL","TEXTURES","HIT_AREAS","PHYSICS","POSE","EXPRESSIONS","MOTION_GROUPS","SOUND","FADE_IN","FADE_OUT","LAYOUT","INIT_PARAM","INIT_PARTS_VISIBLE","VALUE","FILE","str","NaN"],"mappings":"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AG,GAAGG,EAAG,IAAIH,EAAG,IAAIG,EAAG,IAAIG,EAAG,GAAGN,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGG,EAAG,GAAGN,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGG,EAAG,GAAGN,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,IAAIH,EAAG,IAAIG,EAAG,IAAIG,EAAG,IAAIN,EAAG,GAAGG,EAAG,IAAIH,EAAG,GAAGG,EAAG,IAAIH,EAAG,GAAGG,EAAG,IAAIH,EAAG,IAAIG,EAAG,IAAIG,EAAG,GAAGN,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGG,EAAG,GAAGN,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGG,EAAG,IAAIN,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,IAAIG,EAAG,IAAIH,EAAG,IAAIG,EAAG,IAAIG,EAAG,IAAIN,EAAG,GAAGG,EAAG,IAAIH,EAAG,GAAGG,EAAG,IAAIH,EAAG,IAAIG,EAAG,IAAIH,EAAG,IAAIG,EAAG,IAAIG,EAAG,GAAGN,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGG,EAAG,GAAGN,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGH,EAAG,IAAIG,EAAG,GAAGG,EAAG,IAAIN,EAAG,GAAGG,EAAG,GAAGH,EAAG,GAAGG,EAAG,GAAGH,EAAG,IAAIG,EAAG,IAAIH,EAAG,IAAIG,EAAG,IAAIG,EAAG,IAAIN,EAAG,GAAGG,EAAG,IAAIH,EAAG,GAAGG,EAAG,IAAIH,EAAG,IAAIG,EAA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","file":"bundle.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 4);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\r\n * EYHN 基于 live2d 官方 Live2DFramework.js 修改\r\n * \r\n * Copyright © 2016 - 2017 EYHN\r\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\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 /*\r\n if( this.live2DModel != null ) {\r\n this.live2DModel.deleteTextures();\r\n }\r\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(thisRef.live2DModel.getCanvasWidth(), 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// 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// 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// 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 } 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 } catch (e) {\n console.warn(e);\n }\n};\n\n//============================================================\n// L2DBaseModel # hitTestSimple()\n//============================================================\nL2DBaseModel.prototype.hitTestSimple = function (drawID, testX, testY) {\n\n if (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/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\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 } else if (calc === \"mult\") {\n calcTypeInt = L2DExpressionMotion.TYPE_MULT;\n } else if (calc === \"set\") {\n calcTypeInt = L2DExpressionMotion.TYPE_SET;\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 } 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// 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 } else if (param.type == L2DExpressionMotion.TYPE_MULT) {\n model.multParamFloat(param.id, param.value, weight);\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/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\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//============================================================\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 EYE_STATE() {};\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/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\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//============================================================\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//============================================================\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++) {\n this.tr[i] = tr[i];\n }\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/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\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/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\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\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/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\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 } else if (typeStr === \"y\") {\n type = PhysicsHair.Src.SRC_TO_Y;\n } else if (typeStr === \"angle\") {\n type = PhysicsHair.Src.SRC_TO_G_ANGLE;\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 } else if (typeStr === \"angle_v\") {\n type = PhysicsHair.Target.TARGET_FROM_ANGLE_V;\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/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\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// 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 } else {\n var opacity = model.getPartsOpacity(partsIndex);\n var a1;\n if (visibleOpacity < phi) {\n a1 = visibleOpacity * (phi - 1) / phi + 1;\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/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\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 = 30;\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/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\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 this.max = Number.MAX_VALUE;\n this.min = 0;\n}\n\nL2DViewMatrix.prototype = new L2DMatrix44(); //L2DViewMatrix extends L2DMatrix44\n\n//============================================================\n// L2DViewMatrix # getMaxScale()\n//============================================================\nL2DViewMatrix.prototype.getMaxScale = function () {\n return this.max;\n};\n\n//============================================================\n// L2DViewMatrix # getMinScale()\n//============================================================\nL2DViewMatrix.prototype.getMinScale = function () {\n return this.min;\n};\n\n//============================================================\n// L2DViewMatrix # setMaxScale()\n//============================================================\nL2DViewMatrix.prototype.setMaxScale = function (v /*float*/) {\n this.max = v;\n};\n\n//============================================================\n// L2DViewMatrix # setMinScale()\n//============================================================\nL2DViewMatrix.prototype.setMinScale = function (v /*float*/) {\n this.min = v;\n};\n\n//============================================================\n// L2DViewMatrix # isMaxScale()\n//============================================================\nL2DViewMatrix.prototype.isMaxScale = function () {\n return this.getScaleX() == this.max;\n};\n\n//============================================================\n// L2DViewMatrix # isMinScale()\n//============================================================\nL2DViewMatrix.prototype.isMinScale = function () {\n return this.getScaleX() == this.min;\n};\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) shiftX = this.screenLeft - this.tr[0] * this.maxLeft - this.tr[12];\n if (this.tr[0] * this.maxRight + (this.tr[12] + shiftX) < this.screenRight) shiftX = this.screenRight - this.tr[0] * this.maxRight - this.tr[12];\n if (this.tr[5] * this.maxTop + (this.tr[13] + shiftY) < this.screenTop) shiftY = this.screenTop - this.tr[5] * this.maxTop - this.tr[13];\n if (this.tr[5] * this.maxBottom + (this.tr[13] + shiftY) > this.screenBottom) shiftY = this.screenBottom - this.tr[5] * this.maxBottom - this.tr[13];\n\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// L2DViewMatrix # adjustScale()\n//============================================================\nL2DViewMatrix.prototype.adjustScale = function (cx /*float*/, cy /*float*/, scale /*float*/) {\n var targetScale = scale * this.tr[0];\n if (targetScale < this.min) {\n if (this.tr[0] > 0) scale = this.min / this.tr[0];\n } else if (targetScale > this.max) {\n if (this.tr[0] > 0) scale = this.max / this.tr[0];\n }\n var tr1 = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, cx, cy, 0, 1];\n var tr2 = [scale, 0, 0, 0, 0, scale, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n var tr3 = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -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/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\n\n//============================================================\n//============================================================\n// class Live2DFramework \n//============================================================\n//============================================================\nfunction Live2DFramework() {}\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\nmodule.exports = {\n L2DTargetPoint: L2DTargetPoint,\n Live2DFramework: Live2DFramework,\n L2DViewMatrix: L2DViewMatrix,\n L2DPose: L2DPose,\n L2DPartsParam: L2DPartsParam,\n L2DPhysics: L2DPhysics,\n L2DMotionManager: L2DMotionManager,\n L2DModelMatrix: L2DModelMatrix,\n L2DMatrix44: L2DMatrix44,\n EYE_STATE: EYE_STATE,\n L2DEyeBlink: L2DEyeBlink,\n L2DExpressionParam: L2DExpressionParam,\n L2DExpressionMotion: L2DExpressionMotion,\n L2DBaseModel: L2DBaseModel\n};\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LAppDefine = {\n\n DEBUG_LOG: false,\n DEBUG_MOUSE_LOG: false,\n // DEBUG_DRAW_HIT_AREA : false, \n // DEBUG_DRAW_ALPHA_MODEL : false, \n\n\n VIEW_MAX_SCALE: 2,\n VIEW_MIN_SCALE: 0.8,\n\n VIEW_LOGICAL_LEFT: -1,\n VIEW_LOGICAL_RIGHT: 1,\n\n VIEW_LOGICAL_MAX_LEFT: -2,\n VIEW_LOGICAL_MAX_RIGHT: 2,\n VIEW_LOGICAL_MAX_BOTTOM: -2,\n VIEW_LOGICAL_MAX_TOP: 2,\n\n PRIORITY_NONE: 0,\n PRIORITY_IDLE: 1,\n PRIORITY_NORMAL: 2,\n PRIORITY_FORCE: 3,\n\n MOTION_GROUP_IDLE: \"idle\",\n MOTION_GROUP_TAP_BODY: \"tap_body\",\n MOTION_GROUP_FLICK_HEAD: \"flick_head\",\n MOTION_GROUP_PINCH_IN: \"pinch_in\",\n MOTION_GROUP_PINCH_OUT: \"pinch_out\",\n MOTION_GROUP_SHAKE: \"shake\",\n\n HIT_AREA_HEAD: \"head\",\n HIT_AREA_BODY: \"body\"\n\n};\n\nmodule.exports = LAppDefine;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setContext = setContext;\nexports.getContext = getContext;\n\nvar context = undefined;\n\nfunction setContext(webglContext) {\n context = webglContext;\n}\n\nfunction getContext() {\n return context;\n}\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\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 * EYHN 修改\n * \n * Copyright © 2016 - 2017 EYHN\n */\n\nfunction MatrixStack() {}\n\nMatrixStack.matrixStack = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n\nMatrixStack.depth = 0;\n\nMatrixStack.currentMatrix = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n\nMatrixStack.tmp = new Array(16);\n\nMatrixStack.reset = function () {\n this.depth = 0;\n};\n\nMatrixStack.loadIdentity = function () {\n for (var i = 0; i < 16; i++) {\n this.currentMatrix[i] = i % 5 == 0 ? 1 : 0;\n }\n};\n\nMatrixStack.push = function () {\n var offset = this.depth * 16;\n var nextOffset = (this.depth + 1) * 16;\n\n if (this.matrixStack.length < nextOffset + 16) {\n this.matrixStack.length = nextOffset + 16;\n }\n\n for (var i = 0; i < 16; i++) {\n this.matrixStack[nextOffset + i] = this.currentMatrix[i];\n }\n\n this.depth++;\n};\n\nMatrixStack.pop = function () {\n this.depth--;\n if (this.depth < 0) {\n myError(\"Invalid matrix stack.\");\n this.depth = 0;\n }\n\n var offset = this.depth * 16;\n for (var i = 0; i < 16; i++) {\n this.currentMatrix[i] = this.matrixStack[offset + i];\n }\n};\n\nMatrixStack.getMatrix = function () {\n return this.currentMatrix;\n};\n\nMatrixStack.multMatrix = function (matNew) {\n var i, j, k;\n\n for (i = 0; i < 16; i++) {\n this.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 this.tmp[i + j * 4] += this.currentMatrix[i + k * 4] * matNew[k + j * 4];\n }\n }\n }\n for (i = 0; i < 16; i++) {\n this.currentMatrix[i] = this.tmp[i];\n }\n};\n\nmodule.exports = MatrixStack;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(5);\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(6);\n\nvar _Live2DFramework = __webpack_require__(0);\n\nvar _LAppLive2DManager = __webpack_require__(8);\n\nvar _LAppLive2DManager2 = _interopRequireDefault(_LAppLive2DManager);\n\nvar _LAppDefine = __webpack_require__(1);\n\nvar _LAppDefine2 = _interopRequireDefault(_LAppDefine);\n\nvar _MatrixStack = __webpack_require__(3);\n\nvar _MatrixStack2 = _interopRequireDefault(_MatrixStack);\n\nvar _webglcontext = __webpack_require__(2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// window.onerror = function (msg, url, line, col, error) {\n// let errmsg = \"file:\" + url + \"
line:\" + line + \" \" + msg;\n// console.error(errmsg);\n// }\n\nvar platform = window.navigator.platform.toLowerCase();\n\nvar live2DMgr = new _LAppLive2DManager2.default();\n\nvar isDrawStart = false;\n\nvar gl = null;\n\nvar canvas = null;\n\nvar dragMgr = null;\n\nvar viewMatrix = null;\n\nvar projMatrix = null;\n\nvar deviceToScreen = null;\n\nvar drag = false;\n\nvar oldLen = 0;\n\nvar lastMouseX = 0;\n\nvar lastMouseY = 0;\n\nvar isModelShown = 0;\n\nvar modelurl = \"\";\n\nvar head_pos = 0.5;\n\nfunction initL2dCanvas(canvasId) {\n canvas = document.getElementById(canvasId);\n if (canvas.addEventListener) {\n //canvas.addEventListener(\"mousewheel\", mouseEvent);\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 //canvas.addEventListener(\"contextmenu\", mouseEvent);\n window.addEventListener(\"touchstart\", touchEvent);\n window.addEventListener(\"touchend\", touchEvent);\n window.addEventListener(\"touchmove\", touchEvent);\n }\n}\n\nfunction init(modelurl) {\n var width = canvas.width;\n var height = canvas.height;\n\n dragMgr = new _Live2DFramework.L2DTargetPoint();\n\n var ratio = height / width;\n var left = _LAppDefine2.default.VIEW_LOGICAL_LEFT;\n var right = _LAppDefine2.default.VIEW_LOGICAL_RIGHT;\n var bottom = -ratio;\n var top = ratio;\n\n viewMatrix = new _Live2DFramework.L2DViewMatrix();\n\n viewMatrix.setScreenRect(left, right, bottom, top);\n\n viewMatrix.setMaxScreenRect(_LAppDefine2.default.VIEW_LOGICAL_MAX_LEFT, _LAppDefine2.default.VIEW_LOGICAL_MAX_RIGHT, _LAppDefine2.default.VIEW_LOGICAL_MAX_BOTTOM, _LAppDefine2.default.VIEW_LOGICAL_MAX_TOP);\n\n viewMatrix.setMaxScale(_LAppDefine2.default.VIEW_MAX_SCALE);\n viewMatrix.setMinScale(_LAppDefine2.default.VIEW_MIN_SCALE);\n\n projMatrix = new _Live2DFramework.L2DMatrix44();\n projMatrix.multScale(1, width / height);\n\n deviceToScreen = new _Live2DFramework.L2DMatrix44();\n deviceToScreen.multTranslate(-width / 2.0, -height / 2.0);\n deviceToScreen.multScale(2 / width, -2 / width);\n\n gl = getWebGLContext();\n (0, _webglcontext.setContext)(gl);\n if (!gl) {\n console.error(\"Failed to create WebGL context.\");\n if (!!window.WebGLRenderingContext) {\n console.error(\"Your browser don't support WebGL, check https://get.webgl.org/ for futher information.\");\n }\n return;\n }\n window.Live2D.setGL(gl);\n gl.clearColor(0.0, 0.0, 0.0, 0.0);\n changeModel(modelurl);\n startDraw();\n}\n\nfunction startDraw() {\n if (!isDrawStart) {\n isDrawStart = true;\n (function tick() {\n draw();\n var requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;\n\n requestAnimationFrame(tick, canvas);\n })();\n }\n}\n\nfunction draw() {\n _MatrixStack2.default.reset();\n _MatrixStack2.default.loadIdentity();\n dragMgr.update();\n live2DMgr.setDrag(dragMgr.getX(), dragMgr.getY());\n\n gl.clear(gl.COLOR_BUFFER_BIT);\n\n _MatrixStack2.default.multMatrix(projMatrix.getArray());\n _MatrixStack2.default.multMatrix(viewMatrix.getArray());\n _MatrixStack2.default.push();\n\n for (var i = 0; i < live2DMgr.numModels(); i++) {\n var model = live2DMgr.getModel(i);\n\n if (model == null) return;\n\n if (model.initialized && !model.updating) {\n model.update();\n model.draw(gl);\n }\n }\n _MatrixStack2.default.pop();\n}\n\nfunction changeModel(modelurl) {\n live2DMgr.reloadFlg = true;\n live2DMgr.count++;\n live2DMgr.changeModel(gl, modelurl);\n}\n\nfunction modelScaling(scale) {\n var isMaxScale = viewMatrix.isMaxScale();\n var isMinScale = viewMatrix.isMinScale();\n\n viewMatrix.adjustScale(0, 0, scale);\n\n if (!isMaxScale) {\n if (viewMatrix.isMaxScale()) {\n live2DMgr.maxScaleEvent();\n }\n }\n\n if (!isMinScale) {\n if (viewMatrix.isMinScale()) {\n live2DMgr.minScaleEvent();\n }\n }\n}\n\nfunction transformRange(center, transform, range) {\n var a = {\n x: transform.x - center.x,\n y: transform.y - center.y\n };\n var 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 return A.x * B.x + A.y * B.y;\n}\n\nfunction normalize(x, y) {\n var 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 if (transform.x < rect.left + rect.width && transform.y < rect.top + rect.height && transform.x > rect.left && transform.y > rect.top) return transform;\n var Len_X = center.x - transform.x;\n var Len_Y = center.y - transform.y;\n\n function angle(Len_X, Len_Y) {\n return Math.acos(dot({\n x: 0,\n y: 1\n }, normalize(Len_X, Len_Y))) * 180 / Math.PI;\n }\n\n var angleTarget = angle(Len_X, Len_Y);\n if (transform.x < center.x) angleTarget = 360 - angleTarget;\n var angleLeftTop = 360 - angle(rect.left - center.x, (rect.top - center.y) * -1);\n var angleLeftBottom = 360 - angle(rect.left - center.x, (rect.top + rect.height - center.y) * -1);\n var angleRightTop = angle(rect.left + rect.width - center.x, (rect.top - center.y) * -1);\n var angleRightBottom = angle(rect.left + rect.width - center.x, (rect.top + rect.height - center.y) * -1);\n var scale = Len_Y / Len_X;\n var res = {};\n\n if (angleTarget < angleRightTop) {\n var y3 = rect.top - center.y;\n var x3 = y3 / scale;\n res = {\n y: center.y + y3,\n x: center.x + x3\n };\n } else if (angleTarget < angleRightBottom) {\n var _x = rect.left + rect.width - center.x;\n var _y = _x * scale;\n res = {\n y: center.y + _y,\n x: center.x + _x\n };\n } else if (angleTarget < angleLeftBottom) {\n var _y2 = rect.top + rect.height - center.y;\n var _x2 = _y2 / scale;\n res = {\n y: center.y + _y2,\n x: center.x + _x2\n };\n } else if (angleTarget < angleLeftTop) {\n var _x3 = center.x - rect.left;\n var _y3 = _x3 * scale;\n res = {\n y: center.y - _y3,\n x: center.x - _x3\n };\n } else {\n var _y4 = rect.top - center.y;\n var _x4 = _y4 / scale;\n res = {\n y: center.y + _y4,\n x: center.x + _x4\n };\n }\n\n return res;\n}\n\nfunction modelTurnHead(event) {\n drag = true;\n\n var rect = canvas.getBoundingClientRect();\n\n var sx = transformScreenX(event.clientX - rect.left);\n var sy = transformScreenY(event.clientY - rect.top);\n var target = transformRect({\n x: rect.left + rect.width / 2,\n y: rect.top + rect.height * head_pos\n }, {\n x: event.clientX,\n y: event.clientY\n }, rect);\n var vx = transformViewX(target.x - rect.left);\n var vy = transformViewY(target.y - rect.top);\n\n if (_LAppDefine2.default.DEBUG_MOUSE_LOG) console.log(\"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 drag = true;\n\n var rect = canvas.getBoundingClientRect();\n\n var sx = transformScreenX(event.clientX - rect.left);\n var sy = transformScreenY(event.clientY - rect.top);\n var target = transformRect({\n x: rect.left + rect.width / 2,\n y: rect.top + rect.height * head_pos\n }, {\n x: event.clientX,\n y: event.clientY\n }, rect);\n var vx = transformViewX(target.x - rect.left);\n var vy = transformViewY(target.y - rect.top);\n\n if (_LAppDefine2.default.DEBUG_MOUSE_LOG) console.log(\"onMouseDown device( x:\" + event.clientX + \" y:\" + event.clientY + \" ) view( x:\" + vx + \" y:\" + vy + \")\");\n\n lastMouseX = sx;\n lastMouseY = sy;\n\n live2DMgr.tapEvent(vx, vy);\n}\n\nfunction followPointer(event) {\n var rect = canvas.getBoundingClientRect();\n\n var sx = transformScreenX(event.clientX - rect.left);\n var sy = transformScreenY(event.clientY - rect.top);\n var target = transformRect({\n x: rect.left + rect.width / 2,\n y: rect.top + rect.height * head_pos\n }, {\n x: event.clientX,\n y: event.clientY\n }, rect);\n var vx = transformViewX(target.x - rect.left);\n var vy = transformViewY(target.y - rect.top);\n\n if (_LAppDefine2.default.DEBUG_MOUSE_LOG) console.log(\"onMouseMove device( x:\" + event.clientX + \" y:\" + event.clientY + \" ) view( x:\" + vx + \" y:\" + vy + \")\");\n\n if (drag) {\n lastMouseX = sx;\n lastMouseY = sy;\n dragMgr.setPoint(vx, vy);\n }\n}\n\nfunction lookFront() {\n if (drag) {\n drag = false;\n }\n dragMgr.setPoint(0, 0);\n}\n\nfunction mouseEvent(e) {\n //e.preventDefault();\n if (e.type == \"mousewheel\") {\n // if (e.clientX < 0 || canvas.clientWidth < e.clientX || \n // e.clientY < 0 || canvas.clientHeight < e.clientY)\n // {\n // return;\n // }\n // if (e.wheelDelta > 0) modelScaling(1.1); \n // else modelScaling(0.9); \n } else 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 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 var screenX = deviceToScreen.transformX(deviceX);\n return viewMatrix.invertTransformX(screenX);\n}\n\nfunction transformViewY(deviceY) {\n var screenY = deviceToScreen.transformY(deviceY);\n return viewMatrix.invertTransformY(screenY);\n}\n\nfunction transformScreenX(deviceX) {\n return deviceToScreen.transformX(deviceX);\n}\n\nfunction transformScreenY(deviceY) {\n return deviceToScreen.transformY(deviceY);\n}\n\nfunction getWebGLContext() {\n var NAMES = [\"webgl\", \"experimental-webgl\", \"webkit-3d\", \"moz-webgl\"];\n for (var i = 0; i < NAMES.length; i++) {\n try {\n var ctx = canvas.getContext(NAMES[i], { premultipliedAlpha: true });\n if (ctx) return ctx;\n } catch (e) {}\n }\n return null;\n};\n\nfunction loadlive2d(id, modelurl, headPos) {\n head_pos = typeof headPos === 'undefined' ? 0.5 : headPos;\n initL2dCanvas(id);\n init(modelurl);\n}\n\nwindow.loadlive2d = loadlive2d;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(System) {\n\n(function () {\n var j = true;function aa() {\n if (j) {\n return;\n }this._$MT = null;this._$5S = null;this._$NP = 0;aa._$42++;this._$5S = new y(this);\n }aa._$0s = 1;aa._$4s = 2;aa._$42 = 0;aa._$62 = function (aQ, aU) {\n try {\n if (aU instanceof ArrayBuffer) {\n aU = new DataView(aU);\n }if (!(aU instanceof DataView)) {\n throw new J(\"_$SS#loadModel(b) / b _$x be DataView or ArrayBuffer\");\n }var aS = new K(aU);var aM = aS._$ST();var aK = aS._$ST();var aJ = aS._$ST();var aN;if (aM == 109 && aK == 111 && aJ == 99) {\n aN = aS._$ST();\n } else {\n throw new J(\"_$gi _$C _$li , _$Q0 _$P0.\");\n }aS._$gr(aN);if (aN > ay._$T7) {\n aQ._$NP |= aa._$4s;var aR = ay._$T7;var aI = \"_$gi _$C _$li , _$n0 _$_ version _$li ( SDK : \" + aR + \" < _$f0 : \" + aN + \" )@_$SS#loadModel()\\n\";throw new J(aI);\n }var aL = aS._$nP();if (aN >= ay._$s7) {\n var aH = aS._$9T();var aT = aS._$9T();if (aH != -30584 || aT != -30584) {\n aQ._$NP |= aa._$0s;throw new J(\"_$gi _$C _$li , _$0 _$6 _$Ui.\");\n }\n }aQ._$KS(aL);var aP = aQ.getModelContext();aP.setDrawParam(aQ.getDrawParam());aP.init();\n } catch (aO) {\n q._$Rb(aO);\n }\n };aa.prototype._$KS = function (aH) {\n this._$MT = aH;\n };aa.prototype.getModelImpl = function () {\n if (this._$MT == null) {\n this._$MT = new w();this._$MT._$zP();\n }return this._$MT;\n };aa.prototype.getCanvasWidth = function () {\n if (this._$MT == null) {\n return 0;\n }return this._$MT.getCanvasWidth();\n };aa.prototype.getCanvasHeight = function () {\n if (this._$MT == null) {\n return 0;\n }return this._$MT.getCanvasHeight();\n };aa.prototype.getParamFloat = function (aH) {\n if (typeof aH != \"number\") {\n aH = this._$5S.getParamIndex(z.getID(aH));\n }return this._$5S.getParamFloat(aH);\n };aa.prototype.setParamFloat = function (aH, aJ, aI) {\n if (typeof aH != \"number\") {\n aH = this._$5S.getParamIndex(z.getID(aH));\n }if (arguments.length < 3) {\n aI = 1;\n }this._$5S.setParamFloat(aH, this._$5S.getParamFloat(aH) * (1 - aI) + aJ * aI);\n };aa.prototype.addToParamFloat = function (aH, aJ, aI) {\n if (typeof aH != \"number\") {\n aH = this._$5S.getParamIndex(z.getID(aH));\n }if (arguments.length < 3) {\n aI = 1;\n }this._$5S.setParamFloat(aH, this._$5S.getParamFloat(aH) + aJ * aI);\n };aa.prototype.multParamFloat = function (aH, aJ, aI) {\n if (typeof aH != \"number\") {\n aH = this._$5S.getParamIndex(z.getID(aH));\n }if (arguments.length < 3) {\n aI = 1;\n }this._$5S.setParamFloat(aH, this._$5S.getParamFloat(aH) * (1 + (aJ - 1) * aI));\n };aa.prototype.getParamIndex = function (aH) {\n return this._$5S.getParamIndex(z.getID(aH));\n };aa.prototype.loadParam = function () {\n this._$5S.loadParam();\n };aa.prototype.saveParam = function () {\n this._$5S.saveParam();\n };aa.prototype.init = function () {\n this._$5S.init();\n };aa.prototype.update = function () {\n this._$5S.update();\n };aa.prototype._$Rs = function () {\n q._$li(\"_$60 _$PT _$Rs()\");return -1;\n };aa.prototype._$Ds = function (aH) {\n q._$li(\"_$60 _$PT _$SS#_$Ds() \\n\");\n };aa.prototype._$K2 = function () {};aa.prototype.draw = function () {};aa.prototype.getModelContext = function () {\n return this._$5S;\n };aa.prototype._$s2 = function () {\n return this._$NP;\n };aa.prototype._$P7 = function (aK, aR, aH, a0) {\n var aU = -1;var aY = 0;var aM = this;var aJ = 0.5;var aI = 0.15;var aX = true;if (aH == 0) {\n for (var aV = 0; aV < aK.length; aV++) {\n var aP = aK[aV];var aO = aR[aV];var aS = aM.getParamFloat(aP) != 0;aM.setPartsOpacity(aO, aS ? 1 : 0);\n }return;\n } else {\n if (aK.length == 1) {\n var aP = aK[0];var aT = aM.getParamFloat(aP) != 0;var aO = aR[0];var aQ = aM.getPartsOpacity(aO);var aW = aH / a0;if (aT) {\n aQ += aW;if (aQ > 1) {\n aQ = 1;\n }\n } else {\n aQ -= aW;if (aQ < 0) {\n aQ = 0;\n }\n }aM.setPartsOpacity(aO, aQ);\n } else {\n for (var aV = 0; aV < aK.length; aV++) {\n var aP = aK[aV];var aS = aM.getParamFloat(aP) != 0;if (aS) {\n if (aU >= 0) {\n break;\n }aU = aV;var aO = aR[aV];aY = aM.getPartsOpacity(aO);aY += aH / a0;if (aY > 1) {\n aY = 1;\n }\n }\n }if (aU < 0) {\n console.log(\"No _$wi _$q0/ _$U default[%s]\", aK[0]);aU = 0;aY = 1;aM.loadParam();aM.setParamFloat(aK[aU], aY);aM.saveParam();\n }for (var aV = 0; aV < aK.length; aV++) {\n var aO = aR[aV];if (aU == aV) {\n aM.setPartsOpacity(aO, aY);\n } else {\n var aL = aM.getPartsOpacity(aO);var aZ;if (aY < aJ) {\n aZ = aY * (aJ - 1) / aJ + 1;\n } else {\n aZ = (1 - aY) * aJ / (1 - aJ);\n }if (aX) {\n var aN = (1 - aZ) * (1 - aY);if (aN > aI) {\n aZ = 1 - aI / (1 - aY);\n }\n }if (aL > aZ) {\n aL = aZ;\n }aM.setPartsOpacity(aO, aL);\n }\n }\n }\n }\n };aa.prototype.setPartsOpacity = function (aI, aH) {\n if (typeof aI != \"number\") {\n aI = this._$5S.getPartsDataIndex(i.getID(aI));\n }this._$5S.setPartsOpacity(aI, aH);\n };aa.prototype.getPartsDataIndex = function (aH) {\n if (!(aH instanceof i)) {\n aH = i.getID(aH);\n }return this._$5S.getPartsDataIndex(aH);\n };aa.prototype.getPartsOpacity = function (aH) {\n if (typeof aH != \"number\") {\n aH = this._$5S.getPartsDataIndex(i.getID(aH));\n }if (aH < 0) {\n return 0;\n }return this._$5S.getPartsOpacity(aH);\n };aa.prototype.getDrawParam = function () {};aa.prototype.getDrawDataIndex = function (aH) {\n return this._$5S.getDrawDataIndex(Z.getID(aH));\n };aa.prototype.getDrawData = function (aH) {\n return this._$5S.getDrawData(aH);\n };aa.prototype.getTransformedPoints = function (aH) {\n var aI = this._$5S._$C2(aH);if (aI instanceof ag) {\n return aI.getTransformedPoints();\n }return null;\n };aa.prototype.getIndexArray = function (aI) {\n if (aI < 0 || aI >= this._$5S._$aS.length) {\n return null;\n }var aH = this._$5S._$aS[aI];if (aH != null && aH.getType() == a._$wb) {\n if (aH instanceof b) {\n return aH.getIndexArray();\n }\n }return null;\n };function W(aJ) {\n if (j) {\n return;\n }this.clipContextList = new Array();this.glcontext = aJ.gl;this.dp_webgl = aJ;this.curFrameNo = 0;this.firstError_clipInNotUpdate = true;this.colorBuffer = 0;this.isInitGLFBFunc = false;this.tmpBoundsOnModel = new av();if (Q.glContext.length > Q.frameBuffers.length) {\n this.curFrameNo = this.getMaskRenderTexture();\n } else {}this.tmpModelToViewMatrix = new ac();this.tmpMatrix2 = new ac();this.tmpMatrixForMask = new ac();this.tmpMatrixForDraw = new ac();this.CHANNEL_COLORS = new Array();var aI = new o();aI = new o();aI.r = 0;aI.g = 0;aI.b = 0;aI.a = 1;this.CHANNEL_COLORS.push(aI);aI = new o();aI.r = 1;aI.g = 0;aI.b = 0;aI.a = 0;this.CHANNEL_COLORS.push(aI);aI = new o();aI.r = 0;aI.g = 1;aI.b = 0;aI.a = 0;this.CHANNEL_COLORS.push(aI);aI = new o();aI.r = 0;aI.g = 0;aI.b = 1;aI.a = 0;this.CHANNEL_COLORS.push(aI);for (var aH = 0; aH < this.CHANNEL_COLORS.length; aH++) {\n this.dp_webgl.setChannelFlagAsColor(aH, this.CHANNEL_COLORS[aH]);\n }\n }W.CHANNEL_COUNT = 4;W.RENDER_TEXTURE_USE_MIPMAP = false;W.NOT_USED_FRAME = -100;W.prototype._$L7 = function () {\n if (this.tmpModelToViewMatrix) {\n this.tmpModelToViewMatrix = null;\n }if (this.tmpMatrix2) {\n this.tmpMatrix2 = null;\n }if (this.tmpMatrixForMask) {\n this.tmpMatrixForMask = null;\n }if (this.tmpMatrixForDraw) {\n this.tmpMatrixForDraw = null;\n }if (this.tmpBoundsOnModel) {\n this.tmpBoundsOnModel = null;\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 }this.CHANNEL_COLORS = [];\n }this.releaseShader();\n };W.prototype.releaseShader = function () {\n var aI = Q.frameBuffers.length;for (var aH = 0; aH < aI; aH++) {\n this.gl.deleteFramebuffer(Q.frameBuffers[aH].framebuffer);\n }Q.frameBuffers = [];Q.glContext = [];\n };W.prototype.init = function (aO, aN, aL) {\n for (var aM = 0; aM < aN.length; aM++) {\n var aH = aN[aM].getClipIDList();if (aH == null) {\n continue;\n }var aJ = this.findSameClip(aH);if (aJ == null) {\n aJ = new U(this, aO, aH);this.clipContextList.push(aJ);\n }var aI = aN[aM].getDrawDataID();var aK = aO.getDrawDataIndex(aI);aJ.addClippedDrawData(aI, aK);var aP = aL[aM];aP.clipBufPre_clipContext = aJ;\n }\n };W.prototype.getMaskRenderTexture = function () {\n var aH = null;aH = this.dp_webgl.createFramebuffer();Q.frameBuffers[this.dp_webgl.glno] = aH;return this.dp_webgl.glno;\n };W.prototype.setupClip = function (a1, aQ) {\n var aK = 0;for (var aO = 0; aO < this.clipContextList.length; aO++) {\n var aP = this.clipContextList[aO];this.calcClippedDrawTotalBounds(a1, aP);if (aP.isUsing) {\n aK++;\n }\n }if (aK > 0) {\n var aM = aQ.gl.getParameter(aQ.gl.FRAMEBUFFER_BINDING);var aW = new Array(4);aW[0] = 0;aW[1] = 0;aW[2] = aQ.gl.canvas.width;aW[3] = aQ.gl.canvas.height;aQ.gl.viewport(0, 0, Q.clippingMaskBufferSize, Q.clippingMaskBufferSize);this.setupLayoutBounds(aK);aQ.gl.bindFramebuffer(aQ.gl.FRAMEBUFFER, Q.frameBuffers[this.curFrameNo].framebuffer);aQ.gl.clearColor(0, 0, 0, 0);aQ.gl.clear(aQ.gl.COLOR_BUFFER_BIT);for (var aO = 0; aO < this.clipContextList.length; aO++) {\n var aP = this.clipContextList[aO];var aT = aP.allClippedDrawRect;var aN = aP.layoutChannelNo;var aV = aP.layoutBounds;var aJ = 0.05;this.tmpBoundsOnModel._$jL(aT);this.tmpBoundsOnModel.expand(aT.width * aJ, aT.height * aJ);var aZ = aV.width / this.tmpBoundsOnModel.width;var aY = aV.height / this.tmpBoundsOnModel.height;this.tmpMatrix2.identity();this.tmpMatrix2.translate(-1, -1, 0);this.tmpMatrix2.scale(2, 2, 1);this.tmpMatrix2.translate(aV.x, aV.y, 0);this.tmpMatrix2.scale(aZ, aY, 1);this.tmpMatrix2.translate(-this.tmpBoundsOnModel.x, -this.tmpBoundsOnModel.y, 0);this.tmpMatrixForMask.setMatrix(this.tmpMatrix2.m);this.tmpMatrix2.identity();this.tmpMatrix2.translate(aV.x, aV.y, 0);this.tmpMatrix2.scale(aZ, aY, 1);this.tmpMatrix2.translate(-this.tmpBoundsOnModel.x, -this.tmpBoundsOnModel.y, 0);this.tmpMatrixForDraw.setMatrix(this.tmpMatrix2.m);var aH = this.tmpMatrixForMask.getArray();for (var aX = 0; aX < 16; aX++) {\n aP.matrixForMask[aX] = aH[aX];\n }var a0 = this.tmpMatrixForDraw.getArray();for (var aX = 0; aX < 16; aX++) {\n aP.matrixForDraw[aX] = a0[aX];\n }var aS = aP.clippingMaskDrawIndexList.length;for (var aU = 0; aU < aS; aU++) {\n var aR = aP.clippingMaskDrawIndexList[aU];var aI = a1.getDrawData(aR);var aL = a1._$C2(aR);aQ.setClipBufPre_clipContextForMask(aP);aI.draw(aQ, a1, aL);\n }\n }aQ.gl.bindFramebuffer(aQ.gl.FRAMEBUFFER, aM);aQ.setClipBufPre_clipContextForMask(null);aQ.gl.viewport(aW[0], aW[1], aW[2], aW[3]);\n }\n };W.prototype.getColorBuffer = function () {\n return this.colorBuffer;\n };W.prototype.findSameClip = function (aK) {\n for (var aN = 0; aN < this.clipContextList.length; aN++) {\n var aO = this.clipContextList[aN];var aH = aO.clipIDList.length;if (aH != aK.length) {\n continue;\n }var aI = 0;for (var aM = 0; aM < aH; aM++) {\n var aL = aO.clipIDList[aM];for (var aJ = 0; aJ < aH; aJ++) {\n if (aK[aJ] == aL) {\n aI++;break;\n }\n }\n }if (aI == aH) {\n return aO;\n }\n }return null;\n };W.prototype.calcClippedDrawTotalBounds = function (a6, aV) {\n var aU = a6._$Ri.getModelImpl().getCanvasWidth();var a5 = a6._$Ri.getModelImpl().getCanvasHeight();var aJ = aU > a5 ? aU : a5;var aT = aJ;var aR = aJ;var aS = 0;var aP = 0;var aL = aV.clippedDrawContextList.length;for (var aM = 0; aM < aL; aM++) {\n var aW = aV.clippedDrawContextList[aM];var aN = aW.drawDataIndex;var aK = a6._$C2(aN);if (aK._$yo()) {\n var aX = aK.getTransformedPoints();var a4 = aX.length;var aI = [];var aH = [];var aO = 0;for (var a3 = aw._$i2; a3 < a4; a3 += aw._$No) {\n aI[aO] = aX[a3];aH[aO] = aX[a3 + 1];aO++;\n }var a2 = Math.min.apply(null, aI);var a1 = Math.min.apply(null, aH);var a0 = Math.max.apply(null, aI);var aZ = Math.max.apply(null, aH);if (a2 < aT) {\n aT = a2;\n }if (a1 < aR) {\n aR = a1;\n }if (a0 > aS) {\n aS = a0;\n }if (aZ > aP) {\n aP = aZ;\n }\n }\n }if (aT == aJ) {\n aV.allClippedDrawRect.x = 0;aV.allClippedDrawRect.y = 0;aV.allClippedDrawRect.width = 0;aV.allClippedDrawRect.height = 0;aV.isUsing = false;\n } else {\n var aQ = aS - aT;var aY = aP - aR;aV.allClippedDrawRect.x = aT;aV.allClippedDrawRect.y = aR;aV.allClippedDrawRect.width = aQ;aV.allClippedDrawRect.height = aY;aV.isUsing = true;\n }\n };W.prototype.setupLayoutBounds = function (aQ) {\n var aI = aQ / W.CHANNEL_COUNT;var aP = aQ % W.CHANNEL_COUNT;aI = ~~aI;aP = ~~aP;var aH = 0;for (var aJ = 0; aJ < W.CHANNEL_COUNT; aJ++) {\n var aM = aI + (aJ < aP ? 1 : 0);if (aM == 0) {} else {\n if (aM == 1) {\n var aL = this.clipContextList[aH++];aL.layoutChannelNo = aJ;aL.layoutBounds.x = 0;aL.layoutBounds.y = 0;aL.layoutBounds.width = 1;aL.layoutBounds.height = 1;\n } else {\n if (aM == 2) {\n for (var aO = 0; aO < aM; aO++) {\n var aN = aO % 2;var aK = 0;aN = ~~aN;var aL = this.clipContextList[aH++];aL.layoutChannelNo = aJ;aL.layoutBounds.x = aN * 0.5;aL.layoutBounds.y = 0;aL.layoutBounds.width = 0.5;aL.layoutBounds.height = 1;\n }\n } else {\n if (aM <= 4) {\n for (var aO = 0; aO < aM; aO++) {\n var aN = aO % 2;var aK = aO / 2;aN = ~~aN;aK = ~~aK;var aL = this.clipContextList[aH++];aL.layoutChannelNo = aJ;aL.layoutBounds.x = aN * 0.5;aL.layoutBounds.y = aK * 0.5;aL.layoutBounds.width = 0.5;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;var aK = aO / 3;aN = ~~aN;aK = ~~aK;var aL = this.clipContextList[aH++];aL.layoutChannelNo = aJ;aL.layoutBounds.x = aN / 3;aL.layoutBounds.y = aK / 3;aL.layoutBounds.width = 1 / 3;aL.layoutBounds.height = 1 / 3;\n }\n } else {\n q._$li(\"_$6 _$0P mask count : %d\", aM);\n }\n }\n }\n }\n }\n }\n };function U(aH, aK, aI) {\n this.clipIDList = new Array();this.clipIDList = aI;this.clippingMaskDrawIndexList = new Array();for (var aJ = 0; aJ < aI.length; aJ++) {\n this.clippingMaskDrawIndexList.push(aK.getDrawDataIndex(aI[aJ]));\n }this.clippedDrawContextList = new Array();this.isUsing = true;this.layoutChannelNo = 0;this.layoutBounds = new av();this.allClippedDrawRect = new av();this.matrixForMask = new Float32Array(16);this.matrixForDraw = new Float32Array(16);this.owner = aH;\n }U.prototype.addClippedDrawData = function (aJ, aI) {\n var aH = new R(aJ, aI);this.clippedDrawContextList.push(aH);\n };function R(aI, aH) {\n this._$gP = aI;this.drawDataIndex = aH;\n }function I() {\n if (j) {\n return;\n }this.color = null;\n }function ah() {\n if (j) {\n return;\n }this._$dP = null;this._$eo = null;this._$V0 = null;this._$dP = 1000;this._$eo = 1000;this._$V0 = 1;this._$a0();\n }ah._$JT = function (aP, aN, aO) {\n var aQ = aP / aN;var a1 = aO / aN;var aU = a1;var aZ = 1 / 3;var aR = 2 / 3;var a0 = 1 - (1 - a1) * (1 - a1);var a2 = 1 - (1 - aU) * (1 - aU);var aM = 0;var aL = (1 - a1) * aZ * a0 + (aU * aR + (1 - aU) * aZ) * (1 - a0);var aK = (aU + (1 - aU) * aR) * a2 + (a1 * aZ + (1 - a1) * aR) * (1 - a2);var aJ = 1;var aY = aJ - 3 * aK + 3 * aL - aM;var aX = 3 * aK - 6 * aL + 3 * aM;var aW = 3 * aL - 3 * aM;var aV = aM;if (aQ <= 0) {\n return 0;\n } else {\n if (aQ >= 1) {\n return 1;\n }\n }var aS = aQ;var aI = aS * aS;var aH = aS * aI;var aT = aY * aH + aX * aI + aW * aS + aV;return aT;\n };ah.prototype._$a0 = function () {};ah.prototype.setFadeIn = function (aH) {\n this._$dP = aH;\n };ah.prototype.setFadeOut = function (aH) {\n this._$eo = aH;\n };ah.prototype._$pT = function (aH) {\n this._$V0 = aH;\n };ah.prototype.getFadeOut = function () {\n return this._$eo;\n };ah.prototype._$4T = function () {\n return this._$eo;\n };ah.prototype._$mT = function () {\n return this._$V0;\n };ah.prototype.getDurationMSec = function () {\n return -1;\n };ah.prototype.getLoopDurationMSec = function () {\n return -1;\n };ah.prototype.updateParam = function (aJ, aN) {\n if (!aN._$AT || aN._$9L) {\n return;\n }var aL = P.getUserTimeMSec();if (aN._$z2 < 0) {\n aN._$z2 = aL;aN._$bs = aL;var aM = this.getDurationMSec();if (aN._$Do < 0) {\n aN._$Do = aM <= 0 ? -1 : aN._$z2 + aM;\n }\n }var aI = this._$V0;var aH = this._$dP == 0 ? 1 : A._$r2((aL - aN._$bs) / this._$dP);var aK = this._$eo == 0 || aN._$Do < 0 ? 1 : A._$r2((aN._$Do - aL) / this._$eo);aI = aI * aH * aK;if (!(0 <= aI && aI <= 1)) {\n console.log(\"### assert!! ### \");\n }this.updateParamExe(aJ, aL, aI, aN);if (aN._$Do > 0 && aN._$Do < aL) {\n aN._$9L = true;\n }\n };ah.prototype.updateParamExe = function (aH, aI, aJ, aK) {};function q() {}q._$8s = 0;q._$fT = new Object();q.start = function (aI) {\n var aH = q._$fT[aI];if (aH == null) {\n aH = new af();aH._$r = aI;q._$fT[aI] = aH;\n }aH._$0S = P.getSystemTimeMSec();\n };q.dump = function (aJ) {\n var aH = q._$fT[aJ];if (aH != null) {\n var aI = P.getSystemTimeMSec();var aK = aI - aH._$0S;console.log(aJ + \" : \" + aK + \"ms\");return aK;\n } else {\n return -1;\n }\n };q.end = function (aJ) {\n var aH = q._$fT[aJ];if (aH != null) {\n var aI = P.getSystemTimeMSec();return aI - aH._$0S;\n } else {\n return -1;\n }\n };q._$li = function (aI, aH) {\n console.log(\"_$li : \" + aI + \"\\n\", aH);\n };q._$Ji = function (aI, aH) {\n console.log(aI, aH);\n };q._$dL = function (aI, aH) {\n console.log(aI, aH);console.log(\"\\n\");\n };q._$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 }console.log(\"%02X \", aJ[aH] & 255);\n }console.log(\"\\n\");\n };q._$nr = function (aL, aI, aK) {\n console.log(\"%s\\n\", aL);var aH = aI.length;for (var aJ = 0; aJ < aH; ++aJ) {\n console.log(\"%5d\", aI[aJ]);console.log(\"%s\\n\", aK);console.log(\",\");\n }console.log(\"\\n\");\n };q._$Rb = function (aH) {\n console.log(\"dump exception : \" + aH);console.log(\"stack :: \" + aH.stack);\n };function af() {\n this._$r = null;this._$0S = null;\n }function F() {\n if (j) {\n return;\n }this.x = null;this.y = null;this.width = null;this.height = null;\n }F.prototype._$8P = function () {\n return 0.5 * (this.x + this.x + this.width);\n };F.prototype._$6P = function () {\n return 0.5 * (this.y + this.y + this.height);\n };F.prototype._$EL = function () {\n return this.x + this.width;\n };F.prototype._$5T = function () {\n return this.y + this.height;\n };F.prototype._$jL = function (aI, aK, aJ, aH) {\n this.x = aI;this.y = aK;this.width = aJ;this.height = aH;\n };F.prototype._$jL = function (aH) {\n this.x = aH.x;this.y = aH.y;this.width = aH.width;this.height = aH.height;\n };function i(aH) {\n if (j) {\n return;\n }ak.prototype.constructor.call(this, aH);\n }i.prototype = new ak();i._$tP = new Object();i._$27 = function () {\n i._$tP.clear();\n };i.getID = function (aH) {\n var aI = i._$tP[aH];if (aI == null) {\n aI = new i(aH);i._$tP[aH] = aI;\n }return aI;\n };i.prototype._$3s = function () {\n return new i();\n };function S() {}function z(aH) {\n if (j) {\n return;\n }ak.prototype.constructor.call(this, aH);\n }z.prototype = new ak();z._$tP = new Object();z._$27 = function () {\n z._$tP.clear();\n };z.getID = function (aH) {\n var aI = z._$tP[aH];if (aI == null) {\n aI = new z(aH);z._$tP[aH] = aI;\n }return aI;\n };z.prototype._$3s = function () {\n return new z();\n };function w() {\n if (j) {\n return;\n }this._$vo = null;this._$F2 = null;this._$ao = 400;this._$1S = 400;w._$42++;\n }w._$42 = 0;w.prototype._$zP = function () {\n if (this._$vo == null) {\n this._$vo = new an();\n }if (this._$F2 == null) {\n this._$F2 = new Array();\n }\n };w.prototype.getCanvasWidth = function () {\n return this._$ao;\n };w.prototype.getCanvasHeight = function () {\n return this._$1S;\n };w.prototype._$F0 = function (aH) {\n this._$vo = aH._$nP();this._$F2 = aH._$nP();this._$ao = aH._$6L();this._$1S = aH._$6L();\n };w.prototype._$6S = function (aH) {\n this._$F2.push(aH);\n };w.prototype._$Xr = function () {\n return this._$F2;\n };w.prototype._$E2 = function () {\n return this._$vo;\n };function u() {\n if (j) {\n return;\n }this.p1 = new N();this.p2 = new N();this._$Fo = 0;this._$Db = 0;this._$L2 = 0;this._$M2 = 0;this._$ks = 0;this._$9b = 0;this._$iP = 0;this._$iT = 0;this._$lL = new Array();this._$qP = new Array();this.setup(0.3, 0.5, 0.1);\n }u.prototype.setup = function (aJ, aI, aH) {\n this._$ks = this._$Yb();this.p2._$xT();if (arguments.length == 3) {\n this._$Fo = aJ;this._$L2 = aI;this.p1._$p = aH;this.p2._$p = aH;this.p2.y = aJ;this.setup();\n }\n };u.prototype.getPhysicsPoint1 = function () {\n return this.p1;\n };u.prototype.getPhysicsPoint2 = function () {\n return this.p2;\n };u.prototype._$qr = function () {\n return this._$Db;\n };u.prototype._$pr = function (aH) {\n this._$Db = aH;\n };u.prototype._$5r = function () {\n return this._$M2;\n };u.prototype._$Cs = function () {\n return this._$9b;\n };u.prototype._$Yb = function () {\n return -180 * Math.atan2(this.p1.x - this.p2.x, -(this.p1.y - this.p2.y)) / Math.PI;\n };u.prototype.addSrcParam = function (aJ, aH, aL, aI) {\n var aK = new h(aJ, aH, aL, aI);this._$lL.push(aK);\n };u.prototype.addTargetParam = function (aJ, aH, aK, aI) {\n var aL = new aF(aJ, aH, aK, aI);this._$qP.push(aL);\n };u.prototype.update = function (aI, aL) {\n if (this._$iP == 0) {\n this._$iP = this._$iT = aL;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));return;\n }var aK = (aL - this._$iT) / 1000;if (aK != 0) {\n for (var aJ = this._$lL.length - 1; aJ >= 0; --aJ) {\n var aM = this._$lL[aJ];aM._$oP(aI, this);\n }this._$oo(aI, aK);this._$M2 = this._$Yb();this._$9b = (this._$M2 - this._$ks) / aK;this._$ks = this._$M2;\n }for (var aJ = this._$qP.length - 1; aJ >= 0; --aJ) {\n var aH = this._$qP[aJ];aH._$YS(aI, this);\n }this._$iT = aL;\n };u.prototype._$oo = function (aN, aI) {\n if (aI < 0.033) {\n aI = 0.033;\n }var aU = 1 / aI;this.p1.vx = (this.p1.x - this.p1._$s0) * aU;this.p1.vy = (this.p1.y - this.p1._$70) * aU;this.p1.ax = (this.p1.vx - this.p1._$7L) * aU;this.p1.ay = (this.p1.vy - this.p1._$HL) * aU;this.p1.fx = this.p1.ax * this.p1._$p;this.p1.fy = this.p1.ay * this.p1._$p;this.p1._$xT();var aM = -Math.atan2(this.p1.y - this.p2.y, this.p1.x - this.p2.x);var aL;var aV;var aR = Math.cos(aM);var aH = Math.sin(aM);var aW = 9.8 * this.p2._$p;var aQ = this._$Db * aC._$bS;var aP = aW * Math.cos(aM - aQ);aL = aP * aH;aV = aP * aR;var aK = -this.p1.fx * aH * aH;var aT = -this.p1.fy * aH * aR;var aJ = -this.p2.vx * this._$L2;var aS = -this.p2.vy * this._$L2;this.p2.fx = aL + aK + aJ;this.p2.fy = aV + aT + aS;this.p2.ax = this.p2.fx / this.p2._$p;this.p2.ay = this.p2.fy / this.p2._$p;this.p2.vx += this.p2.ax * aI;this.p2.vy += this.p2.ay * aI;this.p2.x += this.p2.vx * aI;this.p2.y += this.p2.vy * aI;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));this.p2.x = this.p1.x + this._$Fo * (this.p2.x - this.p1.x) / aO;this.p2.y = this.p1.y + this._$Fo * (this.p2.y - this.p1.y) / aO;this.p2.vx = (this.p2.x - this.p2._$s0) * aU;this.p2.vy = (this.p2.y - this.p2._$70) * aU;this.p2._$xT();\n };function N() {\n this._$p = 1;this.x = 0;this.y = 0;this.vx = 0;this.vy = 0;this.ax = 0;this.ay = 0;this.fx = 0;this.fy = 0;this._$s0 = 0;this._$70 = 0;this._$7L = 0;this._$HL = 0;\n }N.prototype._$xT = function () {\n this._$s0 = this.x;this._$70 = this.y;this._$7L = this.vx;this._$HL = this.vy;\n };function at(aJ, aI, aH) {\n this._$wL = null;this.scale = null;this._$V0 = null;this._$wL = aJ;this.scale = aI;this._$V0 = aH;\n }at.prototype._$oP = function (aI, aH) {};function h(aJ, aK, aI, aH) {\n at.prototype.constructor.call(this, aK, aI, aH);this._$tL = null;this._$tL = aJ;\n }h.prototype = new at();h.prototype._$oP = function (aJ, aH) {\n var aK = this.scale * aJ.getParamFloat(this._$wL);var aL = aH.getPhysicsPoint1();switch (this._$tL) {default:case u.Src.SRC_TO_X:\n aL.x = aL.x + (aK - aL.x) * this._$V0;break;case u.Src.SRC_TO_Y:\n aL.y = aL.y + (aK - aL.y) * this._$V0;break;case u.Src.SRC_TO_G_ANGLE:\n var aI = aH._$qr();aI = aI + (aK - aI) * this._$V0;aH._$pr(aI);break;}\n };function d(aJ, aI, aH) {\n this._$wL = null;this.scale = null;this._$V0 = null;this._$wL = aJ;this.scale = aI;this._$V0 = aH;\n }d.prototype._$YS = function (aI, aH) {};function aF(aI, aK, aJ, aH) {\n d.prototype.constructor.call(this, aK, aJ, aH);this._$YP = null;this._$YP = aI;\n }aF.prototype = new d();aF.prototype._$YS = function (aI, aH) {\n switch (this._$YP) {default:case u.Target.TARGET_FROM_ANGLE:\n aI.setParamFloat(this._$wL, this.scale * aH._$5r(), this._$V0);break;case u.Target.TARGET_FROM_ANGLE_V:\n aI.setParamFloat(this._$wL, this.scale * aH._$Cs(), this._$V0);break;}\n };u.Src = function () {};u.Src.SRC_TO_X = \"SRC_TO_X\";u.Src.SRC_TO_Y = \"SRC_TO_Y\";u.Src.SRC_TO_G_ANGLE = \"SRC_TO_G_ANGLE\";u.Target = function () {};u.Target.TARGET_FROM_ANGLE = \"TARGET_FROM_ANGLE\";u.Target.TARGET_FROM_ANGLE_V = \"TARGET_FROM_ANGLE_V\";function X() {\n if (j) {\n return;\n }this._$fL = 0;this._$gL = 0;this._$B0 = 1;this._$z0 = 1;this._$qT = 0;this.reflectX = false;this.reflectY = false;\n }X.prototype.init = function (aH) {\n this._$fL = aH._$fL;this._$gL = aH._$gL;this._$B0 = aH._$B0;this._$z0 = aH._$z0;this._$qT = aH._$qT;this.reflectX = aH.reflectX;this.reflectY = aH.reflectY;\n };X.prototype._$F0 = function (aH) {\n this._$fL = aH._$_T();this._$gL = aH._$_T();this._$B0 = aH._$_T();this._$z0 = aH._$_T();this._$qT = aH._$_T();if (aH.getFormatVersion() >= ay.LIVE2D_FORMAT_VERSION_V2_10_SDK2) {\n this.reflectX = aH._$po();this.reflectY = aH._$po();\n }\n };X.prototype._$e = function () {};var ad = function ad() {};ad._$ni = function (aL, aJ, aR, aQ, aK, aI, aH, aS, aN) {\n var aM = aH * aI - aS * aK;if (aM == 0) {\n return null;\n } else {\n var aO = ((aL - aR) * aI - (aJ - aQ) * aK) / aM;var aP;if (aK != 0) {\n aP = (aL - aR - aO * aH) / aK;\n } else {\n aP = (aJ - aQ - aO * aS) / aI;\n }if (isNaN(aP)) {\n aP = (aL - aR - aO * aH) / aK;if (isNaN(aP)) {\n aP = (aJ - aQ - aO * aS) / aI;\n }if (isNaN(aP)) {\n console.log(\"a is NaN @UtVector#_$ni() \");console.log(\"v1x : \" + aK);console.log(\"v1x != 0 ? \" + (aK != 0));\n }\n }if (aN == null) {\n return new Array(aP, aO);\n } else {\n aN[0] = aP;aN[1] = aO;return aN;\n }\n }\n };function av() {\n if (j) {\n return;\n }this.x = null;this.y = null;this.width = null;this.height = null;\n }av.prototype._$8P = function () {\n return this.x + 0.5 * this.width;\n };av.prototype._$6P = function () {\n return this.y + 0.5 * this.height;\n };av.prototype._$EL = function () {\n return this.x + this.width;\n };av.prototype._$5T = function () {\n return this.y + this.height;\n };av.prototype._$jL = function (aI, aK, aJ, aH) {\n this.x = aI;this.y = aK;this.width = aJ;this.height = aH;\n };av.prototype._$jL = function (aH) {\n this.x = aH.x;this.y = aH.y;this.width = aH.width;this.height = aH.height;\n };av.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 };av.prototype.expand = function (aH, aI) {\n this.x -= aH;this.y -= aI;this.width += aH * 2;this.height += aI * 2;\n };function aG() {}aG._$Z2 = function (bb, bo, bp, a2) {\n var a1 = bo._$Q2(bb, bp);var a3 = bb._$vs();var ba = bb._$Tr();bo._$zr(a3, ba, a1);if (a1 <= 0) {\n return a2[a3[0]];\n } else {\n if (a1 == 1) {\n var bj = a2[a3[0]];var bi = a2[a3[1]];var a9 = ba[0];return bj + (bi - bj) * a9 | 0;\n } else {\n if (a1 == 2) {\n var bj = a2[a3[0]];var bi = a2[a3[1]];var a0 = a2[a3[2]];var aZ = a2[a3[3]];var a9 = ba[0];var a8 = ba[1];var br = bj + (bi - bj) * a9 | 0;var bq = a0 + (aZ - a0) * a9 | 0;return br + (bq - br) * a8 | 0;\n } else {\n if (a1 == 3) {\n var aP = a2[a3[0]];var aO = a2[a3[1]];var bn = a2[a3[2]];var bm = a2[a3[3]];var aK = a2[a3[4]];var aJ = a2[a3[5]];var bg = a2[a3[6]];var bf = a2[a3[7]];var a9 = ba[0];var a8 = ba[1];var a6 = ba[2];var bj = aP + (aO - aP) * a9 | 0;var bi = bn + (bm - bn) * a9 | 0;var a0 = aK + (aJ - aK) * a9 | 0;var aZ = bg + (bf - bg) * a9 | 0;var br = bj + (bi - bj) * a8 | 0;var bq = a0 + (aZ - a0) * a8 | 0;return br + (bq - br) * a6 | 0;\n } else {\n if (a1 == 4) {\n var aT = a2[a3[0]];var aS = a2[a3[1]];var bu = a2[a3[2]];var bt = a2[a3[3]];var aN = a2[a3[4]];var aM = a2[a3[5]];var bl = a2[a3[6]];var bk = a2[a3[7]];var be = a2[a3[8]];var bc = a2[a3[9]];var aX = a2[a3[10]];var aW = a2[a3[11]];var a7 = a2[a3[12]];var a5 = a2[a3[13]];var aR = a2[a3[14]];var aQ = a2[a3[15]];var a9 = ba[0];var a8 = ba[1];var a6 = ba[2];var a4 = ba[3];var aP = aT + (aS - aT) * a9 | 0;var aO = bu + (bt - bu) * a9 | 0;var bn = aN + (aM - aN) * a9 | 0;var bm = bl + (bk - bl) * a9 | 0;var aK = be + (bc - be) * a9 | 0;var aJ = aX + (aW - aX) * a9 | 0;var bg = a7 + (a5 - a7) * a9 | 0;var bf = aR + (aQ - aR) * a9 | 0;var bj = aP + (aO - aP) * a8 | 0;var bi = bn + (bm - bn) * a8 | 0;var a0 = aK + (aJ - aK) * a8 | 0;var aZ = bg + (bf - bg) * a8 | 0;var br = bj + (bi - bj) * a6 | 0;var bq = a0 + (aZ - a0) * a6 | 0;return br + (bq - br) * a4 | 0;\n } else {\n var aV = 1 << a1;var aY = new Float32Array(aV);for (var bh = 0; bh < aV; bh++) {\n var aI = bh;var aH = 1;for (var aL = 0; aL < a1; aL++) {\n aH *= aI % 2 == 0 ? 1 - ba[aL] : ba[aL];aI /= 2;\n }aY[bh] = aH;\n }var bs = new Float32Array(aV);for (var aU = 0; aU < aV; aU++) {\n bs[aU] = a2[a3[aU]];\n }var bd = 0;for (var aU = 0; aU < aV; aU++) {\n bd += aY[aU] * bs[aU];\n }return bd + 0.5 | 0;\n }\n }\n }\n }\n }\n };aG._$br = function (ba, bo, bp, bg) {\n var a1 = bo._$Q2(ba, bp);var a2 = ba._$vs();var a9 = ba._$Tr();bo._$zr(a2, a9, a1);if (a1 <= 0) {\n return bg[a2[0]];\n } else {\n if (a1 == 1) {\n var bj = bg[a2[0]];var bi = bg[a2[1]];var a8 = a9[0];return bj + (bi - bj) * a8;\n } else {\n if (a1 == 2) {\n var bj = bg[a2[0]];var bi = bg[a2[1]];var a0 = bg[a2[2]];var aZ = bg[a2[3]];var a8 = a9[0];var a7 = a9[1];return (1 - a7) * (bj + (bi - bj) * a8) + a7 * (a0 + (aZ - a0) * a8);\n } else {\n if (a1 == 3) {\n var aP = bg[a2[0]];var aO = bg[a2[1]];var bn = bg[a2[2]];var bm = bg[a2[3]];var aK = bg[a2[4]];var aJ = bg[a2[5]];var bf = bg[a2[6]];var be = bg[a2[7]];var a8 = a9[0];var a7 = a9[1];var a5 = a9[2];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]];var aS = bg[a2[1]];var bs = bg[a2[2]];var br = bg[a2[3]];var aN = bg[a2[4]];var aM = bg[a2[5]];var bl = bg[a2[6]];var bk = bg[a2[7]];var bd = bg[a2[8]];var bb = bg[a2[9]];var aX = bg[a2[10]];var aW = bg[a2[11]];var a6 = bg[a2[12]];var a4 = bg[a2[13]];var aR = bg[a2[14]];var aQ = bg[a2[15]];var a8 = a9[0];var a7 = a9[1];var a5 = a9[2];var a3 = a9[3];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;var aY = new Float32Array(aV);for (var bh = 0; bh < aV; bh++) {\n var aI = bh;var aH = 1;for (var aL = 0; aL < a1; aL++) {\n aH *= aI % 2 == 0 ? 1 - a9[aL] : a9[aL];aI /= 2;\n }aY[bh] = aH;\n }var bq = new Float32Array(aV);for (var aU = 0; aU < aV; aU++) {\n bq[aU] = bg[a2[aU]];\n }var bc = 0;for (var aU = 0; aU < aV; aU++) {\n bc += aY[aU] * bq[aU];\n }return bc;\n }\n }\n }\n }\n }\n };aG._$Vr = function (bV, bW, a5, aI, bC, a3, bX, bH) {\n var aN = bW._$Q2(bV, a5);var bw = bV._$vs();var a2 = bV._$Tr();bW._$zr(bw, a2, aN);var aJ = aI * 2;var aQ = bX;if (aN <= 0) {\n var bI = bw[0];var bq = bC[bI];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++];a3[aQ + 1] = bq[bt++];aQ += bH;\n }\n }\n } else {\n if (aN == 1) {\n var bq = bC[bw[0]];var bp = bC[bw[1]];var b3 = a2[0];var bT = 1 - b3;for (var bt = 0; bt < aJ;) {\n a3[aQ] = bq[bt] * bT + bp[bt] * b3;++bt;a3[aQ + 1] = bq[bt] * bT + bp[bt] * b3;++bt;aQ += bH;\n }\n } else {\n if (aN == 2) {\n var bq = bC[bw[0]];var bp = bC[bw[1]];var aZ = bC[bw[2]];var aY = bC[bw[3]];var b3 = a2[0];var b1 = a2[1];var bT = 1 - b3;var bP = 1 - b1;var b2 = bP * bT;var b0 = bP * b3;var bM = b1 * bT;var bL = b1 * b3;for (var bt = 0; bt < aJ;) {\n a3[aQ] = b2 * bq[bt] + b0 * bp[bt] + bM * aZ[bt] + bL * aY[bt];++bt;a3[aQ + 1] = b2 * bq[bt] + b0 * bp[bt] + bM * aZ[bt] + bL * aY[bt];++bt;aQ += bH;\n }\n } else {\n if (aN == 3) {\n var ba = bC[bw[0]];var a9 = bC[bw[1]];var aP = bC[bw[2]];var aO = bC[bw[3]];var a6 = bC[bw[4]];var a4 = bC[bw[5]];var aL = bC[bw[6]];var aK = bC[bw[7]];var b3 = a2[0];var b1 = a2[1];var bZ = a2[2];var bT = 1 - b3;var bP = 1 - b1;var bN = 1 - bZ;var b8 = bN * bP * bT;var b7 = bN * bP * b3;var bU = bN * b1 * bT;var bS = bN * b1 * b3;var b6 = bZ * bP * bT;var b5 = bZ * bP * b3;var bQ = bZ * b1 * bT;var bO = bZ * b1 * b3;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];++bt;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];++bt;aQ += bH;\n }\n } else {\n if (aN == 4) {\n var bD = bC[bw[0]];var bB = bC[bw[1]];var bo = bC[bw[2]];var bm = bC[bw[3]];var by = bC[bw[4]];var bx = bC[bw[5]];var be = bC[bw[6]];var bd = bC[bw[7]];var bG = bC[bw[8]];var bE = bC[bw[9]];var bv = bC[bw[10]];var bu = bC[bw[11]];var bA = bC[bw[12]];var bz = bC[bw[13]];var bn = bC[bw[14]];var bl = bC[bw[15]];var b3 = a2[0];var b1 = a2[1];var bZ = a2[2];var bY = a2[3];var bT = 1 - b3;var bP = 1 - b1;var bN = 1 - bZ;var bK = 1 - bY;var bk = bK * bN * bP * bT;var bi = bK * bN * bP * b3;var aW = bK * bN * b1 * bT;var aV = bK * bN * b1 * b3;var bc = bK * bZ * bP * bT;var bb = bK * bZ * bP * b3;var aS = bK * bZ * b1 * bT;var aR = bK * bZ * b1 * b3;var bs = bY * bN * bP * bT;var br = bY * bN * bP * b3;var a1 = bY * bN * b1 * bT;var a0 = bY * bN * b1 * b3;var bh = bY * bZ * bP * bT;var bf = bY * bZ * bP * b3;var aU = bY * bZ * b1 * bT;var aT = bY * bZ * b1 * b3;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];++bt;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];++bt;aQ += bH;\n }\n } else {\n var b4 = 1 << aN;var bJ = new Float32Array(b4);for (var bj = 0; bj < b4; bj++) {\n var aH = bj;var aM = 1;for (var bF = 0; bF < aN; bF++) {\n aM *= aH % 2 == 0 ? 1 - a2[bF] : a2[bF];aH /= 2;\n }bJ[bj] = aM;\n }var bg = new Float32Array(b4);for (var aX = 0; aX < b4; aX++) {\n bg[aX] = bC[bw[aX]];\n }for (var bt = 0; bt < aJ;) {\n var a8 = 0,\n a7 = 0;var bR = bt + 1;for (var aX = 0; aX < b4; aX++) {\n a8 += bJ[aX] * bg[aX][bt];a7 += bJ[aX] * bg[aX][bR];\n }bt += 2;a3[aQ] = a8;a3[aQ + 1] = a7;aQ += bH;\n }\n }\n }\n }\n }\n }\n };function e() {\n if (j) {\n return;\n }this.x = null;this.y = null;\n }e.prototype._$HT = function (aH, aI) {\n this.x = aH;this.y = aI;\n };e.prototype._$HT = function (aH) {\n this.x = aH.x;this.y = aH.y;\n };function ae() {\n if (j) {\n return;\n }this._$gP = null;this._$dr = null;this._$GS = null;this._$qb = null;this._$Lb = null;this._$mS = null;this.clipID = null;this.clipIDList = new Array();\n }ae._$ur = -2;ae._$ES = 500;ae._$wb = 2;ae._$8S = 3;ae._$52 = ae._$ES;ae._$R2 = ae._$ES;ae._$or = function () {\n return ae._$52;\n };ae._$Pr = function () {\n return ae._$R2;\n };ae.prototype.convertClipIDForV2_11 = function (aI) {\n var aH = [];if (aI == null) {\n return null;\n }if (aI.length == 0) {\n return null;\n }if (!/,/.test(aI)) {\n aH.push(aI.id);return aH;\n }aH = aI.id.split(\",\");return aH;\n };ae.prototype._$F0 = function (aH) {\n this._$gP = aH._$nP();this._$dr = aH._$nP();this._$GS = aH._$nP();this._$qb = aH._$6L();this._$Lb = aH._$cS();this._$mS = aH._$Tb();if (aH.getFormatVersion() >= ay._$T7) {\n this.clipID = aH._$nP();this.clipIDList = this.convertClipIDForV2_11(this.clipID);\n } else {\n this.clipIDList = [];\n }this._$MS(this._$Lb);\n };ae.prototype.getClipIDList = function () {\n return this.clipIDList;\n };ae.prototype.init = function (aH) {};ae.prototype._$Nr = function (aH, aI) {\n aI._$IS[0] = false;aI._$Us = aG._$Z2(aH, this._$GS, aI._$IS, this._$Lb);if (Q._$Zs) {} else {\n if (aI._$IS[0]) {\n return;\n }\n }aI._$7s = aG._$br(aH, this._$GS, aI._$IS, this._$mS);\n };ae.prototype._$2b = function (aH, aI) {};ae.prototype.getDrawDataID = function () {\n return this._$gP;\n };ae.prototype._$j2 = function (aH) {\n this._$gP = aH;\n };ae.prototype.getOpacity = function (aH, aI) {\n return aI._$7s;\n };ae.prototype._$zS = function (aH, aI) {\n return aI._$Us;\n };ae.prototype._$MS = function (aJ) {\n for (var aI = aJ.length - 1; aI >= 0; --aI) {\n var aH = aJ[aI];if (aH < ae._$52) {\n ae._$52 = aH;\n } else {\n if (aH > ae._$R2) {\n ae._$R2 = aH;\n }\n }\n }\n };ae.prototype.getTargetBaseDataID = function () {\n return this._$dr;\n };ae.prototype._$gs = function (aH) {\n this._$dr = aH;\n };ae.prototype._$32 = function () {\n return this._$dr != null && this._$dr != n._$2o();\n };ae.prototype.preDraw = function (aJ, aH, aI) {};ae.prototype.draw = function (aJ, aH, aI) {};ae.prototype.getType = function () {};ae.prototype._$B2 = function (aI, aH, aJ) {};function ax() {\n if (j) {\n return;\n }this._$Eb = ax._$ps;this._$lT = 1;this._$C0 = 1;this._$tT = 1;this._$WL = 1;this.culling = false;this.matrix4x4 = new Float32Array(16);this.premultipliedAlpha = false;this.anisotropy = 0;this.clippingProcess = ax.CLIPPING_PROCESS_NONE;this.clipBufPre_clipContextMask = null;this.clipBufPre_clipContextDraw = null;this.CHANNEL_COLORS = new Array();\n }ax._$ps = 32;ax.CLIPPING_PROCESS_NONE = 0;ax.CLIPPING_PROCESS_OVERWRITE_ALPHA = 1;ax.CLIPPING_PROCESS_MULTIPLY_ALPHA = 2;ax.CLIPPING_PROCESS_DRAW = 3;ax.CLIPPING_PROCESS_CLEAR_ALPHA = 4;ax.prototype.setChannelFlagAsColor = function (aH, aI) {\n this.CHANNEL_COLORS[aH] = aI;\n };ax.prototype.getChannelFlagAsColor = function (aH) {\n return this.CHANNEL_COLORS[aH];\n };ax.prototype._$ZT = function () {};ax.prototype._$Uo = function (aM, aK, aJ, aL, aN, aI, aH) {};ax.prototype._$Rs = function () {\n return -1;\n };ax.prototype._$Ds = function (aH) {};ax.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 }if (aJ < 0) {\n aJ = 0;\n } else {\n if (aJ > 1) {\n aJ = 1;\n }\n }if (aI < 0) {\n aI = 0;\n } else {\n if (aI > 1) {\n aI = 1;\n }\n }if (aH < 0) {\n aH = 0;\n } else {\n if (aH > 1) {\n aH = 1;\n }\n }this._$lT = aK;this._$C0 = aJ;this._$tT = aI;this._$WL = aH;\n };ax.prototype._$WP = function (aH) {\n this.culling = aH;\n };ax.prototype.setMatrix = function (aH) {\n for (var aI = 0; aI < 16; aI++) {\n this.matrix4x4[aI] = aH[aI];\n }\n };ax.prototype._$IT = function () {\n return this.matrix4x4;\n };ax.prototype.setPremultipliedAlpha = function (aH) {\n this.premultipliedAlpha = aH;\n };ax.prototype.isPremultipliedAlpha = function () {\n return this.premultipliedAlpha;\n };ax.prototype.setAnisotropy = function (aH) {\n this.anisotropy = aH;\n };ax.prototype.getAnisotropy = function () {\n return this.anisotropy;\n };ax.prototype.getClippingProcess = function () {\n return this.clippingProcess;\n };ax.prototype.setClippingProcess = function (aH) {\n this.clippingProcess = aH;\n };ax.prototype.setClipBufPre_clipContextForMask = function (aH) {\n this.clipBufPre_clipContextMask = aH;\n };ax.prototype.getClipBufPre_clipContextMask = function () {\n return this.clipBufPre_clipContextMask;\n };ax.prototype.setClipBufPre_clipContextForDraw = function (aH) {\n this.clipBufPre_clipContextDraw = aH;\n };ax.prototype.getClipBufPre_clipContextDraw = function () {\n return this.clipBufPre_clipContextDraw;\n };function o() {\n if (j) {\n return;\n }this.a = 1;this.r = 1;this.g = 1;this.b = 1;this.scale = 1;this._$ho = 1;this.blendMode = Q.L2D_COLOR_BLEND_MODE_MULT;\n }function c() {\n if (j) {\n return;\n }this._$kP = null;this._$dr = null;this._$Ai = true;this._$mS = null;\n }c._$ur = -2;c._$c2 = 1;c._$_b = 2;c.prototype._$F0 = function (aH) {\n this._$kP = aH._$nP();this._$dr = aH._$nP();\n };c.prototype.readV2_opacity = function (aH) {\n if (aH.getFormatVersion() >= ay.LIVE2D_FORMAT_VERSION_V2_10_SDK2) {\n this._$mS = aH._$Tb();\n }\n };c.prototype.init = function (aH) {};c.prototype._$Nr = function (aI, aH) {};c.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 };c.prototype._$2b = function (aI, aH) {};c.prototype._$nb = function (aL, aK, aM, aH, aI, aJ, aN) {};c.prototype.getType = function () {};c.prototype._$gs = function (aH) {\n this._$dr = aH;\n };c.prototype._$a2 = function (aH) {\n this._$kP = aH;\n };c.prototype.getTargetBaseDataID = function () {\n return this._$dr;\n };c.prototype.getBaseDataID = function () {\n return this._$kP;\n };c.prototype._$32 = function () {\n return this._$dr != null && this._$dr != n._$2o();\n };function P() {}P._$W2 = 0;P._$CS = P._$W2;P._$Mo = function () {\n return true;\n };P._$XP = function (aI) {\n try {\n var aJ = getTimeMSec();while (getTimeMSec() - aJ < aI) {}\n } catch (aH) {\n aH._$Rb();\n }\n };P.getUserTimeMSec = function () {\n return P._$CS == P._$W2 ? P.getSystemTimeMSec() : P._$CS;\n };P.setUserTimeMSec = function (aH) {\n P._$CS = aH;\n };P.updateUserTimeMSec = function () {\n return P._$CS = P.getSystemTimeMSec();\n };P.getTimeMSec = function () {\n return new Date().getTime();\n };P.getSystemTimeMSec = function () {\n return new Date().getTime();\n };P._$Q = function (aH) {};P._$jT = function (aM, aJ, aI, aL, aH) {\n for (var aK = 0; aK < aH; aK++) {\n aI[aL + aK] = aM[aJ + aK];\n }\n };function aA() {\n if (j) {\n return;\n }this._$VP = 0;this._$wL = null;this._$GP = null;this._$8o = aA._$ds;this._$2r = -1;this._$O2 = 0;this._$ri = 0;\n }aA._$ds = -2;aA.prototype._$F0 = function (aH) {\n this._$wL = aH._$nP();this._$VP = aH._$6L();this._$GP = aH._$nP();\n };aA.prototype.getParamIndex = function (aH) {\n if (this._$2r != aH) {\n this._$8o = aA._$ds;\n }return this._$8o;\n };aA.prototype._$Pb = function (aI, aH) {\n this._$8o = aI;this._$2r = aH;\n };aA.prototype.getParamID = function () {\n return this._$wL;\n };aA.prototype._$yP = function (aH) {\n this._$wL = aH;\n };aA.prototype._$N2 = function () {\n return this._$VP;\n };aA.prototype._$d2 = function () {\n return this._$GP;\n };aA.prototype._$t2 = function (aI, aH) {\n this._$VP = aI;this._$GP = aH;\n };aA.prototype._$Lr = function () {\n return this._$O2;\n };aA.prototype._$wr = function (aH) {\n this._$O2 = aH;\n };aA.prototype._$SL = function () {\n return this._$ri;\n };aA.prototype._$AL = function (aH) {\n this._$ri = aH;\n };function G() {}G.startsWith = function (aJ, aL, aK) {\n var aH = aL + aK.length;if (aH >= aJ.length) {\n return false;\n }for (var aI = aL; aI < aH; aI++) {\n if (G.getChar(aJ, aI) != aK.charAt(aI - aL)) {\n return false;\n }\n }return true;\n };G.getChar = function (aI, aH) {\n return String.fromCharCode(aI.getUint8(aH));\n };G.createString = function (aM, aL, aJ) {\n var aH = new ArrayBuffer(aJ * 2);var aK = new Uint16Array(aH);for (var aI = 0; aI < aJ; aI++) {\n aK[aI] = aM.getUint8(aL + aI);\n }return String.fromCharCode.apply(null, aK);\n };G._$LS = function (aP, aM, aR, aK) {\n if (aP instanceof ArrayBuffer) {\n aP = new DataView(aP);\n }var aL = aR;var aJ = false;var aQ = false;var aS = 0;var aO = G.getChar(aP, aL);if (aO == \"-\") {\n aJ = true;aL++;\n }var aN = false;for (; aL < aM; aL++) {\n aO = G.getChar(aP, aL);switch (aO) {case \"0\":\n aS = aS * 10;break;case \"1\":\n aS = aS * 10 + 1;break;case \"2\":\n aS = aS * 10 + 2;break;case \"3\":\n aS = aS * 10 + 3;break;case \"4\":\n aS = aS * 10 + 4;break;case \"5\":\n aS = aS * 10 + 5;break;case \"6\":\n aS = aS * 10 + 6;break;case \"7\":\n aS = aS * 10 + 7;break;case \"8\":\n aS = aS * 10 + 8;break;case \"9\":\n aS = aS * 10 + 9;break;case \".\":\n aQ = true;aL++;aN = true;break;default:\n aN = true;break;}if (aN) {\n break;\n }\n }if (aQ) {\n var aI = 0.1;var aH = false;for (; aL < aM; aL++) {\n aO = G.getChar(aP, aL);switch (aO) {case \"0\":\n break;case \"1\":\n aS += aI * 1;break;case \"2\":\n aS += aI * 2;break;case \"3\":\n aS += aI * 3;break;case \"4\":\n aS += aI * 4;break;case \"5\":\n aS += aI * 5;break;case \"6\":\n aS += aI * 6;break;case \"7\":\n aS += aI * 7;break;case \"8\":\n aS += aI * 8;break;case \"9\":\n aS += aI * 9;break;default:\n aH = true;break;}aI *= 0.1;if (aH) {\n break;\n }\n }\n }if (aJ) {\n aS = -aS;\n }aK[0] = aL;return aS;\n };function g() {\n if (j) {\n return;\n }this._$Ob = null;\n }g.prototype._$zP = function () {\n this._$Ob = new Array();\n };g.prototype._$F0 = function (aH) {\n this._$Ob = aH._$nP();\n };g.prototype._$Ur = function (aK) {\n if (aK._$WS()) {\n return true;\n }var aH = aK._$v2();for (var aJ = this._$Ob.length - 1; aJ >= 0; --aJ) {\n var aI = this._$Ob[aJ].getParamIndex(aH);if (aI == aA._$ds) {\n aI = aK.getParamIndex(this._$Ob[aJ].getParamID());\n }if (aK._$Xb(aI)) {\n return true;\n }\n }return false;\n };g.prototype._$Q2 = function (aL, aV) {\n var aX = this._$Ob.length;var aJ = aL._$v2();var aN = 0;var aI;var aQ;for (var aK = 0; aK < aX; aK++) {\n var aH = this._$Ob[aK];aI = aH.getParamIndex(aJ);if (aI == aA._$ds) {\n aI = aL.getParamIndex(aH.getParamID());aH._$Pb(aI, aJ);\n }if (aI < 0) {\n throw new Exception(\"err 23242 : \" + aH.getParamID());\n }var aU = aI < 0 ? 0 : aL.getParamFloat(aI);aQ = aH._$N2();var aM = aH._$d2();var aP = -1;var aT = 0;var aS;var aR;if (aQ < 1) {} else {\n if (aQ == 1) {\n aS = aM[0];if (aS - aw._$J < aU && aU < aS + aw._$J) {\n aP = 0;aT = 0;\n } else {\n aP = 0;aV[0] = true;\n }\n } else {\n aS = aM[0];if (aU < aS - aw._$J) {\n aP = 0;aV[0] = true;\n } else {\n if (aU < aS + aw._$J) {\n aP = 0;\n } else {\n var aW = false;for (var aO = 1; aO < aQ; ++aO) {\n aR = aM[aO];if (aU < aR + aw._$J) {\n if (aR - aw._$J < aU) {\n aP = aO;\n } else {\n aP = aO - 1;aT = (aU - aS) / (aR - aS);aN++;\n }aW = true;break;\n }aS = aR;\n }if (!aW) {\n aP = aQ - 1;aT = 0;aV[0] = true;\n }\n }\n }\n }\n }aH._$wr(aP);aH._$AL(aT);\n }return aN;\n };g.prototype._$zr = function (aN, aT, aP) {\n var aR = 1 << aP;if (aR + 1 > aw._$Qb) {\n console.log(\"err 23245\\n\");\n }var aS = this._$Ob.length;var aK = 1;var aH = 1;var aJ = 0;for (var aQ = 0; aQ < aR; ++aQ) {\n aN[aQ] = 0;\n }for (var aL = 0; aL < aS; ++aL) {\n var aI = this._$Ob[aL];if (aI._$SL() == 0) {\n var aO = aI._$Lr() * aK;if (aO < 0 && Q._$3T) {\n throw new Exception(\"err 23246\");\n }for (var aQ = 0; aQ < aR; ++aQ) {\n aN[aQ] += aO;\n }\n } else {\n var aO = aK * aI._$Lr();var aM = aK * (aI._$Lr() + 1);for (var aQ = 0; aQ < aR; ++aQ) {\n aN[aQ] += (aQ / aH | 0) % 2 == 0 ? aO : aM;\n }aT[aJ++] = aI._$SL();aH *= 2;\n }aK *= aI._$N2();\n }aN[aR] = 65535;aT[aJ] = -1;\n };g.prototype._$h2 = function (aJ, aH, aK) {\n var aM = new Float32Array(aH);for (var aL = 0; aL < aH; ++aL) {\n aM[aL] = aK[aL];\n }var aI = new aA();aI._$yP(aJ);aI._$t2(aH, aM);this._$Ob.push(aI);\n };g.prototype._$J2 = function (aO) {\n var aN = aO;var aM = this._$Ob.length;for (var aK = 0; aK < aM; ++aK) {\n var aI = this._$Ob[aK];var aH = aI._$N2();var aJ = aN % aI._$N2();var aL = aI._$d2()[aJ];console.log(\"%s[%d]=%7.2f / \", aI.getParamID(), aJ, aL);aN /= aH;\n }console.log(\"\\n\");\n };g.prototype.getParamCount = function () {\n return this._$Ob.length;\n };g.prototype._$zs = function () {\n return this._$Ob;\n };function ac() {\n this.m = new Float32Array(16);this.identity();\n }ac.prototype.identity = function () {\n for (var aH = 0; aH < 16; aH++) {\n this.m[aH] = aH % 5 == 0 ? 1 : 0;\n }\n };ac.prototype.getArray = function () {\n return this.m;\n };ac.prototype.getCopyMatrix = function () {\n return new Float32Array(this.m);\n };ac.prototype.setMatrix = function (aI) {\n if (aI == null || aI.length != 16) {\n return;\n }for (var aH = 0; aH < 16; aH++) {\n this.m[aH] = aI[aH];\n }\n };ac.prototype.mult = function (aH, aJ, aI) {\n if (aJ == null) {\n return null;\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 }return aJ;\n };ac.prototype.mult_safe = function (aI, aH, aM, aJ) {\n if (aI == aM) {\n var aL = new Array(16);this.mult_fast(aI, aH, aL, aJ);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 };ac.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];aK[4] = aI[0] * aH[4] + aI[4] * aH[5] + aI[8] * aH[6];aK[8] = aI[0] * aH[8] + aI[4] * aH[9] + aI[8] * aH[10];aK[12] = aI[0] * aH[12] + aI[4] * aH[13] + aI[8] * aH[14] + aI[12];aK[1] = aI[1] * aH[0] + aI[5] * aH[1] + aI[9] * aH[2];aK[5] = aI[1] * aH[4] + aI[5] * aH[5] + aI[9] * aH[6];aK[9] = aI[1] * aH[8] + aI[5] * aH[9] + aI[9] * aH[10];aK[13] = aI[1] * aH[12] + aI[5] * aH[13] + aI[9] * aH[14] + aI[13];aK[2] = aI[2] * aH[0] + aI[6] * aH[1] + aI[10] * aH[2];aK[6] = aI[2] * aH[4] + aI[6] * aH[5] + aI[10] * aH[6];aK[10] = aI[2] * aH[8] + aI[6] * aH[9] + aI[10] * aH[10];aK[14] = aI[2] * aH[12] + aI[6] * aH[13] + aI[10] * aH[14] + aI[14];aK[3] = aK[7] = aK[11] = 0;aK[15] = 1;\n } else {\n aK[0] = aI[0] * aH[0] + aI[4] * aH[1] + aI[8] * aH[2] + aI[12] * aH[3];aK[4] = aI[0] * aH[4] + aI[4] * aH[5] + aI[8] * aH[6] + aI[12] * aH[7];aK[8] = aI[0] * aH[8] + aI[4] * aH[9] + aI[8] * aH[10] + aI[12] * aH[11];aK[12] = aI[0] * aH[12] + aI[4] * aH[13] + aI[8] * aH[14] + aI[12] * aH[15];aK[1] = aI[1] * aH[0] + aI[5] * aH[1] + aI[9] * aH[2] + aI[13] * aH[3];aK[5] = aI[1] * aH[4] + aI[5] * aH[5] + aI[9] * aH[6] + aI[13] * aH[7];aK[9] = aI[1] * aH[8] + aI[5] * aH[9] + aI[9] * aH[10] + aI[13] * aH[11];aK[13] = aI[1] * aH[12] + aI[5] * aH[13] + aI[9] * aH[14] + aI[13] * aH[15];aK[2] = aI[2] * aH[0] + aI[6] * aH[1] + aI[10] * aH[2] + aI[14] * aH[3];aK[6] = aI[2] * aH[4] + aI[6] * aH[5] + aI[10] * aH[6] + aI[14] * aH[7];aK[10] = aI[2] * aH[8] + aI[6] * aH[9] + aI[10] * aH[10] + aI[14] * aH[11];aK[14] = aI[2] * aH[12] + aI[6] * aH[13] + aI[10] * aH[14] + aI[14] * aH[15];aK[3] = aI[3] * aH[0] + aI[7] * aH[1] + aI[11] * aH[2] + aI[15] * aH[3];aK[7] = aI[3] * aH[4] + aI[7] * aH[5] + aI[11] * aH[6] + aI[15] * aH[7];aK[11] = aI[3] * aH[8] + aI[7] * aH[9] + aI[11] * aH[10] + aI[15] * aH[11];aK[15] = aI[3] * aH[12] + aI[7] * aH[13] + aI[11] * aH[14] + aI[15] * aH[15];\n }\n };ac.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];this.m[13] = this.m[1] * aH + this.m[5] * aJ + this.m[9] * aI + this.m[13];this.m[14] = this.m[2] * aH + this.m[6] * aJ + this.m[10] * aI + this.m[14];this.m[15] = this.m[3] * aH + this.m[7] * aJ + this.m[11] * aI + this.m[15];\n };ac.prototype.scale = function (aJ, aI, aH) {\n this.m[0] *= aJ;this.m[4] *= aI;this.m[8] *= aH;this.m[1] *= aJ;this.m[5] *= aI;this.m[9] *= aH;this.m[2] *= aJ;this.m[6] *= aI;this.m[10] *= aH;this.m[3] *= aJ;this.m[7] *= aI;this.m[11] *= aH;\n };ac.prototype.rotateX = function (aH) {\n var aK = aC.fcos(aH);var aJ = aC._$9(aH);var aI = this.m[4];this.m[4] = aI * aK + this.m[8] * aJ;this.m[8] = aI * -aJ + this.m[8] * aK;aI = this.m[5];this.m[5] = aI * aK + this.m[9] * aJ;this.m[9] = aI * -aJ + this.m[9] * aK;aI = this.m[6];this.m[6] = aI * aK + this.m[10] * aJ;this.m[10] = aI * -aJ + this.m[10] * aK;aI = this.m[7];this.m[7] = aI * aK + this.m[11] * aJ;this.m[11] = aI * -aJ + this.m[11] * aK;\n };ac.prototype.rotateY = function (aH) {\n var aK = aC.fcos(aH);var aJ = aC._$9(aH);var aI = this.m[0];this.m[0] = aI * aK + this.m[8] * -aJ;this.m[8] = aI * aJ + this.m[8] * aK;aI = this.m[1];this.m[1] = aI * aK + this.m[9] * -aJ;this.m[9] = aI * aJ + this.m[9] * aK;aI = m[2];this.m[2] = aI * aK + this.m[10] * -aJ;this.m[10] = aI * aJ + this.m[10] * aK;aI = m[3];this.m[3] = aI * aK + this.m[11] * -aJ;this.m[11] = aI * aJ + this.m[11] * aK;\n };ac.prototype.rotateZ = function (aH) {\n var aK = aC.fcos(aH);var aJ = aC._$9(aH);var aI = this.m[0];this.m[0] = aI * aK + this.m[4] * aJ;this.m[4] = aI * -aJ + this.m[4] * aK;aI = this.m[1];this.m[1] = aI * aK + this.m[5] * aJ;this.m[5] = aI * -aJ + this.m[5] * aK;aI = this.m[2];this.m[2] = aI * aK + this.m[6] * aJ;this.m[6] = aI * -aJ + this.m[6] * aK;aI = this.m[3];this.m[3] = aI * aK + this.m[7] * aJ;this.m[7] = aI * -aJ + this.m[7] * aK;\n };function Z(aH) {\n if (j) {\n return;\n }ak.prototype.constructor.call(this, aH);\n }Z.prototype = new ak();Z._$tP = new Object();Z._$27 = function () {\n Z._$tP.clear();\n };Z.getID = function (aH) {\n var aI = Z._$tP[aH];if (aI == null) {\n aI = new Z(aH);Z._$tP[aH] = aI;\n }return aI;\n };Z.prototype._$3s = function () {\n return new Z();\n };function aD() {\n if (j) {\n return;\n }this._$7 = 1;this._$f = 0;this._$H = 0;this._$g = 1;this._$k = 0;this._$w = 0;this._$hi = STATE_IDENTITY;this._$Z = _$pS;\n }aD._$kS = -1;aD._$pS = 0;aD._$hb = 1;aD.STATE_IDENTITY = 0;aD._$gb = 1;aD._$fo = 2;aD._$go = 4;aD.prototype.transform = function (aK, aI, aH) {\n var aT, aS, aR, aM, aL, aJ;var aQ = 0;var aN = 0;switch (this._$hi) {default:\n return;case aD._$go | aD._$fo | aD._$gb:\n aT = this._$7;aS = this._$H;aR = this._$k;aM = this._$f;aL = this._$g;aJ = this._$w;while (--aH >= 0) {\n var aP = aK[aQ++];var aO = aK[aQ++];aI[aN++] = aT * aP + aS * aO + aR;aI[aN++] = aM * aP + aL * aO + aJ;\n }return;case aD._$go | aD._$fo:\n aT = this._$7;aS = this._$H;aM = this._$f;aL = this._$g;while (--aH >= 0) {\n var aP = aK[aQ++];var aO = aK[aQ++];aI[aN++] = aT * aP + aS * aO;aI[aN++] = aM * aP + aL * aO;\n }return;case aD._$go | aD._$gb:\n aS = this._$H;aR = this._$k;aM = this._$f;aJ = this._$w;while (--aH >= 0) {\n var aP = aK[aQ++];aI[aN++] = aS * aK[aQ++] + aR;aI[aN++] = aM * aP + aJ;\n }return;case aD._$go:\n aS = this._$H;aM = this._$f;while (--aH >= 0) {\n var aP = aK[aQ++];aI[aN++] = aS * aK[aQ++];aI[aN++] = aM * aP;\n }return;case aD._$fo | aD._$gb:\n aT = this._$7;aR = this._$k;aL = this._$g;aJ = this._$w;while (--aH >= 0) {\n aI[aN++] = aT * aK[aQ++] + aR;aI[aN++] = aL * aK[aQ++] + aJ;\n }return;case aD._$fo:\n aT = this._$7;aL = this._$g;while (--aH >= 0) {\n aI[aN++] = aT * aK[aQ++];aI[aN++] = aL * aK[aQ++];\n }return;case aD._$gb:\n aR = this._$k;aJ = this._$w;while (--aH >= 0) {\n aI[aN++] = aK[aQ++] + aR;aI[aN++] = aK[aQ++] + aJ;\n }return;case aD.STATE_IDENTITY:\n if (aK != aI || aQ != aN) {\n P._$jT(aK, aQ, aI, aN, aH * 2);\n }return;}\n };aD.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;this._$Z = aD._$pS;\n } else {\n this._$hi = aD._$gb;this._$Z = aD._$hb;\n }\n } else {\n if (this._$k == 0 && this._$w == 0) {\n this._$hi = aD._$fo;this._$Z = aD._$kS;\n } else {\n this._$hi = aD._$fo | aD._$gb;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;this._$Z = aD._$kS;\n } else {\n this._$hi = aD._$go | aD._$gb;this._$Z = aD._$kS;\n }\n } else {\n if (this._$k == 0 && this._$w == 0) {\n this._$hi = aD._$go | aD._$fo;this._$Z = aD._$kS;\n } else {\n this._$hi = aD._$go | aD._$fo | aD._$gb;this._$Z = aD._$kS;\n }\n }\n }\n };aD.prototype._$RT = function (aK) {\n this._$IT(aK);var aJ = aK[0];var aH = aK[2];var aN = aK[1];var aM = aK[3];var aI = Math.sqrt(aJ * aJ + aN * aN);var aL = aJ * aM - aH * aN;if (aI == 0) {\n if (Q._$so) {\n console.log(\"affine._$RT() / rt==0\");\n }\n } else {\n aK[0] = aI;aK[1] = aL / aI;aK[2] = (aN * aM + aJ * aH) / aL;aK[3] = Math.atan2(aN, aJ);\n }\n };aD.prototype._$ho = function (aN, aM, aI, aH) {\n var aL = new Float32Array(6);var aK = new Float32Array(6);aN._$RT(aL);aM._$RT(aK);var aJ = new Float32Array(6);aJ[0] = aL[0] + (aK[0] - aL[0]) * aI;aJ[1] = aL[1] + (aK[1] - aL[1]) * aI;aJ[2] = aL[2] + (aK[2] - aL[2]) * aI;aJ[3] = aL[3] + (aK[3] - aL[3]) * aI;aJ[4] = aL[4] + (aK[4] - aL[4]) * aI;aJ[5] = aL[5] + (aK[5] - aL[5]) * aI;aH._$CT(aJ);\n };aD.prototype._$CT = function (aJ) {\n var aI = Math.cos(aJ[3]);var aH = Math.sin(aJ[3]);this._$7 = aJ[0] * aI;this._$f = aJ[0] * aH;this._$H = aJ[1] * (aJ[2] * aI - aH);this._$g = aJ[1] * (aJ[2] * aH + aI);this._$k = aJ[4];this._$w = aJ[5];this.update();\n };aD.prototype._$IT = function (aH) {\n aH[0] = this._$7;aH[1] = this._$f;aH[2] = this._$H;aH[3] = this._$g;aH[4] = this._$k;aH[5] = this._$w;\n };function Y() {\n if (j) {\n return;\n }ah.prototype.constructor.call(this);this.motions = new Array();this._$7r = null;this._$7r = Y._$Co++;this._$D0 = 30;this._$yT = 0;this._$E = true;this.loopFadeIn = true;this._$AS = -1;_$a0();\n }Y.prototype = new ah();Y._$cs = \"VISIBLE:\";Y._$ar = \"LAYOUT:\";Y._$Co = 0;Y._$D2 = [];Y._$1T = 1;Y.loadMotion = function (aR) {\n var aM = new Y();var aI = [0];var aP = aR.length;aM._$yT = 0;for (var aJ = 0; aJ < aP; ++aJ) {\n var aQ = aR[aJ] & 255;if (aQ == \"\\n\" || aQ == \"\\r\") {\n continue;\n }if (aQ == \"#\") {\n for (; aJ < aP; ++aJ) {\n if (aR[aJ] == \"\\n\" || aR[aJ] == \"\\r\") {\n break;\n }\n }continue;\n }if (aQ == \"$\") {\n var aT = aJ;var aK = -1;for (; aJ < aP; ++aJ) {\n aQ = aR[aJ] & 255;if (aQ == \"\\r\" || aQ == \"\\n\") {\n break;\n }if (aQ == \"=\") {\n aK = aJ;break;\n }\n }var aO = false;if (aK >= 0) {\n if (aK == aT + 4 && aR[aT + 1] == \"f\" && aR[aT + 2] == \"p\" && aR[aT + 3] == \"s\") {\n aO = true;\n }for (aJ = aK + 1; aJ < aP; ++aJ) {\n aQ = aR[aJ] & 255;if (aQ == \"\\r\" || aQ == \"\\n\") {\n break;\n }if (aQ == \",\" || aQ == \" \" || aQ == \"\\t\") {\n continue;\n }var aL = G._$LS(aR, aP, aJ, aI);if (aI[0] > 0) {\n if (aO && 5 < aL && aL < 121) {\n aM._$D0 = aL;\n }\n }aJ = aI[0];\n }\n }for (; aJ < aP; ++aJ) {\n if (aR[aJ] == \"\\n\" || aR[aJ] == \"\\r\") {\n break;\n }\n }continue;\n }if (\"a\" <= aQ && aQ <= \"z\" || \"A\" <= aQ && aQ <= \"Z\" || aQ == \"_\") {\n var aT = aJ;var aK = -1;for (; aJ < aP; ++aJ) {\n aQ = aR[aJ] & 255;if (aQ == \"\\r\" || aQ == \"\\n\") {\n break;\n }if (aQ == \"=\") {\n aK = aJ;break;\n }\n }if (aK >= 0) {\n var aN = new t();if (G.startsWith(aR, aT, Y._$cs)) {\n aN._$RP = t._$hs;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);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;aN._$4P = new String(aR, aT, aK - aT);\n }\n }aM.motions.push(aN);var aS = 0;Y._$D2.clear();for (aJ = aK + 1; aJ < aP; ++aJ) {\n aQ = aR[aJ] & 255;if (aQ == \"\\r\" || aQ == \"\\n\") {\n break;\n }if (aQ == \",\" || aQ == \" \" || aQ == \"\\t\") {\n continue;\n }var aL = G._$LS(aR, aP, aJ, aI);if (aI[0] > 0) {\n Y._$D2.push(aL);aS++;var aH = aI[0];if (aH < aJ) {\n console.log(\"_$n0 _$hi . @Live2DMotion loadMotion()\\n\");break;\n }aJ = aH;\n }\n }aN._$I0 = Y._$D2._$BL();if (aS > aM._$yT) {\n aM._$yT = aS;\n }\n }\n }\n }aM._$AS = 1000 * aM._$yT / aM._$D0 | 0;return aM;\n };Y.prototype.getDurationMSec = function () {\n return this._$AS;\n };Y.prototype.dump = function () {\n for (var aJ = 0; aJ < this.motions.length; aJ++) {\n var aH = this.motions[aJ];console.log(\"_$wL[%s] [%d]. \", aH._$4P, aH._$I0.length);for (var aI = 0; aI < aH._$I0.length && aI < 10; aI++) {\n console.log(\"%5.2f ,\", aH._$I0[aI]);\n }console.log(\"\\n\");\n }\n };Y.prototype.updateParamExe = function (aH, aL, aO, aX) {\n var aM = aL - aX._$z2;var aV = aM * this._$D0 / 1000;var aJ = aV | 0;var aP = aV - aJ;for (var aU = 0; aU < this.motions.length; aU++) {\n var aS = this.motions[aU];var aK = aS._$I0.length;var aQ = aS._$4P;if (aS._$RP == t._$hs) {\n var aT = aS._$I0[aJ >= aK ? aK - 1 : aJ];aH.setParamFloat(aQ, aT);\n } else {\n if (t._$ws <= aS._$RP && aS._$RP <= t._$Ys) {} else {\n var aR = aH.getParamFloat(aQ);var aY = aS._$I0[aJ >= aK ? aK - 1 : aJ];var aW = aS._$I0[aJ + 1 >= aK ? aK - 1 : aJ + 1];var aI = aY + (aW - aY) * aP;var aN = aR + (aI - aR) * aO;aH.setParamFloat(aQ, aN);\n }\n }\n }if (aJ >= this._$yT) {\n if (this._$E) {\n aX._$z2 = aL;if (this.loopFadeIn) {\n aX._$bs = aL;\n }\n } else {\n aX._$9L = true;\n }\n }\n };Y.prototype._$r0 = function () {\n return this._$E;\n };Y.prototype._$aL = function (aH) {\n this._$E = aH;\n };Y.prototype.isLoopFadeIn = function () {\n return this.loopFadeIn;\n };Y.prototype.setLoopFadeIn = function (aH) {\n this.loopFadeIn = aH;\n };function aE() {\n this._$P = new Float32Array(100);this.size = 0;\n }aE.prototype.clear = function () {\n this.size = 0;\n };aE.prototype.add = function (aI) {\n if (this._$P.length <= this.size) {\n var aH = new Float32Array(this.size * 2);P._$jT(this._$P, 0, aH, 0, this.size);this._$P = aH;\n }this._$P[this.size++] = aI;\n };aE.prototype._$BL = function () {\n var aH = new Float32Array(this.size);P._$jT(this._$P, 0, aH, 0, this.size);return aH;\n };function t() {\n this._$4P = null;this._$I0 = null;this._$RP = null;\n }t._$Fr = 0;t._$hs = 1;t._$ws = 100;t._$Ns = 101;t._$xs = 102;t._$us = 103;t._$qs = 104;t._$Ys = 105;function aw() {}aw._$Ms = 1;aw._$Qs = 2;aw._$i2 = 0;aw._$No = 2;aw._$do = aw._$Ms;aw._$Ls = true;aw._$1r = 5;aw._$Qb = 65;aw._$J = 0.0001;aw._$FT = 0.001;aw._$Ss = 3;function ay() {}ay._$o7 = 6;ay._$S7 = 7;ay._$s7 = 8;ay._$77 = 9;ay.LIVE2D_FORMAT_VERSION_V2_10_SDK2 = 10;ay.LIVE2D_FORMAT_VERSION_V2_11_SDK2_1 = 11;ay._$T7 = ay.LIVE2D_FORMAT_VERSION_V2_11_SDK2_1;ay._$Is = -2004318072;ay._$h0 = 0;ay._$4L = 23;ay._$7P = 33;ay._$uT = function (aH) {\n console.log(\"_$bo :: _$6 _$mo _$E0 : %d\\n\", aH);\n };ay._$9o = function (aH) {\n if (aH < 40) {\n ay._$uT(aH);return null;\n } else {\n if (aH < 50) {\n ay._$uT(aH);return null;\n } else {\n if (aH < 60) {\n ay._$uT(aH);return null;\n } else {\n if (aH < 100) {\n switch (aH) {case 65:\n return new E();case 66:\n return new g();case 67:\n return new aA();case 68:\n return new ab();case 69:\n return new X();case 70:\n return new b();default:\n ay._$uT(aH);return null;}\n } else {\n if (aH < 150) {\n switch (aH) {case 131:\n return new f();case 133:\n return new s();case 136:\n return new w();case 137:\n return new an();case 142:\n return new aq();}\n }\n }\n }\n }\n }ay._$uT(aH);return null;\n };function y(aH) {\n if (j) {\n return;\n }this._$QT = true;this._$co = -1;this._$qo = 0;this._$pb = new Array(y._$is);this._$_2 = new Float32Array(y._$is);this._$vr = new Float32Array(y._$is);this._$Rr = new Float32Array(y._$is);this._$Or = new Float32Array(y._$is);this._$fs = new Float32Array(y._$is);this._$Js = new Array(y._$is);this._$3S = new Array();this._$aS = new Array();this._$Bo = null;this._$F2 = new Array();this._$db = new Array();this._$8b = new Array();this._$Hr = new Array();this._$Ws = null;this._$Vs = null;this._$Er = null;this._$Es = new Int16Array(aw._$Qb);this._$ZP = new Float32Array(aw._$1r * 2);this._$Ri = aH;this._$b0 = y._$HP++;this.clipManager = null;this.dp_webgl = null;\n }y._$HP = 0;y._$_0 = true;y._$V2 = -1;y._$W0 = -1;y._$jr = false;y._$ZS = true;y._$tr = -1000000;y._$lr = 1000000;y._$is = 32;y._$e = false;y.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 }return -1;\n };y.prototype.getDrawData = function (aH) {\n if (aH instanceof Z) {\n if (this._$Bo == null) {\n this._$Bo = new Object();var aJ = this._$aS.length;for (var aI = 0; aI < aJ; aI++) {\n var aL = this._$aS[aI];var aK = aL.getDrawDataID();if (aK == null) {\n continue;\n }this._$Bo[aK] = aL;\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 };y.prototype.release = function () {\n this._$3S.clear();this._$aS.clear();this._$F2.clear();if (this._$Bo != null) {\n this._$Bo.clear();\n }this._$db.clear();this._$8b.clear();this._$Hr.clear();\n };y.prototype.init = function () {\n this._$co++;if (this._$F2.length > 0) {\n this.release();\n }var aO = this._$Ri.getModelImpl();var aT = aO._$Xr();var aS = aT.length;var aH = new Array();var a3 = new Array();for (var aV = 0; aV < aS; ++aV) {\n var a4 = aT[aV];this._$F2.push(a4);this._$Hr.push(a4.init(this));var aK = a4.getBaseData();var aR = aK.length;for (var aU = 0; aU < aR; ++aU) {\n aH.push(aK[aU]);\n }for (var aU = 0; aU < aR; ++aU) {\n var aM = aK[aU].init(this);aM._$l2(aV);a3.push(aM);\n }var a1 = a4.getDrawData();var aP = a1.length;for (var aU = 0; aU < aP; ++aU) {\n var aZ = a1[aU];var a0 = aZ.init(this);a0._$IP = aV;this._$aS.push(aZ);this._$8b.push(a0);\n }\n }var aY = aH.length;var aN = n._$2o();while (true) {\n var aX = false;for (var aV = 0; aV < aY; ++aV) {\n var aL = aH[aV];if (aL == null) {\n continue;\n }var a2 = aL.getTargetBaseDataID();if (a2 == null || a2 == aN || this.getBaseDataIndex(a2) >= 0) {\n this._$3S.push(aL);this._$db.push(a3[aV]);aH[aV] = null;aX = true;\n }\n }if (!aX) {\n break;\n }\n }var aI = aO._$E2();if (aI != null) {\n var aJ = aI._$1s();if (aJ != null) {\n var aW = aJ.length;for (var aV = 0; aV < aW; ++aV) {\n var aQ = aJ[aV];if (aQ == null) {\n continue;\n }this._$02(aQ.getParamID(), aQ.getDefaultValue(), aQ.getMinValue(), aQ.getMaxValue());\n }\n }\n }this.clipManager = new W(this.dp_webgl);this.clipManager.init(this, this._$aS, this._$8b);this._$QT = true;\n };y.prototype.update = function () {\n if (y._$e) {\n q.start(\"_$zL\");\n }var aK = this._$_2.length;for (var aW = 0; aW < aK; aW++) {\n if (this._$_2[aW] != this._$vr[aW]) {\n this._$Js[aW] = y._$ZS;this._$vr[aW] = this._$_2[aW];\n }\n }var aX = false;var aQ = this._$3S.length;var aN = this._$aS.length;var aS = a._$or();var aZ = a._$Pr();var aU = aZ - aS + 1;if (this._$Ws == null || this._$Ws.length < aU) {\n this._$Ws = new Int16Array(aU);this._$Vs = new Int16Array(aU);\n }for (var aW = 0; aW < aU; aW++) {\n this._$Ws[aW] = y._$V2;this._$Vs[aW] = y._$V2;\n }if (this._$Er == null || this._$Er.length < aN) {\n this._$Er = new Int16Array(aN);\n }for (var aW = 0; aW < aN; aW++) {\n this._$Er[aW] = y._$W0;\n }if (y._$e) {\n q.dump(\"_$zL\");\n }if (y._$e) {\n q.start(\"_$UL\");\n }var aL = null;for (var aV = 0; aV < aQ; ++aV) {\n var aJ = this._$3S[aV];var aH = this._$db[aV];try {\n aJ._$Nr(this, aH);aJ._$2b(this, aH);\n } catch (aY) {\n if (aL == null) {\n aL = aY;\n }\n }\n }if (aL != null) {\n if (y._$_0) {\n q._$Rb(aL);\n }\n }if (y._$e) {\n q.dump(\"_$UL\");\n }if (y._$e) {\n q.start(\"_$DL\");\n }var aR = null;for (var aO = 0; aO < aN; ++aO) {\n var aM = this._$aS[aO];var aI = this._$8b[aO];try {\n aM._$Nr(this, aI);if (aI._$u2()) {\n continue;\n }aM._$2b(this, aI);var aT = Math.floor(aM._$zS(this, aI) - aS);var aP;try {\n aP = this._$Vs[aT];\n } catch (aY) {\n console.log(\"_$li :: %s / %s \t\t\t\t@@_$fS\\n\", aY.toString(), aM.getDrawDataID().toString());aT = Math.floor(aM._$zS(this, aI) - aS);continue;\n }if (aP == y._$V2) {\n this._$Ws[aT] = aO;\n } else {\n this._$Er[aP] = aO;\n }this._$Vs[aT] = aO;\n } catch (aY) {\n if (aR == null) {\n aR = aY;Q._$sT(Q._$H7);\n }\n }\n }if (aR != null) {\n if (y._$_0) {\n q._$Rb(aR);\n }\n }if (y._$e) {\n q.dump(\"_$DL\");\n }if (y._$e) {\n q.start(\"_$eL\");\n }for (var aW = this._$Js.length - 1; aW >= 0; aW--) {\n this._$Js[aW] = y._$jr;\n }this._$QT = false;if (y._$e) {\n q.dump(\"_$eL\");\n }return aX;\n };y.prototype.preDraw = function (aH) {\n if (this.clipManager != null) {\n aH._$ZT();this.clipManager.setupClip(this, aH);\n }\n };y.prototype.draw = function (aM) {\n if (this._$Ws == null) {\n q._$li(\"call _$Ri.update() before _$Ri.draw() \");return;\n }var aP = this._$Ws.length;aM._$ZT();for (var aK = 0; aK < aP; ++aK) {\n var aN = this._$Ws[aK];if (aN == y._$V2) {\n continue;\n }do {\n var aH = this._$aS[aN];var aI = this._$8b[aN];if (aI._$yo()) {\n var aJ = aI._$IP;var aL = this._$Hr[aJ];aI._$VS = aL.getPartsOpacity();aH.draw(aM, this, aI);\n }var aO = this._$Er[aN];if (aO <= aN || aO == y._$W0) {\n break;\n }aN = aO;\n } while (true);\n }\n };y.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 }return this._$02(aH, 0, y._$tr, y._$lr);\n };y.prototype._$BS = function (aH) {\n return this.getBaseDataIndex(aH);\n };y.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 }return -1;\n };y.prototype._$UT = function (aJ, aH) {\n var aI = new Float32Array(aH);P._$jT(aJ, 0, aI, 0, aJ.length);return aI;\n };y.prototype._$02 = function (aN, aM, aL, aH) {\n if (this._$qo >= this._$pb.length) {\n var aK = this._$pb.length;var aJ = new Array(aK * 2);P._$jT(this._$pb, 0, aJ, 0, aK);this._$pb = aJ;this._$_2 = this._$UT(this._$_2, aK * 2);this._$vr = this._$UT(this._$vr, aK * 2);this._$Rr = this._$UT(this._$Rr, aK * 2);this._$Or = this._$UT(this._$Or, aK * 2);var aI = new Array();P._$jT(this._$Js, 0, aI, 0, aK);this._$Js = aI;\n }this._$pb[this._$qo] = aN;this._$_2[this._$qo] = aM;this._$vr[this._$qo] = aM;this._$Rr[this._$qo] = aL;this._$Or[this._$qo] = aH;this._$Js[this._$qo] = y._$ZS;return this._$qo++;\n };y.prototype._$Zo = function (aI, aH) {\n this._$3S[aI] = aH;\n };y.prototype.setParamFloat = function (aH, aI) {\n if (aI < this._$Rr[aH]) {\n aI = this._$Rr[aH];\n }if (aI > this._$Or[aH]) {\n aI = this._$Or[aH];\n }this._$_2[aH] = aI;\n };y.prototype.loadParam = function () {\n var aH = this._$_2.length;if (aH > this._$fs.length) {\n aH = this._$fs.length;\n }P._$jT(this._$fs, 0, this._$_2, 0, aH);\n };y.prototype.saveParam = function () {\n var aH = this._$_2.length;if (aH > this._$fs.length) {\n this._$fs = new Float32Array(aH);\n }P._$jT(this._$_2, 0, this._$fs, 0, aH);\n };y.prototype._$v2 = function () {\n return this._$co;\n };y.prototype._$WS = function () {\n return this._$QT;\n };y.prototype._$Xb = function (aH) {\n return this._$Js[aH] == y._$ZS;\n };y.prototype._$vs = function () {\n return this._$Es;\n };y.prototype._$Tr = function () {\n return this._$ZP;\n };y.prototype.getBaseData = function (aH) {\n return this._$3S[aH];\n };y.prototype.getParamFloat = function (aH) {\n return this._$_2[aH];\n };y.prototype.getParamMax = function (aH) {\n return this._$Or[aH];\n };y.prototype.getParamMin = function (aH) {\n return this._$Rr[aH];\n };y.prototype.setPartsOpacity = function (aJ, aH) {\n var aI = this._$Hr[aJ];aI.setPartsOpacity(aH);\n };y.prototype.getPartsOpacity = function (aI) {\n var aH = this._$Hr[aI];return aH.getPartsOpacity();\n };y.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 }return -1;\n };y.prototype._$q2 = function (aH) {\n return this._$db[aH];\n };y.prototype._$C2 = function (aH) {\n return this._$8b[aH];\n };y.prototype._$Bb = function (aH) {\n return this._$Hr[aH];\n };y.prototype._$5s = function (aO, aK) {\n var aJ = this._$Ws.length;var aN = aO;for (var aL = 0; aL < aJ; ++aL) {\n var aI = this._$Ws[aL];if (aI == y._$V2) {\n continue;\n }do {\n var aM = this._$8b[aI];if (aM._$yo()) {\n aM._$GT()._$B2(this, aM, aN);aN += aK;\n }var aH = this._$Er[aI];if (aH <= aI || aH == y._$W0) {\n break;\n }aI = aH;\n } while (true);\n }\n };y.prototype.setDrawParam = function (aH) {\n this.dp_webgl = aH;\n };y.prototype.getDrawParam = function () {\n return this.dp_webgl;\n };function ap() {}ap._$0T = function (aH) {\n return ap._$0T(new _$5(aH));\n };ap._$0T = function (aJ) {\n if (!aJ.exists()) {\n throw new _$ls(aJ._$3b());\n }var aH = aJ.length();var aI = new Int8Array(aH);var aM = new _$Xs(new _$kb(aJ), 8192);var aK;var aL = 0;while ((aK = aM.read(aI, aL, aH - aL)) > 0) {\n aL += aK;\n }return aI;\n };ap._$C = function (aJ) {\n var aI = null;var aL = null;try {\n aI = aJ instanceof Array ? aJ : new _$Xs(aJ, 8192);aL = new _$js();var aM = 1000;var aK;var aH = new Int8Array(aM);while ((aK = aI.read(aH)) > 0) {\n aL.write(aH, 0, aK);\n }return aL._$TS();\n } finally {\n if (aJ != null) {\n aJ.close();\n }if (aL != null) {\n aL.flush();aL.close();\n }\n }\n };function ar() {\n if (j) {\n return;\n }this._$12 = null;this._$bb = null;this._$_L = null;this._$jo = null;this._$iL = null;this._$0L = null;this._$Br = null;this._$Dr = null;this._$Cb = null;this._$mr = null;this._$_L = az.STATE_FIRST;this._$Br = 4000;this._$Dr = 100;this._$Cb = 50;this._$mr = 150;this._$jo = true;this._$iL = \"PARAM_EYE_L_OPEN\";this._$0L = \"PARAM_EYE_R_OPEN\";\n }ar.prototype._$T2 = function () {\n var aI = P.getUserTimeMSec();var aH = Math._$10();return aI + aH * (2 * this._$Br - 1);\n };ar.prototype._$uo = function (aH) {\n this._$Br = aH;\n };ar.prototype._$QS = function (aI, aH, aJ) {\n this._$Dr = aI;this._$Cb = aH;this._$mr = aJ;\n };ar.prototype._$7T = function (aI) {\n var aK = P.getUserTimeMSec();var aH;var aJ = 0;switch (this._$_L) {case STATE_CLOSING:\n aJ = (aK - this._$bb) / this._$Dr;if (aJ >= 1) {\n aJ = 1;this._$_L = az.STATE_CLOSED;this._$bb = aK;\n }aH = 1 - aJ;break;case STATE_CLOSED:\n aJ = (aK - this._$bb) / this._$Cb;if (aJ >= 1) {\n this._$_L = az.STATE_OPENING;this._$bb = aK;\n }aH = 0;break;case STATE_OPENING:\n aJ = (aK - this._$bb) / this._$mr;if (aJ >= 1) {\n aJ = 1;this._$_L = az.STATE_INTERVAL;this._$12 = this._$T2();\n }aH = aJ;break;case STATE_INTERVAL:\n if (this._$12 < aK) {\n this._$_L = az.STATE_CLOSING;this._$bb = aK;\n }aH = 1;break;case STATE_FIRST:default:\n this._$_L = az.STATE_INTERVAL;this._$12 = this._$T2();aH = 1;break;}if (!this._$jo) {\n aH = -aH;\n }aI.setParamFloat(this._$iL, aH);aI.setParamFloat(this._$0L, aH);\n };var az = function az() {};az.STATE_FIRST = \"STATE_FIRST\";az.STATE_INTERVAL = \"STATE_INTERVAL\";az.STATE_CLOSING = \"STATE_CLOSING\";az.STATE_CLOSED = \"STATE_CLOSED\";az.STATE_OPENING = \"STATE_OPENING\";function x() {\n if (j) {\n return;\n }ax.prototype.constructor.call(this);this._$sb = new Int32Array(x._$As);this._$U2 = new Array();this.transform = null;this.gl = null;if (x._$NT == null) {\n x._$NT = x._$9r(256);x._$vS = x._$9r(256);x._$no = x._$vb(256);\n }\n }x.prototype = new ax();x._$As = 32;x._$Gr = false;x._$NT = null;x._$vS = null;x._$no = null;x._$9r = function (aH) {\n var aI = new Float32Array(aH);return aI;\n };x._$vb = function (aH) {\n var aI = new Int16Array(aH);return aI;\n };x._$cr = function (aI, aH) {\n if (aI == null || aI._$yL() < aH.length) {\n aI = x._$9r(aH.length * 2);aI.put(aH);aI._$oT(0);\n } else {\n aI.clear();aI.put(aH);aI._$oT(0);\n }return aI;\n };x._$mb = function (aI, aH) {\n if (aI == null || aI._$yL() < aH.length) {\n aI = x._$vb(aH.length * 2);aI.put(aH);aI._$oT(0);\n } else {\n aI.clear();aI.put(aH);aI._$oT(0);\n }return aI;\n };x._$Hs = function () {\n return x._$Gr;\n };x._$as = function (aH) {\n x._$Gr = aH;\n };x.prototype.setGL = function (aH) {\n this.gl = aH;\n };x.prototype.setTransform = function (aH) {\n this.transform = aH;\n };x.prototype._$ZT = function () {};x.prototype._$Uo = function (aO, aH, aP, aI, aQ, aM, aK, aJ) {\n if (aM < 0.01) {\n return;\n }var aL = this._$U2[aO];var aN = aM > 0.9 ? Q.EXPAND_W : 0;this.gl.drawElements(aL, aP, aI, aQ, aM, aN, this.transform, aJ);\n };x.prototype._$Rs = function () {\n throw new Error(\"_$Rs\");\n };x.prototype._$Ds = function (aH) {\n throw new Error(\"_$Ds\");\n };x.prototype._$K2 = function () {\n for (var aH = 0; aH < this._$sb.length; aH++) {\n var aI = this._$sb[aH];if (aI != 0) {\n this.gl._$Sr(1, this._$sb, aH);this._$sb[aH] = 0;\n }\n }\n };x.prototype.setTexture = function (aI, aH) {\n if (this._$sb.length < aI + 1) {\n this._$nS(aI);\n }this._$sb[aI] = aH;\n };x.prototype.setTexture = function (aH, aI) {\n if (this._$sb.length < aH + 1) {\n this._$nS(aH);\n }this._$U2[aH] = aI;\n };x.prototype._$nS = function (aH) {\n var aK = Math.max(this._$sb.length * 2, aH + 1 + 10);var aI = new Int32Array(aK);P._$jT(this._$sb, 0, aI, 0, this._$sb.length);this._$sb = aI;var aJ = new Array();P._$jT(this._$U2, 0, aJ, 0, this._$U2.length);this._$U2 = aJ;\n };function ab() {\n if (j) {\n return;\n }c.prototype.constructor.call(this);this._$GS = null;this._$Y0 = null;\n }ab.prototype = new c();ab._$Xo = new Float32Array(2);ab._$io = new Float32Array(2);ab._$0o = new Float32Array(2);ab._$Lo = new Float32Array(2);ab._$To = new Float32Array(2);ab._$Po = new Float32Array(2);ab._$gT = new Array();ab.prototype._$zP = function () {\n this._$GS = new g();this._$GS._$zP();this._$Y0 = new Array();\n };ab.prototype.getType = function () {\n return c._$c2;\n };ab.prototype._$F0 = function (aH) {\n c.prototype._$F0.call(this, aH);this._$GS = aH._$nP();this._$Y0 = aH._$nP();c.prototype.readV2_opacity.call(this, aH);\n };ab.prototype.init = function (aH) {\n var aI = new al(this);aI._$Yr = new X();if (this._$32()) {\n aI._$Wr = new X();\n }return aI;\n };ab.prototype._$Nr = function (bf, bx) {\n if (!(this == bx._$GT())) {\n console.log(\"### assert!! ### \");\n }var bm = bx;if (!this._$GS._$Ur(bf)) {\n return;\n }var bw = ab._$gT;bw[0] = false;var a2 = this._$GS._$Q2(bf, bw);bx._$Ib(bw[0]);this.interpolateOpacity(bf, this._$GS, bx, bw);var a3 = bf._$vs();var ba = bf._$Tr();this._$GS._$zr(a3, ba, a2);if (a2 <= 0) {\n var bn = this._$Y0[a3[0]];bm._$Yr.init(bn);\n } else {\n if (a2 == 1) {\n var bn = this._$Y0[a3[0]];var bl = this._$Y0[a3[1]];var a9 = ba[0];bm._$Yr._$fL = bn._$fL + (bl._$fL - bn._$fL) * a9;bm._$Yr._$gL = bn._$gL + (bl._$gL - bn._$gL) * a9;bm._$Yr._$B0 = bn._$B0 + (bl._$B0 - bn._$B0) * a9;bm._$Yr._$z0 = bn._$z0 + (bl._$z0 - bn._$z0) * a9;bm._$Yr._$qT = bn._$qT + (bl._$qT - bn._$qT) * a9;\n } else {\n if (a2 == 2) {\n var bn = this._$Y0[a3[0]];var bl = this._$Y0[a3[1]];var a1 = this._$Y0[a3[2]];var a0 = this._$Y0[a3[3]];var a9 = ba[0];var a8 = ba[1];var bC = bn._$fL + (bl._$fL - bn._$fL) * a9;var bB = a1._$fL + (a0._$fL - a1._$fL) * a9;bm._$Yr._$fL = bC + (bB - bC) * a8;bC = bn._$gL + (bl._$gL - bn._$gL) * a9;bB = a1._$gL + (a0._$gL - a1._$gL) * a9;bm._$Yr._$gL = bC + (bB - bC) * a8;bC = bn._$B0 + (bl._$B0 - bn._$B0) * a9;bB = a1._$B0 + (a0._$B0 - a1._$B0) * a9;bm._$Yr._$B0 = bC + (bB - bC) * a8;bC = bn._$z0 + (bl._$z0 - bn._$z0) * a9;bB = a1._$z0 + (a0._$z0 - a1._$z0) * a9;bm._$Yr._$z0 = bC + (bB - bC) * a8;bC = bn._$qT + (bl._$qT - bn._$qT) * a9;bB = a1._$qT + (a0._$qT - a1._$qT) * a9;bm._$Yr._$qT = bC + (bB - bC) * a8;\n } else {\n if (a2 == 3) {\n var aP = this._$Y0[a3[0]];var aO = this._$Y0[a3[1]];var bu = this._$Y0[a3[2]];var bs = this._$Y0[a3[3]];var aK = this._$Y0[a3[4]];var aJ = this._$Y0[a3[5]];var bj = this._$Y0[a3[6]];var bi = this._$Y0[a3[7]];var a9 = ba[0];var a8 = ba[1];var a6 = ba[2];var bC = aP._$fL + (aO._$fL - aP._$fL) * a9;var bB = bu._$fL + (bs._$fL - bu._$fL) * a9;var bz = aK._$fL + (aJ._$fL - aK._$fL) * a9;var by = bj._$fL + (bi._$fL - bj._$fL) * a9;bm._$Yr._$fL = (1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8);bC = aP._$gL + (aO._$gL - aP._$gL) * a9;bB = bu._$gL + (bs._$gL - bu._$gL) * a9;bz = aK._$gL + (aJ._$gL - aK._$gL) * a9;by = bj._$gL + (bi._$gL - bj._$gL) * a9;bm._$Yr._$gL = (1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8);bC = aP._$B0 + (aO._$B0 - aP._$B0) * a9;bB = bu._$B0 + (bs._$B0 - bu._$B0) * a9;bz = aK._$B0 + (aJ._$B0 - aK._$B0) * a9;by = bj._$B0 + (bi._$B0 - bj._$B0) * a9;bm._$Yr._$B0 = (1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8);bC = aP._$z0 + (aO._$z0 - aP._$z0) * a9;bB = bu._$z0 + (bs._$z0 - bu._$z0) * a9;bz = aK._$z0 + (aJ._$z0 - aK._$z0) * a9;by = bj._$z0 + (bi._$z0 - bj._$z0) * a9;bm._$Yr._$z0 = (1 - a6) * (bC + (bB - bC) * a8) + a6 * (bz + (by - bz) * a8);bC = aP._$qT + (aO._$qT - aP._$qT) * a9;bB = bu._$qT + (bs._$qT - bu._$qT) * a9;bz = aK._$qT + (aJ._$qT - aK._$qT) * a9;by = bj._$qT + (bi._$qT - bj._$qT) * a9;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]];var aS = this._$Y0[a3[1]];var bE = this._$Y0[a3[2]];var bD = this._$Y0[a3[3]];var aN = this._$Y0[a3[4]];var aM = this._$Y0[a3[5]];var bp = this._$Y0[a3[6]];var bo = this._$Y0[a3[7]];var bh = this._$Y0[a3[8]];var bg = this._$Y0[a3[9]];var aY = this._$Y0[a3[10]];var aW = this._$Y0[a3[11]];var a7 = this._$Y0[a3[12]];var a5 = this._$Y0[a3[13]];var aR = this._$Y0[a3[14]];var aQ = this._$Y0[a3[15]];var a9 = ba[0];var a8 = ba[1];var a6 = ba[2];var a4 = ba[3];var bC = aT._$fL + (aS._$fL - aT._$fL) * a9;var bB = bE._$fL + (bD._$fL - bE._$fL) * a9;var bz = aN._$fL + (aM._$fL - aN._$fL) * a9;var by = bp._$fL + (bo._$fL - bp._$fL) * a9;var bv = bh._$fL + (bg._$fL - bh._$fL) * a9;var bt = aY._$fL + (aW._$fL - aY._$fL) * a9;var br = a7._$fL + (a5._$fL - a7._$fL) * a9;var bq = aR._$fL + (aQ._$fL - aR._$fL) * a9;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));bC = aT._$gL + (aS._$gL - aT._$gL) * a9;bB = bE._$gL + (bD._$gL - bE._$gL) * a9;bz = aN._$gL + (aM._$gL - aN._$gL) * a9;by = bp._$gL + (bo._$gL - bp._$gL) * a9;bv = bh._$gL + (bg._$gL - bh._$gL) * a9;bt = aY._$gL + (aW._$gL - aY._$gL) * a9;br = a7._$gL + (a5._$gL - a7._$gL) * a9;bq = aR._$gL + (aQ._$gL - aR._$gL) * a9;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));bC = aT._$B0 + (aS._$B0 - aT._$B0) * a9;bB = bE._$B0 + (bD._$B0 - bE._$B0) * a9;bz = aN._$B0 + (aM._$B0 - aN._$B0) * a9;by = bp._$B0 + (bo._$B0 - bp._$B0) * a9;bv = bh._$B0 + (bg._$B0 - bh._$B0) * a9;bt = aY._$B0 + (aW._$B0 - aY._$B0) * a9;br = a7._$B0 + (a5._$B0 - a7._$B0) * a9;bq = aR._$B0 + (aQ._$B0 - aR._$B0) * a9;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));bC = aT._$z0 + (aS._$z0 - aT._$z0) * a9;bB = bE._$z0 + (bD._$z0 - bE._$z0) * a9;bz = aN._$z0 + (aM._$z0 - aN._$z0) * a9;by = bp._$z0 + (bo._$z0 - bp._$z0) * a9;bv = bh._$z0 + (bg._$z0 - bh._$z0) * a9;bt = aY._$z0 + (aW._$z0 - aY._$z0) * a9;br = a7._$z0 + (a5._$z0 - a7._$z0) * a9;bq = aR._$z0 + (aQ._$z0 - aR._$z0) * a9;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));bC = aT._$qT + (aS._$qT - aT._$qT) * a9;bB = bE._$qT + (bD._$qT - bE._$qT) * a9;bz = aN._$qT + (aM._$qT - aN._$qT) * a9;by = bp._$qT + (bo._$qT - bp._$qT) * a9;bv = bh._$qT + (bg._$qT - bh._$qT) * a9;bt = aY._$qT + (aW._$qT - aY._$qT) * a9;br = a7._$qT + (a5._$qT - a7._$qT) * a9;bq = aR._$qT + (aQ._$qT - aR._$qT) * a9;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;var aZ = new Float32Array(aV);for (var bk = 0; bk < aV; bk++) {\n var aI = bk;var aH = 1;for (var aL = 0; aL < a2; aL++) {\n aH *= aI % 2 == 0 ? 1 - ba[aL] : ba[aL];aI /= 2;\n }aZ[bk] = aH;\n }var bA = new Array();for (var aU = 0; aU < aV; aU++) {\n bA[aU] = this._$Y0[a3[aU]];\n }var be = 0,\n bc = 0,\n bd = 0,\n bb = 0,\n aX = 0;for (var aU = 0; aU < aV; aU++) {\n be += aZ[aU] * bA[aU]._$fL;bc += aZ[aU] * bA[aU]._$gL;bd += aZ[aU] * bA[aU]._$B0;bb += aZ[aU] * bA[aU]._$z0;aX += aZ[aU] * bA[aU]._$qT;\n }bm._$Yr._$fL = be;bm._$Yr._$gL = bc;bm._$Yr._$B0 = bd;bm._$Yr._$z0 = bb;bm._$Yr._$qT = aX;\n }\n }\n }\n }\n }var bn = this._$Y0[a3[0]];bm._$Yr.reflectX = bn.reflectX;bm._$Yr.reflectY = bn.reflectY;\n };ab.prototype._$2b = function (aM, aH) {\n if (!(this == aH._$GT())) {\n console.log(\"### assert!! ### \");\n }var aR = aH;aR._$hS(true);if (!this._$32()) {\n aR.setTotalScale_notForClient(aR._$Yr._$B0);aR.setTotalOpacity(aR.getInterpolatedOpacity());\n } else {\n var aT = this.getTargetBaseDataID();if (aR._$8r == c._$ur) {\n aR._$8r = aM.getBaseDataIndex(aT);\n }if (aR._$8r < 0) {\n if (Q._$so) {\n q._$li(\"_$L _$0P _$G :: %s\", aT);\n }aR._$hS(false);\n } else {\n var aI = aM.getBaseData(aR._$8r);if (aI != null) {\n var aL = aM._$q2(aR._$8r);var aS = ab._$Xo;aS[0] = aR._$Yr._$fL;aS[1] = aR._$Yr._$gL;var aJ = ab._$io;aJ[0] = 0;aJ[1] = -0.1;var aO = aL._$GT().getType();if (aO == c._$c2) {\n aJ[1] = -10;\n } else {\n aJ[1] = -0.1;\n }var aQ = ab._$0o;this._$Jr(aM, aI, aL, aS, aJ, aQ);var aP = aC._$92(aJ, aQ);aI._$nb(aM, aL, aS, aS, 1, 0, 2);aR._$Wr._$fL = aS[0];aR._$Wr._$gL = aS[1];aR._$Wr._$B0 = aR._$Yr._$B0;aR._$Wr._$z0 = aR._$Yr._$z0;aR._$Wr._$qT = aR._$Yr._$qT - aP * aC._$NS;var aK = aL.getTotalScale();aR.setTotalScale_notForClient(aK * aR._$Wr._$B0);var aN = aL.getTotalOpacity();aR.setTotalOpacity(aN * aR.getInterpolatedOpacity());aR._$Wr.reflectX = aR._$Yr.reflectX;aR._$Wr.reflectY = aR._$Yr.reflectY;aR._$hS(aL._$yo());\n } else {\n aR._$hS(false);\n }\n }\n }\n };ab.prototype._$nb = function (aJ, aR, aL, a4, aT, aO, a2) {\n if (!(this == aR._$GT())) {\n console.log(\"### assert!! ### \");\n }var aH = aR;var aU = aH._$Wr != null ? aH._$Wr : aH._$Yr;var a0 = Math.sin(aC._$bS * aU._$qT);var aP = Math.cos(aC._$bS * aU._$qT);var a3 = aH.getTotalScale();var aW = aU.reflectX ? -1 : 1;var aV = aU.reflectY ? -1 : 1;var aS = aP * a3 * aW;var aQ = -a0 * a3 * aV;var a1 = a0 * a3 * aW;var aZ = aP * a3 * aV;var aY = aU._$fL;var aX = aU._$gL;var aN, aM;var aI = aT * a2;for (var aK = aO; aK < aI; aK += a2) {\n aN = aL[aK];aM = aL[aK + 1];a4[aK] = aS * aN + aQ * aM + aY;a4[aK + 1] = a1 * aN + aZ * aM + aX;\n }\n };ab.prototype._$Jr = function (aP, aK, aI, aR, aQ, aH) {\n if (!(aK == aI._$GT())) {\n console.log(\"### assert!! ### \");\n }var aO = ab._$Lo;ab._$Lo[0] = aR[0];ab._$Lo[1] = aR[1];aK._$nb(aP, aI, aO, aO, 1, 0, 2);var aL = ab._$To;var aS = ab._$Po;var aN = 10;var aJ = 1;for (var aM = 0; aM < aN; aM++) {\n aS[0] = aR[0] + aJ * aQ[0];aS[1] = aR[1] + aJ * aQ[1];aK._$nb(aP, aI, aS, aL, 1, 0, 2);aL[0] -= aO[0];aL[1] -= aO[1];if (aL[0] != 0 || aL[1] != 0) {\n aH[0] = aL[0];aH[1] = aL[1];return;\n }aS[0] = aR[0] - aJ * aQ[0];aS[1] = aR[1] - aJ * aQ[1];aK._$nb(aP, aI, aS, aL, 1, 0, 2);aL[0] -= aO[0];aL[1] -= aO[1];if (aL[0] != 0 || aL[1] != 0) {\n aL[0] = -aL[0];aL[0] = -aL[0];aH[0] = aL[0];aH[1] = aL[1];return;\n }aJ *= 0.1;\n }if (Q._$so) {\n console.log(\"_$L0 to transform _$SP\\n\");\n }\n };function al(aH) {\n B.prototype.constructor.call(this, aH);this._$8r = c._$ur;this._$Yr = null;this._$Wr = null;\n }al.prototype = new B();function a() {\n if (j) {\n return;\n }ae.prototype.constructor.call(this);this._$gP = null;this._$dr = null;this._$GS = null;this._$qb = null;this._$Lb = null;this._$mS = null;\n }a.prototype = new ae();a._$ur = -2;a._$ES = 500;a._$wb = 2;a._$8S = 3;a._$os = 4;a._$52 = a._$ES;a._$R2 = a._$ES;a._$Sb = function (aJ) {\n for (var aI = aJ.length - 1; aI >= 0; --aI) {\n var aH = aJ[aI];if (aH < a._$52) {\n a._$52 = aH;\n } else {\n if (aH > a._$R2) {\n a._$R2 = aH;\n }\n }\n }\n };a._$or = function () {\n return a._$52;\n };a._$Pr = function () {\n return a._$R2;\n };a.prototype._$F0 = function (aH) {\n this._$gP = aH._$nP();this._$dr = aH._$nP();this._$GS = aH._$nP();this._$qb = aH._$6L();this._$Lb = aH._$cS();this._$mS = aH._$Tb();if (aH.getFormatVersion() >= ay._$T7) {\n this.clipID = aH._$nP();this.clipIDList = this.convertClipIDForV2_11(this.clipID);\n } else {\n this.clipIDList = null;\n }a._$Sb(this._$Lb);\n };a.prototype.getClipIDList = function () {\n return this.clipIDList;\n };a.prototype._$Nr = function (aI, aH) {\n aH._$IS[0] = false;aH._$Us = aG._$Z2(aI, this._$GS, aH._$IS, this._$Lb);if (Q._$Zs) {} else {\n if (aH._$IS[0]) {\n return;\n }\n }aH._$7s = aG._$br(aI, this._$GS, aH._$IS, this._$mS);\n };a.prototype._$2b = function (aH) {};a.prototype.getDrawDataID = function () {\n return this._$gP;\n };a.prototype._$j2 = function (aH) {\n this._$gP = aH;\n };a.prototype.getOpacity = function (aH, aI) {\n return aI._$7s;\n };a.prototype._$zS = function (aH, aI) {\n return aI._$Us;\n };a.prototype.getTargetBaseDataID = function () {\n return this._$dr;\n };a.prototype._$gs = function (aH) {\n this._$dr = aH;\n };a.prototype._$32 = function () {\n return this._$dr != null && this._$dr != n._$2o();\n };a.prototype.getType = function () {};function aq() {\n if (j) {\n return;\n }this._$NL = null;this._$3S = null;this._$aS = null;aq._$42++;\n }aq._$42 = 0;aq.prototype._$1b = function () {\n return this._$3S;\n };aq.prototype.getDrawDataList = function () {\n return this._$aS;\n };aq.prototype._$F0 = function (aH) {\n this._$NL = aH._$nP();this._$aS = aH._$nP();this._$3S = aH._$nP();\n };aq.prototype._$kr = function (aH) {\n aH._$Zo(this._$3S);aH._$xo(this._$aS);this._$3S = null;this._$aS = null;\n };function v() {\n if (j) {\n return;\n }aa.prototype.constructor.call(this);this._$zo = new x();\n }v.prototype = new aa();v.loadModel = function (aI) {\n var aH = new v();aa._$62(aH, aI);return aH;\n };v.loadModel = function (aI) {\n var aH = new v();aa._$62(aH, aI);return aH;\n };v._$to = function () {\n var aH = new v();return aH;\n };v._$er = function (aM) {\n var aJ = new _$5(\"../_$_r/_$t0/_$Ri/_$_P._$d\");if (aJ.exists() == false) {\n throw new _$ls(\"_$t0 _$_ _$6 _$Ui :: \" + aJ._$PL());\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\"];var aK = v.loadModel(aJ._$3b());for (var aI = 0; aI < aH.length; aI++) {\n var aL = new _$5(aH[aI]);if (aL.exists() == false) {\n throw new _$ls(\"_$t0 _$_ _$6 _$Ui :: \" + aL._$PL());\n }aK.setTexture(aI, _$nL._$_o(aM, aL._$3b()));\n }return aK;\n };v.prototype.setGL = function (aH) {\n this._$zo.setGL(aH);\n };v.prototype.setTransform = function (aH) {\n this._$zo.setTransform(aH);\n };v.prototype.draw = function () {\n this._$5S.draw(this._$zo);\n };v.prototype._$K2 = function () {\n this._$zo._$K2();\n };v.prototype.setTexture = function (aI, aH) {\n if (this._$zo == null) {\n q._$li(\"_$Yi for QT _$ki / _$XS() is _$6 _$ui!!\");\n }this._$zo.setTexture(aI, aH);\n };v.prototype.setTexture = function (aI, aH) {\n if (this._$zo == null) {\n q._$li(\"_$Yi for QT _$ki / _$XS() is _$6 _$ui!!\");\n }this._$zo.setTexture(aI, aH);\n };v.prototype._$Rs = function () {\n return this._$zo._$Rs();\n };v.prototype._$Ds = function (aH) {\n this._$zo._$Ds(aH);\n };v.prototype.getDrawParam = function () {\n return this._$zo;\n };function ao() {\n if (j) {\n return;\n }ah.prototype.constructor.call(this);this.motions = new Array();this._$o2 = null;this._$7r = ao._$Co++;this._$D0 = 30;this._$yT = 0;this._$E = false;this.loopFadeIn = true;this._$rr = -1;this._$eP = 0;\n }ao.prototype = new ah();ao._$cs = \"VISIBLE:\";ao._$ar = \"LAYOUT:\";ao.MTN_PREFIX_FADEIN = \"FADEIN:\";ao.MTN_PREFIX_FADEOUT = \"FADEOUT:\";ao._$Co = 0;ao._$1T = 1;ao.loadMotion = function (aJ) {\n var aI = ap._$C(aJ);var aH = ao.loadMotion(aI);return aH;\n };function p(aI, aH) {\n return String.fromCharCode(aI.getUint8(aH));\n }ao.loadMotion = function (aT) {\n if (aT instanceof ArrayBuffer) {\n aT = new DataView(aT);\n }var aN = new ao();var aI = [0];var aQ = aT.byteLength;aN._$yT = 0;for (var aJ = 0; aJ < aQ; ++aJ) {\n var aS = p(aT, aJ);var aL = aS.charCodeAt(0);if (aS == \"\\n\" || aS == \"\\r\") {\n continue;\n }if (aS == \"#\") {\n for (; aJ < aQ; ++aJ) {\n if (p(aT, aJ) == \"\\n\" || p(aT, aJ) == \"\\r\") {\n break;\n }\n }continue;\n }if (aS == \"$\") {\n var aV = aJ;var aK = -1;for (; aJ < aQ; ++aJ) {\n aS = p(aT, aJ);if (aS == \"\\r\" || aS == \"\\n\") {\n break;\n }if (aS == \"=\") {\n aK = aJ;break;\n }\n }var aP = false;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 }for (aJ = aK + 1; aJ < aQ; ++aJ) {\n aS = p(aT, aJ);if (aS == \"\\r\" || aS == \"\\n\") {\n break;\n }if (aS == \",\" || aS == \" \" || aS == \"\\t\") {\n continue;\n }var aM = G._$LS(aT, aQ, aJ, aI);if (aI[0] > 0) {\n if (aP && 5 < aM && aM < 121) {\n aN._$D0 = aM;\n }\n }aJ = aI[0];\n }\n }for (; aJ < aQ; ++aJ) {\n if (p(aT, aJ) == \"\\n\" || p(aT, aJ) == \"\\r\") {\n break;\n }\n }continue;\n }if (97 <= aL && aL <= 122 || 65 <= aL && aL <= 90 || aS == \"_\") {\n var aV = aJ;var aK = -1;for (; aJ < aQ; ++aJ) {\n aS = p(aT, aJ);if (aS == \"\\r\" || aS == \"\\n\") {\n break;\n }if (aS == \"=\") {\n aK = aJ;break;\n }\n }if (aK >= 0) {\n var aO = new t();if (G.startsWith(aT, aV, ao._$cs)) {\n aO._$RP = t._$hs;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);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;aO._$4P = G.createString(aT, aV, aK - aV);\n }\n }aN.motions.push(aO);var aU = 0;var aR = [];for (aJ = aK + 1; aJ < aQ; ++aJ) {\n aS = p(aT, aJ);if (aS == \"\\r\" || aS == \"\\n\") {\n break;\n }if (aS == \",\" || aS == \" \" || aS == \"\\t\") {\n continue;\n }var aM = G._$LS(aT, aQ, aJ, aI);if (aI[0] > 0) {\n aR.push(aM);aU++;var aH = aI[0];if (aH < aJ) {\n console.log(\"_$n0 _$hi . @Live2DMotion loadMotion()\\n\");break;\n }aJ = aH - 1;\n }\n }aO._$I0 = new Float32Array(aR);if (aU > aN._$yT) {\n aN._$yT = aU;\n }\n }\n }\n }aN._$rr = 1000 * aN._$yT / aN._$D0 | 0;return aN;\n };ao.prototype.getDurationMSec = function () {\n return this._$E ? -1 : this._$rr;\n };ao.prototype.getLoopDurationMSec = function () {\n return this._$rr;\n };ao.prototype.dump = function () {\n for (var aJ = 0; aJ < this.motions.length; aJ++) {\n var aH = this.motions[aJ];console.log(\"_$wL[%s] [%d]. \", aH._$4P, aH._$I0.length);for (var aI = 0; aI < aH._$I0.length && aI < 10; aI++) {\n console.log(\"%5.2f ,\", aH._$I0[aI]);\n }console.log(\"\\n\");\n }\n };ao.prototype.updateParamExe = function (aJ, aN, aQ, a3) {\n var aO = aN - a3._$z2;var a0 = aO * this._$D0 / 1000;var aK = a0 | 0;var aR = a0 - aK;for (var aZ = 0; aZ < this.motions.length; aZ++) {\n var aV = this.motions[aZ];var aL = aV._$I0.length;var aT = aV._$4P;if (aV._$RP == t._$hs) {\n var aX = aV._$I0[aK >= aL ? aL - 1 : aK];aJ.setParamFloat(aT, aX);\n } else {\n if (t._$ws <= aV._$RP && aV._$RP <= t._$Ys) {} else {\n var aH = aJ.getParamIndex(aT);var a4 = aJ.getModelContext();var aY = a4.getParamMax(aH);var aW = a4.getParamMin(aH);var aM = 0.4;var aS = aM * (aY - aW);var aU = a4.getParamFloat(aH);var a2 = aV._$I0[aK >= aL ? aL - 1 : aK];var a1 = aV._$I0[aK + 1 >= aL ? aL - 1 : aK + 1];var aI;if (a2 < a1 && a1 - a2 > aS || a2 > a1 && a2 - a1 > aS) {\n aI = a2;\n } else {\n aI = a2 + (a1 - a2) * aR;\n }var aP = aU + (aI - aU) * aQ;aJ.setParamFloat(aT, aP);\n }\n }\n }if (aK >= this._$yT) {\n if (this._$E) {\n a3._$z2 = aN;if (this.loopFadeIn) {\n a3._$bs = aN;\n }\n } else {\n a3._$9L = true;\n }\n }this._$eP = aQ;\n };ao.prototype._$r0 = function () {\n return this._$E;\n };ao.prototype._$aL = function (aH) {\n this._$E = aH;\n };ao.prototype._$S0 = function () {\n return this._$D0;\n };ao.prototype._$U0 = function (aH) {\n this._$D0 = aH;\n };ao.prototype.isLoopFadeIn = function () {\n return this.loopFadeIn;\n };ao.prototype.setLoopFadeIn = function (aH) {\n this.loopFadeIn = aH;\n };function aE() {\n this._$P = new Float32Array(100);this.size = 0;\n }aE.prototype.clear = function () {\n this.size = 0;\n };aE.prototype.add = function (aI) {\n if (this._$P.length <= this.size) {\n var aH = new Float32Array(this.size * 2);P._$jT(this._$P, 0, aH, 0, this.size);this._$P = aH;\n }this._$P[this.size++] = aI;\n };aE.prototype._$BL = function () {\n var aH = new Float32Array(this.size);P._$jT(this._$P, 0, aH, 0, this.size);return aH;\n };function t() {\n this._$4P = null;this._$I0 = null;this._$RP = null;\n }t._$Fr = 0;t._$hs = 1;t._$ws = 100;t._$Ns = 101;t._$xs = 102;t._$us = 103;t._$qs = 104;t._$Ys = 105;function E() {\n if (j) {\n return;\n }c.prototype.constructor.call(this);this._$o = 0;this._$A = 0;this._$GS = null;this._$Eo = null;\n }E.prototype = new c();E._$gT = new Array();E.prototype._$zP = function () {\n this._$GS = new g();this._$GS._$zP();\n };E.prototype._$F0 = function (aH) {\n c.prototype._$F0.call(this, aH);this._$A = aH._$6L();this._$o = aH._$6L();this._$GS = aH._$nP();this._$Eo = aH._$nP();c.prototype.readV2_opacity.call(this, aH);\n };E.prototype.init = function (aH) {\n var aI = new H(this);var aJ = (this._$o + 1) * (this._$A + 1);if (aI._$Cr != null) {\n aI._$Cr = null;\n }aI._$Cr = new Float32Array(aJ * 2);if (aI._$hr != null) {\n aI._$hr = null;\n }if (this._$32()) {\n aI._$hr = new Float32Array(aJ * 2);\n } else {\n aI._$hr = null;\n }return aI;\n };E.prototype._$Nr = function (aJ, aI) {\n var aK = aI;if (!this._$GS._$Ur(aJ)) {\n return;\n }var aL = this._$VT();var aH = E._$gT;aH[0] = false;aG._$Vr(aJ, this._$GS, aH, aL, this._$Eo, aK._$Cr, 0, 2);aI._$Ib(aH[0]);this.interpolateOpacity(aJ, this._$GS, aI, aH);\n };E.prototype._$2b = function (aK, aJ) {\n var aL = aJ;aL._$hS(true);if (!this._$32()) {\n aL.setTotalOpacity(aL.getInterpolatedOpacity());\n } else {\n var aH = this.getTargetBaseDataID();if (aL._$8r == c._$ur) {\n aL._$8r = aK.getBaseDataIndex(aH);\n }if (aL._$8r < 0) {\n if (Q._$so) {\n q._$li(\"_$L _$0P _$G :: %s\", aH);\n }aL._$hS(false);\n } else {\n var aN = aK.getBaseData(aL._$8r);var aI = aK._$q2(aL._$8r);if (aN != null && aI._$yo()) {\n var aM = aI.getTotalScale();aL.setTotalScale_notForClient(aM);var aO = aI.getTotalOpacity();aL.setTotalOpacity(aO * aL.getInterpolatedOpacity());aN._$nb(aK, aI, aL._$Cr, aL._$hr, this._$VT(), 0, 2);aL._$hS(true);\n } else {\n aL._$hS(false);\n }\n }\n }\n };E.prototype._$nb = function (aL, aI, aH, aM, aO, aK, aJ) {\n if (true) {\n var aN = aI;var aP = aN._$hr != null ? aN._$hr : aN._$Cr;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 };E.transformPoints_sdk2 = function (a0, bc, a5, aP, aI, aR, aQ, aU) {\n var aW = a5 * aI;var aV;var bn, bm;var aT = 0;var aS = 0;var bl = 0;var bk = 0;var bf = 0;var be = 0;var aZ = false;for (var ba = aP; ba < aW; ba += aI) {\n var bd, a7, a4, aX;a4 = a0[ba];aX = a0[ba + 1];bd = a4 * aQ;a7 = aX * aU;if (bd < 0 || a7 < 0 || aQ <= bd || aU <= a7) {\n var a1 = aQ + 1;if (!aZ) {\n aZ = true;aT = 0.25 * (aR[(0 + 0 * a1) * 2] + aR[(aQ + 0 * a1) * 2] + aR[(0 + aU * a1) * 2] + aR[(aQ + aU * a1) * 2]);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]);var aM = aR[(aQ + aU * a1) * 2] - aR[(0 + 0 * a1) * 2];var aL = aR[(aQ + aU * a1) * 2 + 1] - aR[(0 + 0 * a1) * 2 + 1];var bh = aR[(aQ + 0 * a1) * 2] - aR[(0 + aU * a1) * 2];var bg = aR[(aQ + 0 * a1) * 2 + 1] - aR[(0 + aU * a1) * 2 + 1];bl = (aM + bh) * 0.5;bk = (aL + bg) * 0.5;bf = (aM - bh) * 0.5;be = (aL - bg) * 0.5;if (bl == 0 && bk == 0) {}if (bf == 0 && be == 0) {}aT -= 0.5 * (bl + bf);aS -= 0.5 * (bk + be);\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];var a2 = aR[(0 + 0 * a1) * 2 + 1];var a8 = aT - 2 * bl;var a6 = aS - 2 * bk;var aK = aT - 2 * bf;var aJ = aS - 2 * be;var aO = aT - 2 * bl - 2 * bf;var aN = aS - 2 * bk - 2 * be;var bj = 0.5 * (a4 - -2);var bi = 0.5 * (aX - -2);if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);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];var aJ = aR[(0 + aU * a1) * 2 + 1];var aO = aT - 2 * bl + 1 * bf;var aN = aS - 2 * bk + 1 * be;var a3 = aT + 3 * bf;var a2 = aS + 3 * be;var a8 = aT - 2 * bl + 3 * bf;var a6 = aS - 2 * bk + 3 * be;var bj = 0.5 * (a4 - -2);var bi = 0.5 * (aX - 1);if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n } else {\n var aH = a7 | 0;if (aH == aU) {\n aH = aU - 1;\n }var bj = 0.5 * (a4 - -2);var bi = a7 - aH;var bb = aH / aU;var a9 = (aH + 1) / aU;var aK = aR[(0 + aH * a1) * 2];var aJ = aR[(0 + aH * a1) * 2 + 1];var a3 = aR[(0 + (aH + 1) * a1) * 2];var a2 = aR[(0 + (aH + 1) * a1) * 2 + 1];var aO = aT - 2 * bl + bb * bf;var aN = aS - 2 * bk + bb * be;var a8 = aT - 2 * bl + a9 * bf;var a6 = aS - 2 * bk + a9 * be;if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);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];var a6 = aR[(aQ + 0 * a1) * 2 + 1];var a3 = aT + 3 * bl;var a2 = aS + 3 * bk;var aO = aT + 1 * bl - 2 * bf;var aN = aS + 1 * bk - 2 * be;var aK = aT + 3 * bl - 2 * bf;var aJ = aS + 3 * bk - 2 * be;var bj = 0.5 * (a4 - 1);var bi = 0.5 * (aX - -2);if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);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];var aN = aR[(aQ + aU * a1) * 2 + 1];var aK = aT + 3 * bl + 1 * bf;var aJ = aS + 3 * bk + 1 * be;var a8 = aT + 1 * bl + 3 * bf;var a6 = aS + 1 * bk + 3 * be;var a3 = aT + 3 * bl + 3 * bf;var a2 = aS + 3 * bk + 3 * be;var bj = 0.5 * (a4 - 1);var bi = 0.5 * (aX - 1);if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n } else {\n var aH = a7 | 0;if (aH == aU) {\n aH = aU - 1;\n }var bj = 0.5 * (a4 - 1);var bi = a7 - aH;var bb = aH / aU;var a9 = (aH + 1) / aU;var aO = aR[(aQ + aH * a1) * 2];var aN = aR[(aQ + aH * a1) * 2 + 1];var a8 = aR[(aQ + (aH + 1) * a1) * 2];var a6 = aR[(aQ + (aH + 1) * a1) * 2 + 1];var aK = aT + 3 * bl + bb * bf;var aJ = aS + 3 * bk + bb * be;var a3 = aT + 3 * bl + a9 * bf;var a2 = aS + 3 * bk + a9 * be;if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);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;if (aY == aQ) {\n aY = aQ - 1;\n }var bj = bd - aY;var bi = 0.5 * (aX - -2);var bp = aY / aQ;var bo = (aY + 1) / aQ;var a8 = aR[(aY + 0 * a1) * 2];var a6 = aR[(aY + 0 * a1) * 2 + 1];var a3 = aR[(aY + 1 + 0 * a1) * 2];var a2 = aR[(aY + 1 + 0 * a1) * 2 + 1];var aO = aT + bp * bl - 2 * bf;var aN = aS + bp * bk - 2 * be;var aK = aT + bo * bl - 2 * bf;var aJ = aS + bo * bk - 2 * be;if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n } else {\n if (aX >= 1) {\n var aY = bd | 0;if (aY == aQ) {\n aY = aQ - 1;\n }var bj = bd - aY;var bi = 0.5 * (aX - 1);var bp = aY / aQ;var bo = (aY + 1) / aQ;var aO = aR[(aY + aU * a1) * 2];var aN = aR[(aY + aU * a1) * 2 + 1];var aK = aR[(aY + 1 + aU * a1) * 2];var aJ = aR[(aY + 1 + aU * a1) * 2 + 1];var a8 = aT + bp * bl + 3 * bf;var a6 = aS + bp * bk + 3 * be;var a3 = aT + bo * bl + 3 * bf;var a2 = aS + bo * bk + 3 * be;if (bj + bi <= 1) {\n bc[ba] = aO + (aK - aO) * bj + (a8 - aO) * bi;bc[ba + 1] = aN + (aJ - aN) * bj + (a6 - aN) * bi;\n } else {\n bc[ba] = a3 + (a8 - a3) * (1 - bj) + (aK - a3) * (1 - bi);bc[ba + 1] = a2 + (a6 - a2) * (1 - bj) + (aJ - a2) * (1 - bi);\n }\n } else {\n System.err.printf(\"_$li calc : %.4f , %.4f\t\t\t\t\t@@BDBoxGrid\\n\", a4, aX);\n }\n }\n }\n }\n } else {\n bc[ba] = aT + a4 * bl + aX * bf;bc[ba + 1] = aS + a4 * bk + aX * be;\n }\n } else {\n bn = bd - (bd | 0);bm = a7 - (a7 | 0);aV = 2 * ((bd | 0) + (a7 | 0) * (aQ + 1));if (bn + bm < 1) {\n bc[ba] = aR[aV] * (1 - bn - bm) + aR[aV + 2] * bn + aR[aV + 2 * (aQ + 1)] * bm;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);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 };E.prototype.transformPoints_sdk1 = function (aJ, aR, aL, a0, aU, aP, aZ) {\n var aH = aR;var aO, aN;var aM = this._$o;var aQ = this._$A;var aI = aU * aZ;var aS, aY;var aV;var aX, aW;var aT = aH._$hr != null ? aH._$hr : aH._$Cr;for (var aK = aP; aK < aI; aK += aZ) {\n if (Q._$ts) {\n aO = aL[aK];aN = aL[aK + 1];if (aO < 0) {\n aO = 0;\n } else {\n if (aO > 1) {\n aO = 1;\n }\n }if (aN < 0) {\n aN = 0;\n } else {\n if (aN > 1) {\n aN = 1;\n }\n }aO *= aM;aN *= aQ;aS = aO | 0;aY = aN | 0;if (aS > aM - 1) {\n aS = aM - 1;\n }if (aY > aQ - 1) {\n aY = aQ - 1;\n }aX = aO - aS;aW = aN - aY;aV = 2 * (aS + aY * (aM + 1));\n } else {\n aO = aL[aK] * aM;aN = aL[aK + 1] * aQ;aX = aO - (aO | 0);aW = aN - (aN | 0);aV = 2 * ((aO | 0) + (aN | 0) * (aM + 1));\n }if (aX + aW < 1) {\n a0[aK] = aT[aV] * (1 - aX - aW) + aT[aV + 2] * aX + aT[aV + 2 * (aM + 1)] * aW;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);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 };E.prototype._$VT = function () {\n return (this._$o + 1) * (this._$A + 1);\n };E.prototype.getType = function () {\n return c._$_b;\n };function H(aH) {\n B.prototype.constructor.call(this, aH);this._$8r = c._$ur;this._$Cr = null;this._$hr = null;\n }H.prototype = new B();function s() {\n if (j) {\n return;\n }this.visible = true;this._$g0 = false;this._$NL = null;this._$3S = null;this._$aS = null;s._$42++;\n }s._$42 = 0;s.prototype._$zP = function () {\n this._$3S = new Array();this._$aS = new Array();\n };s.prototype._$F0 = function (aH) {\n this._$g0 = aH._$8L();this.visible = aH._$8L();this._$NL = aH._$nP();this._$3S = aH._$nP();this._$aS = aH._$nP();\n };s.prototype.init = function (aI) {\n var aH = new aj(this);aH.setPartsOpacity(this.isVisible() ? 1 : 0);return aH;\n };s.prototype._$6o = function (aH) {\n if (this._$3S == null) {\n throw new Error(\"_$3S _$6 _$Wo@_$6o\");\n }this._$3S.push(aH);\n };s.prototype._$3o = function (aH) {\n if (this._$aS == null) {\n throw new Error(\"_$aS _$6 _$Wo@_$3o\");\n }this._$aS.push(aH);\n };s.prototype._$Zo = function (aH) {\n this._$3S = aH;\n };s.prototype._$xo = function (aH) {\n this._$aS = aH;\n };s.prototype.isVisible = function () {\n return this.visible;\n };s.prototype._$uL = function () {\n return this._$g0;\n };s.prototype._$KP = function (aH) {\n this.visible = aH;\n };s.prototype._$ET = function (aH) {\n this._$g0 = aH;\n };s.prototype.getBaseData = function () {\n return this._$3S;\n };s.prototype.getDrawData = function () {\n return this._$aS;\n };s.prototype._$p2 = function () {\n return this._$NL;\n };s.prototype._$ob = function (aH) {\n this._$NL = aH;\n };s.prototype.getPartsID = function () {\n return this._$NL;\n };s.prototype._$MP = function (aH) {\n this._$NL = aH;\n };function aj(aH) {\n this._$VS = null;this._$e0 = null;this._$e0 = aH;\n }aj.prototype = new S();aj.prototype.getPartsOpacity = function () {\n return this._$VS;\n };aj.prototype.setPartsOpacity = function (aH) {\n this._$VS = aH;\n };function ak(aH) {\n if (j) {\n return;\n }this.id = aH;\n }ak._$L7 = function () {\n z._$27();n._$27();Z._$27();i._$27();\n };ak.prototype.toString = function () {\n return this.id;\n };function D() {}D.prototype._$F0 = function (aH) {};function an() {\n if (j) {\n return;\n }this._$4S = null;\n }an.prototype._$1s = function () {\n return this._$4S;\n };an.prototype._$zP = function () {\n this._$4S = new Array();\n };an.prototype._$F0 = function (aH) {\n this._$4S = aH._$nP();\n };an.prototype._$Ks = function (aH) {\n this._$4S.push(aH);\n };function au(aH, aI) {\n this.canvas = aH;this.context = aI;this.viewport = new Array(0, 0, aH.width, aH.height);this._$6r = 1;this._$xP = 0;this._$3r = 1;this._$uP = 0;this._$Qo = -1;this.cacheImages = {};\n }au.tr = new am();au._$50 = new am();au._$Ti = new Array(0, 0);au._$Pi = new Array(0, 0);au._$B = new Array(0, 0);au.prototype._$lP = function (aI, aK, aJ, aH) {\n this.viewport = new Array(aI, aK, aJ, aH);\n };au.prototype._$bL = function () {\n this.context.save();var aH = this.viewport;if (aH != null) {\n this.context.beginPath();this.context._$Li(aH[0], aH[1], aH[2], aH[3]);this.context.clip();\n }\n };au.prototype._$ei = function () {\n this.context.restore();\n };au.prototype.drawElements = function (bc, bm, aX, aJ, bA, aM, bl, bz) {\n try {\n if (bA != this._$Qo) {\n this._$Qo = bA;this.context.globalAlpha = bA;\n }var a2 = bm.length;var aP = bc.width;var a5 = bc.height;var bE = this.context;var a7 = this._$xP;var a6 = this._$uP;var a1 = this._$6r;var aZ = this._$3r;var bD = au.tr;var aI = au._$Ti;var aH = au._$Pi;var bu = au._$B;for (var by = 0; by < a2; by += 3) {\n bE.save();var aW = bm[by];var aV = bm[by + 1];var aT = bm[by + 2];var aL = a7 + a1 * aX[aW * 2];var aK = a6 + aZ * aX[aW * 2 + 1];var br = a7 + a1 * aX[aV * 2];var bp = a6 + aZ * aX[aV * 2 + 1];var bh = a7 + a1 * aX[aT * 2];var bf = a6 + aZ * aX[aT * 2 + 1];if (bl) {\n bl._$PS(aL, aK, bu);aL = bu[0];aK = bu[1];bl._$PS(br, bp, bu);br = bu[0];bp = bu[1];bl._$PS(bh, bf, bu);bh = bu[0];bf = bu[1];\n }var aS = aP * aJ[aW * 2];var aQ = a5 - a5 * aJ[aW * 2 + 1];var bx = aP * aJ[aV * 2];var bw = a5 - a5 * aJ[aV * 2 + 1];var bk = aP * aJ[aT * 2];var bj = a5 - a5 * aJ[aT * 2 + 1];var a3 = Math.atan2(bw - aQ, bx - aS);var a0 = Math.atan2(bp - aK, br - aL);var aO = br - aL;var aN = bp - aK;var bi = Math.sqrt(aO * aO + aN * aN);var aU = bx - aS;var aR = bw - aQ;var bt = Math.sqrt(aU * aU + aR * aR);var bv = bi / bt;ad._$ni(bk, bj, aS, aQ, bx - aS, bw - aQ, -(bw - aQ), bx - aS, aI);ad._$ni(bh, bf, aL, aK, br - aL, bp - aK, -(bp - aK), br - aL, aH);var aY = (aH[0] - aI[0]) / aI[1];var bs = Math.min(aS, bx, bk);var bg = Math.max(aS, bx, bk);var bq = Math.min(aQ, bw, bj);var be = Math.max(aQ, bw, bj);var bo = Math.floor(bs);var bb = Math.floor(bq);var a4 = Math.ceil(bg);var bC = Math.ceil(be);bD.identity();bD.translate(aL, aK);bD.rotate(a0);bD.scale(1, aH[1] / aI[1]);bD.shear(aY, 0);bD.scale(bv, bv);bD.rotate(-a3);bD.translate(-aS, -aQ);bD.setContext(bE);var a8 = true;var a9 = 1.2;if (!aM) {\n aM = a8 ? a9 : 0;\n }if (Q.IGNORE_EXPAND) {\n aM = 0;\n }if (Q.USE_CACHED_POLYGON_IMAGE) {\n var bd = bz._$e0;bd.gl_cacheImage = bd.gl_cacheImage || {};if (!bd.gl_cacheImage[by]) {\n var bn = au.createCanvas(a4 - bo, bC - bb);Q.DEBUG_DATA.LDGL_CANVAS_MB = Q.DEBUG_DATA.LDGL_CANVAS_MB || 0;Q.DEBUG_DATA.LDGL_CANVAS_MB += (a4 - bo) * (bC - bb) * 4;var ba = bn.getContext(\"2d\");ba.translate(-bo, -bb);au.clip(ba, bD, aM, bi, aS, aQ, bx, bw, bk, bj, aL, aK, br, bp, bh, bf);ba.drawImage(bc, 0, 0);bd.gl_cacheImage[by] = { cacheCanvas: bn, cacheContext: ba };\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 }if (Q.USE_ADJUST_TRANSLATION) {\n bs = 0;bg = aP;bq = 0;be = a5;\n }bE.drawImage(bc, bs, bq, bg - bs, be - bq, bs, bq, bg - bs, be - bq);\n }bE.restore();\n }\n } catch (bB) {\n q._$Rb(bB);\n }\n };au.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 };au.expandClip = function (aV, bg, aK, a3, aJ, aI, be, ba, aZ, aX) {\n var aP = be - aJ;var aO = ba - aI;var bi = aZ - aJ;var bh = aX - aI;var bj = aP * bh - aO * bi > 0 ? aK : -aK;var aL = -aO;var aH = aP;var bc = aZ - be;var a8 = aX - ba;var a7 = -a8;var a6 = bc;var aQ = Math.sqrt(bc * bc + a8 * a8);var bf = -bh;var bb = bi;var a2 = Math.sqrt(bi * bi + bh * bh);var bd = aJ - bj * aL / a3;var a9 = aI - bj * aH / a3;var aY = be - bj * aL / a3;var aW = ba - bj * aH / a3;var a5 = be - bj * a7 / aQ;var a4 = ba - bj * a6 / aQ;var aS = aZ - bj * a7 / aQ;var aR = aX - bj * a6 / aQ;var aN = aJ + bj * bf / a2;var aM = aI + bj * bb / a2;var a1 = aZ + bj * bf / a2;var a0 = aX + bj * bb / a2;var aU = au._$50;var aT = bg._$P2(aU);if (aT == null) {\n return false;\n }au.clipWithTransform(aV, aU, bd, a9, aY, aW, a5, a4, aS, aR, a1, a0, aN, aM);return true;\n };au.clipWithTransform = function (aH, aI, aS, aN, aQ, aK, aP, aJ) {\n if (arguments.length < 1 + 3 * 2) {\n q._$li(\"err : @LDGL.clip()\");return;\n }if (!(arguments[1] instanceof am)) {\n q._$li(\"err : a[0] is _$6 LDTransform @LDGL.clip()\");return;\n }var aM = au._$B;var aO = aI;var aR = arguments;aH.beginPath();if (aO) {\n aO._$PS(aR[2], aR[3], aM);aH.moveTo(aM[0], aM[1]);for (var aL = 4; aL < aR.length; aL += 2) {\n aO._$PS(aR[aL], aR[aL + 1], aM);aH.lineTo(aM[0], aM[1]);\n }\n } else {\n aH.moveTo(aR[2], aR[3]);for (var aL = 4; aL < aR.length; aL += 2) {\n aH.lineTo(aR[aL], aR[aL + 1]);\n }\n }aH.clip();\n };au.createCanvas = function (aH, aJ) {\n var aI = document.createElement(\"canvas\");aI.setAttribute(\"width\", aH);aI.setAttribute(\"height\", aJ);if (!aI) {\n q._$li(\"err : \" + aI);\n }return aI;\n };au.dumpValues = function () {\n var aI = \"\";for (var aH = 0; aH < arguments.length; aH++) {\n aI += \"[\" + aH + \"]= \" + arguments[aH].toFixed(3) + \" , \";\n }console.log(aI);\n };function f() {\n if (j) {\n return;\n }this._$TT = null;this._$LT = null;this._$FS = null;this._$wL = null;\n }f.prototype._$F0 = function (aH) {\n this._$TT = aH._$_T();this._$LT = aH._$_T();this._$FS = aH._$_T();this._$wL = aH._$nP();\n };f.prototype.getMinValue = function () {\n return this._$TT;\n };f.prototype.getMaxValue = function () {\n return this._$LT;\n };f.prototype.getDefaultValue = function () {\n return this._$FS;\n };f.prototype.getParamID = function () {\n return this._$wL;\n };function B(aH) {\n if (j) {\n return;\n }this._$e0 = null;this._$IP = null;this._$JS = false;this._$AT = true;this._$e0 = aH;this.totalScale = 1;this._$7s = 1;this.totalOpacity = 1;\n }B.prototype._$yo = function () {\n return this._$AT && !this._$JS;\n };B.prototype._$hS = function (aH) {\n this._$AT = aH;\n };B.prototype._$GT = function () {\n return this._$e0;\n };B.prototype._$l2 = function (aH) {\n this._$IP = aH;\n };B.prototype.getPartsIndex = function () {\n return this._$IP;\n };B.prototype._$x2 = function () {\n return this._$JS;\n };B.prototype._$Ib = function (aH) {\n this._$JS = aH;\n };B.prototype.getTotalScale = function () {\n return this.totalScale;\n };B.prototype.setTotalScale_notForClient = function (aH) {\n this.totalScale = aH;\n };B.prototype.getInterpolatedOpacity = function () {\n return this._$7s;\n };B.prototype.setInterpolatedOpacity = function (aH) {\n this._$7s = aH;\n };B.prototype.getTotalOpacity = function (aH) {\n return this.totalOpacity;\n };B.prototype.setTotalOpacity = function (aH) {\n this.totalOpacity = aH;\n };function Q() {}Q._$2s = \"2.1.00_1\";Q._$Kr = 201001000;Q._$sP = true;Q._$so = true;Q._$cb = false;Q._$3T = true;Q._$Ts = true;Q._$fb = true;Q._$ts = true;Q.L2D_DEFORMER_EXTEND = true;Q._$Wb = false;Q._$yr = false;Q._$Zs = false;Q.L2D_NO_ERROR = 0;Q._$i7 = 1000;Q._$9s = 1001;Q._$es = 1100;Q._$r7 = 2000;Q._$07 = 2001;Q._$b7 = 2002;Q._$H7 = 4000;Q.L2D_COLOR_BLEND_MODE_MULT = 0;Q.L2D_COLOR_BLEND_MODE_ADD = 1;Q.L2D_COLOR_BLEND_MODE_INTERPOLATE = 2;Q._$6b = true;Q._$cT = 0;Q.clippingMaskBufferSize = 256;Q.glContext = new Array();Q.frameBuffers = new Array();Q.fTexture = new Array();Q.IGNORE_CLIP = false;Q.IGNORE_EXPAND = false;Q.EXPAND_W = 2;Q.USE_ADJUST_TRANSLATION = true;Q.USE_CANVAS_TRANSFORM = true;Q.USE_CACHED_POLYGON_IMAGE = false;Q.DEBUG_DATA = {};Q.PROFILE_IOS_SPEED = { PROFILE_NAME: \"iOS Speed\", USE_ADJUST_TRANSLATION: true, USE_CACHED_POLYGON_IMAGE: true, EXPAND_W: 4 };Q.PROFILE_IOS_QUALITY = { PROFILE_NAME: \"iOS HiQ\", USE_ADJUST_TRANSLATION: true, USE_CACHED_POLYGON_IMAGE: false, EXPAND_W: 2 };Q.PROFILE_IOS_DEFAULT = Q.PROFILE_IOS_QUALITY;Q.PROFILE_ANDROID = { PROFILE_NAME: \"Android\", USE_ADJUST_TRANSLATION: false, USE_CACHED_POLYGON_IMAGE: false, EXPAND_W: 2 };Q.PROFILE_DESKTOP = { PROFILE_NAME: \"Desktop\", USE_ADJUST_TRANSLATION: false, USE_CACHED_POLYGON_IMAGE: false, EXPAND_W: 2 };Q.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 };Q.setupProfile = function (aI, aJ) {\n if (typeof aI == \"number\") {\n switch (aI) {case 9901:\n aI = Q.PROFILE_IOS_SPEED;break;case 9902:\n aI = Q.PROFILE_IOS_QUALITY;break;case 9903:\n aI = Q.PROFILE_IOS_DEFAULT;break;case 9904:\n aI = Q.PROFILE_ANDROID;break;case 9905:\n aI = Q.PROFILE_DESKTOP;break;default:\n alert(\"profile _$6 _$Ui : \" + aI);break;}\n }if (arguments.length < 2) {\n aJ = true;\n }if (aJ) {\n console.log(\"profile : \" + aI.PROFILE_NAME);\n }for (var aH in aI) {\n Q[aH] = aI[aH];if (aJ) {\n console.log(\" [\" + aH + \"] = \" + aI[aH]);\n }\n }\n };Q.init = function () {\n if (Q._$6b) {\n console.log(\"Live2D %s\", Q._$2s);Q._$6b = false;var aH = false;aH = true;Q.initProfile();\n }\n };Q.getVersionStr = function () {\n return Q._$2s;\n };Q.getVersionNo = function () {\n return Q._$Kr;\n };Q._$sT = function (aH) {\n Q._$cT = aH;\n };Q.getError = function () {\n var aH = Q._$cT;Q._$cT = 0;return aH;\n };Q.dispose = function () {\n Q.glContext = [];Q.frameBuffers = [];Q.fTexture = [];\n };Q.setGL = function (aJ, aI) {\n var aH = aI || 0;Q.glContext[aH] = aJ;\n };Q.getGL = function (aH) {\n return Q.glContext[aH];\n };Q.setClippingMaskBufferSize = function (aH) {\n Q.clippingMaskBufferSize = aH;\n };Q.getClippingMaskBufferSize = function () {\n return Q.clippingMaskBufferSize;\n };Q.deleteBuffer = function (aI) {\n var aH = Q.getGL(aI);aH.deleteFramebuffer(Q.frameBuffers[aI].framebuffer);delete Q.frameBuffers[aI];delete Q.glContext[aI];\n };function A() {}A._$r2 = function (aH) {\n if (aH < 0) {\n return 0;\n } else {\n if (aH > 1) {\n return 1;\n }\n }return 0.5 - 0.5 * Math.cos(aH * aC.PI_F);\n };function J(aH) {\n if (j) {\n return;\n }this._$ib = aH;\n }J._$fr = -1;J.prototype.toString = function () {\n return this._$ib;\n };function b() {\n if (j) {\n return;\n }a.prototype.constructor.call(this);this._$LP = -1;this._$d0 = 0;this._$Yo = 0;this._$JP = null;this._$5P = null;this._$BP = null;this._$Eo = null;this._$Qi = null;this._$6s = b._$ms;this.culling = true;this.gl_cacheImage = null;this.instanceNo = b._$42++;\n }b.prototype = new a();b._$42 = 0;b._$Os = 30;b._$ms = 0;b._$ns = 1;b._$_s = 2;b._$gT = new Array();b.prototype._$_S = function (aH) {\n this._$LP = aH;\n };b.prototype.getTextureNo = function () {\n return this._$LP;\n };b.prototype._$ZL = function () {\n return this._$Qi;\n };b.prototype._$H2 = function () {\n return this._$JP;\n };b.prototype.getNumPoints = function () {\n return this._$d0;\n };b.prototype.getType = function () {\n return a._$wb;\n };b.prototype._$B2 = function (aL, aH, aO) {\n var aM = aH;var aN = aM._$hr != null ? aM._$hr : aM._$Cr;var aK = aw._$do;switch (aK) {default:case aw._$Ms:\n throw new Error(\"_$L _$ro \");case aw._$Qs:\n for (var aJ = this._$d0 - 1; aJ >= 0; --aJ) {\n var aI = aJ * aw._$No;aN[aI + 4] = aO;\n }break;}\n };b.prototype._$zP = function () {\n this._$GS = new g();this._$GS._$zP();\n };b.prototype._$F0 = function (aK) {\n a.prototype._$F0.call(this, aK);this._$LP = aK._$6L();this._$d0 = aK._$6L();this._$Yo = aK._$6L();var aH = aK._$nP();this._$BP = new Int16Array(this._$Yo * 3);for (var aJ = this._$Yo * 3 - 1; aJ >= 0; --aJ) {\n this._$BP[aJ] = aH[aJ];\n }this._$Eo = aK._$nP();this._$Qi = aK._$nP();if (aK.getFormatVersion() >= ay._$s7) {\n this._$JP = aK._$6L();if (this._$JP != 0) {\n if ((this._$JP & 1) != 0) {\n var aI = aK._$6L();if (this._$5P == null) {\n this._$5P = new Object();\n }this._$5P._$Hb = parseInt(aI);\n }if ((this._$JP & b._$Os) != 0) {\n this._$6s = (this._$JP & b._$Os) >> 1;\n } else {\n this._$6s = b._$ms;\n }if ((this._$JP & 32) != 0) {\n this.culling = false;\n }\n }\n } else {\n this._$JP = 0;\n }\n };b.prototype.init = function (aL) {\n var aN = new ag(this);var aI = this._$d0 * aw._$No;var aH = this._$32();if (aN._$Cr != null) {\n aN._$Cr = null;\n }aN._$Cr = new Float32Array(aI);if (aN._$hr != null) {\n aN._$hr = null;\n }aN._$hr = aH ? new Float32Array(aI) : null;var aM = aw._$do;switch (aM) {default:case aw._$Ms:\n if (aw._$Ls) {\n for (var aJ = this._$d0 - 1; aJ >= 0; --aJ) {\n var aO = aJ << 1;this._$Qi[aO + 1] = 1 - this._$Qi[aO + 1];\n }\n }break;case aw._$Qs:\n for (var aJ = this._$d0 - 1; aJ >= 0; --aJ) {\n var aO = aJ << 1;var aK = aJ * aw._$No;var aQ = this._$Qi[aO];var aP = this._$Qi[aO + 1];aN._$Cr[aK] = aQ;aN._$Cr[aK + 1] = aP;aN._$Cr[aK + 4] = 0;if (aH) {\n aN._$hr[aK] = aQ;aN._$hr[aK + 1] = aP;aN._$hr[aK + 4] = 0;\n }\n }break;}return aN;\n };b.prototype._$Nr = function (aJ, aH) {\n var aK = aH;if (!(this == aK._$GT())) {\n console.log(\"### assert!! ### \");\n }if (!this._$GS._$Ur(aJ)) {\n return;\n }a.prototype._$Nr.call(this, aJ, aK);if (aK._$IS[0]) {\n return;\n }var aI = b._$gT;aI[0] = false;aG._$Vr(aJ, this._$GS, aI, this._$d0, this._$Eo, aK._$Cr, aw._$i2, aw._$No);\n };b.prototype._$2b = function (aK, aI) {\n try {\n if (!(this == aI._$GT())) {\n console.log(\"### assert!! ### \");\n }var aL = false;if (aI._$IS[0]) {\n aL = true;\n }var aM = aI;if (!aL) {\n a.prototype._$2b.call(this, aK);if (this._$32()) {\n var aH = this.getTargetBaseDataID();if (aM._$8r == a._$ur) {\n aM._$8r = aK.getBaseDataIndex(aH);\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);var aJ = aK._$q2(aM._$8r);if (aO != null && !aJ._$x2()) {\n aO._$nb(aK, aJ, aM._$Cr, aM._$hr, this._$d0, aw._$i2, aw._$No);aM._$AT = true;\n } else {\n aM._$AT = false;\n }aM.baseOpacity = aJ.getTotalOpacity();\n }\n }\n }\n } catch (aN) {\n throw aN;\n }\n };b.prototype.draw = function (aN, aK, aI) {\n if (!(this == aI._$GT())) {\n console.log(\"### assert!! ### \");\n }if (aI._$IS[0]) {\n return;\n }var aL = aI;var aJ = this._$LP;if (aJ < 0) {\n aJ = 1;\n }var aH = this.getOpacity(aK, aL) * aI._$VS * aI.baseOpacity;var aM = aL._$hr != null ? aL._$hr : aL._$Cr;aN.setClipBufPre_clipContextForDraw(aI.clipBufPre_clipContext);aN._$WP(this.culling);aN._$Uo(aJ, 3 * this._$Yo, this._$BP, aM, this._$Qi, aH, this._$6s, aL);\n };b.prototype.dump = function () {\n console.log(\" _$yi( %d ) , _$d0( %d ) , _$Yo( %d ) \\n\", this._$LP, this._$d0, this._$Yo);console.log(\" _$Oi _$di = { \");for (var aJ = 0; aJ < this._$BP.length; aJ++) {\n console.log(\"%5d ,\", this._$BP[aJ]);\n }console.log(\"\\n _$5i _$30\");for (var aJ = 0; aJ < this._$Eo.length; aJ++) {\n console.log(\"\\n _$30[%d] = \", aJ);var aH = this._$Eo[aJ];for (var aI = 0; aI < aH.length; aI++) {\n console.log(\"%6.2f, \", aH[aI]);\n }\n }console.log(\"\\n\");\n };b.prototype._$72 = function (aH) {\n if (this._$5P == null) {\n return null;\n }return this._$5P[aH];\n };b.prototype.getIndexArray = function () {\n return this._$BP;\n };function ag(aH) {\n aB.prototype.constructor.call(this, aH);this._$8r = a._$ur;this._$Cr = null;this._$hr = null;\n }ag.prototype = new aB();ag.prototype.getTransformedPoints = function () {\n return this._$hr != null ? this._$hr : this._$Cr;\n };function k() {\n if (j) {\n return;\n }this.x = null;this.y = null;\n }k.prototype._$HT = function (aH) {\n this.x = aH.x;this.y = aH.y;\n };k.prototype._$HT = function (aH, aI) {\n this.x = aH;this.y = aI;\n };function l(aH) {\n if (j) {\n return;\n }aa.prototype.constructor.call(this);this.drawParamWebGL = new C(aH);this.drawParamWebGL.setGL(Q.getGL(aH));\n }l.prototype = new aa();l.loadModel = function (aI) {\n var aH = new l();aa._$62(aH, aI);return aH;\n };l.loadModel = function (aI, aK) {\n var aJ = aK || 0;var aH = new l(aJ);aa._$62(aH, aI);return aH;\n };l._$to = function () {\n var aH = new l();return aH;\n };l._$er = function (aM) {\n var aJ = new _$5(\"../_$_r/_$t0/_$Ri/_$_P._$d\");if (aJ.exists() == false) {\n throw new _$ls(\"_$t0 _$_ _$6 _$Ui :: \" + aJ._$PL());\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\"];var aK = l.loadModel(aJ._$3b());for (var aI = 0; aI < aH.length; aI++) {\n var aL = new _$5(aH[aI]);if (aL.exists() == false) {\n throw new _$ls(\"_$t0 _$_ _$6 _$Ui :: \" + aL._$PL());\n }aK.setTexture(aI, _$nL._$_o(aM, aL._$3b()));\n }return aK;\n };l.prototype.setGL = function (aH) {\n Q.setGL(aH);\n };l.prototype.setTransform = function (aH) {\n this.drawParamWebGL.setTransform(aH);\n };l.prototype.update = function () {\n this._$5S.update();this._$5S.preDraw(this.drawParamWebGL);\n };l.prototype.draw = function () {\n this._$5S.draw(this.drawParamWebGL);\n };l.prototype._$K2 = function () {\n this.drawParamWebGL._$K2();\n };l.prototype.setTexture = function (aI, aH) {\n if (this.drawParamWebGL == null) {\n q._$li(\"_$Yi for QT _$ki / _$XS() is _$6 _$ui!!\");\n }this.drawParamWebGL.setTexture(aI, aH);\n };l.prototype.setTexture = function (aI, aH) {\n if (this.drawParamWebGL == null) {\n q._$li(\"_$Yi for QT _$ki / _$XS() is _$6 _$ui!!\");\n }this.drawParamWebGL.setTexture(aI, aH);\n };l.prototype._$Rs = function () {\n return this.drawParamWebGL._$Rs();\n };l.prototype._$Ds = function (aH) {\n this.drawParamWebGL._$Ds(aH);\n };l.prototype.getDrawParam = function () {\n return this.drawParamWebGL;\n };l.prototype.setMatrix = function (aH) {\n this.drawParamWebGL.setMatrix(aH);\n };l.prototype.setPremultipliedAlpha = function (aH) {\n this.drawParamWebGL.setPremultipliedAlpha(aH);\n };l.prototype.isPremultipliedAlpha = function () {\n return this.drawParamWebGL.isPremultipliedAlpha();\n };l.prototype.setAnisotropy = function (aH) {\n this.drawParamWebGL.setAnisotropy(aH);\n };l.prototype.getAnisotropy = function () {\n return this.drawParamWebGL.getAnisotropy();\n };function V() {\n if (j) {\n return;\n }this.motions = null;this._$eb = false;this.motions = new Array();\n }V.prototype._$tb = function () {\n return this.motions;\n };V.prototype.startMotion = function (aJ, aI) {\n var aM = null;var aL = null;var aH = this.motions.length;for (var aK = 0; aK < aH; ++aK) {\n aL = this.motions[aK];if (aL == null) {\n continue;\n }aL._$qS(aL._$w0.getFadeOut());if (this._$eb) {\n q._$Ji(\"MotionQueueManager[size:%2d]->startMotion() / start _$K _$3 (m%d)\\n\", aH, aL._$sr);\n }\n }if (aJ == null) {\n return -1;\n }aL = new M();aL._$w0 = aJ;this.motions.push(aL);var aN = aL._$sr;if (this._$eb) {\n q._$Ji(\"MotionQueueManager[size:%2d]->startMotion() / new _$w0 (m%d)\\n\", aH, aN);\n }return aN;\n };V.prototype.updateParam = function (aJ) {\n try {\n var aI = false;for (var aK = 0; aK < this.motions.length; aK++) {\n var aL = this.motions[aK];if (aL == null) {\n this.motions.splice(aK, 1);aK--;continue;\n }var aH = aL._$w0;if (aH == null) {\n this.motions = this.motions.splice(aK, 1);aK--;continue;\n }aH.updateParam(aJ, aL);aI = true;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 }this.motions.splice(aK, 1);aK--;\n } else {}\n }return aI;\n } catch (aM) {\n q._$li(aM);return true;\n }\n };V.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];if (aJ == null) {\n continue;\n }if (aJ._$sr == aK && !aJ.isFinished()) {\n return false;\n }\n }return true;\n } else {\n for (var aI = 0; aI < this.motions.length; aI++) {\n var aJ = this.motions[aI];if (aJ == null) {\n this.motions.splice(aI, 1);aI--;continue;\n }var aH = aJ._$w0;if (aH == null) {\n this.motions.splice(aI, 1);aI--;continue;\n }if (!aJ.isFinished()) {\n return false;\n }\n }return true;\n }\n };V.prototype.stopAllMotions = function () {\n for (var aI = 0; aI < this.motions.length; aI++) {\n var aJ = this.motions[aI];if (aJ == null) {\n this.motions.splice(aI, 1);aI--;continue;\n }var aH = aJ._$w0;if (aH == null) {\n this.motions.splice(aI, 1);aI--;continue;\n }if (true) {\n this.motions.splice(aI, 1);aI--;\n }\n }\n };V.prototype._$Zr = function (aH) {\n this._$eb = aH;\n };V.prototype._$e = function () {\n console.log(\"-- _$R --\\n\");for (var aH = 0; aH < this.motions.length; aH++) {\n var aI = this.motions[aH];var aJ = aI._$w0;console.log(\"MotionQueueEnt[%d] :: %s\\n\", this.motions.length, aJ.toString());\n }\n };function M() {\n this._$w0 = null;this._$AT = true;this._$9L = false;this._$z2 = -1;this._$bs = -1;this._$Do = -1;this._$sr = null;this._$sr = M._$Gs++;\n }M._$Gs = 0;M.prototype.isFinished = function () {\n return this._$9L;\n };M.prototype._$qS = function (aJ) {\n var aI = P.getUserTimeMSec();var aH = aI + aJ;if (this._$Do < 0 || aH < this._$Do) {\n this._$Do = aH;\n }\n };M.prototype._$Bs = function () {\n return this._$sr;\n };function am() {\n this.m = new Array(1, 0, 0, 0, 1, 0, 0, 0, 1);\n }am.prototype.setContext = function (aI) {\n var aH = this.m;aI.transform(aH[0], aH[1], aH[3], aH[4], aH[6], aH[7]);\n };am.prototype.toString = function () {\n var aI = \"LDTransform { \";for (var aH = 0; aH < 9; aH++) {\n aI += this.m[aH].toFixed(2) + \" ,\";\n }aI += \" }\";return aI;\n };am.prototype.identity = function () {\n var aH = this.m;aH[0] = aH[4] = aH[8] = 1;aH[1] = aH[2] = aH[3] = aH[5] = aH[6] = aH[7] = 0;\n };am.prototype._$PS = function (aI, aK, aJ) {\n if (aJ == null) {\n aJ = new Array(0, 0);\n }var aH = this.m;aJ[0] = aH[0] * aI + aH[3] * aK + aH[6];aJ[1] = aH[1] * aI + aH[4] * aK + aH[7];return aJ;\n };am.prototype._$P2 = function (aK) {\n if (!aK) {\n aK = new am();\n }var aI = this.m;var aT = aI[0];var aS = aI[1];var aR = aI[2];var aQ = aI[3];var aP = aI[4];var aO = aI[5];var aN = aI[6];var aM = aI[7];var aL = aI[8];var aJ = aT * aP * aL + aS * aO * aN + aR * aQ * aM - aT * aO * aM - aR * aP * aN - aS * aQ * aL;if (aJ == 0) {\n return null;\n } else {\n var aH = 1 / aJ;aK.m[0] = aH * (aP * aL - aM * aO);aK.m[1] = aH * (aM * aR - aS * aL);aK.m[2] = aH * (aS * aO - aP * aR);aK.m[3] = aH * (aN * aO - aQ * aL);aK.m[4] = aH * (aT * aL - aN * aR);aK.m[5] = aH * (aQ * aR - aT * aO);aK.m[6] = aH * (aQ * aM - aN * aP);aK.m[7] = aH * (aN * aS - aT * aM);aK.m[8] = aH * (aT * aP - aQ * aS);return aK;\n }\n };am.prototype.transform = function (aI, aK, aJ) {\n if (aJ == null) {\n aJ = new Array(0, 0);\n }var aH = this.m;aJ[0] = aH[0] * aI + aH[3] * aK + aH[6];aJ[1] = aH[1] * aI + aH[4] * aK + aH[7];return aJ;\n };am.prototype.translate = function (aI, aJ) {\n var aH = this.m;aH[6] = aH[0] * aI + aH[3] * aJ + aH[6];aH[7] = aH[1] * aI + aH[4] * aJ + aH[7];aH[8] = aH[2] * aI + aH[5] * aJ + aH[8];\n };am.prototype.scale = function (aJ, aI) {\n var aH = this.m;aH[0] *= aJ;aH[1] *= aJ;aH[2] *= aJ;aH[3] *= aI;aH[4] *= aI;aH[5] *= aI;\n };am.prototype.shear = function (aM, aL) {\n var aH = this.m;var aK = aH[0] + aH[3] * aL;var aJ = aH[1] + aH[4] * aL;var aI = aH[2] + aH[5] * aL;aH[3] = aH[0] * aM + aH[3];aH[4] = aH[1] * aM + aH[4];aH[5] = aH[2] * aM + aH[5];aH[0] = aK;aH[1] = aJ;aH[2] = aI;\n };am.prototype.rotate = function (aM) {\n var aH = this.m;var aN = Math.cos(aM);var aL = Math.sin(aM);var aK = aH[0] * aN + aH[3] * aL;var aJ = aH[1] * aN + aH[4] * aL;var aI = aH[2] * aN + aH[5] * aL;aH[3] = -aH[0] * aL + aH[3] * aN;aH[4] = -aH[1] * aL + aH[4] * aN;aH[5] = -aH[2] * aL + aH[5] * aN;aH[0] = aK;aH[1] = aJ;aH[2] = aI;\n };am.prototype.concatenate = function (aL) {\n var aO = this.m;var aM = aL.m;var aS = aO[0] * aM[0] + aO[3] * aM[1] + aO[6] * aM[2];var aR = aO[1] * aM[0] + aO[4] * aM[1] + aO[7] * aM[2];var aQ = aO[2] * aM[0] + aO[5] * aM[1] + aO[8] * aM[2];var aP = aO[0] * aM[3] + aO[3] * aM[4] + aO[6] * aM[5];var aN = aO[1] * aM[3] + aO[4] * aM[4] + aO[7] * aM[5];var aK = aO[2] * aM[3] + aO[5] * aM[4] + aO[8] * aM[5];var aJ = aO[0] * aM[6] + aO[3] * aM[7] + aO[6] * aM[8];var aI = aO[1] * aM[6] + aO[4] * aM[7] + aO[7] * aM[8];var aH = aO[2] * aM[6] + aO[5] * aM[7] + aO[8] * aM[8];m[0] = aS;m[1] = aR;m[2] = aQ;m[3] = aP;m[4] = aN;m[5] = aK;m[6] = aJ;m[7] = aI;m[8] = aH;\n };function n(aH) {\n if (j) {\n return;\n }ak.prototype.constructor.call(this, aH);\n }n.prototype = new ak();n._$eT = null;n._$tP = new Object();n._$2o = function () {\n if (n._$eT == null) {\n n._$eT = n.getID(\"DST_BASE\");\n }return n._$eT;\n };n._$27 = function () {\n n._$tP.clear();n._$eT = null;\n };n.getID = function (aH) {\n var aI = n._$tP[aH];if (aI == null) {\n aI = new n(aH);n._$tP[aH] = aI;\n }return aI;\n };n.prototype._$3s = function () {\n return new n();\n };function C(aH) {\n if (j) {\n return;\n }ax.prototype.constructor.call(this);this.textures = new Array();this.transform = null;this.gl = null;this.glno = aH;this.firstDraw = true;this.anisotropyExt = null;this.maxAnisotropy = 0;this._$As = 32;this._$Gr = false;this._$NT = null;this._$vS = null;this._$no = null;this.vertShader = null;this.fragShader = null;this.vertShaderOff = null;this.fragShaderOff = null;\n }C.prototype = new ax();C._$9r = function (aH) {\n var aI = new Float32Array(aH);return aI;\n };C._$vb = function (aH) {\n var aI = new Int16Array(aH);return aI;\n };C._$cr = function (aI, aH) {\n if (aI == null || aI._$yL() < aH.length) {\n aI = C._$9r(aH.length * 2);aI.put(aH);aI._$oT(0);\n } else {\n aI.clear();aI.put(aH);aI._$oT(0);\n }return aI;\n };C._$mb = function (aI, aH) {\n if (aI == null || aI._$yL() < aH.length) {\n aI = C._$vb(aH.length * 2);aI.put(aH);aI._$oT(0);\n } else {\n aI.clear();aI.put(aH);aI._$oT(0);\n }return aI;\n };C._$Hs = function () {\n return this._$Gr;\n };C._$as = function (aH) {\n this._$Gr = aH;\n };C.prototype.getGL = function () {\n return this.gl;\n };C.prototype.setGL = function (aH) {\n this.gl = aH;\n };C.prototype.setTransform = function (aH) {\n this.transform = aH;\n };C.prototype._$ZT = function () {\n var aH = this.gl;if (this.firstDraw) {\n this.initShader();this.firstDraw = false;this.anisotropyExt = aH.getExtension(\"EXT_texture_filter_anisotropic\") || aH.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\") || aH.getExtension(\"MOZ_EXT_texture_filter_anisotropic\");if (this.anisotropyExt) {\n this.maxAnisotropy = aH.getParameter(this.anisotropyExt.MAX_TEXTURE_MAX_ANISOTROPY_EXT);\n }\n }aH.disable(aH.SCISSOR_TEST);aH.disable(aH.STENCIL_TEST);aH.disable(aH.DEPTH_TEST);aH.frontFace(aH.CW);aH.enable(aH.BLEND);aH.colorMask(1, 1, 1, 1);aH.bindBuffer(aH.ARRAY_BUFFER, null);aH.bindBuffer(aH.ELEMENT_ARRAY_BUFFER, null);\n };C.prototype._$Uo = function (aS, aT, aL, aU, aV, aN, aM, aO) {\n if (aN < 0.01 && this.clipBufPre_clipContextMask == null) {\n return;\n }var aH = aN > 0.9 ? Q.EXPAND_W : 0;var a0 = this.gl;if (this.gl == null) {\n throw new Error(\"gl is null\");\n }var a1 = false;var aQ = 1;var aP = 1;var a3 = 1;var aZ = 1;var aW = this._$C0 * aP * aN;var a2 = this._$tT * a3 * aN;var a5 = this._$WL * aZ * aN;var a7 = this._$lT * aN;if (this.clipBufPre_clipContextMask != null) {\n a0.frontFace(a0.CCW);a0.useProgram(this.shaderProgram);this._$vS = T(a0, this._$vS, aU);this._$no = L(a0, this._$no, aL);a0.enableVertexAttribArray(this.a_position_Loc);a0.vertexAttribPointer(this.a_position_Loc, 2, a0.FLOAT, false, 0, 0);this._$NT = T(a0, this._$NT, aV);a0.activeTexture(a0.TEXTURE1);a0.bindTexture(a0.TEXTURE_2D, this.textures[aS]);a0.uniform1i(this.s_texture0_Loc, 1);a0.enableVertexAttribArray(this.a_texCoord_Loc);a0.vertexAttribPointer(this.a_texCoord_Loc, 2, a0.FLOAT, false, 0, 0);a0.uniformMatrix4fv(this.u_matrix_Loc, false, this.getClipBufPre_clipContextMask().matrixForMask);var aY = this.getClipBufPre_clipContextMask().layoutChannelNo;var a4 = this.getChannelFlagAsColor(aY);a0.uniform4f(this.u_channelFlag, a4.r, a4.g, a4.b, a4.a);var aI = this.getClipBufPre_clipContextMask().layoutBounds;a0.uniform4f(this.u_baseColor_Loc, aI.x * 2 - 1, aI.y * 2 - 1, aI._$EL() * 2 - 1, aI._$5T() * 2 - 1);a0.uniform1i(this.u_maskFlag_Loc, true);\n } else {\n a1 = this.getClipBufPre_clipContextDraw() != null;if (a1) {\n a0.useProgram(this.shaderProgramOff);this._$vS = T(a0, this._$vS, aU);this._$no = L(a0, this._$no, aL);a0.enableVertexAttribArray(this.a_position_Loc_Off);a0.vertexAttribPointer(this.a_position_Loc_Off, 2, a0.FLOAT, false, 0, 0);this._$NT = T(a0, this._$NT, aV);a0.activeTexture(a0.TEXTURE1);a0.bindTexture(a0.TEXTURE_2D, this.textures[aS]);a0.uniform1i(this.s_texture0_Loc_Off, 1);a0.enableVertexAttribArray(this.a_texCoord_Loc_Off);a0.vertexAttribPointer(this.a_texCoord_Loc_Off, 2, a0.FLOAT, false, 0, 0);a0.uniformMatrix4fv(this.u_clipMatrix_Loc_Off, false, this.getClipBufPre_clipContextDraw().matrixForDraw);a0.uniformMatrix4fv(this.u_matrix_Loc_Off, false, this.matrix4x4);a0.activeTexture(a0.TEXTURE2);a0.bindTexture(a0.TEXTURE_2D, Q.fTexture[this.glno]);a0.uniform1i(this.s_texture1_Loc_Off, 2);var aY = this.getClipBufPre_clipContextDraw().layoutChannelNo;var a4 = this.getChannelFlagAsColor(aY);a0.uniform4f(this.u_channelFlag_Loc_Off, a4.r, a4.g, a4.b, a4.a);a0.uniform4f(this.u_baseColor_Loc_Off, aW, a2, a5, a7);\n } else {\n a0.useProgram(this.shaderProgram);this._$vS = T(a0, this._$vS, aU);this._$no = L(a0, this._$no, aL);a0.enableVertexAttribArray(this.a_position_Loc);a0.vertexAttribPointer(this.a_position_Loc, 2, a0.FLOAT, false, 0, 0);this._$NT = T(a0, this._$NT, aV);a0.activeTexture(a0.TEXTURE1);a0.bindTexture(a0.TEXTURE_2D, this.textures[aS]);a0.uniform1i(this.s_texture0_Loc, 1);a0.enableVertexAttribArray(this.a_texCoord_Loc);a0.vertexAttribPointer(this.a_texCoord_Loc, 2, a0.FLOAT, false, 0, 0);a0.uniformMatrix4fv(this.u_matrix_Loc, false, this.matrix4x4);a0.uniform4f(this.u_baseColor_Loc, aW, a2, a5, a7);a0.uniform1i(this.u_maskFlag_Loc, false);\n }\n }if (this.culling) {\n this.gl.enable(a0.CULL_FACE);\n } else {\n this.gl.disable(a0.CULL_FACE);\n }this.gl.enable(a0.BLEND);var a6;var aX;var aR;var aK;if (this.clipBufPre_clipContextMask != null) {\n a6 = a0.ONE;aX = a0.ONE_MINUS_SRC_ALPHA;aR = a0.ONE;aK = a0.ONE_MINUS_SRC_ALPHA;\n } else {\n switch (aM) {case b._$ms:\n a6 = a0.ONE;aX = a0.ONE_MINUS_SRC_ALPHA;aR = a0.ONE;aK = a0.ONE_MINUS_SRC_ALPHA;break;case b._$ns:\n a6 = a0.ONE;aX = a0.ONE;aR = a0.ZERO;aK = a0.ONE;break;case b._$_s:\n a6 = a0.DST_COLOR;aX = a0.ONE_MINUS_SRC_ALPHA;aR = a0.ZERO;aK = a0.ONE;break;}\n }a0.blendEquationSeparate(a0.FUNC_ADD, a0.FUNC_ADD);a0.blendFuncSeparate(a6, aX, aR, aK);if (this.anisotropyExt) {\n a0.texParameteri(a0.TEXTURE_2D, this.anisotropyExt.TEXTURE_MAX_ANISOTROPY_EXT, this.maxAnisotropy);\n }var aJ = aL.length;a0.drawElements(a0.TRIANGLES, aJ, a0.UNSIGNED_SHORT, 0);a0.bindTexture(a0.TEXTURE_2D, null);\n };function T(aJ, aH, aI) {\n if (aH == null) {\n aH = aJ.createBuffer();\n }aJ.bindBuffer(aJ.ARRAY_BUFFER, aH);aJ.bufferData(aJ.ARRAY_BUFFER, aI, aJ.DYNAMIC_DRAW);return aH;\n }function L(aJ, aH, aI) {\n if (aH == null) {\n aH = aJ.createBuffer();\n }aJ.bindBuffer(aJ.ELEMENT_ARRAY_BUFFER, aH);aJ.bufferData(aJ.ELEMENT_ARRAY_BUFFER, aI, aJ.DYNAMIC_DRAW);return aH;\n }C.prototype._$Rs = function () {\n throw new Error(\"_$Rs\");\n };C.prototype._$Ds = function (aH) {\n throw new Error(\"_$Ds\");\n };C.prototype._$K2 = function () {\n for (var aH = 0; aH < this.textures.length; aH++) {\n var aI = this.textures[aH];if (aI != 0) {\n this.gl._$K2(1, this.textures, aH);this.textures[aH] = null;\n }\n }\n };C.prototype.setTexture = function (aH, aI) {\n this.textures[aH] = aI;\n };C.prototype.initShader = function () {\n var aH = this.gl;this.loadShaders2();this.a_position_Loc = aH.getAttribLocation(this.shaderProgram, \"a_position\");this.a_texCoord_Loc = aH.getAttribLocation(this.shaderProgram, \"a_texCoord\");this.u_matrix_Loc = aH.getUniformLocation(this.shaderProgram, \"u_mvpMatrix\");this.s_texture0_Loc = aH.getUniformLocation(this.shaderProgram, \"s_texture0\");this.u_channelFlag = aH.getUniformLocation(this.shaderProgram, \"u_channelFlag\");this.u_baseColor_Loc = aH.getUniformLocation(this.shaderProgram, \"u_baseColor\");this.u_maskFlag_Loc = aH.getUniformLocation(this.shaderProgram, \"u_maskFlag\");this.a_position_Loc_Off = aH.getAttribLocation(this.shaderProgramOff, \"a_position\");this.a_texCoord_Loc_Off = aH.getAttribLocation(this.shaderProgramOff, \"a_texCoord\");this.u_matrix_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"u_mvpMatrix\");this.u_clipMatrix_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"u_ClipMatrix\");this.s_texture0_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"s_texture0\");this.s_texture1_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"s_texture1\");this.u_channelFlag_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"u_channelFlag\");this.u_baseColor_Loc_Off = aH.getUniformLocation(this.shaderProgramOff, \"u_baseColor\");\n };C.prototype.disposeShader = function () {\n var aH = this.gl;if (this.shaderProgram) {\n aH.deleteProgram(this.shaderProgram);this.shaderProgram = null;\n }if (this.shaderProgramOff) {\n aH.deleteProgram(this.shaderProgramOff);this.shaderProgramOff = null;\n }\n };C.prototype.compileShader = function (aJ, aN) {\n var aM = this.gl;var aH;var aL = aN;var aK = aM.createShader(aJ);if (aK == null) {\n q._$Ji(\"_$L0 to create shader\");return null;\n }aM.shaderSource(aK, aL);aM.compileShader(aK);var aH = aM.getShaderParameter(aK, aM.COMPILE_STATUS);if (!aH) {\n var aI = aM.getShaderInfoLog(aK);q._$Ji(\"_$L0 to compile shader : \" + aI);aM.deleteShader(aK);return null;\n }return aK;\n };C.prototype.loadShaders2 = function () {\n var aN = this.gl;this.shaderProgram = aN.createProgram();if (!this.shaderProgram) {\n return false;\n }this.shaderProgramOff = aN.createProgram();if (!this.shaderProgramOff) {\n return false;\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;}\";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;}\";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 ;}\";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;}\";this.vertShader = this.compileShader(aN.VERTEX_SHADER, aK);if (!this.vertShader) {\n q._$Ji(\"Vertex shader compile _$li!\");return false;\n }this.vertShaderOff = this.compileShader(aN.VERTEX_SHADER, aL);if (!this.vertShaderOff) {\n q._$Ji(\"OffVertex shader compile _$li!\");return false;\n }this.fragShader = this.compileShader(aN.FRAGMENT_SHADER, aM);if (!this.fragShader) {\n q._$Ji(\"Fragment shader compile _$li!\");return false;\n }this.fragShaderOff = this.compileShader(aN.FRAGMENT_SHADER, aJ);if (!this.fragShaderOff) {\n q._$Ji(\"OffFragment shader compile _$li!\");return false;\n }aN.attachShader(this.shaderProgram, this.vertShader);aN.attachShader(this.shaderProgram, this.fragShader);aN.attachShader(this.shaderProgramOff, this.vertShaderOff);aN.attachShader(this.shaderProgramOff, this.fragShaderOff);aN.linkProgram(this.shaderProgram);aN.linkProgram(this.shaderProgramOff);var aH = aN.getProgramParameter(this.shaderProgram, aN.LINK_STATUS);if (!aH) {\n var aI = aN.getProgramInfoLog(this.shaderProgram);q._$Ji(\"_$L0 to link program: \" + aI);if (this.vertShader) {\n aN.deleteShader(this.vertShader);this.vertShader = 0;\n }if (this.fragShader) {\n aN.deleteShader(this.fragShader);this.fragShader = 0;\n }if (this.shaderProgram) {\n aN.deleteProgram(this.shaderProgram);this.shaderProgram = 0;\n }if (this.vertShaderOff) {\n aN.deleteShader(this.vertShaderOff);this.vertShaderOff = 0;\n }if (this.fragShaderOff) {\n aN.deleteShader(this.fragShaderOff);this.fragShaderOff = 0;\n }if (this.shaderProgramOff) {\n aN.deleteProgram(this.shaderProgramOff);this.shaderProgramOff = 0;\n }return false;\n }return true;\n };C.prototype.createFramebuffer = function () {\n var aL = this.gl;var aK = Q.clippingMaskBufferSize;var aJ = aL.createFramebuffer();aL.bindFramebuffer(aL.FRAMEBUFFER, aJ);var aH = aL.createRenderbuffer();aL.bindRenderbuffer(aL.RENDERBUFFER, aH);aL.renderbufferStorage(aL.RENDERBUFFER, aL.RGBA4, aK, aK);aL.framebufferRenderbuffer(aL.FRAMEBUFFER, aL.COLOR_ATTACHMENT0, aL.RENDERBUFFER, aH);var aI = aL.createTexture();aL.bindTexture(aL.TEXTURE_2D, aI);aL.texImage2D(aL.TEXTURE_2D, 0, aL.RGBA, aK, aK, 0, aL.RGBA, aL.UNSIGNED_BYTE, null);aL.texParameteri(aL.TEXTURE_2D, aL.TEXTURE_MIN_FILTER, aL.LINEAR);aL.texParameteri(aL.TEXTURE_2D, aL.TEXTURE_MAG_FILTER, aL.LINEAR);aL.texParameteri(aL.TEXTURE_2D, aL.TEXTURE_WRAP_S, aL.CLAMP_TO_EDGE);aL.texParameteri(aL.TEXTURE_2D, aL.TEXTURE_WRAP_T, aL.CLAMP_TO_EDGE);aL.framebufferTexture2D(aL.FRAMEBUFFER, aL.COLOR_ATTACHMENT0, aL.TEXTURE_2D, aI, 0);aL.bindTexture(aL.TEXTURE_2D, null);aL.bindRenderbuffer(aL.RENDERBUFFER, null);aL.bindFramebuffer(aL.FRAMEBUFFER, null);Q.fTexture[this.glno] = aI;return { framebuffer: aJ, renderbuffer: aH, texture: Q.fTexture[this.glno] };\n };function K(aH) {\n if (j) {\n return;\n }this._$P = new Int8Array(8);this._$R0 = new DataView(this._$P.buffer);this._$3i = new Int8Array(1000);this._$hL = 0;this._$v0 = 0;this._$S2 = 0;this._$Ko = new Array();this._$T = aH;this._$F = 0;\n }K.prototype._$fP = function () {\n var aK = this._$ST();var aJ, aI, aH;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 };K.prototype.getFormatVersion = function () {\n return this._$S2;\n };K.prototype._$gr = function (aH) {\n this._$S2 = aH;\n };K.prototype._$3L = function () {\n return this._$fP();\n };K.prototype._$mP = function () {\n this._$zT();this._$F += 8;return this._$T.getFloat64(this._$F - 8);\n };K.prototype._$_T = function () {\n this._$zT();this._$F += 4;return this._$T.getFloat32(this._$F - 4);\n };K.prototype._$6L = function () {\n this._$zT();this._$F += 4;return this._$T.getInt32(this._$F - 4);\n };K.prototype._$ST = function () {\n this._$zT();return this._$T.getInt8(this._$F++);\n };K.prototype._$9T = function () {\n this._$zT();this._$F += 2;return this._$T.getInt16(this._$F - 2);\n };K.prototype._$2T = function () {\n this._$zT();this._$F += 8;throw new J(\"_$L _$q read long\");\n };K.prototype._$po = function () {\n this._$zT();return this._$T.getInt8(this._$F++) != 0;\n };var O = true;K.prototype._$bT = function () {\n this._$zT();var aH = this._$3L();var aK = null;if (O) {\n try {\n var aM = new ArrayBuffer(aH * 2);aK = new Uint16Array(aM);for (var aJ = 0; aJ < aH; ++aJ) {\n aK[aJ] = this._$T.getUint8(this._$F++);\n }return String.fromCharCode.apply(null, aK);\n } catch (aL) {\n O = false;\n }\n }try {\n var aI = new Array();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 }return String.fromCharCode.apply(null, aI);\n } catch (aL) {\n console.log(\"read utf8 / _$rT _$L0 !! : \" + aL);\n }\n };K.prototype._$cS = function () {\n this._$zT();var aI = this._$3L();var aH = new Int32Array(aI);for (var aJ = 0; aJ < aI; aJ++) {\n aH[aJ] = this._$T.getInt32(this._$F);this._$F += 4;\n }return aH;\n };K.prototype._$Tb = function () {\n this._$zT();var aI = this._$3L();var aH = new Float32Array(aI);for (var aJ = 0; aJ < aI; aJ++) {\n aH[aJ] = this._$T.getFloat32(this._$F);this._$F += 4;\n }return aH;\n };K.prototype._$5b = function () {\n this._$zT();var aI = this._$3L();var aH = new Float64Array(aI);for (var aJ = 0; aJ < aI; aJ++) {\n aH[aJ] = this._$T.getFloat64(this._$F);this._$F += 8;\n }return aH;\n };K.prototype._$nP = function () {\n return this._$Jb(-1);\n };K.prototype._$Jb = function (aJ) {\n this._$zT();if (aJ < 0) {\n aJ = this._$3L();\n }if (aJ == ay._$7P) {\n var aH = this._$6L();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);this._$Ko.push(aI);return aI;\n }\n };K.prototype._$4b = function (aN) {\n if (aN == 0) {\n return null;\n }if (aN == 50) {\n var aK = this._$bT();var aI = Z.getID(aK);return aI;\n } else {\n if (aN == 51) {\n var aK = this._$bT();var aI = n.getID(aK);return aI;\n } else {\n if (aN == 134) {\n var aK = this._$bT();var aI = i.getID(aK);return aI;\n } else {\n if (aN == 60) {\n var aK = this._$bT();var aI = z.getID(aK);return aI;\n }\n }\n }\n }if (aN >= 48) {\n var aL = ay._$9o(aN);if (aL != null) {\n aL._$F0(this);return aL;\n } else {\n return null;\n }\n }switch (aN) {case 1:\n return this._$bT();case 10:\n var aM = this._$6L();return new I(aM, true);case 11:\n return new av(this._$mP(), this._$mP(), this._$mP(), this._$mP());case 12:\n return new av(this._$_T(), this._$_T(), this._$_T(), this._$_T());case 13:\n return new e(this._$mP(), this._$mP());case 14:\n return new e(this._$_T(), this._$_T());case 15:\n var aH = this._$3L();var aI = new Array(aH);for (var aJ = 0; aJ < aH; aJ++) {\n aI[aJ] = this._$nP();\n }return aI;case 17:\n var aI = new aD(this._$mP(), this._$mP(), this._$mP(), this._$mP(), this._$mP(), this._$mP());return aI;case 21:\n return new F(this._$6L(), this._$6L(), this._$6L(), this._$6L());case 22:\n return new k(this._$6L(), this._$6L());case 23:\n throw new Error(\"_$L _$ro \");case 16:case 25:\n return this._$cS();case 26:\n return this._$5b();case 27:\n return this._$Tb();case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 18:case 19:case 20:case 24:case 28:\n throw new J(\"_$6 _$q : _$nP() of 2-9 ,18,19,20,24,28 : \" + aN);default:\n throw new J(\"_$6 _$q : _$nP() NO _$i : \" + aN);}\n };K.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();this._$hL = 0;\n }\n }return (this._$v0 >> 7 - this._$hL++ & 1) == 1;\n };K.prototype._$zT = function () {\n if (this._$hL != 0) {\n this._$hL = 0;\n }\n };function ai() {}ai.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);console.log(\"(% 7.3f , % 7.3f) , \", aM[aJ], aM[aJ + 1]);\n }console.log(\"\\n\");\n }console.log(\"\\n\");\n };function aC() {}aC._$2S = Math.PI / 180;aC._$bS = Math.PI / 180;aC._$wS = 180 / Math.PI;aC._$NS = 180 / Math.PI;aC.PI_F = Math.PI;aC._$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];aC._$92 = function (aK, aI) {\n var aH = Math.atan2(aK[1], aK[0]);var aJ = Math.atan2(aI[1], aI[0]);return aC._$tS(aH, aJ);\n };aC._$tS = function (aI, aH) {\n var aJ = aI - aH;while (aJ < -Math.PI) {\n aJ += 2 * Math.PI;\n }while (aJ > Math.PI) {\n aJ -= 2 * Math.PI;\n }return aJ;\n };aC._$9 = function (aH) {\n return Math.sin(aH);\n };aC.fcos = function (aH) {\n return Math.cos(aH);\n };function aB(aH) {\n if (j) {\n return;\n }this._$e0 = null;this._$IP = null;this._$Us = null;this._$7s = null;this._$IS = [false];this._$VS = null;this._$AT = true;this.baseOpacity = 1;this.clipBufPre_clipContext = null;this._$e0 = aH;\n }aB.prototype._$u2 = function () {\n return this._$IS[0];\n };aB.prototype._$yo = function () {\n return this._$AT && !this._$IS[0];\n };aB.prototype._$GT = function () {\n return this._$e0;\n };function r() {}r._$W2 = 0;r.SYSTEM_INFO = null;r.USER_AGENT = navigator.userAgent;r.isIPhone = function () {\n if (!r.SYSTEM_INFO) {\n r.setup();\n }return r.SYSTEM_INFO._isIPhone;\n };r.isIOS = function () {\n if (!r.SYSTEM_INFO) {\n r.setup();\n }return r.SYSTEM_INFO._isIPhone || r.SYSTEM_INFO._isIPad;\n };r.isAndroid = function () {\n if (!r.SYSTEM_INFO) {\n r.setup();\n }return r.SYSTEM_INFO._isAndroid;\n };r.getOSVersion = function () {\n if (!r.SYSTEM_INFO) {\n r.setup();\n }return r.SYSTEM_INFO.version;\n };r.getOS = function () {\n if (!r.SYSTEM_INFO) {\n r.setup();\n }if (r.SYSTEM_INFO._isIPhone || r.SYSTEM_INFO._isIPad) {\n return \"iOS\";\n }if (r.SYSTEM_INFO._isAndroid) {\n return \"Android\";\n } else {\n return \"_$Q0 OS\";\n }\n };r.setup = function () {\n var aK = r.USER_AGENT;function aI(aO, aR) {\n var aN = aO.substring(aR).split(/[ _,;\\.]/);var aQ = 0;for (var aM = 0; aM <= 2; aM++) {\n if (isNaN(aN[aM])) {\n break;\n }var aP = parseInt(aN[aM]);if (aP < 0 || aP > 999) {\n q._$li(\"err : \" + aP + \" @UtHtml5.setup()\");aQ = 0;break;\n }aQ += aP * Math.pow(1000, 2 - aM);\n }return aQ;\n }var aL;var aH;var aJ = r.SYSTEM_INFO = { userAgent: aK };if ((aL = aK.indexOf(\"iPhone OS \")) >= 0) {\n aJ.os = \"iPhone\";aJ._isIPhone = true;aJ.version = aI(aK, aL + \"iPhone OS \".length);\n } else {\n if ((aL = aK.indexOf(\"iPad\")) >= 0) {\n aL = aK.indexOf(\"CPU OS\");if (aL < 0) {\n q._$li(\" err : \" + aK + \" @UtHtml5.setup()\");return;\n }aJ.os = \"iPad\";aJ._isIPad = true;aJ.version = aI(aK, aL + \"CPU OS \".length);\n } else {\n if ((aL = aK.indexOf(\"Android\")) >= 0) {\n aJ.os = \"Android\";aJ._isAndroid = true;aJ.version = aI(aK, aL + \"Android \".length);\n } else {\n aJ.os = \"-\";aJ.version = -1;\n }\n }\n }\n };window.UtSystem = P;window.UtDebug = q;window.LDTransform = am;window.LDGL = au;window.Live2D = Q;window.Live2DModelWebGL = l;window.Live2DModelJS = v;window.Live2DMotion = ao;window.MotionQueueManager = V;window.PhysicsHair = u;window.AMotion = ah;window.PartsDataID = i;window.DrawDataID = Z;window.BaseDataID = n;window.ParamID = z;Q.init();var j = false;\n})();\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(7)))\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\n// Provide a \"System\" global.\nmodule.exports = {\n\t// Make sure import is only used as \"System.import\"\n\timport: function() {\n\t\tthrow new Error(\"System.import cannot be used indirectly\");\n\t}\n};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = LAppLive2DManager;\n\nvar _Live2DFramework = __webpack_require__(0);\n\nvar _PlatformManager = __webpack_require__(9);\n\nvar _PlatformManager2 = _interopRequireDefault(_PlatformManager);\n\nvar _LAppModel = __webpack_require__(10);\n\nvar _LAppModel2 = _interopRequireDefault(_LAppModel);\n\nvar _LAppDefine = __webpack_require__(1);\n\nvar _LAppDefine2 = _interopRequireDefault(_LAppDefine);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction LAppLive2DManager() {\n // console.log(\"--> LAppLive2DManager()\");\n\n\n this.models = [];\n\n this.count = -1;\n this.reloadFlg = false;\n\n Live2D.init();\n _Live2DFramework.Live2DFramework.setPlatformManager(new _PlatformManager2.default());\n}\n\nLAppLive2DManager.prototype.createModel = function () {\n\n var model = new _LAppModel2.default();\n this.models.push(model);\n\n return model;\n};\n\nLAppLive2DManager.prototype.changeModel = function (gl, modelurl) {\n // console.log(\"--> LAppLive2DManager.update(gl)\");\n\n if (this.reloadFlg) {\n\n this.reloadFlg = false;\n\n var thisRef = this;\n this.releaseModel(0, gl);\n this.createModel();\n this.models[0].load(gl, modelurl);\n }\n};\n\nLAppLive2DManager.prototype.getModel = function (no) {\n // console.log(\"--> LAppLive2DManager.getModel(\" + no + \")\");\n\n if (no >= this.models.length) return null;\n\n return this.models[no];\n};\n\nLAppLive2DManager.prototype.releaseModel = function (no, gl) {\n // console.log(\"--> LAppLive2DManager.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\nLAppLive2DManager.prototype.numModels = function () {\n return this.models.length;\n};\n\nLAppLive2DManager.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\nLAppLive2DManager.prototype.maxScaleEvent = function () {\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Max scale event.\");\n for (var i = 0; i < this.models.length; i++) {\n this.models[i].startRandomMotion(_LAppDefine2.default.MOTION_GROUP_PINCH_IN, _LAppDefine2.default.PRIORITY_NORMAL);\n }\n};\n\nLAppLive2DManager.prototype.minScaleEvent = function () {\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Min scale event.\");\n for (var i = 0; i < this.models.length; i++) {\n this.models[i].startRandomMotion(_LAppDefine2.default.MOTION_GROUP_PINCH_OUT, _LAppDefine2.default.PRIORITY_NORMAL);\n }\n};\n\nLAppLive2DManager.prototype.tapEvent = function (x, y) {\n if (_LAppDefine2.default.DEBUG_LOG) 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(_LAppDefine2.default.HIT_AREA_HEAD, x, y)) {\n\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Tap face.\");\n\n this.models[i].setRandomExpression();\n } else if (this.models[i].hitTest(_LAppDefine2.default.HIT_AREA_BODY, x, y)) {\n\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Tap body.\" + \" models[\" + i + \"]\");\n\n this.models[i].startRandomMotion(_LAppDefine2.default.MOTION_GROUP_TAP_BODY, _LAppDefine2.default.PRIORITY_NORMAL);\n }\n }\n\n return true;\n};\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = PlatformManager;\n\nvar _webglcontext = __webpack_require__(2);\n\n//============================================================\n//============================================================\n// class PlatformManager extend IPlatformManager\n//============================================================\n//============================================================\nfunction PlatformManager() {}\n\n//============================================================\n// PlatformManager # loadBytes()\n//============================================================\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 */\nPlatformManager.prototype.loadBytes = function (path /*String*/, callback) {\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// PlatformManager # loadString()\n//============================================================\nPlatformManager.prototype.loadString = function (path /*String*/) {\n\n this.loadBytes(path, function (buf) {\n return buf;\n });\n};\n\n//============================================================\n// PlatformManager # loadLive2DModel()\n//============================================================\nPlatformManager.prototype.loadLive2DModel = function (path /*String*/, callback) {\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// PlatformManager # loadTexture()\n//============================================================\nPlatformManager.prototype.loadTexture = function (model /*ALive2DModel*/, no /*int*/, path /*String*/, callback) {\n // load textures\n var loadedImage = new Image();\n loadedImage.src = path;\n\n var thisRef = this;\n loadedImage.onload = function () {\n // create texture\n var gl = (0, _webglcontext.getContext)();\n var texture = gl.createTexture();\n if (!texture) {\n console.error(\"Failed to generate gl texture name.\");return -1;\n }\n\n if (model.isPremultipliedAlpha() == false) {\n // 乗算済アルファテクスチャ以外の場合\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, 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 model.setTexture(no, texture);\n\n // テクスチャオブジェクトを解放\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// PlatformManager # parseFromBytes(buf)\n\n//============================================================\nPlatformManager.prototype.jsonParseFromBytes = function (buf) {\n\n var jsonStr;\n\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// PlatformManager # log()\n//============================================================\nPlatformManager.prototype.log = function (txt /*String*/) {\n //console.log(txt);\n};\n\nfunction getWebGLContext(canvas) {\n var NAMES = [\"webgl\", \"experimental-webgl\", \"webkit-3d\", \"moz-webgl\"];\n for (var i = 0; i < NAMES.length; i++) {\n try {\n var ctx = canvas.getContext(NAMES[i], { premultipliedAlpha: true });\n if (ctx) return ctx;\n } catch (e) {}\n }\n return null;\n};\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = LAppModel;\n\nvar _Live2DFramework = __webpack_require__(0);\n\nvar _ModelSettingJson = __webpack_require__(11);\n\nvar _ModelSettingJson2 = _interopRequireDefault(_ModelSettingJson);\n\nvar _LAppDefine = __webpack_require__(1);\n\nvar _LAppDefine2 = _interopRequireDefault(_LAppDefine);\n\nvar _MatrixStack = __webpack_require__(3);\n\nvar _MatrixStack2 = _interopRequireDefault(_MatrixStack);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n//============================================================\n//============================================================\n// class LAppModel extends L2DBaseModel \n//============================================================\n//============================================================\nfunction LAppModel() {\n //L2DBaseModel.apply(this, arguments);\n _Live2DFramework.L2DBaseModel.prototype.constructor.call(this);\n\n this.modelHomeDir = \"\";\n this.modelSetting = null;\n this.tmpMatrix = [];\n}\n\nLAppModel.prototype = new _Live2DFramework.L2DBaseModel();\n\nLAppModel.prototype.load = function (gl, modelSettingPath, callback) {\n this.setUpdating(true);\n this.setInitialized(false);\n\n this.modelHomeDir = modelSettingPath.substring(0, modelSettingPath.lastIndexOf(\"/\") + 1);\n\n this.modelSetting = new _ModelSettingJson2.default();\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 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 thisRef.expressions = {};\n\n for (var j = 0; j < thisRef.modelSetting.getExpressionNum(); j++) {\n var expName = thisRef.modelSetting.getExpressionName(j);\n var expFilePath = thisRef.modelHomeDir + thisRef.modelSetting.getExpressionFile(j);\n\n thisRef.loadExpression(expName, expFilePath);\n }\n } else {\n thisRef.expressionManager = null;\n thisRef.expressions = {};\n }\n\n if (thisRef.eyeBlink == null) {\n thisRef.eyeBlink = new _Live2DFramework.L2DEyeBlink();\n }\n\n if (thisRef.modelSetting.getPhysicsFile() != null) {\n thisRef.loadPhysics(thisRef.modelHomeDir + thisRef.modelSetting.getPhysicsFile());\n } else {\n thisRef.physics = null;\n }\n\n if (thisRef.modelSetting.getPoseFile() != null) {\n thisRef.loadPose(thisRef.modelHomeDir + thisRef.modelSetting.getPoseFile(), function () {\n thisRef.pose.updateParam(thisRef.live2DModel);\n });\n } else {\n thisRef.pose = null;\n }\n\n if (thisRef.modelSetting.getLayout() != null) {\n var layout = thisRef.modelSetting.getLayout();\n if (layout[\"width\"] != null) thisRef.modelMatrix.setWidth(layout[\"width\"]);\n if (layout[\"height\"] != null) thisRef.modelMatrix.setHeight(layout[\"height\"]);\n\n if (layout[\"x\"] != null) thisRef.modelMatrix.setX(layout[\"x\"]);\n if (layout[\"y\"] != null) thisRef.modelMatrix.setY(layout[\"y\"]);\n if (layout[\"center_x\"] != null) thisRef.modelMatrix.centerX(layout[\"center_x\"]);\n if (layout[\"center_y\"] != null) thisRef.modelMatrix.centerY(layout[\"center_y\"]);\n if (layout[\"top\"] != null) thisRef.modelMatrix.top(layout[\"top\"]);\n if (layout[\"bottom\"] != null) thisRef.modelMatrix.bottom(layout[\"bottom\"]);\n if (layout[\"left\"] != null) thisRef.modelMatrix.left(layout[\"left\"]);\n if (layout[\"right\"] != null) thisRef.modelMatrix.right(layout[\"right\"]);\n }\n\n for (var j = 0; j < thisRef.modelSetting.getInitParamNum(); j++) {\n\n thisRef.live2DModel.setParamFloat(thisRef.modelSetting.getInitParamID(j), thisRef.modelSetting.getInitParamValue(j));\n }\n\n for (var j = 0; j < thisRef.modelSetting.getInitPartsVisibleNum(); j++) {\n\n thisRef.live2DModel.setPartsOpacity(thisRef.modelSetting.getInitPartsVisibleID(j), thisRef.modelSetting.getInitPartsVisibleValue(j));\n }\n\n thisRef.live2DModel.saveParam();\n // thisRef.live2DModel.setGL(gl);\n\n\n thisRef.preloadMotionGroup(_LAppDefine2.default.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\nLAppModel.prototype.release = function (gl) {\n // this.live2DModel.deleteTextures();\n var pm = Live2DFramework.getPlatformManager();\n\n gl.deleteTexture(pm.texture);\n};\n\nLAppModel.prototype.preloadMotionGroup = function (name) {\n var thisRef = this;\n\n for (var i = 0; i < this.modelSetting.getMotionNum(name); i++) {\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\nLAppModel.prototype.update = function () {\n // console.log(\"--> LAppModel.update()\");\n\n if (this.live2DModel == null) {\n if (_LAppDefine2.default.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 if (this.mainMotionManager.isFinished()) {\n\n this.startRandomMotion(_LAppDefine2.default.MOTION_GROUP_IDLE, _LAppDefine2.default.PRIORITY_IDLE);\n }\n\n //-----------------------------------------------------------------\t\t\n\n\n this.live2DModel.loadParam();\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 this.live2DModel.saveParam();\n\n //-----------------------------------------------------------------\t\t\n\n\n if (this.expressionManager != null && this.expressions != null && !this.expressionManager.isFinished()) {\n this.expressionManager.updateParam(this.live2DModel);\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 this.live2DModel.addToParamFloat(\"PARAM_BODY_ANGLE_X\", this.dragX * 10, 1);\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 this.live2DModel.addToParamFloat(\"PARAM_ANGLE_X\", Number(15 * Math.sin(t / 6.5345)), 0.5);\n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_Y\", Number(8 * Math.sin(t / 3.5345)), 0.5);\n this.live2DModel.addToParamFloat(\"PARAM_ANGLE_Z\", Number(10 * Math.sin(t / 5.5345)), 0.5);\n this.live2DModel.addToParamFloat(\"PARAM_BODY_ANGLE_X\", Number(4 * Math.sin(t / 15.5345)), 0.5);\n this.live2DModel.setParamFloat(\"PARAM_BREATH\", Number(0.5 + 0.5 * Math.sin(t / 3.2345)), 1);\n\n if (this.physics != null) {\n this.physics.updateParam(this.live2DModel);\n }\n\n if (this.lipSync == null) {\n this.live2DModel.setParamFloat(\"PARAM_MOUTH_OPEN_Y\", this.lipSyncValue);\n }\n\n if (this.pose != null) {\n this.pose.updateParam(this.live2DModel);\n }\n\n this.live2DModel.update();\n};\n\nLAppModel.prototype.setRandomExpression = function () {\n var tmp = [];\n for (var name in this.expressions) {\n tmp.push(name);\n }\n\n var no = parseInt(Math.random() * tmp.length);\n\n this.setExpression(tmp[no]);\n};\n\nLAppModel.prototype.startRandomMotion = function (name, priority) {\n var max = this.modelSetting.getMotionNum(name);\n var no = parseInt(Math.random() * max);\n this.startMotion(name, no, priority);\n};\n\nLAppModel.prototype.startMotion = function (name, no, priority) {\n // console.log(\"startMotion : \" + name + \" \" + no + \" \" + priority);\n\n var motionName = this.modelSetting.getMotionFile(name, no);\n\n if (motionName == null || motionName == \"\") {\n if (_LAppDefine2.default.DEBUG_LOG) console.error(\"Failed to motion.\");\n return;\n }\n\n if (priority == _LAppDefine2.default.PRIORITY_FORCE) {\n this.mainMotionManager.setReservePriority(priority);\n } else if (!this.mainMotionManager.reserveMotion(priority)) {\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Motion is running.\");\n return;\n }\n\n var thisRef = this;\n var motion;\n\n if (this.motions[name] == null) {\n this.loadMotion(null, this.modelHomeDir + motionName, function (mtn) {\n motion = mtn;\n\n thisRef.setFadeInFadeOut(name, no, priority, motion);\n });\n } else {\n motion = this.motions[name];\n\n thisRef.setFadeInFadeOut(name, no, priority, motion);\n }\n};\n\nLAppModel.prototype.setFadeInFadeOut = function (name, no, priority, motion) {\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 if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Start motion : \" + motionName);\n\n if (this.modelSetting.getMotionSound(name, no) == null) {\n this.mainMotionManager.startMotionPrio(motion, priority);\n } else {\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 (_LAppDefine2.default.DEBUG_LOG) console.log(\"Start sound : \" + soundName);\n\n snd.play();\n this.mainMotionManager.startMotionPrio(motion, priority);\n }\n};\n\nLAppModel.prototype.setExpression = function (name) {\n var motion = this.expressions[name];\n\n if (_LAppDefine2.default.DEBUG_LOG) console.log(\"Expression : \" + name);\n\n this.expressionManager.startMotion(motion, false);\n};\n\nLAppModel.prototype.draw = function (gl) {\n //console.log(\"--> LAppModel.draw()\");\n\n // if(this.live2DModel == null) return;\n\n\n _MatrixStack2.default.push();\n\n _MatrixStack2.default.multMatrix(this.modelMatrix.getArray());\n\n this.tmpMatrix = _MatrixStack2.default.getMatrix();\n this.live2DModel.setMatrix(this.tmpMatrix);\n this.live2DModel.draw();\n\n _MatrixStack2.default.pop();\n};\n\nLAppModel.prototype.hitTest = function (id, testX, testY) {\n var len = this.modelSetting.getHitAreaNum();\n for (var i = 0; i < len; i++) {\n if (id == this.modelSetting.getHitAreaName(i)) {\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/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ModelSettingJson;\n\nvar _Live2DFramework = __webpack_require__(0);\n\nfunction ModelSettingJson() {\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\n this.json = {};\n}\n\nModelSettingJson.prototype.loadModelSetting = function (path, callback) {\n var thisRef = this;\n var pm = _Live2DFramework.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\nModelSettingJson.prototype.getTextureFile = function (n) {\n if (this.json[this.TEXTURES] == null || this.json[this.TEXTURES][n] == null) return null;\n\n return this.json[this.TEXTURES][n];\n};\n\nModelSettingJson.prototype.getModelFile = function () {\n return this.json[this.MODEL];\n};\n\nModelSettingJson.prototype.getTextureNum = function () {\n if (this.json[this.TEXTURES] == null) return 0;\n\n return this.json[this.TEXTURES].length;\n};\n\nModelSettingJson.prototype.getHitAreaNum = function () {\n if (this.json[this.HIT_AREAS] == null) return 0;\n\n return this.json[this.HIT_AREAS].length;\n};\n\nModelSettingJson.prototype.getHitAreaID = function (n) {\n if (this.json[this.HIT_AREAS] == null || this.json[this.HIT_AREAS][n] == null) return null;\n\n return this.json[this.HIT_AREAS][n][this.ID];\n};\n\nModelSettingJson.prototype.getHitAreaName = function (n) {\n if (this.json[this.HIT_AREAS] == null || this.json[this.HIT_AREAS][n] == null) return null;\n\n return this.json[this.HIT_AREAS][n][this.NAME];\n};\n\nModelSettingJson.prototype.getPhysicsFile = function () {\n return this.json[this.PHYSICS];\n};\n\nModelSettingJson.prototype.getPoseFile = function () {\n return this.json[this.POSE];\n};\n\nModelSettingJson.prototype.getExpressionNum = function () {\n return this.json[this.EXPRESSIONS] == null ? 0 : this.json[this.EXPRESSIONS].length;\n};\n\nModelSettingJson.prototype.getExpressionFile = function (n) {\n if (this.json[this.EXPRESSIONS] == null) return null;\n return this.json[this.EXPRESSIONS][n][this.FILE];\n};\n\nModelSettingJson.prototype.getExpressionName = function (n) {\n if (this.json[this.EXPRESSIONS] == null) return null;\n return this.json[this.EXPRESSIONS][n][this.NAME];\n};\n\nModelSettingJson.prototype.getLayout = function () {\n return this.json[this.LAYOUT];\n};\n\nModelSettingJson.prototype.getInitParamNum = function () {\n return this.json[this.INIT_PARAM] == null ? 0 : this.json[this.INIT_PARAM].length;\n};\n\nModelSettingJson.prototype.getMotionNum = function (name) {\n if (this.json[this.MOTION_GROUPS] == null || this.json[this.MOTION_GROUPS][name] == null) return 0;\n\n return this.json[this.MOTION_GROUPS][name].length;\n};\n\nModelSettingJson.prototype.getMotionFile = function (name, n) {\n if (this.json[this.MOTION_GROUPS] == null || this.json[this.MOTION_GROUPS][name] == null || this.json[this.MOTION_GROUPS][name][n] == null) return null;\n\n return this.json[this.MOTION_GROUPS][name][n][this.FILE];\n};\n\nModelSettingJson.prototype.getMotionSound = function (name, n) {\n if (this.json[this.MOTION_GROUPS] == null || this.json[this.MOTION_GROUPS][name] == null || this.json[this.MOTION_GROUPS][name][n] == null || this.json[this.MOTION_GROUPS][name][n][this.SOUND] == null) return null;\n\n return this.json[this.MOTION_GROUPS][name][n][this.SOUND];\n};\n\nModelSettingJson.prototype.getMotionFadeIn = function (name, n) {\n if (this.json[this.MOTION_GROUPS] == null || this.json[this.MOTION_GROUPS][name] == null || this.json[this.MOTION_GROUPS][name][n] == null || this.json[this.MOTION_GROUPS][name][n][this.FADE_IN] == null) return 1000;\n\n return this.json[this.MOTION_GROUPS][name][n][this.FADE_IN];\n};\n\nModelSettingJson.prototype.getMotionFadeOut = function (name, n) {\n if (this.json[this.MOTION_GROUPS] == null || this.json[this.MOTION_GROUPS][name] == null || this.json[this.MOTION_GROUPS][name][n] == null || this.json[this.MOTION_GROUPS][name][n][this.FADE_OUT] == null) return 1000;\n\n return this.json[this.MOTION_GROUPS][name][n][this.FADE_OUT];\n};\n\nModelSettingJson.prototype.getInitParamID = function (n) {\n if (this.json[this.INIT_PARAM] == null || this.json[this.INIT_PARAM][n] == null) return null;\n\n return this.json[this.INIT_PARAM][n][this.ID];\n};\n\nModelSettingJson.prototype.getInitParamValue = function (n) {\n if (this.json[this.INIT_PARAM] == null || this.json[this.INIT_PARAM][n] == null) return NaN;\n\n return this.json[this.INIT_PARAM][n][this.VALUE];\n};\n\nModelSettingJson.prototype.getInitPartsVisibleNum = function () {\n return this.json[this.INIT_PARTS_VISIBLE] == null ? 0 : this.json[this.INIT_PARTS_VISIBLE].length;\n};\n\nModelSettingJson.prototype.getInitPartsVisibleID = function (n) {\n if (this.json[this.INIT_PARTS_VISIBLE] == null || this.json[this.INIT_PARTS_VISIBLE][n] == null) return null;\n return this.json[this.INIT_PARTS_VISIBLE][n][this.ID];\n};\n\nModelSettingJson.prototype.getInitPartsVisibleValue = function (n) {\n if (this.json[this.INIT_PARTS_VISIBLE] == null || this.json[this.INIT_PARTS_VISIBLE][n] == null) return NaN;\n\n return this.json[this.INIT_PARTS_VISIBLE][n][this.VALUE];\n};\n\n/***/ })\n/******/ ]);\n\n\n// WEBPACK FOOTER //\n// bundle.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 4);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 0f7f527630fd90639e82","/**\r\n * EYHN 基于 live2d 官方 Live2DFramework.js 修改\r\n * \r\n * Copyright © 2016 - 2017 EYHN\r\n */\r\n//============================================================\r\n//============================================================\r\n// class L2DBaseModel \r\n//============================================================\r\n//============================================================\r\nfunction L2DBaseModel() {\r\n this.live2DModel = null; // ALive2DModel\r\n this.modelMatrix = null; // L2DModelMatrix\r\n this.eyeBlink = null; // L2DEyeBlink\r\n this.physics = null; // L2DPhysics\r\n this.pose = null; // L2DPose\r\n this.debugMode = false;\r\n this.initialized = false;\r\n this.updating = false;\r\n this.alpha = 1;\r\n this.accAlpha = 0;\r\n this.lipSync = false;\r\n this.lipSyncValue = 0;\r\n this.accelX = 0;\r\n this.accelY = 0;\r\n this.accelZ = 0;\r\n this.dragX = 0;\r\n this.dragY = 0;\r\n this.startTimeMSec = null;\r\n this.mainMotionManager = new L2DMotionManager(); //L2DMotionManager\r\n this.expressionManager = new L2DMotionManager(); //L2DMotionManager\r\n this.motions = {};\r\n this.expressions = {};\r\n\r\n this.isTexLoaded = false;\r\n}\r\n\r\nvar texCounter = 0;\r\n\r\n//============================================================\r\n// L2DBaseModel # getModelMatrix()\r\n//============================================================\r\nL2DBaseModel.prototype.getModelMatrix = function () {\r\n return this.modelMatrix;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # setAlpha()\r\n//============================================================\r\nL2DBaseModel.prototype.setAlpha = function (a/*float*/) {\r\n if (a > 0.999) a = 1;\r\n if (a < 0.001) a = 0;\r\n this.alpha = a;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # getAlpha()\r\n//============================================================\r\nL2DBaseModel.prototype.getAlpha = function () {\r\n return this.alpha;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # isInitialized()\r\n//============================================================\r\nL2DBaseModel.prototype.isInitialized = function () {\r\n return this.initialized;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # setInitialized()\r\n//============================================================\r\nL2DBaseModel.prototype.setInitialized = function (v/*boolean*/) {\r\n this.initialized = v;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # isUpdating()\r\n//============================================================\r\nL2DBaseModel.prototype.isUpdating = function () {\r\n return this.updating;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # setUpdating()\r\n//============================================================\r\nL2DBaseModel.prototype.setUpdating = function (v/*boolean*/) {\r\n this.updating = v;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # getLive2DModel()\r\n//============================================================\r\nL2DBaseModel.prototype.getLive2DModel = function () {\r\n return this.live2DModel;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # setLipSync()\r\n//============================================================\r\nL2DBaseModel.prototype.setLipSync = function (v/*boolean*/) {\r\n this.lipSync = v;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # setLipSyncValue()\r\n//============================================================\r\nL2DBaseModel.prototype.setLipSyncValue = function (v/*float*/) {\r\n this.lipSyncValue = v;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # setAccel()\r\n//============================================================\r\nL2DBaseModel.prototype.setAccel = function (x/*float*/, y/*float*/, z/*float*/) {\r\n this.accelX = x;\r\n this.accelY = y;\r\n this.accelZ = z;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # setDrag()\r\n//============================================================\r\nL2DBaseModel.prototype.setDrag = function (x/*float*/, y/*float*/) {\r\n this.dragX = x;\r\n this.dragY = y;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # getMainMotionManager()\r\n//============================================================\r\nL2DBaseModel.prototype.getMainMotionManager = function () {\r\n return this.mainMotionManager;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # getExpressionManager()\r\n//============================================================\r\nL2DBaseModel.prototype.getExpressionManager = function () {\r\n return this.expressionManager;\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # loadModelData()\r\n//============================================================\r\nL2DBaseModel.prototype.loadModelData = function (path/*String*/, callback) {\r\n /*\r\n if( this.live2DModel != null ) {\r\n this.live2DModel.deleteTextures();\r\n }\r\n */\r\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\r\n if (this.debugMode) pm.log(\"Load model : \" + path);\r\n\r\n var thisRef = this;\r\n pm.loadLive2DModel(path, function (l2dModel) {\r\n thisRef.live2DModel = l2dModel;\r\n thisRef.live2DModel.saveParam();\r\n\r\n var _err = Live2D.getError();\r\n\r\n if (_err != 0) {\r\n console.error(\"Error : Failed to loadModelData().\");\r\n return;\r\n }\r\n\r\n thisRef.modelMatrix = new L2DModelMatrix(\r\n thisRef.live2DModel.getCanvasWidth(),\r\n thisRef.live2DModel.getCanvasHeight()); //L2DModelMatrix\r\n thisRef.modelMatrix.setWidth(2);\r\n thisRef.modelMatrix.setCenterPosition(0, 0);\r\n\r\n callback(thisRef.live2DModel);\r\n });\r\n}\r\n\r\n\r\n//============================================================\r\n// L2DBaseModel # loadTexture()\r\n//============================================================\r\nL2DBaseModel.prototype.loadTexture = function (no/*int*/, path/*String*/, callback) {\r\n texCounter++;\r\n\r\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\r\n\r\n if (this.debugMode) pm.log(\"Load Texture : \" + path);\r\n\r\n var thisRef = this;\r\n pm.loadTexture(this.live2DModel, no, path, function () {\r\n texCounter--;\r\n if (texCounter == 0) thisRef.isTexLoaded = true;\r\n if (typeof callback == \"function\") callback();\r\n });\r\n\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # loadMotion()\r\n//============================================================\r\nL2DBaseModel.prototype.loadMotion = function (name/*String*/, path /*String*/, callback) {\r\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\r\n\r\n if (this.debugMode) pm.log(\"Load Motion : \" + path);\r\n\r\n var motion = null; //Live2DMotion\r\n\r\n var thisRef = this;\r\n pm.loadBytes(path, function (buf) {\r\n motion = Live2DMotion.loadMotion(buf);\r\n if (name != null) {\r\n thisRef.motions[name] = motion;\r\n }\r\n callback(motion);\r\n });\r\n\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # loadExpression()\r\n//============================================================\r\nL2DBaseModel.prototype.loadExpression = function (name/*String*/, path /*String*/, callback) {\r\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\r\n\r\n if (this.debugMode) pm.log(\"Load Expression : \" + path);\r\n\r\n var thisRef = this;\r\n pm.loadBytes(path, function (buf) {\r\n if (name != null) {\r\n thisRef.expressions[name] = L2DExpressionMotion.loadJson(buf);\r\n }\r\n if (typeof callback == \"function\") callback();\r\n });\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # loadPose()\r\n//============================================================\r\nL2DBaseModel.prototype.loadPose = function (path /*String*/, callback) {\r\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\r\n if (this.debugMode) pm.log(\"Load Pose : \" + path);\r\n var thisRef = this;\r\n try {\r\n pm.loadBytes(path, function (buf) {\r\n thisRef.pose = L2DPose.load(buf);\r\n if (typeof callback == \"function\") callback();\r\n });\r\n }\r\n catch (e) {\r\n console.warn(e);\r\n }\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # loadPhysics()\r\n//============================================================\r\nL2DBaseModel.prototype.loadPhysics = function (path/*String*/) {\r\n var pm = Live2DFramework.getPlatformManager(); //IPlatformManager\r\n if (this.debugMode) pm.log(\"Load Physics : \" + path);\r\n var thisRef = this;\r\n try {\r\n pm.loadBytes(path, function (buf) {\r\n thisRef.physics = L2DPhysics.load(buf);\r\n });\r\n }\r\n catch (e) {\r\n console.warn(e);\r\n }\r\n}\r\n\r\n//============================================================\r\n// L2DBaseModel # hitTestSimple()\r\n//============================================================\r\nL2DBaseModel.prototype.hitTestSimple = function (drawID, testX, testY) {\r\n\t\r\n\tif(this.live2DModel === null) return !1;\r\n\t\r\n var drawIndex = this.live2DModel.getDrawDataIndex(drawID);\r\n\r\n if (drawIndex < 0) return false;\r\n\r\n var points = this.live2DModel.getTransformedPoints(drawIndex);\r\n var left = this.live2DModel.getCanvasWidth();\r\n var right = 0;\r\n var top = this.live2DModel.getCanvasHeight();\r\n var bottom = 0;\r\n\r\n for (var j = 0; j < points.length; j = j + 2) {\r\n var x = points[j];\r\n var y = points[j + 1];\r\n\r\n if (x < left) left = x;\r\n if (x > right) right = x;\r\n if (y < top) top = y;\r\n if (y > bottom) bottom = y;\r\n }\r\n var tx = this.modelMatrix.invertTransformX(testX);\r\n var ty = this.modelMatrix.invertTransformY(testY);\r\n\r\n return (left <= tx && tx <= right && top <= ty && ty <= bottom);\r\n}\r\n\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DExpressionMotion extends AMotion\r\n//============================================================\r\n//============================================================\r\nfunction L2DExpressionMotion() {\r\n AMotion.prototype.constructor.call(this);\r\n this.paramList = new Array(); //ArrayList\r\n}\r\n\r\nL2DExpressionMotion.prototype = new AMotion(); // L2DExpressionMotion extends AMotion\r\n\r\n//============================================================\r\nL2DExpressionMotion.EXPRESSION_DEFAULT = \"DEFAULT\";\r\nL2DExpressionMotion.TYPE_SET = 0;\r\nL2DExpressionMotion.TYPE_ADD = 1;\r\nL2DExpressionMotion.TYPE_MULT = 2;\r\n\r\n//============================================================\r\n// static L2DExpressionMotion.loadJson()\r\n//============================================================\r\nL2DExpressionMotion.loadJson = function (buf) {\r\n var ret = new L2DExpressionMotion();\r\n\r\n var pm = Live2DFramework.getPlatformManager();\r\n var json = pm.jsonParseFromBytes(buf);\r\n\r\n ret.setFadeIn(parseInt(json.fade_in) > 0 ? parseInt(json.fade_in) : 1000);\r\n ret.setFadeOut(parseInt(json.fade_out) > 0 ? parseInt(json.fade_out) : 1000);\r\n\r\n if (json.params == null) {\r\n return ret;\r\n }\r\n\r\n var params = json.params;\r\n var paramNum = params.length;\r\n ret.paramList = []; //ArrayList\r\n for (var i = 0; i < paramNum; i++) {\r\n var param = params[i];\r\n var paramID = param.id.toString();\r\n var value = parseFloat(param.val);\r\n var calcTypeInt = L2DExpressionMotion.TYPE_ADD;\r\n var calc = param.calc != null ? param.calc.toString() : \"add\";\r\n if (calc === \"add\") {\r\n calcTypeInt = L2DExpressionMotion.TYPE_ADD;\r\n }\r\n else if (calc === \"mult\") {\r\n calcTypeInt = L2DExpressionMotion.TYPE_MULT;\r\n }\r\n else if (calc === \"set\") {\r\n calcTypeInt = L2DExpressionMotion.TYPE_SET;\r\n }\r\n else {\r\n calcTypeInt = L2DExpressionMotion.TYPE_ADD;\r\n }\r\n if (calcTypeInt == L2DExpressionMotion.TYPE_ADD) {\r\n var defaultValue = param.def == null ? 0 : parseFloat(param.def);\r\n value = value - defaultValue;\r\n }\r\n else if (calcTypeInt == L2DExpressionMotion.TYPE_MULT) {\r\n var defaultValue = param.def == null ? 1 : parseFloat(param.def);\r\n if (defaultValue == 0) defaultValue = 1;\r\n value = value / defaultValue;\r\n }\r\n\r\n var item = new L2DExpressionParam();\r\n item.id = paramID;\r\n item.type = calcTypeInt;\r\n item.value = value;\r\n\r\n ret.paramList.push(item);\r\n }\r\n\r\n return ret;\r\n}\r\n\r\n\r\n//============================================================\r\n// L2DExpressionMotion # updateParamExe()\r\n//============================================================\r\nL2DExpressionMotion.prototype.updateParamExe = function (model /*ALive2DModel*/, timeMSec/*long*/, weight /*float*/, motionQueueEnt /*MotionQueueEnt*/) {\r\n for (var i = this.paramList.length - 1; i >= 0; --i) {\r\n var param = this.paramList[i]; //L2DExpressionParam\r\n // if (!param || !param.type) continue;\r\n if (param.type == L2DExpressionMotion.TYPE_ADD) {\r\n model.addToParamFloat(param.id, param.value, weight);\r\n }\r\n else if (param.type == L2DExpressionMotion.TYPE_MULT) {\r\n model.multParamFloat(param.id, param.value, weight);\r\n }\r\n else if (param.type == L2DExpressionMotion.TYPE_SET) {\r\n model.setParamFloat(param.id, param.value, weight);\r\n }\r\n }\r\n}\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DExpressionParam \r\n//============================================================\r\n//============================================================\r\nfunction L2DExpressionParam() {\r\n this.id = \"\";\r\n this.type = -1;\r\n this.value = null;\r\n}\r\n\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DEyeBlink \r\n//============================================================\r\n//============================================================\r\nfunction L2DEyeBlink() {\r\n this.nextBlinkTime = null /* TODO NOT INIT */; // \r\n this.stateStartTime = null /* TODO NOT INIT */; // \r\n this.blinkIntervalMsec = null /* TODO NOT INIT */; // \r\n this.eyeState = EYE_STATE.STATE_FIRST;\r\n this.blinkIntervalMsec = 4000;\r\n this.closingMotionMsec = 100;\r\n this.closedMotionMsec = 50;\r\n this.openingMotionMsec = 150;\r\n this.closeIfZero = true;\r\n this.eyeID_L = \"PARAM_EYE_L_OPEN\";\r\n this.eyeID_R = \"PARAM_EYE_R_OPEN\";\r\n}\r\n\r\n//============================================================\r\n// L2DEyeBlink # calcNextBlink()\r\n//============================================================\r\nL2DEyeBlink.prototype.calcNextBlink = function () {\r\n var time /*long*/ = UtSystem.getUserTimeMSec();\r\n var r /*Number*/ = Math.random();\r\n return /*(long)*/ (time + r * (2 * this.blinkIntervalMsec - 1));\r\n}\r\n\r\n//============================================================\r\n// L2DEyeBlink # setInterval()\r\n//============================================================\r\nL2DEyeBlink.prototype.setInterval = function (blinkIntervalMsec /*int*/) {\r\n this.blinkIntervalMsec = blinkIntervalMsec;\r\n}\r\n\r\n//============================================================\r\n// L2DEyeBlink # setEyeMotion()\r\n//============================================================\r\nL2DEyeBlink.prototype.setEyeMotion = function (closingMotionMsec/*int*/, closedMotionMsec/*int*/, openingMotionMsec/*int*/) {\r\n this.closingMotionMsec = closingMotionMsec;\r\n this.closedMotionMsec = closedMotionMsec;\r\n this.openingMotionMsec = openingMotionMsec;\r\n}\r\n\r\n//============================================================\r\n// L2DEyeBlink # updateParam()\r\n//============================================================\r\nL2DEyeBlink.prototype.updateParam = function (model/*ALive2DModel*/) {\r\n var time /*:long*/ = UtSystem.getUserTimeMSec();\r\n var eyeParamValue /*:Number*/;\r\n var t /*:Number*/ = 0;\r\n switch (this.eyeState) {\r\n case EYE_STATE.STATE_CLOSING:\r\n t = (time - this.stateStartTime) / this.closingMotionMsec;\r\n if (t >= 1) {\r\n t = 1;\r\n this.eyeState = EYE_STATE.STATE_CLOSED;\r\n this.stateStartTime = time;\r\n }\r\n eyeParamValue = 1 - t;\r\n break;\r\n case EYE_STATE.STATE_CLOSED:\r\n t = (time - this.stateStartTime) / this.closedMotionMsec;\r\n if (t >= 1) {\r\n this.eyeState = EYE_STATE.STATE_OPENING;\r\n this.stateStartTime = time;\r\n }\r\n eyeParamValue = 0;\r\n break;\r\n case EYE_STATE.STATE_OPENING:\r\n t = (time - this.stateStartTime) / this.openingMotionMsec;\r\n if (t >= 1) {\r\n t = 1;\r\n this.eyeState = EYE_STATE.STATE_INTERVAL;\r\n this.nextBlinkTime = this.calcNextBlink();\r\n }\r\n eyeParamValue = t;\r\n break;\r\n case EYE_STATE.STATE_INTERVAL:\r\n if (this.nextBlinkTime < time) {\r\n this.eyeState = EYE_STATE.STATE_CLOSING;\r\n this.stateStartTime = time;\r\n }\r\n eyeParamValue = 1;\r\n break;\r\n case EYE_STATE.STATE_FIRST:\r\n default:\r\n this.eyeState = EYE_STATE.STATE_INTERVAL;\r\n this.nextBlinkTime = this.calcNextBlink();\r\n eyeParamValue = 1;\r\n break;\r\n }\r\n if (!this.closeIfZero) eyeParamValue = -eyeParamValue;\r\n model.setParamFloat(this.eyeID_L, eyeParamValue);\r\n model.setParamFloat(this.eyeID_R, eyeParamValue);\r\n}\r\n\r\n//== enum EYE_STATE ==\r\nvar EYE_STATE = function () { };\r\n\r\nEYE_STATE.STATE_FIRST = \"STATE_FIRST\"\r\nEYE_STATE.STATE_INTERVAL = \"STATE_INTERVAL\"\r\nEYE_STATE.STATE_CLOSING = \"STATE_CLOSING\"\r\nEYE_STATE.STATE_CLOSED = \"STATE_CLOSED\"\r\nEYE_STATE.STATE_OPENING = \"STATE_OPENING\"\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DMatrix44 \r\n//============================================================\r\n//============================================================\r\nfunction L2DMatrix44() {\r\n this.tr = new Float32Array(16); // \r\n this.identity();\r\n}\r\n\r\n//============================================================\r\n// static L2DMatrix44.mul()\r\n//============================================================\r\nL2DMatrix44.mul = function (a/*float[]*/, b/*float[]*/, dst/*float[]*/) {\r\n var c = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\r\n var n = 4;\r\n var i, j, k;\r\n for (i = 0; i < n; i++) {\r\n for (j = 0; j < n; j++) {\r\n for (k = 0; k < n; k++) {\r\n c[i + j * 4] += a[i + k * 4] * b[k + j * 4];\r\n }\r\n }\r\n }\r\n for (i = 0; i < 16; i++) {\r\n dst[i] = c[i];\r\n }\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # identity()\r\n//============================================================\r\nL2DMatrix44.prototype.identity = function () {\r\n for (var i/*:int*/ = 0; i < 16; i++)\r\n this.tr[i] = ((i % 5) == 0) ? 1 : 0;\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # getArray()\r\n//============================================================\r\nL2DMatrix44.prototype.getArray = function () {\r\n return this.tr;\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # getCopyMatrix()\r\n//============================================================\r\nL2DMatrix44.prototype.getCopyMatrix = function () {\r\n return new Float32Array(this.tr); // this.tr.clone();\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # setMatrix()\r\n//============================================================\r\nL2DMatrix44.prototype.setMatrix = function (tr/*float[]*/) {\r\n if (this.tr == null || this.tr.length != this.tr.length) return;\r\n for (var i/*:int*/ = 0; i < 16; i++) this.tr[i] = tr[i];\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # getScaleX()\r\n//============================================================\r\nL2DMatrix44.prototype.getScaleX = function () {\r\n return this.tr[0];\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # getScaleY()\r\n//============================================================\r\nL2DMatrix44.prototype.getScaleY = function () {\r\n return this.tr[5];\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # transformX()\r\n//============================================================\r\nL2DMatrix44.prototype.transformX = function (src/*float*/) {\r\n return this.tr[0] * src + this.tr[12];\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # transformY()\r\n//============================================================\r\nL2DMatrix44.prototype.transformY = function (src/*float*/) {\r\n return this.tr[5] * src + this.tr[13];\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # invertTransformX()\r\n//============================================================\r\nL2DMatrix44.prototype.invertTransformX = function (src/*float*/) {\r\n return (src - this.tr[12]) / this.tr[0];\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # invertTransformY()\r\n//============================================================\r\nL2DMatrix44.prototype.invertTransformY = function (src/*float*/) {\r\n return (src - this.tr[13]) / this.tr[5];\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # multTranslate()\r\n//============================================================\r\nL2DMatrix44.prototype.multTranslate = function (shiftX/*float*/, shiftY/*float*/) {\r\n var tr1 = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, shiftX, shiftY, 0, 1];\r\n L2DMatrix44.mul(tr1, this.tr, this.tr);\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # translate()\r\n//============================================================\r\nL2DMatrix44.prototype.translate = function (x/*float*/, y/*float*/) {\r\n this.tr[12] = x;\r\n this.tr[13] = y;\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # translateX()\r\n//============================================================\r\nL2DMatrix44.prototype.translateX = function (x/*float*/) {\r\n this.tr[12] = x;\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # translateY()\r\n//============================================================\r\nL2DMatrix44.prototype.translateY = function (y/*float*/) {\r\n this.tr[13] = y;\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # multScale()\r\n//============================================================\r\nL2DMatrix44.prototype.multScale = function (scaleX/*float*/, scaleY/*float*/) {\r\n var tr1 = [scaleX, 0, 0, 0, 0, scaleY, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\r\n L2DMatrix44.mul(tr1, this.tr, this.tr);\r\n}\r\n\r\n//============================================================\r\n// L2DMatrix44 # scale()\r\n//============================================================\r\nL2DMatrix44.prototype.scale = function (scaleX/*float*/, scaleY/*float*/) {\r\n this.tr[0] = scaleX;\r\n this.tr[5] = scaleY;\r\n}\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DModelMatrix extends L2DMatrix44\r\n//============================================================\r\n//============================================================\r\nfunction L2DModelMatrix(w/*float*/, h/*float*/) {\r\n L2DMatrix44.prototype.constructor.call(this);\r\n this.width = w;\r\n this.height = h;\r\n}\r\n\r\n//L2DModelMatrix extends L2DMatrix44\r\nL2DModelMatrix.prototype = new L2DMatrix44();\r\n\r\n//============================================================\r\n// L2DModelMatrix # setPosition()\r\n//============================================================\r\nL2DModelMatrix.prototype.setPosition = function (x/*float*/, y/*float*/) {\r\n this.translate(x, y);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # setCenterPosition()\r\n//============================================================\r\nL2DModelMatrix.prototype.setCenterPosition = function (x/*float*/, y/*float*/) {\r\n var w = this.width * this.getScaleX();\r\n var h = this.height * this.getScaleY();\r\n this.translate(x - w / 2, y - h / 2);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # top()\r\n//============================================================\r\nL2DModelMatrix.prototype.top = function (y/*float*/) {\r\n this.setY(y);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # bottom()\r\n//============================================================\r\nL2DModelMatrix.prototype.bottom = function (y/*float*/) {\r\n var h = this.height * this.getScaleY();\r\n this.translateY(y - h);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # left()\r\n//============================================================\r\nL2DModelMatrix.prototype.left = function (x/*float*/) {\r\n this.setX(x);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # right()\r\n//============================================================\r\nL2DModelMatrix.prototype.right = function (x/*float*/) {\r\n var w = this.width * this.getScaleX();\r\n this.translateX(x - w);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # centerX()\r\n//============================================================\r\nL2DModelMatrix.prototype.centerX = function (x/*float*/) {\r\n var w = this.width * this.getScaleX();\r\n this.translateX(x - w / 2);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # centerY()\r\n//============================================================\r\nL2DModelMatrix.prototype.centerY = function (y/*float*/) {\r\n var h = this.height * this.getScaleY();\r\n this.translateY(y - h / 2);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # setX()\r\n//============================================================\r\nL2DModelMatrix.prototype.setX = function (x/*float*/) {\r\n this.translateX(x);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # setY()\r\n//============================================================\r\nL2DModelMatrix.prototype.setY = function (y/*float*/) {\r\n this.translateY(y);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # setHeight()\r\n//============================================================\r\nL2DModelMatrix.prototype.setHeight = function (h/*float*/) {\r\n var scaleX = h / this.height;\r\n var scaleY = -scaleX;\r\n this.scale(scaleX, scaleY);\r\n}\r\n\r\n//============================================================\r\n// L2DModelMatrix # setWidth()\r\n//============================================================\r\nL2DModelMatrix.prototype.setWidth = function (w/*float*/) {\r\n var scaleX = w / this.width;\r\n var scaleY = -scaleX;\r\n this.scale(scaleX, scaleY);\r\n}\r\n\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DMotionManager extends MotionQueueManager\r\n//============================================================\r\n//============================================================\r\nfunction L2DMotionManager() {\r\n MotionQueueManager.prototype.constructor.call(this);\r\n this.currentPriority = null;\r\n this.reservePriority = null;\r\n\r\n this.super = MotionQueueManager.prototype;\r\n}\r\n\r\n\r\nL2DMotionManager.prototype = new MotionQueueManager();\r\n\r\n//============================================================\r\n// L2DMotionManager # getCurrentPriority()\r\n//============================================================\r\nL2DMotionManager.prototype.getCurrentPriority = function () {\r\n return this.currentPriority;\r\n}\r\n\r\n//============================================================\r\n// L2DMotionManager # getReservePriority()\r\n//============================================================\r\nL2DMotionManager.prototype.getReservePriority = function () {\r\n return this.reservePriority;\r\n}\r\n\r\n//============================================================\r\n// L2DMotionManager # reserveMotion()\r\n//============================================================\r\nL2DMotionManager.prototype.reserveMotion = function (priority/*int*/) {\r\n if (this.reservePriority >= priority) {\r\n return false;\r\n }\r\n if (this.currentPriority >= priority) {\r\n return false;\r\n }\r\n\r\n this.reservePriority = priority;\r\n\r\n return true;\r\n}\r\n\r\n//============================================================\r\n// L2DMotionManager # setReservePriority()\r\n//============================================================\r\nL2DMotionManager.prototype.setReservePriority = function (val/*int*/) {\r\n this.reservePriority = val;\r\n}\r\n\r\n//============================================================\r\n// L2DMotionManager # updateParam()\r\n//============================================================\r\nL2DMotionManager.prototype.updateParam = function (model/*ALive2DModel*/) {\r\n var updated = MotionQueueManager.prototype.updateParam.call(this, model);\r\n\r\n if (this.isFinished()) {\r\n this.currentPriority = 0;\r\n }\r\n\r\n return updated;\r\n}\r\n\r\n//============================================================\r\n// L2DMotionManager # startMotionPrio()\r\n//============================================================\r\nL2DMotionManager.prototype.startMotionPrio = function (motion/*AMotion*/, priority/*int*/) {\r\n if (priority == this.reservePriority) {\r\n this.reservePriority = 0;\r\n }\r\n this.currentPriority = priority;\r\n return this.startMotion(motion, false);\r\n}\r\n\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DPhysics \r\n//============================================================\r\n//============================================================\r\nfunction L2DPhysics() {\r\n this.physicsList = new Array(); //ArrayList\r\n this.startTimeMSec = UtSystem.getUserTimeMSec();\r\n}\r\n\r\n//============================================================\r\n// static L2DPhysics.load()\r\n//============================================================\r\nL2DPhysics.load = function (buf /*byte[]*/) {\r\n var ret = new L2DPhysics(); //L2DPhysicsL2DPhysics\r\n var pm = Live2DFramework.getPlatformManager();\r\n var json = pm.jsonParseFromBytes(buf);\r\n var params = json.physics_hair;\r\n var paramNum = params.length;\r\n for (var i = 0; i < paramNum; i++) {\r\n var param = params[i]; //Value\r\n var physics = new PhysicsHair(); //PhysicsHairPhysicsHair\r\n var setup = param.setup; //Value\r\n var length = parseFloat(setup.length);\r\n var resist = parseFloat(setup.regist);\r\n var mass = parseFloat(setup.mass);\r\n physics.setup(length, resist, mass);\r\n var srcList = param.src; //Value\r\n var srcNum = srcList.length;\r\n for (var j = 0; j < srcNum; j++) {\r\n var src = srcList[j]; //Value\r\n var id = src.id; //String\r\n var type = PhysicsHair.Src.SRC_TO_X;\r\n var typeStr = src.ptype; //String\r\n if (typeStr === \"x\") {\r\n type = PhysicsHair.Src.SRC_TO_X;\r\n }\r\n else if (typeStr === \"y\") {\r\n type = PhysicsHair.Src.SRC_TO_Y;\r\n }\r\n else if (typeStr === \"angle\") {\r\n type = PhysicsHair.Src.SRC_TO_G_ANGLE;\r\n }\r\n else {\r\n UtDebug.error(\"live2d\", \"Invalid parameter:PhysicsHair.Src\");\r\n }\r\n var scale = parseFloat(src.scale);\r\n var weight = parseFloat(src.weight);\r\n physics.addSrcParam(type, id, scale, weight);\r\n }\r\n var targetList = param.targets; //Value\r\n var targetNum = targetList.length;\r\n for (var j = 0; j < targetNum; j++) {\r\n var target = targetList[j]; //Value\r\n var id = target.id; //String\r\n var type = PhysicsHair.Target.TARGET_FROM_ANGLE;\r\n var typeStr = target.ptype; //String\r\n if (typeStr === \"angle\") {\r\n type = PhysicsHair.Target.TARGET_FROM_ANGLE;\r\n }\r\n else if (typeStr === \"angle_v\") {\r\n type = PhysicsHair.Target.TARGET_FROM_ANGLE_V;\r\n }\r\n else {\r\n UtDebug.error(\"live2d\", \"Invalid parameter:PhysicsHair.Target\");\r\n }\r\n var scale = parseFloat(target.scale);\r\n var weight = parseFloat(target.weight);\r\n physics.addTargetParam(type, id, scale, weight);\r\n }\r\n ret.physicsList.push(physics);\r\n }\r\n return ret;\r\n}\r\n\r\n//============================================================\r\n// L2DPhysics # updateParam()\r\n//============================================================\r\nL2DPhysics.prototype.updateParam = function (model/*ALive2DModel*/) {\r\n var timeMSec = UtSystem.getUserTimeMSec() - this.startTimeMSec;\r\n for (var i = 0; i < this.physicsList.length; i++) {\r\n this.physicsList[i].update(model, timeMSec);\r\n }\r\n}\r\n\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DPose \r\n//============================================================\r\n//============================================================\r\nfunction L2DPose() {\r\n this.lastTime = 0;\r\n this.lastModel = null; //ALive2DModel\r\n this.partsGroups = new Array(); //ArrayList\r\n}\r\n\r\n\r\n//============================================================\r\n// static L2DPose.load()\r\n//============================================================\r\nL2DPose.load = function (buf/*byte[]*/) {\r\n var ret = new L2DPose(); //L2DPose\r\n var pm = Live2DFramework.getPlatformManager();\r\n var json = pm.jsonParseFromBytes(buf);\r\n var poseListInfo = json.parts_visible; //Value\r\n var poseNum = poseListInfo.length;\r\n for (var i_pose = 0; i_pose < poseNum; i_pose++) {\r\n var poseInfo = poseListInfo[i_pose]; //Value\r\n var idListInfo = poseInfo.group; //Value\r\n var idNum = idListInfo.length;\r\n var partsGroup/*L2DPartsParam*/ = new Array();\r\n for (var i_group = 0; i_group < idNum; i_group++) {\r\n var partsInfo = idListInfo[i_group]; //Value\r\n var parts = new L2DPartsParam(partsInfo.id); //L2DPartsParamL2DPartsParam\r\n partsGroup[i_group] = parts;\r\n if (partsInfo.link == null) continue;\r\n var linkListInfo = partsInfo.link; //Value\r\n var linkNum = linkListInfo.length;\r\n parts.link = new Array(); //ArrayList\r\n for (var i_link = 0; i_link < linkNum; i_link++) {\r\n var linkParts = new L2DPartsParam(linkListInfo[i_link]); //L2DPartsParamL2DPartsParam\r\n parts.link.push(linkParts);\r\n }\r\n }\r\n ret.partsGroups.push(partsGroup);\r\n }\r\n\r\n return ret;\r\n}\r\n\r\n//============================================================\r\n// L2DPose # updateParam()\r\n//============================================================\r\nL2DPose.prototype.updateParam = function (model/*ALive2DModel*/) {\r\n if (model == null) return;\r\n\r\n if (!(model == this.lastModel)) {\r\n this.initParam(model);\r\n }\r\n this.lastModel = model;\r\n\r\n var curTime = UtSystem.getUserTimeMSec();\r\n var deltaTimeSec = ((this.lastTime == 0) ? 0 : (curTime - this.lastTime) / 1000.0);\r\n this.lastTime = curTime;\r\n if (deltaTimeSec < 0) deltaTimeSec = 0;\r\n for (var i = 0; i < this.partsGroups.length; i++) {\r\n this.normalizePartsOpacityGroup(model, this.partsGroups[i], deltaTimeSec);\r\n this.copyOpacityOtherParts(model, this.partsGroups[i]);\r\n }\r\n}\r\n\r\n//============================================================\r\n// L2DPose # initParam()\r\n//============================================================\r\nL2DPose.prototype.initParam = function (model/*ALive2DModel*/) {\r\n if (model == null) return;\r\n for (var i = 0; i < this.partsGroups.length; i++) {\r\n var partsGroup = this.partsGroups[i]; //L2DPartsParam\r\n for (var j = 0; j < partsGroup.length; j++) {\r\n partsGroup[j].initIndex(model);\r\n var partsIndex = partsGroup[j].partsIndex;\r\n var paramIndex = partsGroup[j].paramIndex;\r\n if (partsIndex < 0) continue;\r\n var v/*:Boolean*/ = (model.getParamFloat(paramIndex) != 0);\r\n model.setPartsOpacity(partsIndex, (v ? 1.0 : 0.0));\r\n model.setParamFloat(paramIndex, (v ? 1.0 : 0.0));\r\n if (partsGroup[j].link == null) continue;\r\n for (var k = 0; k < partsGroup[j].link.length; k++) {\r\n partsGroup[j].link[k].initIndex(model);\r\n }\r\n }\r\n }\r\n}\r\n\r\n//============================================================\r\n// L2DPose # normalizePartsOpacityGroup()\r\n//============================================================\r\nL2DPose.prototype.normalizePartsOpacityGroup = function (model/*ALive2DModel*/, partsGroup/*L2DPartsParam[]*/, deltaTimeSec/*float*/) {\r\n var visibleParts = -1;\r\n var visibleOpacity = 1.0;\r\n var CLEAR_TIME_SEC = 0.5;\r\n var phi = 0.5;\r\n var maxBackOpacity = 0.15;\r\n for (var i = 0; i < partsGroup.length; i++) {\r\n var partsIndex = partsGroup[i].partsIndex;\r\n var paramIndex = partsGroup[i].paramIndex;\r\n if (partsIndex < 0) continue; if (model.getParamFloat(paramIndex) != 0) {\r\n if (visibleParts >= 0) {\r\n break;\r\n }\r\n visibleParts = i;\r\n visibleOpacity = model.getPartsOpacity(partsIndex);\r\n visibleOpacity += deltaTimeSec / CLEAR_TIME_SEC;\r\n if (visibleOpacity > 1) {\r\n visibleOpacity = 1;\r\n }\r\n }\r\n }\r\n if (visibleParts < 0) {\r\n visibleParts = 0;\r\n visibleOpacity = 1;\r\n }\r\n for (var i = 0; i < partsGroup.length; i++) {\r\n var partsIndex = partsGroup[i].partsIndex;\r\n if (partsIndex < 0) continue; if (visibleParts == i) {\r\n model.setPartsOpacity(partsIndex, visibleOpacity);\r\n }\r\n else {\r\n var opacity = model.getPartsOpacity(partsIndex);\r\n var a1;\r\n if (visibleOpacity < phi) {\r\n a1 = visibleOpacity * (phi - 1) / phi + 1;\r\n }\r\n else {\r\n a1 = (1 - visibleOpacity) * phi / (1 - phi);\r\n }\r\n var backOp = (1 - a1) * (1 - visibleOpacity);\r\n if (backOp > maxBackOpacity) {\r\n a1 = 1 - maxBackOpacity / (1 - visibleOpacity);\r\n }\r\n if (opacity > a1) {\r\n opacity = a1;\r\n }\r\n model.setPartsOpacity(partsIndex, opacity);\r\n }\r\n }\r\n}\r\n\r\n//============================================================\r\n// L2DPose # copyOpacityOtherParts()\r\n//============================================================\r\nL2DPose.prototype.copyOpacityOtherParts = function (model/*ALive2DModel*/, partsGroup/*L2DPartsParam[]*/) {\r\n for (var i_group = 0; i_group < partsGroup.length; i_group++) {\r\n var partsParam = partsGroup[i_group]; //L2DPartsParam\r\n if (partsParam.link == null) continue;\r\n if (partsParam.partsIndex < 0) continue;\r\n var opacity = model.getPartsOpacity(partsParam.partsIndex);\r\n for (var i_link = 0; i_link < partsParam.link.length; i_link++) {\r\n var linkParts = partsParam.link[i_link]; //L2DPartsParam\r\n if (linkParts.partsIndex < 0) continue;\r\n model.setPartsOpacity(linkParts.partsIndex, opacity);\r\n }\r\n }\r\n}\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DPartsParam \r\n//============================================================\r\n//============================================================\r\nfunction L2DPartsParam(id/*String*/) {\r\n this.paramIndex = -1;\r\n this.partsIndex = -1;\r\n this.link = null; // ArrayList\r\n this.id = id;\r\n}\r\n\r\n//============================================================\r\n// L2DPartsParam # initIndex()\r\n//============================================================\r\nL2DPartsParam.prototype.initIndex = function (model/*ALive2DModel*/) {\r\n this.paramIndex = model.getParamIndex(\"VISIBLE:\" + this.id);\r\n this.partsIndex = model.getPartsDataIndex(PartsDataID.getID(this.id));\r\n model.setParamFloat(this.paramIndex, 1);\r\n}\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DTargetPoint \r\n//============================================================\r\n//============================================================\r\nfunction L2DTargetPoint() {\r\n this.EPSILON = 0.01; // 変化の最小値(この値以下は無視される)\r\n this.faceTargetX = 0;\r\n this.faceTargetY = 0;\r\n this.faceX = 0;\r\n this.faceY = 0;\r\n this.faceVX = 0;\r\n this.faceVY = 0;\r\n this.lastTimeSec = 0;\r\n}\r\n\r\n//============================================================\r\nL2DTargetPoint.FRAME_RATE = 30;\r\n\r\n//============================================================\r\n// L2DTargetPoint # set()\r\n//============================================================\r\nL2DTargetPoint.prototype.setPoint = function (x/*float*/, y/*float*/) {\r\n this.faceTargetX = x;\r\n this.faceTargetY = y;\r\n}\r\n\r\n//============================================================\r\n// L2DTargetPoint # getX()\r\n//============================================================\r\nL2DTargetPoint.prototype.getX = function () {\r\n return this.faceX;\r\n}\r\n\r\n//============================================================\r\n// L2DTargetPoint # getY()\r\n//============================================================\r\nL2DTargetPoint.prototype.getY = function () {\r\n return this.faceY;\r\n}\r\n\r\n//============================================================\r\n// L2DTargetPoint # update()\r\n//============================================================\r\nL2DTargetPoint.prototype.update = function () {\r\n var TIME_TO_MAX_SPEED = 0.15;\r\n var FACE_PARAM_MAX_V = 40.0 / 7.5;\r\n var MAX_V = FACE_PARAM_MAX_V / L2DTargetPoint.FRAME_RATE;\r\n if (this.lastTimeSec == 0) {\r\n this.lastTimeSec = UtSystem.getUserTimeMSec();\r\n return;\r\n }\r\n var curTimeSec = UtSystem.getUserTimeMSec();\r\n var deltaTimeWeight = (curTimeSec - this.lastTimeSec) * L2DTargetPoint.FRAME_RATE / 1000.0;\r\n this.lastTimeSec = curTimeSec;\r\n var FRAME_TO_MAX_SPEED = TIME_TO_MAX_SPEED * L2DTargetPoint.FRAME_RATE;\r\n var MAX_A = deltaTimeWeight * MAX_V / FRAME_TO_MAX_SPEED;\r\n var dx = (this.faceTargetX - this.faceX);\r\n var dy = (this.faceTargetY - this.faceY);\r\n // if(dx == 0 && dy == 0) return;\r\n if (Math.abs(dx) <= this.EPSILON && Math.abs(dy) <= this.EPSILON) return;\r\n var d = Math.sqrt(dx * dx + dy * dy);\r\n var vx = MAX_V * dx / d;\r\n var vy = MAX_V * dy / d;\r\n var ax = vx - this.faceVX;\r\n var ay = vy - this.faceVY;\r\n var a = Math.sqrt(ax * ax + ay * ay);\r\n if (a < -MAX_A || a > MAX_A) {\r\n ax *= MAX_A / a;\r\n ay *= MAX_A / a;\r\n a = MAX_A;\r\n }\r\n this.faceVX += ax;\r\n this.faceVY += ay;\r\n {\r\n var max_v = 0.5 * (Math.sqrt(MAX_A * MAX_A + 16 * MAX_A * d - 8 * MAX_A * d) - MAX_A);\r\n var cur_v = Math.sqrt(this.faceVX * this.faceVX + this.faceVY * this.faceVY);\r\n if (cur_v > max_v) {\r\n this.faceVX *= max_v / cur_v;\r\n this.faceVY *= max_v / cur_v;\r\n }\r\n }\r\n this.faceX += this.faceVX;\r\n this.faceY += this.faceVY;\r\n}\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class L2DViewMatrix extends L2DMatrix44\r\n//============================================================\r\n//============================================================\r\nfunction L2DViewMatrix() {\r\n L2DMatrix44.prototype.constructor.call(this);\r\n this.screenLeft = null;\r\n this.screenRight = null;\r\n this.screenTop = null;\r\n this.screenBottom = null;\r\n this.maxLeft = null;\r\n this.maxRight = null;\r\n this.maxTop = null;\r\n this.maxBottom = null;\r\n this.max = Number.MAX_VALUE;\r\n this.min = 0;\r\n}\r\n\r\nL2DViewMatrix.prototype = new L2DMatrix44(); //L2DViewMatrix extends L2DMatrix44\r\n\r\n//============================================================\r\n// L2DViewMatrix # getMaxScale()\r\n//============================================================\r\nL2DViewMatrix.prototype.getMaxScale = function () {\r\n return this.max;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getMinScale()\r\n//============================================================\r\nL2DViewMatrix.prototype.getMinScale = function () {\r\n return this.min;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # setMaxScale()\r\n//============================================================\r\nL2DViewMatrix.prototype.setMaxScale = function (v/*float*/) {\r\n this.max = v;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # setMinScale()\r\n//============================================================\r\nL2DViewMatrix.prototype.setMinScale = function (v/*float*/) {\r\n this.min = v;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # isMaxScale()\r\n//============================================================\r\nL2DViewMatrix.prototype.isMaxScale = function () {\r\n return this.getScaleX() == this.max;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # isMinScale()\r\n//============================================================\r\nL2DViewMatrix.prototype.isMinScale = function () {\r\n return this.getScaleX() == this.min;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # adjustTranslate()\r\n//============================================================\r\nL2DViewMatrix.prototype.adjustTranslate = function (shiftX/*float*/, shiftY/*float*/) {\r\n if (this.tr[0] * this.maxLeft + (this.tr[12] + shiftX) > this.screenLeft)\r\n shiftX = this.screenLeft - this.tr[0] * this.maxLeft - this.tr[12];\r\n if (this.tr[0] * this.maxRight + (this.tr[12] + shiftX) < this.screenRight)\r\n shiftX = this.screenRight - this.tr[0] * this.maxRight - this.tr[12];\r\n if (this.tr[5] * this.maxTop + (this.tr[13] + shiftY) < this.screenTop)\r\n shiftY = this.screenTop - this.tr[5] * this.maxTop - this.tr[13];\r\n if (this.tr[5] * this.maxBottom + (this.tr[13] + shiftY) > this.screenBottom)\r\n shiftY = this.screenBottom - this.tr[5] * this.maxBottom - this.tr[13];\r\n\r\n var tr1 = [1, 0, 0, 0,\r\n 0, 1, 0, 0,\r\n 0, 0, 1, 0,\r\n shiftX, shiftY, 0, 1];\r\n L2DMatrix44.mul(tr1, this.tr, this.tr);\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # adjustScale()\r\n//============================================================\r\nL2DViewMatrix.prototype.adjustScale = function (cx/*float*/, cy/*float*/, scale/*float*/) {\r\n var targetScale = scale * this.tr[0];\r\n if (targetScale < this.min) {\r\n if (this.tr[0] > 0) scale = this.min / this.tr[0];\r\n }\r\n else if (targetScale > this.max) {\r\n if (this.tr[0] > 0) scale = this.max / this.tr[0];\r\n }\r\n var tr1 = [1, 0, 0, 0,\r\n 0, 1, 0, 0,\r\n 0, 0, 1, 0,\r\n cx, cy, 0, 1];\r\n var tr2 = [scale, 0, 0, 0,\r\n 0, scale, 0, 0,\r\n 0, 0, 1, 0,\r\n 0, 0, 0, 1];\r\n var tr3 = [1, 0, 0, 0,\r\n 0, 1, 0, 0,\r\n 0, 0, 1, 0,\r\n -cx, -cy, 0, 1];\r\n L2DMatrix44.mul(tr3, this.tr, this.tr);\r\n L2DMatrix44.mul(tr2, this.tr, this.tr);\r\n L2DMatrix44.mul(tr1, this.tr, this.tr);\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # setScreenRect()\r\n//============================================================\r\nL2DViewMatrix.prototype.setScreenRect = function (left/*float*/, right/*float*/, bottom/*float*/, top/*float*/) {\r\n this.screenLeft = left;\r\n this.screenRight = right;\r\n this.screenTop = top;\r\n this.screenBottom = bottom;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # setMaxScreenRect()\r\n//============================================================\r\nL2DViewMatrix.prototype.setMaxScreenRect = function (left/*float*/, right/*float*/, bottom/*float*/, top/*float*/) {\r\n this.maxLeft = left;\r\n this.maxRight = right;\r\n this.maxTop = top;\r\n this.maxBottom = bottom;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getScreenLeft()\r\n//============================================================\r\nL2DViewMatrix.prototype.getScreenLeft = function () {\r\n return this.screenLeft;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getScreenRight()\r\n//============================================================\r\nL2DViewMatrix.prototype.getScreenRight = function () {\r\n return this.screenRight;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getScreenBottom()\r\n//============================================================\r\nL2DViewMatrix.prototype.getScreenBottom = function () {\r\n return this.screenBottom;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getScreenTop()\r\n//============================================================\r\nL2DViewMatrix.prototype.getScreenTop = function () {\r\n return this.screenTop;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getMaxLeft()\r\n//============================================================\r\nL2DViewMatrix.prototype.getMaxLeft = function () {\r\n return this.maxLeft;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getMaxRight()\r\n//============================================================\r\nL2DViewMatrix.prototype.getMaxRight = function () {\r\n return this.maxRight;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getMaxBottom()\r\n//============================================================\r\nL2DViewMatrix.prototype.getMaxBottom = function () {\r\n return this.maxBottom;\r\n}\r\n\r\n//============================================================\r\n// L2DViewMatrix # getMaxTop()\r\n//============================================================\r\nL2DViewMatrix.prototype.getMaxTop = function () {\r\n return this.maxTop;\r\n}\r\n\r\n/**\r\n *\r\n * You can modify and use this source freely\r\n * only for the development of application related Live2D.\r\n *\r\n * (c) Live2D Inc. All rights reserved.\r\n */\r\n\r\n//============================================================\r\n//============================================================\r\n// class Live2DFramework \r\n//============================================================\r\n//============================================================\r\nfunction Live2DFramework() {\r\n}\r\n\r\n//============================================================\r\nLive2DFramework.platformManager = null;\r\n\r\n//============================================================\r\n// static Live2DFramework.getPlatformManager()\r\n//============================================================\r\nLive2DFramework.getPlatformManager = function () {\r\n return Live2DFramework.platformManager;\r\n}\r\n\r\n//============================================================\r\n// static Live2DFramework.setPlatformManager()\r\n//============================================================\r\nLive2DFramework.setPlatformManager = function (platformManager /*IPlatformManager*/) {\r\n Live2DFramework.platformManager = platformManager;\r\n}\r\n\r\nmodule.exports = {\r\n L2DTargetPoint: L2DTargetPoint,\r\n Live2DFramework: Live2DFramework,\r\n L2DViewMatrix: L2DViewMatrix,\r\n L2DPose: L2DPose,\r\n L2DPartsParam: L2DPartsParam,\r\n L2DPhysics: L2DPhysics,\r\n L2DMotionManager: L2DMotionManager,\r\n L2DModelMatrix: L2DModelMatrix,\r\n L2DMatrix44: L2DMatrix44,\r\n EYE_STATE: EYE_STATE,\r\n L2DEyeBlink: L2DEyeBlink,\r\n L2DExpressionParam: L2DExpressionParam,\r\n L2DExpressionMotion: L2DExpressionMotion,\r\n L2DBaseModel: L2DBaseModel\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/lib/Live2DFramework.js","var LAppDefine = {\n \n \n DEBUG_LOG : false,\n DEBUG_MOUSE_LOG : false, \n // DEBUG_DRAW_HIT_AREA : false, \n // DEBUG_DRAW_ALPHA_MODEL : false, \n \n \n \n \n VIEW_MAX_SCALE : 2,\n VIEW_MIN_SCALE : 0.8,\n\n VIEW_LOGICAL_LEFT : -1,\n VIEW_LOGICAL_RIGHT : 1,\n\n VIEW_LOGICAL_MAX_LEFT : -2,\n VIEW_LOGICAL_MAX_RIGHT : 2,\n VIEW_LOGICAL_MAX_BOTTOM : -2,\n VIEW_LOGICAL_MAX_TOP : 2,\n \n \n PRIORITY_NONE : 0,\n PRIORITY_IDLE : 1,\n PRIORITY_NORMAL : 2,\n PRIORITY_FORCE : 3,\n\n MOTION_GROUP_IDLE : \"idle\", \n MOTION_GROUP_TAP_BODY : \"tap_body\", \n MOTION_GROUP_FLICK_HEAD : \"flick_head\", \n MOTION_GROUP_PINCH_IN : \"pinch_in\", \n MOTION_GROUP_PINCH_OUT : \"pinch_out\", \n MOTION_GROUP_SHAKE : \"shake\", \n\n \n HIT_AREA_HEAD : \"head\",\n HIT_AREA_BODY : \"body\"\n \n};\n\nmodule.exports = LAppDefine;\n\n\n// WEBPACK FOOTER //\n// ./src/LAppDefine.js","\r\nvar context = undefined;\r\n\r\nexport function setContext(webglContext) {\r\n context = webglContext;\r\n}\r\n\r\nexport function getContext() {\r\n return context;\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/webglcontext.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 * EYHN 修改\n * \n * Copyright © 2016 - 2017 EYHN\n */\n\nfunction MatrixStack() {}\n\n\nMatrixStack.matrixStack = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n\n\nMatrixStack.depth = 0;\n\n\nMatrixStack.currentMatrix = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n\n\nMatrixStack.tmp = new Array(16);\n\n\n\nMatrixStack.reset = function()\n{\n this.depth = 0;\n}\n\n\n\nMatrixStack.loadIdentity = function()\n{\n for (var i = 0; i < 16; i++)\n {\n this.currentMatrix[i] = (i % 5 == 0) ? 1 : 0;\n }\n}\n\n\n\nMatrixStack.push = function()\n{ \n var offset = this.depth * 16;\n var nextOffset = (this.depth + 1) * 16;\n \n if (this.matrixStack.length < nextOffset + 16)\n {\n this.matrixStack.length = nextOffset + 16;\n }\n\n for (var i = 0; i < 16; i++)\n {\n this.matrixStack[nextOffset + i] = this.currentMatrix[i];\n }\n\n this.depth++;\n}\n\n\n\nMatrixStack.pop = function()\n{\n this.depth--;\n if (this.depth < 0)\n {\n myError(\"Invalid matrix stack.\");\n this.depth = 0;\n }\n\n var offset = this.depth * 16;\n for (var i = 0; i < 16; i++)\n {\n this.currentMatrix[i] = this.matrixStack[offset + i];\n }\n}\n\n\n\nMatrixStack.getMatrix = function()\n{\n return this.currentMatrix;\n}\n\n\n\nMatrixStack.multMatrix = function(matNew)\n{\n var i, j, k;\n\n for (i = 0; i < 16; i++)\n {\n this.tmp[i] = 0;\n }\n\n for (i = 0; i < 4; i++)\n {\n for (j = 0; j < 4; j++)\n {\n for (k = 0; k < 4; k++)\n {\n this.tmp[i + j * 4] += this.currentMatrix[i + k * 4] * matNew[k + j * 4];\n }\n }\n }\n for (i = 0; i < 16; i++)\n {\n this.currentMatrix[i] = this.tmp[i];\n }\n}\n\nmodule.exports = MatrixStack;\n\n\n// WEBPACK FOOTER //\n// ./src/lib/MatrixStack.js","import \"./lib/live2d.min\";\n\nimport { L2DTargetPoint, L2DViewMatrix, L2DMatrix44 } from \"./lib/Live2DFramework\";\n\nimport LAppLive2DManager from \"./LAppLive2DManager\"\n\nimport LAppDefine from \"./LAppDefine\"\n\nimport MatrixStack from \"./lib/MatrixStack\"\n\nimport {setContext} from \"./webglcontext\"\n\n// window.onerror = function (msg, url, line, col, error) {\n// let errmsg = \"file:\" + url + \"
line:\" + line + \" \" + msg;\n// console.error(errmsg);\n// }\n\nconst platform = window.navigator.platform.toLowerCase();\n\nconst live2DMgr = new LAppLive2DManager();\n\nlet isDrawStart = false;\n\nlet gl = null;\n\nlet canvas = null;\n\nlet dragMgr = null;\n\nlet viewMatrix = null;\n\nlet projMatrix = null;\n\nlet deviceToScreen = null;\n\nlet drag = false;\n\nlet oldLen = 0;\n\nlet lastMouseX = 0;\n\nlet lastMouseY = 0;\n\nlet isModelShown = 0;\n\nlet modelurl = \"\";\n\nlet head_pos = 0.5;\n\nfunction initL2dCanvas(canvasId) {\n canvas = document.getElementById(canvasId);\n if (canvas.addEventListener) {\n //canvas.addEventListener(\"mousewheel\", mouseEvent);\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 //canvas.addEventListener(\"contextmenu\", mouseEvent);\n window.addEventListener(\"touchstart\", touchEvent);\n window.addEventListener(\"touchend\", touchEvent);\n window.addEventListener(\"touchmove\", touchEvent);\n }\n}\n\nfunction init(modelurl) {\n let width = canvas.width;\n let height = canvas.height;\n\n dragMgr = new L2DTargetPoint();\n\n let ratio = height / width;\n let left = LAppDefine.VIEW_LOGICAL_LEFT;\n let right = LAppDefine.VIEW_LOGICAL_RIGHT;\n let bottom = -ratio;\n let top = ratio;\n\n viewMatrix = new L2DViewMatrix();\n\n\n viewMatrix.setScreenRect(left, right, bottom, top);\n\n viewMatrix.setMaxScreenRect(LAppDefine.VIEW_LOGICAL_MAX_LEFT,\n LAppDefine.VIEW_LOGICAL_MAX_RIGHT,\n LAppDefine.VIEW_LOGICAL_MAX_BOTTOM,\n LAppDefine.VIEW_LOGICAL_MAX_TOP);\n\n viewMatrix.setMaxScale(LAppDefine.VIEW_MAX_SCALE);\n viewMatrix.setMinScale(LAppDefine.VIEW_MIN_SCALE);\n\n projMatrix = new L2DMatrix44();\n projMatrix.multScale(1, (width / height));\n\n deviceToScreen = new L2DMatrix44();\n deviceToScreen.multTranslate(-width / 2.0, -height / 2.0);\n deviceToScreen.multScale(2 / width, -2 / width);\n\n gl = getWebGLContext();\n setContext(gl);\n if (!gl) {\n console.error(\"Failed to create WebGL context.\");\n if(!!window.WebGLRenderingContext){\n console.error(\"Your browser don't support WebGL, check https://get.webgl.org/ for futher information.\");\n }\n return;\n }\n window.Live2D.setGL(gl);\n gl.clearColor(0.0, 0.0, 0.0, 0.0);\n changeModel(modelurl);\n startDraw();\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, canvas);\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 gl.clear(gl.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(gl);\n }\n }\n MatrixStack.pop();\n}\n\nfunction changeModel(modelurl)\n{\n live2DMgr.reloadFlg = true;\n live2DMgr.count++;\n live2DMgr.changeModel(gl,modelurl);\n}\n\nfunction modelScaling(scale)\n{\n let isMaxScale = viewMatrix.isMaxScale();\n let isMinScale = viewMatrix.isMinScale();\n \n viewMatrix.adjustScale(0, 0, scale);\n\n if (!isMaxScale)\n {\n if (viewMatrix.isMaxScale())\n {\n live2DMgr.maxScaleEvent();\n }\n }\n \n if (!isMinScale)\n {\n if (viewMatrix.isMinScale())\n {\n live2DMgr.minScaleEvent();\n }\n }\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 = canvas.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 * head_pos\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 (LAppDefine.DEBUG_MOUSE_LOG)\n console.log(\"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 = canvas.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 * head_pos\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 (LAppDefine.DEBUG_MOUSE_LOG)\n console.log(\"onMouseDown device( x:\" + event.clientX + \" y:\" + event.clientY + \" ) view( x:\" + vx + \" y:\" + vy + \")\");\n\n lastMouseX = sx;\n lastMouseY = sy;\n\n live2DMgr.tapEvent(vx, vy);\n}\n\nfunction followPointer(event)\n{ \n let rect = canvas.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 * head_pos\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 (LAppDefine.DEBUG_MOUSE_LOG)\n console.log(\"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 {\n drag = false;\n }\n dragMgr.setPoint(0, 0);\n}\n\nfunction mouseEvent(e)\n{\n //e.preventDefault();\n if (e.type == \"mousewheel\") {\n // if (e.clientX < 0 || canvas.clientWidth < e.clientX || \n // e.clientY < 0 || canvas.clientHeight < e.clientY)\n // {\n // return;\n // }\n // if (e.wheelDelta > 0) modelScaling(1.1); \n // else modelScaling(0.9); \n } else 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\nfunction getWebGLContext()\n{\n var NAMES = [ \"webgl\" , \"experimental-webgl\" , \"webkit-3d\" , \"moz-webgl\"];\n for( var i = 0; i < NAMES.length; i++ ){\n try{\n var ctx = canvas.getContext(NAMES[i], {premultipliedAlpha : true});\n if(ctx) return ctx;\n }\n catch(e){}\n }\n return null;\n};\n\nfunction loadlive2d(id,modelurl,headPos) {\n head_pos = typeof headPos === 'undefined' ? 0.5 : headPos;\n initL2dCanvas(id);\n init(modelurl);\n}\n\nwindow.loadlive2d = loadlive2d;\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.js","\r\n(function(){var j=true;function aa(){if(j){return;}this._$MT=null;this._$5S=null;this._$NP=0;aa._$42++;this._$5S=new y(this);}aa._$0s=1;aa._$4s=2;aa._$42=0;aa._$62=function(aQ,aU){try{if(aU instanceof ArrayBuffer){aU=new DataView(aU);}if(!(aU instanceof DataView)){throw new J(\"_$SS#loadModel(b) / b _$x be DataView or ArrayBuffer\");}var aS=new K(aU);var aM=aS._$ST();var aK=aS._$ST();var aJ=aS._$ST();var aN;if(aM==109&&aK==111&&aJ==99){aN=aS._$ST();}else{throw new J(\"_$gi _$C _$li , _$Q0 _$P0.\");}aS._$gr(aN);if(aN>ay._$T7){aQ._$NP|=aa._$4s;var aR=ay._$T7;var aI=\"_$gi _$C _$li , _$n0 _$_ version _$li ( SDK : \"+aR+\" < _$f0 : \"+aN+\" )@_$SS#loadModel()\\n\";throw new J(aI);}var aL=aS._$nP();if(aN>=ay._$s7){var aH=aS._$9T();var aT=aS._$9T();if(aH!=-30584||aT!=-30584){aQ._$NP|=aa._$0s;throw new J(\"_$gi _$C _$li , _$0 _$6 _$Ui.\");}}aQ._$KS(aL);var aP=aQ.getModelContext();aP.setDrawParam(aQ.getDrawParam());aP.init();}catch(aO){q._$Rb(aO);}};aa.prototype._$KS=function(aH){this._$MT=aH;};aa.prototype.getModelImpl=function(){if(this._$MT==null){this._$MT=new w();this._$MT._$zP();}return this._$MT;};aa.prototype.getCanvasWidth=function(){if(this._$MT==null){return 0;}return this._$MT.getCanvasWidth();};aa.prototype.getCanvasHeight=function(){if(this._$MT==null){return 0;}return this._$MT.getCanvasHeight();};aa.prototype.getParamFloat=function(aH){if(typeof aH!=\"number\"){aH=this._$5S.getParamIndex(z.getID(aH));}return this._$5S.getParamFloat(aH);};aa.prototype.setParamFloat=function(aH,aJ,aI){if(typeof aH!=\"number\"){aH=this._$5S.getParamIndex(z.getID(aH));}if(arguments.length<3){aI=1;}this._$5S.setParamFloat(aH,this._$5S.getParamFloat(aH)*(1-aI)+aJ*aI);};aa.prototype.addToParamFloat=function(aH,aJ,aI){if(typeof aH!=\"number\"){aH=this._$5S.getParamIndex(z.getID(aH));}if(arguments.length<3){aI=1;}this._$5S.setParamFloat(aH,this._$5S.getParamFloat(aH)+aJ*aI);};aa.prototype.multParamFloat=function(aH,aJ,aI){if(typeof aH!=\"number\"){aH=this._$5S.getParamIndex(z.getID(aH));}if(arguments.length<3){aI=1;}this._$5S.setParamFloat(aH,this._$5S.getParamFloat(aH)*(1+(aJ-1)*aI));};aa.prototype.getParamIndex=function(aH){return this._$5S.getParamIndex(z.getID(aH));};aa.prototype.loadParam=function(){this._$5S.loadParam();};aa.prototype.saveParam=function(){this._$5S.saveParam();};aa.prototype.init=function(){this._$5S.init();};aa.prototype.update=function(){this._$5S.update();};aa.prototype._$Rs=function(){q._$li(\"_$60 _$PT _$Rs()\");return -1;};aa.prototype._$Ds=function(aH){q._$li(\"_$60 _$PT _$SS#_$Ds() \\n\");};aa.prototype._$K2=function(){};aa.prototype.draw=function(){};aa.prototype.getModelContext=function(){return this._$5S;};aa.prototype._$s2=function(){return this._$NP;};aa.prototype._$P7=function(aK,aR,aH,a0){var aU=-1;var aY=0;var aM=this;var aJ=0.5;var aI=0.15;var aX=true;if(aH==0){for(var aV=0;aV1){aQ=1;}}else{aQ-=aW;if(aQ<0){aQ=0;}}aM.setPartsOpacity(aO,aQ);}else{for(var aV=0;aV=0){break;}aU=aV;var aO=aR[aV];aY=aM.getPartsOpacity(aO);aY+=aH/a0;if(aY>1){aY=1;}}}if(aU<0){console.log(\"No _$wi _$q0/ _$U default[%s]\",aK[0]);aU=0;aY=1;aM.loadParam();aM.setParamFloat(aK[aU],aY);aM.saveParam();}for(var aV=0;aVaI){aZ=1-aI/(1-aY);}}if(aL>aZ){aL=aZ;}aM.setPartsOpacity(aO,aL);}}}}};aa.prototype.setPartsOpacity=function(aI,aH){if(typeof aI!=\"number\"){aI=this._$5S.getPartsDataIndex(i.getID(aI));}this._$5S.setPartsOpacity(aI,aH);};aa.prototype.getPartsDataIndex=function(aH){if(!(aH instanceof i)){aH=i.getID(aH);}return this._$5S.getPartsDataIndex(aH);};aa.prototype.getPartsOpacity=function(aH){if(typeof aH!=\"number\"){aH=this._$5S.getPartsDataIndex(i.getID(aH));}if(aH<0){return 0;}return this._$5S.getPartsOpacity(aH);};aa.prototype.getDrawParam=function(){};aa.prototype.getDrawDataIndex=function(aH){return this._$5S.getDrawDataIndex(Z.getID(aH));};aa.prototype.getDrawData=function(aH){return this._$5S.getDrawData(aH);};aa.prototype.getTransformedPoints=function(aH){var aI=this._$5S._$C2(aH);if(aI instanceof ag){return(aI).getTransformedPoints();}return null;};aa.prototype.getIndexArray=function(aI){if(aI<0||aI>=this._$5S._$aS.length){return null;}var aH=this._$5S._$aS[aI];if(aH!=null&&aH.getType()==a._$wb){if(aH instanceof b){return aH.getIndexArray();}}return null;};function W(aJ){if(j){return;}this.clipContextList=new Array();this.glcontext=aJ.gl;this.dp_webgl=aJ;this.curFrameNo=0;this.firstError_clipInNotUpdate=true;this.colorBuffer=0;this.isInitGLFBFunc=false;this.tmpBoundsOnModel=new av();if(Q.glContext.length>Q.frameBuffers.length){this.curFrameNo=this.getMaskRenderTexture();}else{}this.tmpModelToViewMatrix=new ac();this.tmpMatrix2=new ac();this.tmpMatrixForMask=new ac();this.tmpMatrixForDraw=new ac();this.CHANNEL_COLORS=new Array();var aI=new o();aI=new o();aI.r=0;aI.g=0;aI.b=0;aI.a=1;this.CHANNEL_COLORS.push(aI);aI=new o();aI.r=1;aI.g=0;aI.b=0;aI.a=0;this.CHANNEL_COLORS.push(aI);aI=new o();aI.r=0;aI.g=1;aI.b=0;aI.a=0;this.CHANNEL_COLORS.push(aI);aI=new o();aI.r=0;aI.g=0;aI.b=1;aI.a=0;this.CHANNEL_COLORS.push(aI);for(var aH=0;aH=0;--aH){this.CHANNEL_COLORS.splice(aH,1);}this.CHANNEL_COLORS=[];}this.releaseShader();};W.prototype.releaseShader=function(){var aI=Q.frameBuffers.length;for(var aH=0;aH0){var aM=aQ.gl.getParameter(aQ.gl.FRAMEBUFFER_BINDING);var aW=new Array(4);aW[0]=0;aW[1]=0;aW[2]=aQ.gl.canvas.width;aW[3]=aQ.gl.canvas.height;aQ.gl.viewport(0,0,Q.clippingMaskBufferSize,Q.clippingMaskBufferSize);this.setupLayoutBounds(aK);aQ.gl.bindFramebuffer(aQ.gl.FRAMEBUFFER,Q.frameBuffers[this.curFrameNo].framebuffer);aQ.gl.clearColor(0,0,0,0);aQ.gl.clear(aQ.gl.COLOR_BUFFER_BIT);for(var aO=0;aOa5?aU:a5;var aT=aJ;var aR=aJ;var aS=0;var aP=0;var aL=aV.clippedDrawContextList.length;for(var aM=0;aMaS){aS=a0;}if(aZ>aP){aP=aZ;}}}if(aT==aJ){aV.allClippedDrawRect.x=0;aV.allClippedDrawRect.y=0;aV.allClippedDrawRect.width=0;aV.allClippedDrawRect.height=0;aV.isUsing=false;}else{var aQ=aS-aT;var aY=aP-aR;aV.allClippedDrawRect.x=aT;aV.allClippedDrawRect.y=aR;aV.allClippedDrawRect.width=aQ;aV.allClippedDrawRect.height=aY;aV.isUsing=true;}};W.prototype.setupLayoutBounds=function(aQ){var aI=aQ/W.CHANNEL_COUNT;var aP=aQ%W.CHANNEL_COUNT;aI=~~aI;aP=~~aP;var aH=0;for(var aJ=0;aJ=1){return 1;}}var aS=aQ;var aI=aS*aS;var aH=aS*aI;var aT=aY*aH+aX*aI+aW*aS+aV;return aT;};ah.prototype._$a0=function(){};ah.prototype.setFadeIn=function(aH){this._$dP=aH;};ah.prototype.setFadeOut=function(aH){this._$eo=aH;};ah.prototype._$pT=function(aH){this._$V0=aH;};ah.prototype.getFadeOut=function(){return this._$eo;};ah.prototype._$4T=function(){return this._$eo;};ah.prototype._$mT=function(){return this._$V0;};ah.prototype.getDurationMSec=function(){return -1;};ah.prototype.getLoopDurationMSec=function(){return -1;};ah.prototype.updateParam=function(aJ,aN){if(!aN._$AT||aN._$9L){return;}var aL=P.getUserTimeMSec();if(aN._$z2<0){aN._$z2=aL;aN._$bs=aL;var aM=this.getDurationMSec();if(aN._$Do<0){aN._$Do=(aM<=0)?-1:aN._$z2+aM;}}var aI=this._$V0;var aH=(this._$dP==0)?1:A._$r2(((aL-aN._$bs)/(this._$dP)));var aK=(this._$eo==0||aN._$Do<0)?1:A._$r2(((aN._$Do-aL)/(this._$eo)));aI=aI*aH*aK;if(!((0<=aI&&aI<=1))){console.log(\"### assert!! ### \");}this.updateParamExe(aJ,aL,aI,aN);if(aN._$Do>0&&aN._$Do0){console.log(\"\\n\");}else{if(aH%8==0&&aH>0){console.log(\" \");}}console.log(\"%02X \",(aJ[aH]&255));}console.log(\"\\n\");};q._$nr=function(aL,aI,aK){console.log(\"%s\\n\",aL);var aH=aI.length;for(var aJ=0;aJ=0;--aJ){var aM=this._$lL[aJ];aM._$oP(aI,this);}this._$oo(aI,aK);this._$M2=this._$Yb();this._$9b=(this._$M2-this._$ks)/aK;this._$ks=this._$M2;}for(var aJ=this._$qP.length-1;aJ>=0;--aJ){var aH=this._$qP[aJ];aH._$YS(aI,this);}this._$iT=aL;};u.prototype._$oo=function(aN,aI){if(aI<0.033){aI=0.033;}var aU=1/aI;this.p1.vx=(this.p1.x-this.p1._$s0)*aU;this.p1.vy=(this.p1.y-this.p1._$70)*aU;this.p1.ax=(this.p1.vx-this.p1._$7L)*aU;this.p1.ay=(this.p1.vy-this.p1._$HL)*aU;this.p1.fx=this.p1.ax*this.p1._$p;this.p1.fy=this.p1.ay*this.p1._$p;this.p1._$xT();var aM=-(Math.atan2((this.p1.y-this.p2.y),this.p1.x-this.p2.x));var aL;var aV;var aR=Math.cos(aM);var aH=Math.sin(aM);var aW=9.8*this.p2._$p;var aQ=(this._$Db*aC._$bS);var aP=(aW*Math.cos(aM-aQ));aL=(aP*aH);aV=(aP*aR);var aK=(-this.p1.fx*aH*aH);var aT=(-this.p1.fy*aH*aR);var aJ=((-this.p2.vx*this._$L2));var aS=((-this.p2.vy*this._$L2));this.p2.fx=((aL+aK+aJ));this.p2.fy=((aV+aT+aS));this.p2.ax=this.p2.fx/this.p2._$p;this.p2.ay=this.p2.fy/this.p2._$p;this.p2.vx+=this.p2.ax*aI;this.p2.vy+=this.p2.ay*aI;this.p2.x+=this.p2.vx*aI;this.p2.y+=this.p2.vy*aI;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)));this.p2.x=this.p1.x+this._$Fo*(this.p2.x-this.p1.x)/aO;this.p2.y=this.p1.y+this._$Fo*(this.p2.y-this.p1.y)/aO;this.p2.vx=(this.p2.x-this.p2._$s0)*aU;this.p2.vy=(this.p2.y-this.p2._$70)*aU;this.p2._$xT();};function N(){this._$p=1;this.x=0;this.y=0;this.vx=0;this.vy=0;this.ax=0;this.ay=0;this.fx=0;this.fy=0;this._$s0=0;this._$70=0;this._$7L=0;this._$HL=0;}N.prototype._$xT=function(){this._$s0=this.x;this._$70=this.y;this._$7L=this.vx;this._$HL=this.vy;};function at(aJ,aI,aH){this._$wL=null;this.scale=null;this._$V0=null;this._$wL=aJ;this.scale=aI;this._$V0=aH;}at.prototype._$oP=function(aI,aH){};function h(aJ,aK,aI,aH){at.prototype.constructor.call(this,aK,aI,aH);this._$tL=null;this._$tL=aJ;}h.prototype=new at();h.prototype._$oP=function(aJ,aH){var aK=this.scale*aJ.getParamFloat(this._$wL);var aL=aH.getPhysicsPoint1();switch(this._$tL){default:case u.Src.SRC_TO_X:aL.x=aL.x+(aK-aL.x)*this._$V0;break;case u.Src.SRC_TO_Y:aL.y=aL.y+(aK-aL.y)*this._$V0;break;case u.Src.SRC_TO_G_ANGLE:var aI=aH._$qr();aI=aI+(aK-aI)*this._$V0;aH._$pr(aI);break;}};function d(aJ,aI,aH){this._$wL=null;this.scale=null;this._$V0=null;this._$wL=aJ;this.scale=aI;this._$V0=aH;}d.prototype._$YS=function(aI,aH){};function aF(aI,aK,aJ,aH){d.prototype.constructor.call(this,aK,aJ,aH);this._$YP=null;this._$YP=aI;}aF.prototype=new d();aF.prototype._$YS=function(aI,aH){switch(this._$YP){default:case u.Target.TARGET_FROM_ANGLE:aI.setParamFloat(this._$wL,this.scale*aH._$5r(),this._$V0);break;case u.Target.TARGET_FROM_ANGLE_V:aI.setParamFloat(this._$wL,this.scale*aH._$Cs(),this._$V0);break;}};u.Src=function(){};u.Src.SRC_TO_X=\"SRC_TO_X\";u.Src.SRC_TO_Y=\"SRC_TO_Y\";u.Src.SRC_TO_G_ANGLE=\"SRC_TO_G_ANGLE\";u.Target=function(){};u.Target.TARGET_FROM_ANGLE=\"TARGET_FROM_ANGLE\";u.Target.TARGET_FROM_ANGLE_V=\"TARGET_FROM_ANGLE_V\";function X(){if(j){return;}this._$fL=0;this._$gL=0;this._$B0=1;this._$z0=1;this._$qT=0;this.reflectX=false;this.reflectY=false;}X.prototype.init=function(aH){this._$fL=aH._$fL;this._$gL=aH._$gL;this._$B0=aH._$B0;this._$z0=aH._$z0;this._$qT=aH._$qT;this.reflectX=aH.reflectX;this.reflectY=aH.reflectY;};X.prototype._$F0=function(aH){this._$fL=aH._$_T();this._$gL=aH._$_T();this._$B0=aH._$_T();this._$z0=aH._$_T();this._$qT=aH._$_T();if(aH.getFormatVersion()>=ay.LIVE2D_FORMAT_VERSION_V2_10_SDK2){this.reflectX=aH._$po();this.reflectY=aH._$po();}};X.prototype._$e=function(){};var ad=function(){};ad._$ni=function(aL,aJ,aR,aQ,aK,aI,aH,aS,aN){var aM=(aH*aI-aS*aK);if(aM==0){return null;}else{var aO=((aL-aR)*aI-(aJ-aQ)*aK)/aM;var aP;if(aK!=0){aP=(aL-aR-aO*aH)/aK;}else{aP=(aJ-aQ-aO*aS)/aI;}if(isNaN(aP)){aP=(aL-aR-aO*aH)/aK;if(isNaN(aP)){aP=(aJ-aQ-aO*aS)/aI;}if(isNaN(aP)){console.log(\"a is NaN @UtVector#_$ni() \");console.log(\"v1x : \"+aK);console.log(\"v1x != 0 ? \"+(aK!=0));}}if(aN==null){return new Array(aP,aO);}else{aN[0]=aP;aN[1]=aO;return aN;}}};function av(){if(j){return;}this.x=null;this.y=null;this.width=null;this.height=null;}av.prototype._$8P=function(){return this.x+0.5*this.width;};av.prototype._$6P=function(){return this.y+0.5*this.height;};av.prototype._$EL=function(){return this.x+this.width;};av.prototype._$5T=function(){return this.y+this.height;};av.prototype._$jL=function(aI,aK,aJ,aH){this.x=aI;this.y=aK;this.width=aJ;this.height=aH;};av.prototype._$jL=function(aH){this.x=aH.x;this.y=aH.y;this.width=aH.width;this.height=aH.height;};av.prototype.contains=function(aH,aI){return this.x<=this.x&&this.y<=this.y&&(this.x<=this.x+this.width)&&(this.y<=this.y+this.height);};av.prototype.expand=function(aH,aI){this.x-=aH;this.y-=aI;this.width+=aH*2;this.height+=aI*2;};function aG(){}aG._$Z2=function(bb,bo,bp,a2){var a1=bo._$Q2(bb,bp);var a3=bb._$vs();var ba=bb._$Tr();bo._$zr(a3,ba,a1);if(a1<=0){return a2[a3[0]];}else{if(a1==1){var bj=a2[a3[0]];var bi=a2[a3[1]];var a9=ba[0];return(bj+(bi-bj)*a9)|0;}else{if(a1==2){var bj=a2[a3[0]];var bi=a2[a3[1]];var a0=a2[a3[2]];var aZ=a2[a3[3]];var a9=ba[0];var a8=ba[1];var br=(bj+(bi-bj)*a9)|0;var bq=(a0+(aZ-a0)*a9)|0;return(br+(bq-br)*a8)|0;}else{if(a1==3){var aP=a2[a3[0]];var aO=a2[a3[1]];var bn=a2[a3[2]];var bm=a2[a3[3]];var aK=a2[a3[4]];var aJ=a2[a3[5]];var bg=a2[a3[6]];var bf=a2[a3[7]];var a9=ba[0];var a8=ba[1];var a6=ba[2];var bj=(aP+(aO-aP)*a9)|0;var bi=(bn+(bm-bn)*a9)|0;var a0=(aK+(aJ-aK)*a9)|0;var aZ=(bg+(bf-bg)*a9)|0;var br=(bj+(bi-bj)*a8)|0;var bq=(a0+(aZ-a0)*a8)|0;return(br+(bq-br)*a6)|0;}else{if(a1==4){var aT=a2[a3[0]];var aS=a2[a3[1]];var bu=a2[a3[2]];var bt=a2[a3[3]];var aN=a2[a3[4]];var aM=a2[a3[5]];var bl=a2[a3[6]];var bk=a2[a3[7]];var be=a2[a3[8]];var bc=a2[a3[9]];var aX=a2[a3[10]];var aW=a2[a3[11]];var a7=a2[a3[12]];var a5=a2[a3[13]];var aR=a2[a3[14]];var aQ=a2[a3[15]];var a9=ba[0];var a8=ba[1];var a6=ba[2];var a4=ba[3];var aP=(aT+(aS-aT)*a9)|0;var aO=(bu+(bt-bu)*a9)|0;var bn=(aN+(aM-aN)*a9)|0;var bm=(bl+(bk-bl)*a9)|0;var aK=(be+(bc-be)*a9)|0;var aJ=(aX+(aW-aX)*a9)|0;var bg=(a7+(a5-a7)*a9)|0;var bf=(aR+(aQ-aR)*a9)|0;var bj=(aP+(aO-aP)*a8)|0;var bi=(bn+(bm-bn)*a8)|0;var a0=(aK+(aJ-aK)*a8)|0;var aZ=(bg+(bf-bg)*a8)|0;var br=(bj+(bi-bj)*a6)|0;var bq=(a0+(aZ-a0)*a6)|0;return(br+(bq-br)*a4)|0;}else{var aV=1<=ay._$T7){this.clipID=aH._$nP();this.clipIDList=this.convertClipIDForV2_11(this.clipID);}else{this.clipIDList=[];}this._$MS(this._$Lb);};ae.prototype.getClipIDList=function(){return this.clipIDList;};ae.prototype.init=function(aH){};ae.prototype._$Nr=function(aH,aI){aI._$IS[0]=false;aI._$Us=aG._$Z2(aH,this._$GS,aI._$IS,this._$Lb);if(Q._$Zs){}else{if(aI._$IS[0]){return;}}aI._$7s=aG._$br(aH,this._$GS,aI._$IS,this._$mS);};ae.prototype._$2b=function(aH,aI){};ae.prototype.getDrawDataID=function(){return this._$gP;};ae.prototype._$j2=function(aH){this._$gP=aH;};ae.prototype.getOpacity=function(aH,aI){return aI._$7s;};ae.prototype._$zS=function(aH,aI){return aI._$Us;};ae.prototype._$MS=function(aJ){for(var aI=aJ.length-1;aI>=0;--aI){var aH=aJ[aI];if(aHae._$R2){ae._$R2=aH;}}}};ae.prototype.getTargetBaseDataID=function(){return this._$dr;};ae.prototype._$gs=function(aH){this._$dr=aH;};ae.prototype._$32=function(){return(this._$dr!=null&&(this._$dr!=n._$2o()));};ae.prototype.preDraw=function(aJ,aH,aI){};ae.prototype.draw=function(aJ,aH,aI){};ae.prototype.getType=function(){};ae.prototype._$B2=function(aI,aH,aJ){};function ax(){if(j){return;}this._$Eb=ax._$ps;this._$lT=1;this._$C0=1;this._$tT=1;this._$WL=1;this.culling=false;this.matrix4x4=new Float32Array(16);this.premultipliedAlpha=false;this.anisotropy=0;this.clippingProcess=ax.CLIPPING_PROCESS_NONE;this.clipBufPre_clipContextMask=null;this.clipBufPre_clipContextDraw=null;this.CHANNEL_COLORS=new Array();}ax._$ps=32;ax.CLIPPING_PROCESS_NONE=0;ax.CLIPPING_PROCESS_OVERWRITE_ALPHA=1;ax.CLIPPING_PROCESS_MULTIPLY_ALPHA=2;ax.CLIPPING_PROCESS_DRAW=3;ax.CLIPPING_PROCESS_CLEAR_ALPHA=4;ax.prototype.setChannelFlagAsColor=function(aH,aI){this.CHANNEL_COLORS[aH]=aI;};ax.prototype.getChannelFlagAsColor=function(aH){return this.CHANNEL_COLORS[aH];};ax.prototype._$ZT=function(){};ax.prototype._$Uo=function(aM,aK,aJ,aL,aN,aI,aH){};ax.prototype._$Rs=function(){return -1;};ax.prototype._$Ds=function(aH){};ax.prototype.setBaseColor=function(aK,aJ,aI,aH){if(aK<0){aK=0;}else{if(aK>1){aK=1;}}if(aJ<0){aJ=0;}else{if(aJ>1){aJ=1;}}if(aI<0){aI=0;}else{if(aI>1){aI=1;}}if(aH<0){aH=0;}else{if(aH>1){aH=1;}}this._$lT=aK;this._$C0=aJ;this._$tT=aI;this._$WL=aH;};ax.prototype._$WP=function(aH){this.culling=aH;};ax.prototype.setMatrix=function(aH){for(var aI=0;aI<16;aI++){this.matrix4x4[aI]=aH[aI];}};ax.prototype._$IT=function(){return this.matrix4x4;};ax.prototype.setPremultipliedAlpha=function(aH){this.premultipliedAlpha=aH;};ax.prototype.isPremultipliedAlpha=function(){return this.premultipliedAlpha;};ax.prototype.setAnisotropy=function(aH){this.anisotropy=aH;};ax.prototype.getAnisotropy=function(){return this.anisotropy;};ax.prototype.getClippingProcess=function(){return this.clippingProcess;};ax.prototype.setClippingProcess=function(aH){this.clippingProcess=aH;};ax.prototype.setClipBufPre_clipContextForMask=function(aH){this.clipBufPre_clipContextMask=aH;};ax.prototype.getClipBufPre_clipContextMask=function(){return this.clipBufPre_clipContextMask;};ax.prototype.setClipBufPre_clipContextForDraw=function(aH){this.clipBufPre_clipContextDraw=aH;};ax.prototype.getClipBufPre_clipContextDraw=function(){return this.clipBufPre_clipContextDraw;};function o(){if(j){return;}this.a=1;this.r=1;this.g=1;this.b=1;this.scale=1;this._$ho=1;this.blendMode=Q.L2D_COLOR_BLEND_MODE_MULT;}function c(){if(j){return;}this._$kP=null;this._$dr=null;this._$Ai=true;this._$mS=null;}c._$ur=-2;c._$c2=1;c._$_b=2;c.prototype._$F0=function(aH){this._$kP=aH._$nP();this._$dr=aH._$nP();};c.prototype.readV2_opacity=function(aH){if(aH.getFormatVersion()>=ay.LIVE2D_FORMAT_VERSION_V2_10_SDK2){this._$mS=aH._$Tb();}};c.prototype.init=function(aH){};c.prototype._$Nr=function(aI,aH){};c.prototype.interpolateOpacity=function(aJ,aK,aI,aH){if(this._$mS==null){aI.setInterpolatedOpacity(1);}else{aI.setInterpolatedOpacity(aG._$br(aJ,aK,aH,this._$mS));}};c.prototype._$2b=function(aI,aH){};c.prototype._$nb=function(aL,aK,aM,aH,aI,aJ,aN){};c.prototype.getType=function(){};c.prototype._$gs=function(aH){this._$dr=aH;};c.prototype._$a2=function(aH){this._$kP=aH;};c.prototype.getTargetBaseDataID=function(){return this._$dr;};c.prototype.getBaseDataID=function(){return this._$kP;};c.prototype._$32=function(){return(this._$dr!=null&&(this._$dr!=n._$2o()));};function P(){}P._$W2=0;P._$CS=P._$W2;P._$Mo=function(){return true;};P._$XP=function(aI){try{var aJ=getTimeMSec();while(getTimeMSec()-aJ=aJ.length){return false;}for(var aI=aL;aI=0;--aJ){var aI=this._$Ob[aJ].getParamIndex(aH);if(aI==aA._$ds){aI=aK.getParamIndex(this._$Ob[aJ].getParamID());}if(aK._$Xb(aI)){return true;}}return false;};g.prototype._$Q2=function(aL,aV){var aX=this._$Ob.length;var aJ=aL._$v2();var aN=0;var aI;var aQ;for(var aK=0;aKaw._$Qb){console.log(\"err 23245\\n\");}var aS=this._$Ob.length;var aK=1;var aH=1;var aJ=0;for(var aQ=0;aQ=0;--aK){aM[aK]=aL[aK];}}else{this.mult_fast(aI,aH,aM,aJ);}};ac.prototype.mult_fast=function(aI,aH,aK,aJ){if(aJ){aK[0]=aI[0]*aH[0]+aI[4]*aH[1]+aI[8]*aH[2];aK[4]=aI[0]*aH[4]+aI[4]*aH[5]+aI[8]*aH[6];aK[8]=aI[0]*aH[8]+aI[4]*aH[9]+aI[8]*aH[10];aK[12]=aI[0]*aH[12]+aI[4]*aH[13]+aI[8]*aH[14]+aI[12];aK[1]=aI[1]*aH[0]+aI[5]*aH[1]+aI[9]*aH[2];aK[5]=aI[1]*aH[4]+aI[5]*aH[5]+aI[9]*aH[6];aK[9]=aI[1]*aH[8]+aI[5]*aH[9]+aI[9]*aH[10];aK[13]=aI[1]*aH[12]+aI[5]*aH[13]+aI[9]*aH[14]+aI[13];aK[2]=aI[2]*aH[0]+aI[6]*aH[1]+aI[10]*aH[2];aK[6]=aI[2]*aH[4]+aI[6]*aH[5]+aI[10]*aH[6];aK[10]=aI[2]*aH[8]+aI[6]*aH[9]+aI[10]*aH[10];aK[14]=aI[2]*aH[12]+aI[6]*aH[13]+aI[10]*aH[14]+aI[14];aK[3]=aK[7]=aK[11]=0;aK[15]=1;}else{aK[0]=aI[0]*aH[0]+aI[4]*aH[1]+aI[8]*aH[2]+aI[12]*aH[3];aK[4]=aI[0]*aH[4]+aI[4]*aH[5]+aI[8]*aH[6]+aI[12]*aH[7];aK[8]=aI[0]*aH[8]+aI[4]*aH[9]+aI[8]*aH[10]+aI[12]*aH[11];aK[12]=aI[0]*aH[12]+aI[4]*aH[13]+aI[8]*aH[14]+aI[12]*aH[15];aK[1]=aI[1]*aH[0]+aI[5]*aH[1]+aI[9]*aH[2]+aI[13]*aH[3];aK[5]=aI[1]*aH[4]+aI[5]*aH[5]+aI[9]*aH[6]+aI[13]*aH[7];aK[9]=aI[1]*aH[8]+aI[5]*aH[9]+aI[9]*aH[10]+aI[13]*aH[11];aK[13]=aI[1]*aH[12]+aI[5]*aH[13]+aI[9]*aH[14]+aI[13]*aH[15];aK[2]=aI[2]*aH[0]+aI[6]*aH[1]+aI[10]*aH[2]+aI[14]*aH[3];aK[6]=aI[2]*aH[4]+aI[6]*aH[5]+aI[10]*aH[6]+aI[14]*aH[7];aK[10]=aI[2]*aH[8]+aI[6]*aH[9]+aI[10]*aH[10]+aI[14]*aH[11];aK[14]=aI[2]*aH[12]+aI[6]*aH[13]+aI[10]*aH[14]+aI[14]*aH[15];aK[3]=aI[3]*aH[0]+aI[7]*aH[1]+aI[11]*aH[2]+aI[15]*aH[3];aK[7]=aI[3]*aH[4]+aI[7]*aH[5]+aI[11]*aH[6]+aI[15]*aH[7];aK[11]=aI[3]*aH[8]+aI[7]*aH[9]+aI[11]*aH[10]+aI[15]*aH[11];aK[15]=aI[3]*aH[12]+aI[7]*aH[13]+aI[11]*aH[14]+aI[15]*aH[15];}};ac.prototype.translate=function(aH,aJ,aI){this.m[12]=this.m[0]*aH+this.m[4]*aJ+this.m[8]*aI+this.m[12];this.m[13]=this.m[1]*aH+this.m[5]*aJ+this.m[9]*aI+this.m[13];this.m[14]=this.m[2]*aH+this.m[6]*aJ+this.m[10]*aI+this.m[14];this.m[15]=this.m[3]*aH+this.m[7]*aJ+this.m[11]*aI+this.m[15];};ac.prototype.scale=function(aJ,aI,aH){this.m[0]*=aJ;this.m[4]*=aI;this.m[8]*=aH;this.m[1]*=aJ;this.m[5]*=aI;this.m[9]*=aH;this.m[2]*=aJ;this.m[6]*=aI;this.m[10]*=aH;this.m[3]*=aJ;this.m[7]*=aI;this.m[11]*=aH;};ac.prototype.rotateX=function(aH){var aK=aC.fcos(aH);var aJ=aC._$9(aH);var aI=this.m[4];this.m[4]=aI*aK+this.m[8]*aJ;this.m[8]=aI*-aJ+this.m[8]*aK;aI=this.m[5];this.m[5]=aI*aK+this.m[9]*aJ;this.m[9]=aI*-aJ+this.m[9]*aK;aI=this.m[6];this.m[6]=aI*aK+this.m[10]*aJ;this.m[10]=aI*-aJ+this.m[10]*aK;aI=this.m[7];this.m[7]=aI*aK+this.m[11]*aJ;this.m[11]=aI*-aJ+this.m[11]*aK;};ac.prototype.rotateY=function(aH){var aK=aC.fcos(aH);var aJ=aC._$9(aH);var aI=this.m[0];this.m[0]=aI*aK+this.m[8]*-aJ;this.m[8]=aI*aJ+this.m[8]*aK;aI=this.m[1];this.m[1]=aI*aK+this.m[9]*-aJ;this.m[9]=aI*aJ+this.m[9]*aK;aI=m[2];this.m[2]=aI*aK+this.m[10]*-aJ;this.m[10]=aI*aJ+this.m[10]*aK;aI=m[3];this.m[3]=aI*aK+this.m[11]*-aJ;this.m[11]=aI*aJ+this.m[11]*aK;};ac.prototype.rotateZ=function(aH){var aK=aC.fcos(aH);var aJ=aC._$9(aH);var aI=this.m[0];this.m[0]=aI*aK+this.m[4]*aJ;this.m[4]=aI*-aJ+this.m[4]*aK;aI=this.m[1];this.m[1]=aI*aK+this.m[5]*aJ;this.m[5]=aI*-aJ+this.m[5]*aK;aI=this.m[2];this.m[2]=aI*aK+this.m[6]*aJ;this.m[6]=aI*-aJ+this.m[6]*aK;aI=this.m[3];this.m[3]=aI*aK+this.m[7]*aJ;this.m[7]=aI*-aJ+this.m[7]*aK;};function Z(aH){if(j){return;}ak.prototype.constructor.call(this,aH);}Z.prototype=new ak();Z._$tP=new Object();Z._$27=function(){Z._$tP.clear();};Z.getID=function(aH){var aI=Z._$tP[aH];if(aI==null){aI=new Z(aH);Z._$tP[aH]=aI;}return aI;};Z.prototype._$3s=function(){return new Z();};function aD(){if(j){return;}this._$7=1;this._$f=0;this._$H=0;this._$g=1;this._$k=0;this._$w=0;this._$hi=STATE_IDENTITY;this._$Z=_$pS;}aD._$kS=-1;aD._$pS=0;aD._$hb=1;aD.STATE_IDENTITY=0;aD._$gb=1;aD._$fo=2;aD._$go=4;aD.prototype.transform=function(aK,aI,aH){var aT,aS,aR,aM,aL,aJ;var aQ=0;var aN=0;switch(this._$hi){default:return;case (aD._$go|aD._$fo|aD._$gb):aT=this._$7;aS=this._$H;aR=this._$k;aM=this._$f;aL=this._$g;aJ=this._$w;while(--aH>=0){var aP=aK[aQ++];var aO=aK[aQ++];aI[aN++]=(aT*aP+aS*aO+aR);aI[aN++]=(aM*aP+aL*aO+aJ);}return;case (aD._$go|aD._$fo):aT=this._$7;aS=this._$H;aM=this._$f;aL=this._$g;while(--aH>=0){var aP=aK[aQ++];var aO=aK[aQ++];aI[aN++]=(aT*aP+aS*aO);aI[aN++]=(aM*aP+aL*aO);}return;case (aD._$go|aD._$gb):aS=this._$H;aR=this._$k;aM=this._$f;aJ=this._$w;while(--aH>=0){var aP=aK[aQ++];aI[aN++]=(aS*aK[aQ++]+aR);aI[aN++]=(aM*aP+aJ);}return;case (aD._$go):aS=this._$H;aM=this._$f;while(--aH>=0){var aP=aK[aQ++];aI[aN++]=(aS*aK[aQ++]);aI[aN++]=(aM*aP);}return;case (aD._$fo|aD._$gb):aT=this._$7;aR=this._$k;aL=this._$g;aJ=this._$w;while(--aH>=0){aI[aN++]=(aT*aK[aQ++]+aR);aI[aN++]=(aL*aK[aQ++]+aJ);}return;case (aD._$fo):aT=this._$7;aL=this._$g;while(--aH>=0){aI[aN++]=(aT*aK[aQ++]);aI[aN++]=(aL*aK[aQ++]);}return;case (aD._$gb):aR=this._$k;aJ=this._$w;while(--aH>=0){aI[aN++]=(aK[aQ++]+aR);aI[aN++]=(aK[aQ++]+aJ);}return;case (aD.STATE_IDENTITY):if(aK!=aI||aQ!=aN){P._$jT(aK,aQ,aI,aN,aH*2);}return;}};aD.prototype.update=function(){if(this._$H==0&&this._$f==0){if(this._$7==1&&this._$g==1){if(this._$k==0&&this._$w==0){this._$hi=aD.STATE_IDENTITY;this._$Z=aD._$pS;}else{this._$hi=aD._$gb;this._$Z=aD._$hb;}}else{if(this._$k==0&&this._$w==0){this._$hi=aD._$fo;this._$Z=aD._$kS;}else{this._$hi=(aD._$fo|aD._$gb);this._$Z=aD._$kS;}}}else{if(this._$7==0&&this._$g==0){if(this._$k==0&&this._$w==0){this._$hi=aD._$go;this._$Z=aD._$kS;}else{this._$hi=(aD._$go|aD._$gb);this._$Z=aD._$kS;}}else{if(this._$k==0&&this._$w==0){this._$hi=(aD._$go|aD._$fo);this._$Z=aD._$kS;}else{this._$hi=(aD._$go|aD._$fo|aD._$gb);this._$Z=aD._$kS;}}}};aD.prototype._$RT=function(aK){this._$IT(aK);var aJ=aK[0];var aH=aK[2];var aN=aK[1];var aM=aK[3];var aI=Math.sqrt(aJ*aJ+aN*aN);var aL=aJ*aM-aH*aN;if(aI==0){if(Q._$so){console.log(\"affine._$RT() / rt==0\");}}else{aK[0]=aI;aK[1]=aL/aI;aK[2]=(aN*aM+aJ*aH)/aL;aK[3]=Math.atan2(aN,aJ);}};aD.prototype._$ho=function(aN,aM,aI,aH){var aL=new Float32Array(6);var aK=new Float32Array(6);aN._$RT(aL);aM._$RT(aK);var aJ=new Float32Array(6);aJ[0]=aL[0]+(aK[0]-aL[0])*aI;aJ[1]=aL[1]+(aK[1]-aL[1])*aI;aJ[2]=aL[2]+(aK[2]-aL[2])*aI;aJ[3]=aL[3]+(aK[3]-aL[3])*aI;aJ[4]=aL[4]+(aK[4]-aL[4])*aI;aJ[5]=aL[5]+(aK[5]-aL[5])*aI;aH._$CT(aJ);};aD.prototype._$CT=function(aJ){var aI=Math.cos(aJ[3]);var aH=Math.sin(aJ[3]);this._$7=aJ[0]*aI;this._$f=aJ[0]*aH;this._$H=aJ[1]*(aJ[2]*aI-aH);this._$g=aJ[1]*(aJ[2]*aH+aI);this._$k=aJ[4];this._$w=aJ[5];this.update();};aD.prototype._$IT=function(aH){aH[0]=this._$7;aH[1]=this._$f;aH[2]=this._$H;aH[3]=this._$g;aH[4]=this._$k;aH[5]=this._$w;};function Y(){if(j){return;}ah.prototype.constructor.call(this);this.motions=new Array();this._$7r=null;this._$7r=Y._$Co++;this._$D0=30;this._$yT=0;this._$E=true;this.loopFadeIn=true;this._$AS=-1;_$a0();}Y.prototype=new ah();Y._$cs=\"VISIBLE:\";Y._$ar=\"LAYOUT:\";Y._$Co=0;Y._$D2=[];Y._$1T=1;Y.loadMotion=function(aR){var aM=new Y();var aI=[0];var aP=aR.length;aM._$yT=0;for(var aJ=0;aJ=0){if(aK==aT+4&&aR[aT+1]==\"f\"&&aR[aT+2]==\"p\"&&aR[aT+3]==\"s\"){aO=true;}for(aJ=aK+1;aJ0){if(aO&&5=0){var aN=new t();if(G.startsWith(aR,aT,Y._$cs)){aN._$RP=t._$hs;aN._$4P=new String(aR,aT,aK-aT);}else{if(G.startsWith(aR,aT,Y._$ar)){aN._$4P=new String(aR,aT+7,aK-aT-7);if(G.startsWith(aR,aT+7,\"ANCHOR_X\")){aN._$RP=t._$xs;}else{if(G.startsWith(aR,aT+7,\"ANCHOR_Y\")){aN._$RP=t._$us;}else{if(G.startsWith(aR,aT+7,\"SCALE_X\")){aN._$RP=t._$qs;}else{if(G.startsWith(aR,aT+7,\"SCALE_Y\")){aN._$RP=t._$Ys;}else{if(G.startsWith(aR,aT+7,\"X\")){aN._$RP=t._$ws;}else{if(G.startsWith(aR,aT+7,\"Y\")){aN._$RP=t._$Ns;}}}}}}}else{aN._$RP=t._$Fr;aN._$4P=new String(aR,aT,aK-aT);}}aM.motions.push(aN);var aS=0;Y._$D2.clear();for(aJ=aK+1;aJ0){Y._$D2.push(aL);aS++;var aH=aI[0];if(aHaM._$yT){aM._$yT=aS;}}}}aM._$AS=((1000*aM._$yT)/aM._$D0)|0;return aM;};Y.prototype.getDurationMSec=function(){return this._$AS;};Y.prototype.dump=function(){for(var aJ=0;aJ=aK?aK-1:aJ)];aH.setParamFloat(aQ,aT);}else{if(t._$ws<=aS._$RP&&aS._$RP<=t._$Ys){}else{var aR=aH.getParamFloat(aQ);var aY=aS._$I0[(aJ>=aK?aK-1:aJ)];var aW=aS._$I0[(aJ+1>=aK?aK-1:aJ+1)];var aI=aY+(aW-aY)*aP;var aN=aR+(aI-aR)*aO;aH.setParamFloat(aQ,aN);}}}if(aJ>=this._$yT){if(this._$E){aX._$z2=aL;if(this.loopFadeIn){aX._$bs=aL;}}else{aX._$9L=true;}}};Y.prototype._$r0=function(){return this._$E;};Y.prototype._$aL=function(aH){this._$E=aH;};Y.prototype.isLoopFadeIn=function(){return this.loopFadeIn;};Y.prototype.setLoopFadeIn=function(aH){this.loopFadeIn=aH;};function aE(){this._$P=new Float32Array(100);this.size=0;}aE.prototype.clear=function(){this.size=0;};aE.prototype.add=function(aI){if(this._$P.length<=this.size){var aH=new Float32Array(this.size*2);P._$jT(this._$P,0,aH,0,this.size);this._$P=aH;}this._$P[this.size++]=aI;};aE.prototype._$BL=function(){var aH=new Float32Array(this.size);P._$jT(this._$P,0,aH,0,this.size);return aH;};function t(){this._$4P=null;this._$I0=null;this._$RP=null;}t._$Fr=0;t._$hs=1;t._$ws=100;t._$Ns=101;t._$xs=102;t._$us=103;t._$qs=104;t._$Ys=105;function aw(){}aw._$Ms=1;aw._$Qs=2;aw._$i2=0;aw._$No=2;aw._$do=aw._$Ms;aw._$Ls=true;aw._$1r=5;aw._$Qb=65;aw._$J=0.0001;aw._$FT=0.001;aw._$Ss=3;function ay(){}ay._$o7=6;ay._$S7=7;ay._$s7=8;ay._$77=9;ay.LIVE2D_FORMAT_VERSION_V2_10_SDK2=10;ay.LIVE2D_FORMAT_VERSION_V2_11_SDK2_1=11;ay._$T7=ay.LIVE2D_FORMAT_VERSION_V2_11_SDK2_1;ay._$Is=-2004318072;ay._$h0=0;ay._$4L=23;ay._$7P=33;ay._$uT=function(aH){console.log(\"_$bo :: _$6 _$mo _$E0 : %d\\n\",aH);};ay._$9o=function(aH){if(aH<40){ay._$uT(aH);return null;}else{if(aH<50){ay._$uT(aH);return null;}else{if(aH<60){ay._$uT(aH);return null;}else{if(aH<100){switch(aH){case 65:return new E();case 66:return new g();case 67:return new aA();case 68:return new ab();case 69:return new X();case 70:return new b();default:ay._$uT(aH);return null;}}else{if(aH<150){switch(aH){case 131:return new f();case 133:return new s();case 136:return new w();case 137:return new an();case 142:return new aq();}}}}}}ay._$uT(aH);return null;};function y(aH){if(j){return;}this._$QT=true;this._$co=-1;this._$qo=0;this._$pb=new Array(y._$is);this._$_2=new Float32Array(y._$is);this._$vr=new Float32Array(y._$is);this._$Rr=new Float32Array(y._$is);this._$Or=new Float32Array(y._$is);this._$fs=new Float32Array(y._$is);this._$Js=new Array(y._$is);this._$3S=new Array();this._$aS=new Array();this._$Bo=null;this._$F2=new Array();this._$db=new Array();this._$8b=new Array();this._$Hr=new Array();this._$Ws=null;this._$Vs=null;this._$Er=null;this._$Es=new Int16Array(aw._$Qb);this._$ZP=new Float32Array(aw._$1r*2);this._$Ri=aH;this._$b0=y._$HP++;this.clipManager=null;this.dp_webgl=null;}y._$HP=0;y._$_0=true;y._$V2=-1;y._$W0=-1;y._$jr=false;y._$ZS=true;y._$tr=(-1000000);y._$lr=(1000000);y._$is=32;y._$e=false;y.prototype.getDrawDataIndex=function(aI){for(var aH=this._$aS.length-1;aH>=0;--aH){if(this._$aS[aH]!=null&&this._$aS[aH].getDrawDataID()==aI){return aH;}}return -1;};y.prototype.getDrawData=function(aH){if(aH instanceof Z){if(this._$Bo==null){this._$Bo=new Object();var aJ=this._$aS.length;for(var aI=0;aI0){this.release();}var aO=this._$Ri.getModelImpl();var aT=aO._$Xr();var aS=aT.length;var aH=new Array();var a3=new Array();for(var aV=0;aV=0){this._$3S.push(aL);this._$db.push(a3[aV]);aH[aV]=null;aX=true;}}if(!aX){break;}}var aI=aO._$E2();if(aI!=null){var aJ=aI._$1s();if(aJ!=null){var aW=aJ.length;for(var aV=0;aV=0;aW--){this._$Js[aW]=y._$jr;}this._$QT=false;if(y._$e){q.dump(\"_$eL\");}return aX;};y.prototype.preDraw=function(aH){if(this.clipManager!=null){aH._$ZT();this.clipManager.setupClip(this,aH);}};y.prototype.draw=function(aM){if(this._$Ws==null){q._$li(\"call _$Ri.update() before _$Ri.draw() \");return;}var aP=this._$Ws.length;aM._$ZT();for(var aK=0;aK=0;--aI){if(this._$pb[aI]==aH){return aI;}}return this._$02(aH,0,y._$tr,y._$lr);};y.prototype._$BS=function(aH){return this.getBaseDataIndex(aH);};y.prototype.getBaseDataIndex=function(aH){for(var aI=this._$3S.length-1;aI>=0;--aI){if(this._$3S[aI]!=null&&this._$3S[aI].getBaseDataID()==aH){return aI;}}return -1;};y.prototype._$UT=function(aJ,aH){var aI=new Float32Array(aH);P._$jT(aJ,0,aI,0,aJ.length);return aI;};y.prototype._$02=function(aN,aM,aL,aH){if(this._$qo>=this._$pb.length){var aK=this._$pb.length;var aJ=new Array(aK*2);P._$jT(this._$pb,0,aJ,0,aK);this._$pb=aJ;this._$_2=this._$UT(this._$_2,aK*2);this._$vr=this._$UT(this._$vr,aK*2);this._$Rr=this._$UT(this._$Rr,aK*2);this._$Or=this._$UT(this._$Or,aK*2);var aI=new Array();P._$jT(this._$Js,0,aI,0,aK);this._$Js=aI;}this._$pb[this._$qo]=aN;this._$_2[this._$qo]=aM;this._$vr[this._$qo]=aM;this._$Rr[this._$qo]=aL;this._$Or[this._$qo]=aH;this._$Js[this._$qo]=y._$ZS;return this._$qo++;};y.prototype._$Zo=function(aI,aH){this._$3S[aI]=aH;};y.prototype.setParamFloat=function(aH,aI){if(aIthis._$Or[aH]){aI=this._$Or[aH];}this._$_2[aH]=aI;};y.prototype.loadParam=function(){var aH=this._$_2.length;if(aH>this._$fs.length){aH=this._$fs.length;}P._$jT(this._$fs,0,this._$_2,0,aH);};y.prototype.saveParam=function(){var aH=this._$_2.length;if(aH>this._$fs.length){this._$fs=new Float32Array(aH);}P._$jT(this._$_2,0,this._$fs,0,aH);};y.prototype._$v2=function(){return this._$co;};y.prototype._$WS=function(){return this._$QT;};y.prototype._$Xb=function(aH){return this._$Js[aH]==y._$ZS;};y.prototype._$vs=function(){return this._$Es;};y.prototype._$Tr=function(){return this._$ZP;};y.prototype.getBaseData=function(aH){return this._$3S[aH];};y.prototype.getParamFloat=function(aH){return this._$_2[aH];};y.prototype.getParamMax=function(aH){return this._$Or[aH];};y.prototype.getParamMin=function(aH){return this._$Rr[aH];};y.prototype.setPartsOpacity=function(aJ,aH){var aI=this._$Hr[aJ];aI.setPartsOpacity(aH);};y.prototype.getPartsOpacity=function(aI){var aH=this._$Hr[aI];return aH.getPartsOpacity();};y.prototype.getPartsDataIndex=function(aI){for(var aH=this._$F2.length-1;aH>=0;--aH){if(this._$F2[aH]!=null&&this._$F2[aH]._$p2()==aI){return aH;}}return -1;};y.prototype._$q2=function(aH){return this._$db[aH];};y.prototype._$C2=function(aH){return this._$8b[aH];};y.prototype._$Bb=function(aH){return this._$Hr[aH];};y.prototype._$5s=function(aO,aK){var aJ=this._$Ws.length;var aN=aO;for(var aL=0;aL0){aL+=aK;}return aI;};ap._$C=function(aJ){var aI=null;var aL=null;try{aI=(aJ instanceof Array)?aJ:new _$Xs(aJ,8192);aL=new _$js();var aM=1000;var aK;var aH=new Int8Array(aM);while((aK=aI.read(aH))>0){aL.write(aH,0,aK);}return aL._$TS();}finally{if(aJ!=null){aJ.close();}if(aL!=null){aL.flush();aL.close();}}};function ar(){if(j){return;}this._$12=null;this._$bb=null;this._$_L=null;this._$jo=null;this._$iL=null;this._$0L=null;this._$Br=null;this._$Dr=null;this._$Cb=null;this._$mr=null;this._$_L=az.STATE_FIRST;this._$Br=4000;this._$Dr=100;this._$Cb=50;this._$mr=150;this._$jo=true;this._$iL=\"PARAM_EYE_L_OPEN\";this._$0L=\"PARAM_EYE_R_OPEN\";}ar.prototype._$T2=function(){var aI=P.getUserTimeMSec();var aH=Math._$10();return(aI+aH*(2*this._$Br-1));};ar.prototype._$uo=function(aH){this._$Br=aH;};ar.prototype._$QS=function(aI,aH,aJ){this._$Dr=aI;this._$Cb=aH;this._$mr=aJ;};ar.prototype._$7T=function(aI){var aK=P.getUserTimeMSec();var aH;var aJ=0;switch(this._$_L){case STATE_CLOSING:aJ=(aK-this._$bb)/this._$Dr;if(aJ>=1){aJ=1;this._$_L=az.STATE_CLOSED;this._$bb=aK;}aH=1-aJ;break;case STATE_CLOSED:aJ=(aK-this._$bb)/this._$Cb;if(aJ>=1){this._$_L=az.STATE_OPENING;this._$bb=aK;}aH=0;break;case STATE_OPENING:aJ=(aK-this._$bb)/this._$mr;if(aJ>=1){aJ=1;this._$_L=az.STATE_INTERVAL;this._$12=this._$T2();}aH=aJ;break;case STATE_INTERVAL:if(this._$120.9?Q.EXPAND_W:0;this.gl.drawElements(aL,aP,aI,aQ,aM,aN,this.transform,aJ);};x.prototype._$Rs=function(){throw new Error(\"_$Rs\");};x.prototype._$Ds=function(aH){throw new Error(\"_$Ds\");};x.prototype._$K2=function(){for(var aH=0;aH=0;--aI){var aH=aJ[aI];if(aHa._$R2){a._$R2=aH;}}}};a._$or=function(){return a._$52;};a._$Pr=function(){return a._$R2;};a.prototype._$F0=function(aH){this._$gP=aH._$nP();this._$dr=aH._$nP();this._$GS=aH._$nP();this._$qb=aH._$6L();this._$Lb=aH._$cS();this._$mS=aH._$Tb();if(aH.getFormatVersion()>=ay._$T7){this.clipID=aH._$nP();this.clipIDList=this.convertClipIDForV2_11(this.clipID);}else{this.clipIDList=null;}a._$Sb(this._$Lb);};a.prototype.getClipIDList=function(){return this.clipIDList;};a.prototype._$Nr=function(aI,aH){aH._$IS[0]=false;aH._$Us=aG._$Z2(aI,this._$GS,aH._$IS,this._$Lb);if(Q._$Zs){}else{if(aH._$IS[0]){return;}}aH._$7s=aG._$br(aI,this._$GS,aH._$IS,this._$mS);};a.prototype._$2b=function(aH){};a.prototype.getDrawDataID=function(){return this._$gP;};a.prototype._$j2=function(aH){this._$gP=aH;};a.prototype.getOpacity=function(aH,aI){return aI._$7s;};a.prototype._$zS=function(aH,aI){return aI._$Us;};a.prototype.getTargetBaseDataID=function(){return this._$dr;};a.prototype._$gs=function(aH){this._$dr=aH;};a.prototype._$32=function(){return(this._$dr!=null&&(this._$dr!=n._$2o()));};a.prototype.getType=function(){};function aq(){if(j){return;}this._$NL=null;this._$3S=null;this._$aS=null;aq._$42++;}aq._$42=0;aq.prototype._$1b=function(){return this._$3S;};aq.prototype.getDrawDataList=function(){return this._$aS;};aq.prototype._$F0=function(aH){this._$NL=aH._$nP();this._$aS=aH._$nP();this._$3S=aH._$nP();};aq.prototype._$kr=function(aH){aH._$Zo(this._$3S);aH._$xo(this._$aS);this._$3S=null;this._$aS=null;};function v(){if(j){return;}aa.prototype.constructor.call(this);this._$zo=new x();}v.prototype=new aa();v.loadModel=function(aI){var aH=new v();aa._$62(aH,aI);return aH;};v.loadModel=function(aI){var aH=new v();aa._$62(aH,aI);return aH;};v._$to=function(){var aH=new v();return aH;};v._$er=function(aM){var aJ=new _$5(\"../_$_r/_$t0/_$Ri/_$_P._$d\");if(aJ.exists()==false){throw new _$ls(\"_$t0 _$_ _$6 _$Ui :: \"+aJ._$PL());}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\"];var aK=v.loadModel(aJ._$3b());for(var aI=0;aI=0){if(aK==aV+4&&p(aT,aV+1)==\"f\"&&p(aT,aV+2)==\"p\"&&p(aT,aV+3)==\"s\"){aP=true;}for(aJ=aK+1;aJ0){if(aP&&5=0){var aO=new t();if(G.startsWith(aT,aV,ao._$cs)){aO._$RP=t._$hs;aO._$4P=G.createString(aT,aV,aK-aV);}else{if(G.startsWith(aT,aV,ao._$ar)){aO._$4P=G.createString(aT,aV+7,aK-aV-7);if(G.startsWith(aT,aV+7,\"ANCHOR_X\")){aO._$RP=t._$xs;}else{if(G.startsWith(aT,aV+7,\"ANCHOR_Y\")){aO._$RP=t._$us;}else{if(G.startsWith(aT,aV+7,\"SCALE_X\")){aO._$RP=t._$qs;}else{if(G.startsWith(aT,aV+7,\"SCALE_Y\")){aO._$RP=t._$Ys;}else{if(G.startsWith(aT,aV+7,\"X\")){aO._$RP=t._$ws;}else{if(G.startsWith(aT,aV+7,\"Y\")){aO._$RP=t._$Ns;}}}}}}}else{aO._$RP=t._$Fr;aO._$4P=G.createString(aT,aV,aK-aV);}}aN.motions.push(aO);var aU=0;var aR=[];for(aJ=aK+1;aJ0){aR.push(aM);aU++;var aH=aI[0];if(aHaN._$yT){aN._$yT=aU;}}}}aN._$rr=((1000*aN._$yT)/aN._$D0)|0;return aN;};ao.prototype.getDurationMSec=function(){return this._$E?-1:this._$rr;};ao.prototype.getLoopDurationMSec=function(){return this._$rr;};ao.prototype.dump=function(){for(var aJ=0;aJ=aL?aL-1:aK)];aJ.setParamFloat(aT,aX);}else{if(t._$ws<=aV._$RP&&aV._$RP<=t._$Ys){}else{var aH=aJ.getParamIndex(aT);var a4=aJ.getModelContext();var aY=a4.getParamMax(aH);var aW=a4.getParamMin(aH);var aM=0.4;var aS=aM*(aY-aW);var aU=a4.getParamFloat(aH);var a2=aV._$I0[(aK>=aL?aL-1:aK)];var a1=aV._$I0[(aK+1>=aL?aL-1:aK+1)];var aI;if((a2aS)||(a2>a1&&a2-a1>aS)){aI=a2;}else{aI=a2+(a1-a2)*aR;}var aP=aU+(aI-aU)*aQ;aJ.setParamFloat(aT,aP);}}}if(aK>=this._$yT){if(this._$E){a3._$z2=aN;if(this.loopFadeIn){a3._$bs=aN;}}else{a3._$9L=true;}}this._$eP=aQ;};ao.prototype._$r0=function(){return this._$E;};ao.prototype._$aL=function(aH){this._$E=aH;};ao.prototype._$S0=function(){return this._$D0;};ao.prototype._$U0=function(aH){this._$D0=aH;};ao.prototype.isLoopFadeIn=function(){return this.loopFadeIn;};ao.prototype.setLoopFadeIn=function(aH){this.loopFadeIn=aH;};function aE(){this._$P=new Float32Array(100);this.size=0;}aE.prototype.clear=function(){this.size=0;};aE.prototype.add=function(aI){if(this._$P.length<=this.size){var aH=new Float32Array(this.size*2);P._$jT(this._$P,0,aH,0,this.size);this._$P=aH;}this._$P[this.size++]=aI;};aE.prototype._$BL=function(){var aH=new Float32Array(this.size);P._$jT(this._$P,0,aH,0,this.size);return aH;};function t(){this._$4P=null;this._$I0=null;this._$RP=null;}t._$Fr=0;t._$hs=1;t._$ws=100;t._$Ns=101;t._$xs=102;t._$us=103;t._$qs=104;t._$Ys=105;function E(){if(j){return;}c.prototype.constructor.call(this);this._$o=0;this._$A=0;this._$GS=null;this._$Eo=null;}E.prototype=new c();E._$gT=new Array();E.prototype._$zP=function(){this._$GS=new g();this._$GS._$zP();};E.prototype._$F0=function(aH){c.prototype._$F0.call(this,aH);this._$A=aH._$6L();this._$o=aH._$6L();this._$GS=aH._$nP();this._$Eo=aH._$nP();c.prototype.readV2_opacity.call(this,aH);};E.prototype.init=function(aH){var aI=new H(this);var aJ=(this._$o+1)*(this._$A+1);if(aI._$Cr!=null){aI._$Cr=null;}aI._$Cr=new Float32Array(aJ*2);if(aI._$hr!=null){aI._$hr=null;}if(this._$32()){aI._$hr=new Float32Array(aJ*2);}else{aI._$hr=null;}return aI;};E.prototype._$Nr=function(aJ,aI){var aK=aI;if(!this._$GS._$Ur(aJ)){return;}var aL=this._$VT();var aH=E._$gT;aH[0]=false;aG._$Vr(aJ,this._$GS,aH,aL,this._$Eo,aK._$Cr,0,2);aI._$Ib(aH[0]);this.interpolateOpacity(aJ,this._$GS,aI,aH);};E.prototype._$2b=function(aK,aJ){var aL=aJ;aL._$hS(true);if(!this._$32()){aL.setTotalOpacity(aL.getInterpolatedOpacity());}else{var aH=this.getTargetBaseDataID();if(aL._$8r==c._$ur){aL._$8r=aK.getBaseDataIndex(aH);}if(aL._$8r<0){if(Q._$so){q._$li(\"_$L _$0P _$G :: %s\",aH);}aL._$hS(false);}else{var aN=aK.getBaseData(aL._$8r);var aI=aK._$q2(aL._$8r);if(aN!=null&&aI._$yo()){var aM=aI.getTotalScale();aL.setTotalScale_notForClient(aM);var aO=aI.getTotalOpacity();aL.setTotalOpacity(aO*aL.getInterpolatedOpacity());aN._$nb(aK,aI,aL._$Cr,aL._$hr,this._$VT(),0,2);aL._$hS(true);}else{aL._$hS(false);}}}};E.prototype._$nb=function(aL,aI,aH,aM,aO,aK,aJ){if(true){var aN=aI;var aP=(aN._$hr!=null)?aN._$hr:aN._$Cr;E.transformPoints_sdk2(aH,aM,aO,aK,aJ,aP,this._$o,this._$A);}else{this.transformPoints_sdk1(aL,aI,aH,aM,aO,aK,aJ);}};E.transformPoints_sdk2=function(a0,bc,a5,aP,aI,aR,aQ,aU){var aW=a5*aI;var aV;var bn,bm;var aT=0;var aS=0;var bl=0;var bk=0;var bf=0;var be=0;var aZ=false;for(var ba=aP;ba=1){var aK=aR[((0)+(aU)*a1)*2];var aJ=aR[((0)+(aU)*a1)*2+1];var aO=aT-2*bl+1*bf;var aN=aS-2*bk+1*be;var a3=aT+3*bf;var a2=aS+3*be;var a8=aT-2*bl+3*bf;var a6=aS-2*bk+3*be;var bj=0.5*(a4-(-2));var bi=0.5*(aX-(1));if(bj+bi<=1){bc[ba]=aO+(aK-aO)*bj+(a8-aO)*bi;bc[ba+1]=aN+(aJ-aN)*bj+(a6-aN)*bi;}else{bc[ba]=a3+(a8-a3)*(1-bj)+(aK-a3)*(1-bi);bc[ba+1]=a2+(a6-a2)*(1-bj)+(aJ-a2)*(1-bi);}}else{var aH=(a7|0);if(aH==aU){aH=aU-1;}var bj=0.5*(a4-(-2));var bi=a7-aH;var bb=aH/aU;var a9=(aH+1)/aU;var aK=aR[((0)+(aH)*a1)*2];var aJ=aR[((0)+(aH)*a1)*2+1];var a3=aR[((0)+(aH+1)*a1)*2];var a2=aR[((0)+(aH+1)*a1)*2+1];var aO=aT-2*bl+bb*bf;var aN=aS-2*bk+bb*be;var a8=aT-2*bl+a9*bf;var a6=aS-2*bk+a9*be;if(bj+bi<=1){bc[ba]=aO+(aK-aO)*bj+(a8-aO)*bi;bc[ba+1]=aN+(aJ-aN)*bj+(a6-aN)*bi;}else{bc[ba]=a3+(a8-a3)*(1-bj)+(aK-a3)*(1-bi);bc[ba+1]=a2+(a6-a2)*(1-bj)+(aJ-a2)*(1-bi);}}}}else{if(1<=a4){if(aX<=0){var a8=aR[((aQ)+(0)*a1)*2];var a6=aR[((aQ)+(0)*a1)*2+1];var a3=aT+3*bl;var a2=aS+3*bk;var aO=aT+1*bl-2*bf;var aN=aS+1*bk-2*be;var aK=aT+3*bl-2*bf;var aJ=aS+3*bk-2*be;var bj=0.5*(a4-(1));var bi=0.5*(aX-(-2));if(bj+bi<=1){bc[ba]=aO+(aK-aO)*bj+(a8-aO)*bi;bc[ba+1]=aN+(aJ-aN)*bj+(a6-aN)*bi;}else{bc[ba]=a3+(a8-a3)*(1-bj)+(aK-a3)*(1-bi);bc[ba+1]=a2+(a6-a2)*(1-bj)+(aJ-a2)*(1-bi);}}else{if(aX>=1){var aO=aR[((aQ)+(aU)*a1)*2];var aN=aR[((aQ)+(aU)*a1)*2+1];var aK=aT+3*bl+1*bf;var aJ=aS+3*bk+1*be;var a8=aT+1*bl+3*bf;var a6=aS+1*bk+3*be;var a3=aT+3*bl+3*bf;var a2=aS+3*bk+3*be;var bj=0.5*(a4-(1));var bi=0.5*(aX-(1));if(bj+bi<=1){bc[ba]=aO+(aK-aO)*bj+(a8-aO)*bi;bc[ba+1]=aN+(aJ-aN)*bj+(a6-aN)*bi;}else{bc[ba]=a3+(a8-a3)*(1-bj)+(aK-a3)*(1-bi);bc[ba+1]=a2+(a6-a2)*(1-bj)+(aJ-a2)*(1-bi);}}else{var aH=(a7|0);if(aH==aU){aH=aU-1;}var bj=0.5*(a4-(1));var bi=a7-aH;var bb=aH/aU;var a9=(aH+1)/aU;var aO=aR[((aQ)+(aH)*a1)*2];var aN=aR[((aQ)+(aH)*a1)*2+1];var a8=aR[((aQ)+(aH+1)*a1)*2];var a6=aR[((aQ)+(aH+1)*a1)*2+1];var aK=aT+3*bl+bb*bf;var aJ=aS+3*bk+bb*be;var a3=aT+3*bl+a9*bf;var a2=aS+3*bk+a9*be;if(bj+bi<=1){bc[ba]=aO+(aK-aO)*bj+(a8-aO)*bi;bc[ba+1]=aN+(aJ-aN)*bj+(a6-aN)*bi;}else{bc[ba]=a3+(a8-a3)*(1-bj)+(aK-a3)*(1-bi);bc[ba+1]=a2+(a6-a2)*(1-bj)+(aJ-a2)*(1-bi);}}}}else{if(aX<=0){var aY=(bd|0);if(aY==aQ){aY=aQ-1;}var bj=bd-aY;var bi=0.5*(aX-(-2));var bp=aY/aQ;var bo=(aY+1)/aQ;var a8=aR[((aY)+(0)*a1)*2];var a6=aR[((aY)+(0)*a1)*2+1];var a3=aR[((aY+1)+(0)*a1)*2];var a2=aR[((aY+1)+(0)*a1)*2+1];var aO=aT+bp*bl-2*bf;var aN=aS+bp*bk-2*be;var aK=aT+bo*bl-2*bf;var aJ=aS+bo*bk-2*be;if(bj+bi<=1){bc[ba]=aO+(aK-aO)*bj+(a8-aO)*bi;bc[ba+1]=aN+(aJ-aN)*bj+(a6-aN)*bi;}else{bc[ba]=a3+(a8-a3)*(1-bj)+(aK-a3)*(1-bi);bc[ba+1]=a2+(a6-a2)*(1-bj)+(aJ-a2)*(1-bi);}}else{if(aX>=1){var aY=(bd|0);if(aY==aQ){aY=aQ-1;}var bj=bd-aY;var bi=0.5*(aX-(1));var bp=aY/aQ;var bo=(aY+1)/aQ;var aO=aR[((aY)+(aU)*a1)*2];var aN=aR[((aY)+(aU)*a1)*2+1];var aK=aR[((aY+1)+(aU)*a1)*2];var aJ=aR[((aY+1)+(aU)*a1)*2+1];var a8=aT+bp*bl+3*bf;var a6=aS+bp*bk+3*be;var a3=aT+bo*bl+3*bf;var a2=aS+bo*bk+3*be;if(bj+bi<=1){bc[ba]=aO+(aK-aO)*bj+(a8-aO)*bi;bc[ba+1]=aN+(aJ-aN)*bj+(a6-aN)*bi;}else{bc[ba]=a3+(a8-a3)*(1-bj)+(aK-a3)*(1-bi);bc[ba+1]=a2+(a6-a2)*(1-bj)+(aJ-a2)*(1-bi);}}else{System.err.printf(\"_$li calc : %.4f , %.4f\t\t\t\t\t@@BDBoxGrid\\n\",a4,aX);}}}}}else{bc[ba]=aT+a4*bl+aX*bf;bc[ba+1]=aS+a4*bk+aX*be;}}else{bn=bd-(bd|0);bm=a7-(a7|0);aV=2*((bd|0)+((a7|0))*(aQ+1));if(bn+bm<1){bc[ba]=aR[aV]*(1-bn-bm)+aR[aV+2]*bn+aR[aV+2*(aQ+1)]*bm;bc[ba+1]=aR[aV+1]*(1-bn-bm)+aR[aV+3]*bn+aR[aV+2*(aQ+1)+1]*bm;}else{bc[ba]=aR[aV+2*(aQ+1)+2]*(bn-1+bm)+aR[aV+2*(aQ+1)]*(1-bn)+aR[aV+2]*(1-bm);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);}}}};E.prototype.transformPoints_sdk1=function(aJ,aR,aL,a0,aU,aP,aZ){var aH=aR;var aO,aN;var aM=this._$o;var aQ=this._$A;var aI=aU*aZ;var aS,aY;var aV;var aX,aW;var aT=(aH._$hr!=null)?aH._$hr:aH._$Cr;for(var aK=aP;aK1){aO=1;}}if(aN<0){aN=0;}else{if(aN>1){aN=1;}}aO*=aM;aN*=aQ;aS=(aO|0);aY=(aN|0);if(aS>aM-1){aS=aM-1;}if(aY>aQ-1){aY=aQ-1;}aX=aO-aS;aW=aN-aY;aV=2*(aS+aY*(aM+1));}else{aO=aL[aK]*aM;aN=aL[aK+1]*aQ;aX=aO-(aO|0);aW=aN-(aN|0);aV=2*((aO|0)+(aN|0)*(aM+1));}if(aX+aW<1){a0[aK]=aT[aV]*(1-aX-aW)+aT[aV+2]*aX+aT[aV+2*(aM+1)]*aW;a0[aK+1]=aT[aV+1]*(1-aX-aW)+aT[aV+3]*aX+aT[aV+2*(aM+1)+1]*aW;}else{a0[aK]=aT[aV+2*(aM+1)+2]*(aX-1+aW)+aT[aV+2*(aM+1)]*(1-aX)+aT[aV+2]*(1-aW);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);}}};E.prototype._$VT=function(){return(this._$o+1)*(this._$A+1);};E.prototype.getType=function(){return c._$_b;};function H(aH){B.prototype.constructor.call(this,aH);this._$8r=c._$ur;this._$Cr=null;this._$hr=null;}H.prototype=new B();function s(){if(j){return;}this.visible=true;this._$g0=false;this._$NL=null;this._$3S=null;this._$aS=null;s._$42++;}s._$42=0;s.prototype._$zP=function(){this._$3S=new Array();this._$aS=new Array();};s.prototype._$F0=function(aH){this._$g0=aH._$8L();this.visible=aH._$8L();this._$NL=aH._$nP();this._$3S=aH._$nP();this._$aS=aH._$nP();};s.prototype.init=function(aI){var aH=new aj(this);aH.setPartsOpacity(this.isVisible()?1:0);return aH;};s.prototype._$6o=function(aH){if(this._$3S==null){throw new Error(\"_$3S _$6 _$Wo@_$6o\");}this._$3S.push(aH);};s.prototype._$3o=function(aH){if(this._$aS==null){throw new Error(\"_$aS _$6 _$Wo@_$3o\");}this._$aS.push(aH);};s.prototype._$Zo=function(aH){this._$3S=aH;};s.prototype._$xo=function(aH){this._$aS=aH;};s.prototype.isVisible=function(){return this.visible;};s.prototype._$uL=function(){return this._$g0;};s.prototype._$KP=function(aH){this.visible=aH;};s.prototype._$ET=function(aH){this._$g0=aH;};s.prototype.getBaseData=function(){return this._$3S;};s.prototype.getDrawData=function(){return this._$aS;};s.prototype._$p2=function(){return this._$NL;};s.prototype._$ob=function(aH){this._$NL=aH;};s.prototype.getPartsID=function(){return this._$NL;};s.prototype._$MP=function(aH){this._$NL=aH;};function aj(aH){this._$VS=null;this._$e0=null;this._$e0=aH;}aj.prototype=new S();aj.prototype.getPartsOpacity=function(){return this._$VS;};aj.prototype.setPartsOpacity=function(aH){this._$VS=aH;};function ak(aH){if(j){return;}this.id=aH;}ak._$L7=function(){z._$27();n._$27();Z._$27();i._$27();};ak.prototype.toString=function(){return this.id;};function D(){}D.prototype._$F0=function(aH){};function an(){if(j){return;}this._$4S=null;}an.prototype._$1s=function(){return this._$4S;};an.prototype._$zP=function(){this._$4S=new Array();};an.prototype._$F0=function(aH){this._$4S=aH._$nP();};an.prototype._$Ks=function(aH){this._$4S.push(aH);};function au(aH,aI){this.canvas=aH;this.context=aI;this.viewport=new Array(0,0,aH.width,aH.height);this._$6r=1;this._$xP=0;this._$3r=1;this._$uP=0;this._$Qo=-1;this.cacheImages={};}au.tr=new am();au._$50=new am();au._$Ti=new Array(0,0);au._$Pi=new Array(0,0);au._$B=new Array(0,0);au.prototype._$lP=function(aI,aK,aJ,aH){this.viewport=new Array(aI,aK,aJ,aH);};au.prototype._$bL=function(){this.context.save();var aH=this.viewport;if(aH!=null){this.context.beginPath();this.context._$Li(aH[0],aH[1],aH[2],aH[3]);this.context.clip();}};au.prototype._$ei=function(){this.context.restore();};au.prototype.drawElements=function(bc,bm,aX,aJ,bA,aM,bl,bz){try{if(bA!=this._$Qo){this._$Qo=bA;this.context.globalAlpha=bA;}var a2=bm.length;var aP=bc.width;var a5=bc.height;var bE=this.context;var a7=this._$xP;var a6=this._$uP;var a1=this._$6r;var aZ=this._$3r;var bD=au.tr;var aI=au._$Ti;var aH=au._$Pi;var bu=au._$B;for(var by=0;by0.02){au.expandClip(aK,aJ,aV,aI,aO,aN,aH,aW,aS,aR);}else{au.clipWithTransform(aK,null,aM,aL,aU,aT,aQ,aP);}};au.expandClip=function(aV,bg,aK,a3,aJ,aI,be,ba,aZ,aX){var aP=be-aJ;var aO=ba-aI;var bi=aZ-aJ;var bh=aX-aI;var bj=aP*bh-aO*bi>0?aK:-aK;var aL=-aO;var aH=aP;var bc=aZ-be;var a8=aX-ba;var a7=-a8;var a6=bc;var aQ=Math.sqrt(bc*bc+a8*a8);var bf=-bh;var bb=bi;var a2=Math.sqrt(bi*bi+bh*bh);var bd=aJ-bj*aL/a3;var a9=aI-bj*aH/a3;var aY=be-bj*aL/a3;var aW=ba-bj*aH/a3;var a5=be-bj*a7/aQ;var a4=ba-bj*a6/aQ;var aS=aZ-bj*a7/aQ;var aR=aX-bj*a6/aQ;var aN=aJ+bj*bf/a2;var aM=aI+bj*bb/a2;var a1=aZ+bj*bf/a2;var a0=aX+bj*bb/a2;var aU=au._$50;var aT=bg._$P2(aU);if(aT==null){return false;}au.clipWithTransform(aV,aU,bd,a9,aY,aW,a5,a4,aS,aR,a1,a0,aN,aM);return true;};au.clipWithTransform=function(aH,aI,aS,aN,aQ,aK,aP,aJ){if(arguments.length<(1+3*2)){q._$li(\"err : @LDGL.clip()\");return;}if(!(arguments[1] instanceof am)){q._$li(\"err : a[0] is _$6 LDTransform @LDGL.clip()\");return;}var aM=au._$B;var aO=aI;var aR=arguments;aH.beginPath();if(aO){aO._$PS(aR[2],aR[3],aM);aH.moveTo(aM[0],aM[1]);for(var aL=4;aL1){return 1;}}return(0.5-0.5*Math.cos(aH*aC.PI_F));};function J(aH){if(j){return;}this._$ib=aH;}J._$fr=-1;J.prototype.toString=function(){return this._$ib;};function b(){if(j){return;}a.prototype.constructor.call(this);this._$LP=-1;this._$d0=0;this._$Yo=0;this._$JP=null;this._$5P=null;this._$BP=null;this._$Eo=null;this._$Qi=null;this._$6s=b._$ms;this.culling=true;this.gl_cacheImage=null;this.instanceNo=b._$42++;}b.prototype=new a();b._$42=0;b._$Os=30;b._$ms=0;b._$ns=1;b._$_s=2;b._$gT=new Array();b.prototype._$_S=function(aH){this._$LP=aH;};b.prototype.getTextureNo=function(){return this._$LP;};b.prototype._$ZL=function(){return this._$Qi;};b.prototype._$H2=function(){return this._$JP;};b.prototype.getNumPoints=function(){return this._$d0;};b.prototype.getType=function(){return a._$wb;};b.prototype._$B2=function(aL,aH,aO){var aM=aH;var aN=(aM._$hr!=null)?aM._$hr:aM._$Cr;var aK=aw._$do;switch(aK){default:case aw._$Ms:throw new Error(\"_$L _$ro \");case aw._$Qs:for(var aJ=this._$d0-1;aJ>=0;--aJ){var aI=aJ*aw._$No;aN[aI+4]=aO;}break;}};b.prototype._$zP=function(){this._$GS=new g();this._$GS._$zP();};b.prototype._$F0=function(aK){a.prototype._$F0.call(this,aK);this._$LP=aK._$6L();this._$d0=aK._$6L();this._$Yo=aK._$6L();var aH=aK._$nP();this._$BP=new Int16Array(this._$Yo*3);for(var aJ=this._$Yo*3-1;aJ>=0;--aJ){this._$BP[aJ]=aH[aJ];}this._$Eo=aK._$nP();this._$Qi=aK._$nP();if(aK.getFormatVersion()>=ay._$s7){this._$JP=aK._$6L();if(this._$JP!=0){if((this._$JP&1)!=0){var aI=aK._$6L();if(this._$5P==null){this._$5P=new Object();}this._$5P._$Hb=parseInt(aI);}if((this._$JP&b._$Os)!=0){this._$6s=(this._$JP&b._$Os)>>1;}else{this._$6s=b._$ms;}if((this._$JP&32)!=0){this.culling=false;}}}else{this._$JP=0;}};b.prototype.init=function(aL){var aN=new ag(this);var aI=this._$d0*aw._$No;var aH=this._$32();if(aN._$Cr!=null){aN._$Cr=null;}aN._$Cr=new Float32Array(aI);if(aN._$hr!=null){aN._$hr=null;}aN._$hr=aH?new Float32Array(aI):null;var aM=aw._$do;switch(aM){default:case aw._$Ms:if(aw._$Ls){for(var aJ=this._$d0-1;aJ>=0;--aJ){var aO=aJ<<1;this._$Qi[aO+1]=1-this._$Qi[aO+1];}}break;case aw._$Qs:for(var aJ=this._$d0-1;aJ>=0;--aJ){var aO=aJ<<1;var aK=aJ*aw._$No;var aQ=this._$Qi[aO];var aP=this._$Qi[aO+1];aN._$Cr[aK]=aQ;aN._$Cr[aK+1]=aP;aN._$Cr[aK+4]=0;if(aH){aN._$hr[aK]=aQ;aN._$hr[aK+1]=aP;aN._$hr[aK+4]=0;}}break;}return aN;};b.prototype._$Nr=function(aJ,aH){var aK=aH;if(!((this==aK._$GT()))){console.log(\"### assert!! ### \");}if(!this._$GS._$Ur(aJ)){return;}a.prototype._$Nr.call(this,aJ,aK);if(aK._$IS[0]){return;}var aI=b._$gT;aI[0]=false;aG._$Vr(aJ,this._$GS,aI,this._$d0,this._$Eo,aK._$Cr,aw._$i2,aw._$No);};b.prototype._$2b=function(aK,aI){try{if(!((this==aI._$GT()))){console.log(\"### assert!! ### \");}var aL=false;if(aI._$IS[0]){aL=true;}var aM=aI;if(!aL){a.prototype._$2b.call(this,aK);if(this._$32()){var aH=this.getTargetBaseDataID();if(aM._$8r==a._$ur){aM._$8r=aK.getBaseDataIndex(aH);}if(aM._$8r<0){if(Q._$so){q._$li(\"_$L _$0P _$G :: %s\",aH);}}else{var aO=aK.getBaseData(aM._$8r);var aJ=aK._$q2(aM._$8r);if(aO!=null&&!aJ._$x2()){aO._$nb(aK,aJ,aM._$Cr,aM._$hr,this._$d0,aw._$i2,aw._$No);aM._$AT=true;}else{aM._$AT=false;}aM.baseOpacity=aJ.getTotalOpacity();}}}}catch(aN){throw aN;}};b.prototype.draw=function(aN,aK,aI){if(!((this==aI._$GT()))){console.log(\"### assert!! ### \");}if(aI._$IS[0]){return;}var aL=aI;var aJ=this._$LP;if(aJ<0){aJ=1;}var aH=this.getOpacity(aK,aL)*aI._$VS*aI.baseOpacity;var aM=(aL._$hr!=null)?aL._$hr:aL._$Cr;aN.setClipBufPre_clipContextForDraw(aI.clipBufPre_clipContext);aN._$WP(this.culling);aN._$Uo(aJ,3*this._$Yo,this._$BP,aM,this._$Qi,aH,this._$6s,aL);};b.prototype.dump=function(){console.log(\" _$yi( %d ) , _$d0( %d ) , _$Yo( %d ) \\n\",this._$LP,this._$d0,this._$Yo);console.log(\" _$Oi _$di = { \");for(var aJ=0;aJstartMotion() / start _$K _$3 (m%d)\\n\",aH,aL._$sr);}}if(aJ==null){return -1;}aL=new M();aL._$w0=aJ;this.motions.push(aL);var aN=aL._$sr;if(this._$eb){q._$Ji(\"MotionQueueManager[size:%2d]->startMotion() / new _$w0 (m%d)\\n\",aH,aN);}return aN;};V.prototype.updateParam=function(aJ){try{var aI=false;for(var aK=0;aKupdateParam() / _$T0 _$w0 (m%d)\\n\",this.motions.length-1,aL._$sr);}this.motions.splice(aK,1);aK--;}else{}}return aI;}catch(aM){q._$li(aM);return true;}};V.prototype.isFinished=function(aK){if(arguments.length>=1){for(var aI=0;aI0.9?Q.EXPAND_W:0;var a0=this.gl;if(this.gl==null){throw new Error(\"gl is null\");}var a1=false;var aQ=1;var aP=1;var a3=1;var aZ=1;var aW=this._$C0*aP*aN;var a2=this._$tT*a3*aN;var a5=this._$WL*aZ*aN;var a7=this._$lT*aN;if(this.clipBufPre_clipContextMask!=null){a0.frontFace(a0.CCW);a0.useProgram(this.shaderProgram);this._$vS=T(a0,this._$vS,aU);this._$no=L(a0,this._$no,aL);a0.enableVertexAttribArray(this.a_position_Loc);a0.vertexAttribPointer(this.a_position_Loc,2,a0.FLOAT,false,0,0);this._$NT=T(a0,this._$NT,aV);a0.activeTexture(a0.TEXTURE1);a0.bindTexture(a0.TEXTURE_2D,this.textures[aS]);a0.uniform1i(this.s_texture0_Loc,1);a0.enableVertexAttribArray(this.a_texCoord_Loc);a0.vertexAttribPointer(this.a_texCoord_Loc,2,a0.FLOAT,false,0,0);a0.uniformMatrix4fv(this.u_matrix_Loc,false,this.getClipBufPre_clipContextMask().matrixForMask);var aY=this.getClipBufPre_clipContextMask().layoutChannelNo;var a4=this.getChannelFlagAsColor(aY);a0.uniform4f(this.u_channelFlag,a4.r,a4.g,a4.b,a4.a);var aI=this.getClipBufPre_clipContextMask().layoutBounds;a0.uniform4f(this.u_baseColor_Loc,aI.x*2-1,aI.y*2-1,aI._$EL()*2-1,aI._$5T()*2-1);a0.uniform1i(this.u_maskFlag_Loc,true);}else{a1=this.getClipBufPre_clipContextDraw()!=null;if(a1){a0.useProgram(this.shaderProgramOff);this._$vS=T(a0,this._$vS,aU);this._$no=L(a0,this._$no,aL);a0.enableVertexAttribArray(this.a_position_Loc_Off);a0.vertexAttribPointer(this.a_position_Loc_Off,2,a0.FLOAT,false,0,0);this._$NT=T(a0,this._$NT,aV);a0.activeTexture(a0.TEXTURE1);a0.bindTexture(a0.TEXTURE_2D,this.textures[aS]);a0.uniform1i(this.s_texture0_Loc_Off,1);a0.enableVertexAttribArray(this.a_texCoord_Loc_Off);a0.vertexAttribPointer(this.a_texCoord_Loc_Off,2,a0.FLOAT,false,0,0);a0.uniformMatrix4fv(this.u_clipMatrix_Loc_Off,false,this.getClipBufPre_clipContextDraw().matrixForDraw);a0.uniformMatrix4fv(this.u_matrix_Loc_Off,false,this.matrix4x4);a0.activeTexture(a0.TEXTURE2);a0.bindTexture(a0.TEXTURE_2D,Q.fTexture[this.glno]);a0.uniform1i(this.s_texture1_Loc_Off,2);var aY=this.getClipBufPre_clipContextDraw().layoutChannelNo;var a4=this.getChannelFlagAsColor(aY);a0.uniform4f(this.u_channelFlag_Loc_Off,a4.r,a4.g,a4.b,a4.a);a0.uniform4f(this.u_baseColor_Loc_Off,aW,a2,a5,a7);}else{a0.useProgram(this.shaderProgram);this._$vS=T(a0,this._$vS,aU);this._$no=L(a0,this._$no,aL);a0.enableVertexAttribArray(this.a_position_Loc);a0.vertexAttribPointer(this.a_position_Loc,2,a0.FLOAT,false,0,0);this._$NT=T(a0,this._$NT,aV);a0.activeTexture(a0.TEXTURE1);a0.bindTexture(a0.TEXTURE_2D,this.textures[aS]);a0.uniform1i(this.s_texture0_Loc,1);a0.enableVertexAttribArray(this.a_texCoord_Loc);a0.vertexAttribPointer(this.a_texCoord_Loc,2,a0.FLOAT,false,0,0);a0.uniformMatrix4fv(this.u_matrix_Loc,false,this.matrix4x4);a0.uniform4f(this.u_baseColor_Loc,aW,a2,a5,a7);a0.uniform1i(this.u_maskFlag_Loc,false);}}if(this.culling){this.gl.enable(a0.CULL_FACE);}else{this.gl.disable(a0.CULL_FACE);}this.gl.enable(a0.BLEND);var a6;var aX;var aR;var aK;if(this.clipBufPre_clipContextMask!=null){a6=a0.ONE;aX=a0.ONE_MINUS_SRC_ALPHA;aR=a0.ONE;aK=a0.ONE_MINUS_SRC_ALPHA;}else{switch(aM){case b._$ms:a6=a0.ONE;aX=a0.ONE_MINUS_SRC_ALPHA;aR=a0.ONE;aK=a0.ONE_MINUS_SRC_ALPHA;break;case b._$ns:a6=a0.ONE;aX=a0.ONE;aR=a0.ZERO;aK=a0.ONE;break;case b._$_s:a6=a0.DST_COLOR;aX=a0.ONE_MINUS_SRC_ALPHA;aR=a0.ZERO;aK=a0.ONE;break;}}a0.blendEquationSeparate(a0.FUNC_ADD,a0.FUNC_ADD);a0.blendFuncSeparate(a6,aX,aR,aK);if(this.anisotropyExt){a0.texParameteri(a0.TEXTURE_2D,this.anisotropyExt.TEXTURE_MAX_ANISOTROPY_EXT,this.maxAnisotropy);}var aJ=aL.length;a0.drawElements(a0.TRIANGLES,aJ,a0.UNSIGNED_SHORT,0);a0.bindTexture(a0.TEXTURE_2D,null);};function T(aJ,aH,aI){if(aH==null){aH=aJ.createBuffer();}aJ.bindBuffer(aJ.ARRAY_BUFFER,aH);aJ.bufferData(aJ.ARRAY_BUFFER,aI,aJ.DYNAMIC_DRAW);return aH;}function L(aJ,aH,aI){if(aH==null){aH=aJ.createBuffer();}aJ.bindBuffer(aJ.ELEMENT_ARRAY_BUFFER,aH);aJ.bufferData(aJ.ELEMENT_ARRAY_BUFFER,aI,aJ.DYNAMIC_DRAW);return aH;}C.prototype._$Rs=function(){throw new Error(\"_$Rs\");};C.prototype._$Ds=function(aH){throw new Error(\"_$Ds\");};C.prototype._$K2=function(){for(var aH=0;aH=48){var aL=ay._$9o(aN);if(aL!=null){aL._$F0(this);return aL;}else{return null;}}switch(aN){case 1:return this._$bT();case 10:var aM=this._$6L();return new I(aM,true);case 11:return new av(this._$mP(),this._$mP(),this._$mP(),this._$mP());case 12:return new av(this._$_T(),this._$_T(),this._$_T(),this._$_T());case 13:return new e(this._$mP(),this._$mP());case 14:return new e(this._$_T(),this._$_T());case 15:var aH=this._$3L();var aI=new Array(aH);for(var aJ=0;aJ>(7-this._$hL++))&1)==1;};K.prototype._$zT=function(){if(this._$hL!=0){this._$hL=0;}};function ai(){}ai.prototype._$wP=function(aM,aI,aK){for(var aL=0;aLMath.PI){aJ-=2*Math.PI;}return aJ;};aC._$9=function(aH){return Math.sin(aH);};aC.fcos=function(aH){return Math.cos(aH);};function aB(aH){if(j){return;}this._$e0=null;this._$IP=null;this._$Us=null;this._$7s=null;this._$IS=[false];this._$VS=null;this._$AT=true;this.baseOpacity=1;this.clipBufPre_clipContext=null;this._$e0=aH;}aB.prototype._$u2=function(){return this._$IS[0];};aB.prototype._$yo=function(){return this._$AT&&!this._$IS[0];};aB.prototype._$GT=function(){return this._$e0;};function r(){}r._$W2=0;r.SYSTEM_INFO=null;r.USER_AGENT=navigator.userAgent;r.isIPhone=function(){if(!r.SYSTEM_INFO){r.setup();}return r.SYSTEM_INFO._isIPhone;};r.isIOS=function(){if(!r.SYSTEM_INFO){r.setup();}return r.SYSTEM_INFO._isIPhone||r.SYSTEM_INFO._isIPad;};r.isAndroid=function(){if(!r.SYSTEM_INFO){r.setup();}return r.SYSTEM_INFO._isAndroid;};r.getOSVersion=function(){if(!r.SYSTEM_INFO){r.setup();}return r.SYSTEM_INFO.version;};r.getOS=function(){if(!r.SYSTEM_INFO){r.setup();}if(r.SYSTEM_INFO._isIPhone||r.SYSTEM_INFO._isIPad){return\"iOS\";}if(r.SYSTEM_INFO._isAndroid){return\"Android\";}else{return\"_$Q0 OS\";}};r.setup=function(){var aK=r.USER_AGENT;function aI(aO,aR){var aN=aO.substring(aR).split(/[ _,;\\.]/);var aQ=0;for(var aM=0;aM<=2;aM++){if(isNaN(aN[aM])){break;}var aP=parseInt(aN[aM]);if(aP<0||aP>999){q._$li(\"err : \"+aP+\" @UtHtml5.setup()\");aQ=0;break;}aQ+=aP*Math.pow(1000,(2-aM));}return aQ;}var aL;var aH;var aJ=r.SYSTEM_INFO={userAgent:aK};if((aL=aK.indexOf(\"iPhone OS \"))>=0){aJ.os=\"iPhone\";aJ._isIPhone=true;aJ.version=aI(aK,aL+\"iPhone OS \".length);}else{if((aL=aK.indexOf(\"iPad\"))>=0){aL=aK.indexOf(\"CPU OS\");if(aL<0){q._$li(\" err : \"+aK+\" @UtHtml5.setup()\");return;}aJ.os=\"iPad\";aJ._isIPad=true;aJ.version=aI(aK,aL+\"CPU OS \".length);}else{if((aL=aK.indexOf(\"Android\"))>=0){aJ.os=\"Android\";aJ._isAndroid=true;aJ.version=aI(aK,aL+\"Android \".length);}else{aJ.os=\"-\";aJ.version=-1;}}}};window.UtSystem=P;window.UtDebug=q;window.LDTransform=am;window.LDGL=au;window.Live2D=Q;window.Live2DModelWebGL=l;window.Live2DModelJS=v;window.Live2DMotion=ao;window.MotionQueueManager=V;window.PhysicsHair=u;window.AMotion=ah;window.PartsDataID=i;window.DrawDataID=Z;window.BaseDataID=n;window.ParamID=z;Q.init();var j=false;})();\n\n\n// WEBPACK FOOTER //\n// ./src/lib/live2d.min.js","// Provide a \"System\" global.\nmodule.exports = {\n\t// Make sure import is only used as \"System.import\"\n\timport: function() {\n\t\tthrow new Error(\"System.import cannot be used indirectly\");\n\t}\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/system.js\n// module id = 7\n// module chunks = 0","import { Live2DFramework } from \"./lib/Live2DFramework.js\"\nimport PlatformManager from \"./PlatformManager\"\nimport LAppModel from \"./LAppModel\"\nimport LAppDefine from \"./LAppDefine\"\n\nexport default function LAppLive2DManager() {\n // console.log(\"--> LAppLive2DManager()\");\n\n\n this.models = [];\n\n\n this.count = -1;\n this.reloadFlg = false;\n\n Live2D.init();\n Live2DFramework.setPlatformManager(new PlatformManager);\n\n}\n\nLAppLive2DManager.prototype.createModel = function () {\n\n\n var model = new LAppModel();\n this.models.push(model);\n\n return model;\n}\n\n\nLAppLive2DManager.prototype.changeModel = function (gl, modelurl) {\n // console.log(\"--> LAppLive2DManager.update(gl)\");\n\n if (this.reloadFlg) {\n\n this.reloadFlg = false;\n\n var thisRef = this;\n this.releaseModel(0, gl);\n this.createModel();\n this.models[0].load(gl, modelurl);\n }\n};\n\n\nLAppLive2DManager.prototype.getModel = function (no) {\n // console.log(\"--> LAppLive2DManager.getModel(\" + no + \")\");\n\n if (no >= this.models.length) return null;\n\n return this.models[no];\n};\n\n\n\nLAppLive2DManager.prototype.releaseModel = function (no, gl) {\n // console.log(\"--> LAppLive2DManager.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\nLAppLive2DManager.prototype.numModels = function () {\n return this.models.length;\n};\n\n\n\nLAppLive2DManager.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\n\n\nLAppLive2DManager.prototype.maxScaleEvent = function () {\n if (LAppDefine.DEBUG_LOG)\n console.log(\"Max scale event.\");\n for (var i = 0; i < this.models.length; i++) {\n this.models[i].startRandomMotion(LAppDefine.MOTION_GROUP_PINCH_IN,\n LAppDefine.PRIORITY_NORMAL);\n }\n}\n\n\n\nLAppLive2DManager.prototype.minScaleEvent = function () {\n if (LAppDefine.DEBUG_LOG)\n console.log(\"Min scale event.\");\n for (var i = 0; i < this.models.length; i++) {\n this.models[i].startRandomMotion(LAppDefine.MOTION_GROUP_PINCH_OUT,\n LAppDefine.PRIORITY_NORMAL);\n }\n}\n\n\n\nLAppLive2DManager.prototype.tapEvent = function (x, y) {\n if (LAppDefine.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(LAppDefine.HIT_AREA_HEAD, x, y)) {\n\n if (LAppDefine.DEBUG_LOG)\n console.log(\"Tap face.\");\n\n this.models[i].setRandomExpression();\n }\n else if (this.models[i].hitTest(LAppDefine.HIT_AREA_BODY, x, y)) {\n\n if (LAppDefine.DEBUG_LOG)\n console.log(\"Tap body.\" + \" models[\" + i + \"]\");\n\n this.models[i].startRandomMotion(LAppDefine.MOTION_GROUP_TAP_BODY,\n LAppDefine.PRIORITY_NORMAL);\n }\n }\n\n return true;\n};\n\n\n// WEBPACK FOOTER //\n// ./src/LAppLive2DManager.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 */\nimport {getContext} from \"./webglcontext\"\n\n//============================================================\n//============================================================\n// class PlatformManager extend IPlatformManager\n//============================================================\n//============================================================\nexport default function PlatformManager()\n{\n\n}\n\n//============================================================\n// PlatformManager # loadBytes()\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// PlatformManager # loadString()\n//============================================================\nPlatformManager.prototype.loadString = function(path/*String*/)\n{\n \n this.loadBytes(path, function(buf) { \n return buf;\n });\n \n}\n\n//============================================================\n// PlatformManager # loadLive2DModel()\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// PlatformManager # loadTexture()\n//============================================================\nPlatformManager.prototype.loadTexture = function(model/*ALive2DModel*/, no/*int*/, path/*String*/, callback)\n{ \n // load textures\n var loadedImage = new Image();\n loadedImage.src = path;\n \n var thisRef = this;\n loadedImage.onload = function() {\n // create texture\n var gl = getContext();\n var texture = gl.createTexture();\t \n if (!texture){ console.error(\"Failed to generate gl texture name.\"); return -1; }\n\n if(model.isPremultipliedAlpha() == false){\n // 乗算済アルファテクスチャ以外の場合\n gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 1);\n }\n gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, 1);\t\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 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//============================================================\nPlatformManager.prototype.jsonParseFromBytes = function(buf){\n \n var jsonStr;\n \n \n \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// PlatformManager # log()\n//============================================================\nPlatformManager.prototype.log = function(txt/*String*/)\n{\n //console.log(txt);\n}\n\nfunction getWebGLContext(canvas)\n{\n var NAMES = [ \"webgl\" , \"experimental-webgl\" , \"webkit-3d\" , \"moz-webgl\"];\n for( var i = 0; i < NAMES.length; i++ ){\n try{\n var ctx = canvas.getContext(NAMES[i], {premultipliedAlpha : true});\n if(ctx) return ctx;\n }\n catch(e){}\n }\n return null;\n};\n\n\n// WEBPACK FOOTER //\n// ./src/PlatformManager.js","import {L2DBaseModel, L2DEyeBlink} from \"./lib/Live2DFramework\"\nimport ModelSettingJson from \"./lib/ModelSettingJson\"\nimport LAppDefine from \"./LAppDefine\"\nimport MatrixStack from \"./lib/MatrixStack\"\n\n//============================================================\n//============================================================\n// class LAppModel extends L2DBaseModel \n//============================================================\n//============================================================\nexport default function LAppModel()\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\nLAppModel.prototype = new L2DBaseModel();\n\n\nLAppModel.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 \n var texPaths = thisRef.modelHomeDir + \n 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(LAppDefine.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\nLAppModel.prototype.release = function(gl)\n{\n // this.live2DModel.deleteTextures();\n var pm = Live2DFramework.getPlatformManager();\n\n gl.deleteTexture(pm.texture);\n}\n\n\n\nLAppModel.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\nLAppModel.prototype.update = function()\n{\n // console.log(\"--> LAppModel.update()\");\n\n if(this.live2DModel == null) \n {\n if (LAppDefine.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(LAppDefine.MOTION_GROUP_IDLE, LAppDefine.PRIORITY_IDLE);\n }\n \n //-----------------------------------------------------------------\t\t\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 //-----------------------------------------------------------------\t\t\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\nLAppModel.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\nLAppModel.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\nLAppModel.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 (LAppDefine.DEBUG_LOG)\n console.error(\"Failed to motion.\");\n return;\n }\n\n if (priority == LAppDefine.PRIORITY_FORCE) \n {\n this.mainMotionManager.setReservePriority(priority);\n }\n else if (!this.mainMotionManager.reserveMotion(priority))\n {\n if (LAppDefine.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(null, 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\nLAppModel.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 (LAppDefine.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 (LAppDefine.DEBUG_LOG)\n console.log(\"Start sound : \" + soundName);\n \n snd.play();\n this.mainMotionManager.startMotionPrio(motion, priority);\n }\n}\n\n\n\nLAppModel.prototype.setExpression = function(name)\n{\n var motion = this.expressions[name];\n \n if (LAppDefine.DEBUG_LOG)\n console.log(\"Expression : \" + name);\n \n this.expressionManager.startMotion(motion, false);\n}\n\n\n\nLAppModel.prototype.draw = function(gl)\n{\n //console.log(\"--> LAppModel.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\nLAppModel.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// WEBPACK FOOTER //\n// ./src/LAppModel.js","import {Live2DFramework} from \"./Live2DFramework\"\n\nexport default function ModelSettingJson()\n{ \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\n this.json = {};\n}\n\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\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\nModelSettingJson.prototype.getModelFile = function()\n{ \n return this.json[this.MODEL];\n};\n\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\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\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\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\nModelSettingJson.prototype.getPhysicsFile = function()\n{\n return this.json[this.PHYSICS];\n}\n\n\nModelSettingJson.prototype.getPoseFile = function()\n{\n return this.json[this.POSE];\n}\n\n\nModelSettingJson.prototype.getExpressionNum = function()\n{\n return (this.json[this.EXPRESSIONS] == null) ? 0 : this.json[this.EXPRESSIONS].length;\n}\n\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\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\nModelSettingJson.prototype.getLayout = function()\n{\n return this.json[this.LAYOUT];\n}\n\n\nModelSettingJson.prototype.getInitParamNum = function()\n{\n return (this.json[this.INIT_PARAM] == null) ? 0 : this.json[this.INIT_PARAM].length;\n}\n\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\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\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\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\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\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\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\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\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\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// WEBPACK FOOTER //\n// ./src/lib/ModelSettingJson.js"],"sourceRoot":""} \ No newline at end of file diff --git a/dev.html b/dev.html index 3518799..a2599e1 100644 --- a/dev.html +++ b/dev.html @@ -12,6 +12,6 @@ - + \ No newline at end of file