{"version":3,"sources":["webpack://PIXI.live2d/webpack/universalModuleDefinition","webpack://PIXI.live2d/webpack/bootstrap","webpack://PIXI.live2d/./src/utils/log.ts","webpack://PIXI.live2d/./src/utils/math.ts","webpack://PIXI.live2d/./src/utils/obj.ts","webpack://PIXI.live2d/./src/utils/string.ts","webpack://PIXI.live2d/./src/config.ts","webpack://PIXI.live2d/external {\"commonjs\":\"@pixi/math\",\"commonjs2\":\"@pixi/math\",\"amd\":\"@pixi/math\",\"root\":\"PIXI\"}","webpack://PIXI.live2d/external {\"commonjs\":\"@pixi/utils\",\"commonjs2\":\"@pixi/utils\",\"amd\":\"@pixi/utils\",\"root\":[\"PIXI\",\"utils\"]}","webpack://PIXI.live2d/./src/factory/Live2DLoader.ts","webpack://PIXI.live2d/./src/factory/model-middlewares.ts","webpack://PIXI.live2d/./src/factory/texture.ts","webpack://PIXI.live2d/./src/factory/Live2DFactory.ts","webpack://PIXI.live2d/./src/cubism-common/index.ts","webpack://PIXI.live2d/./src/cubism-common/SoundManager.ts","webpack://PIXI.live2d/./src/cubism-common/constants.ts","webpack://PIXI.live2d/./node_modules/lodash/_root.js","webpack://PIXI.live2d/./src/cubism-common/MotionState.ts","webpack://PIXI.live2d/./node_modules/lodash/_getNative.js","webpack://PIXI.live2d/./node_modules/lodash/isArray.js","webpack://PIXI.live2d/./src/cubism-common/ExpressionManager.ts","webpack://PIXI.live2d/./src/cubism-common/ModelSettings.ts","webpack://PIXI.live2d/./src/cubism-common/MotionManager.ts","webpack://PIXI.live2d/./src/cubism-common/InternalModel.ts","webpack://PIXI.live2d/./src/cubism-common/FocusController.ts","webpack://PIXI.live2d/./src/factory/XHRLoader.ts","webpack://PIXI.live2d/./src/utils/middleware.ts","webpack://PIXI.live2d/external {\"commonjs\":\"@pixi/core\",\"commonjs2\":\"@pixi/core\",\"amd\":\"@pixi/core\",\"root\":\"PIXI\"}","webpack://PIXI.live2d/./node_modules/lodash/_baseGetTag.js","webpack://PIXI.live2d/./node_modules/lodash/_Symbol.js","webpack://PIXI.live2d/./node_modules/lodash/isObjectLike.js","webpack://PIXI.live2d/external {\"commonjs\":\"@pixi/text\",\"commonjs2\":\"@pixi/text\",\"amd\":\"@pixi/text\",\"root\":\"PIXI\"}","webpack://PIXI.live2d/./node_modules/lodash/identity.js","webpack://PIXI.live2d/./node_modules/lodash/isObject.js","webpack://PIXI.live2d/./node_modules/lodash/_ListCache.js","webpack://PIXI.live2d/./node_modules/lodash/_assocIndexOf.js","webpack://PIXI.live2d/./node_modules/lodash/_nativeCreate.js","webpack://PIXI.live2d/./node_modules/lodash/_getMapData.js","webpack://PIXI.live2d/./node_modules/lodash/_toKey.js","webpack://PIXI.live2d/./src/InteractionMixin.ts","webpack://PIXI.live2d/./src/Live2DTransform.ts","webpack://PIXI.live2d/./src/Live2DModel.ts","webpack://PIXI.live2d/./src/factory/FileLoader.ts","webpack://PIXI.live2d/./src/factory/ZipLoader.ts","webpack://PIXI.live2d/./src/tools/HitAreaFrames.ts","webpack://PIXI.live2d/./node_modules/lodash/pull.js","webpack://PIXI.live2d/external {\"commonjs\":\"@pixi/display\",\"commonjs2\":\"@pixi/display\",\"amd\":\"@pixi/display\",\"root\":\"PIXI\"}","webpack://PIXI.live2d/external {\"commonjs\":\"@pixi/graphics\",\"commonjs2\":\"@pixi/graphics\",\"amd\":\"@pixi/graphics\",\"root\":\"PIXI\"}","webpack://PIXI.live2d/./node_modules/lodash/_defineProperty.js","webpack://PIXI.live2d/./node_modules/lodash/isFunction.js","webpack://PIXI.live2d/./node_modules/lodash/_freeGlobal.js","webpack://PIXI.live2d/./node_modules/lodash/_toSource.js","webpack://PIXI.live2d/./node_modules/lodash/_arrayMap.js","webpack://PIXI.live2d/./node_modules/lodash/_baseUnary.js","webpack://PIXI.live2d/./node_modules/lodash/keys.js","webpack://PIXI.live2d/./node_modules/lodash/isLength.js","webpack://PIXI.live2d/./node_modules/lodash/_Map.js","webpack://PIXI.live2d/./node_modules/lodash/_MapCache.js","webpack://PIXI.live2d/./node_modules/lodash/_isKey.js","webpack://PIXI.live2d/./node_modules/lodash/isSymbol.js","webpack://PIXI.live2d/./node_modules/lodash/_baseRest.js","webpack://PIXI.live2d/./node_modules/lodash/_overRest.js","webpack://PIXI.live2d/./node_modules/lodash/_apply.js","webpack://PIXI.live2d/./node_modules/lodash/_setToString.js","webpack://PIXI.live2d/./node_modules/lodash/_baseSetToString.js","webpack://PIXI.live2d/./node_modules/lodash/constant.js","webpack://PIXI.live2d/./node_modules/lodash/_baseIsNative.js","webpack://PIXI.live2d/(webpack)/buildin/global.js","webpack://PIXI.live2d/./node_modules/lodash/_getRawTag.js","webpack://PIXI.live2d/./node_modules/lodash/_objectToString.js","webpack://PIXI.live2d/./node_modules/lodash/_isMasked.js","webpack://PIXI.live2d/./node_modules/lodash/_coreJsData.js","webpack://PIXI.live2d/./node_modules/lodash/_getValue.js","webpack://PIXI.live2d/./node_modules/lodash/_shortOut.js","webpack://PIXI.live2d/./node_modules/lodash/pullAll.js","webpack://PIXI.live2d/./node_modules/lodash/_basePullAll.js","webpack://PIXI.live2d/./node_modules/lodash/_baseIndexOf.js","webpack://PIXI.live2d/./node_modules/lodash/_baseFindIndex.js","webpack://PIXI.live2d/./node_modules/lodash/_baseIsNaN.js","webpack://PIXI.live2d/./node_modules/lodash/_strictIndexOf.js","webpack://PIXI.live2d/./node_modules/lodash/_baseIndexOfWith.js","webpack://PIXI.live2d/./node_modules/lodash/_copyArray.js","webpack://PIXI.live2d/./node_modules/lodash/isArguments.js","webpack://PIXI.live2d/./node_modules/lodash/isBuffer.js","webpack://PIXI.live2d/(webpack)/buildin/module.js","webpack://PIXI.live2d/./node_modules/lodash/_isIndex.js","webpack://PIXI.live2d/./node_modules/lodash/isTypedArray.js","webpack://PIXI.live2d/./node_modules/lodash/_Stack.js","webpack://PIXI.live2d/./node_modules/lodash/eq.js","webpack://PIXI.live2d/./node_modules/lodash/_baseIsEqual.js","webpack://PIXI.live2d/./node_modules/lodash/_equalArrays.js","webpack://PIXI.live2d/./node_modules/lodash/_isStrictComparable.js","webpack://PIXI.live2d/./node_modules/lodash/_matchesStrictComparable.js","webpack://PIXI.live2d/./node_modules/lodash/_baseGet.js","webpack://PIXI.live2d/./node_modules/lodash/_castPath.js","webpack://PIXI.live2d/./cubism/src/rendering/cubismrenderer.ts","webpack://PIXI.live2d/./cubism/src/math/cubismvector2.ts","webpack://PIXI.live2d/./cubism/src/math/cubismmath.ts","webpack://PIXI.live2d/./cubism/src/math/cubismmatrix44.ts","webpack://PIXI.live2d/./cubism/src/live2dcubismframework.ts","webpack://PIXI.live2d/./cubism/src/utils/cubismdebug.ts","webpack://PIXI.live2d/./cubism/src/motion/acubismmotion.ts","webpack://PIXI.live2d/./cubism/src/motion/cubismexpressionmotion.ts","webpack://PIXI.live2d/./cubism/src/motion/cubismmotionqueueentry.ts","webpack://PIXI.live2d/./cubism/src/motion/cubismmotionqueuemanager.ts","webpack://PIXI.live2d/./src/cubism4/Cubism4ExpressionManager.ts","webpack://PIXI.live2d/./cubism/src/settings/cubismmodelsettingsjson.ts","webpack://PIXI.live2d/./src/cubism4/Cubism4ModelSettings.ts","webpack://PIXI.live2d/./cubism/src/motion/cubismmotioninternal.ts","webpack://PIXI.live2d/./cubism/src/motion/cubismmotionjson.ts","webpack://PIXI.live2d/./cubism/src/motion/cubismmotion.ts","webpack://PIXI.live2d/./src/cubism4/Cubism4MotionManager.ts","webpack://PIXI.live2d/./cubism/src/effect/cubismbreath.ts","webpack://PIXI.live2d/./cubism/src/effect/cubismeyeblink.ts","webpack://PIXI.live2d/./cubism/src/config.ts","webpack://PIXI.live2d/./cubism/src/type/csmrectf.ts","webpack://PIXI.live2d/./cubism/src/rendering/cubismrenderer_webgl.ts","webpack://PIXI.live2d/./src/cubism4/Cubism4InternalModel.ts","webpack://PIXI.live2d/./cubism/src/cubismdefaultparameterid.ts","webpack://PIXI.live2d/./src/cubism4/setup.ts","webpack://PIXI.live2d/./cubism/src/effect/cubismpose.ts","webpack://PIXI.live2d/./cubism/src/model/cubismmodel.ts","webpack://PIXI.live2d/./cubism/src/model/cubismmoc.ts","webpack://PIXI.live2d/./cubism/src/physics/cubismphysicsinternal.ts","webpack://PIXI.live2d/./cubism/src/physics/cubismphysicsjson.ts","webpack://PIXI.live2d/./cubism/src/physics/cubismphysics.ts","webpack://PIXI.live2d/./src/cubism4/factory.ts","webpack://PIXI.live2d/./node_modules/lodash/mapKeys.js","webpack://PIXI.live2d/./src/cubism4/check-runtime.ts","webpack://PIXI.live2d/./node_modules/lodash/_baseAssignValue.js","webpack://PIXI.live2d/./node_modules/lodash/_baseForOwn.js","webpack://PIXI.live2d/./node_modules/lodash/_baseFor.js","webpack://PIXI.live2d/./node_modules/lodash/_createBaseFor.js","webpack://PIXI.live2d/./node_modules/lodash/_arrayLikeKeys.js","webpack://PIXI.live2d/./node_modules/lodash/_baseTimes.js","webpack://PIXI.live2d/./node_modules/lodash/_baseIsArguments.js","webpack://PIXI.live2d/./node_modules/lodash/stubFalse.js","webpack://PIXI.live2d/./node_modules/lodash/_baseIsTypedArray.js","webpack://PIXI.live2d/./node_modules/lodash/_nodeUtil.js","webpack://PIXI.live2d/./node_modules/lodash/_baseKeys.js","webpack://PIXI.live2d/./node_modules/lodash/_isPrototype.js","webpack://PIXI.live2d/./node_modules/lodash/_nativeKeys.js","webpack://PIXI.live2d/./node_modules/lodash/_overArg.js","webpack://PIXI.live2d/./node_modules/lodash/isArrayLike.js","webpack://PIXI.live2d/./node_modules/lodash/_baseIteratee.js","webpack://PIXI.live2d/./node_modules/lodash/_baseMatches.js","webpack://PIXI.live2d/./node_modules/lodash/_baseIsMatch.js","webpack://PIXI.live2d/./node_modules/lodash/_listCacheClear.js","webpack://PIXI.live2d/./node_modules/lodash/_listCacheDelete.js","webpack://PIXI.live2d/./node_modules/lodash/_listCacheGet.js","webpack://PIXI.live2d/./node_modules/lodash/_listCacheHas.js","webpack://PIXI.live2d/./node_modules/lodash/_listCacheSet.js","webpack://PIXI.live2d/./node_modules/lodash/_stackClear.js","webpack://PIXI.live2d/./node_modules/lodash/_stackDelete.js","webpack://PIXI.live2d/./node_modules/lodash/_stackGet.js","webpack://PIXI.live2d/./node_modules/lodash/_stackHas.js","webpack://PIXI.live2d/./node_modules/lodash/_stackSet.js","webpack://PIXI.live2d/./node_modules/lodash/_mapCacheClear.js","webpack://PIXI.live2d/./node_modules/lodash/_Hash.js","webpack://PIXI.live2d/./node_modules/lodash/_hashClear.js","webpack://PIXI.live2d/./node_modules/lodash/_hashDelete.js","webpack://PIXI.live2d/./node_modules/lodash/_hashGet.js","webpack://PIXI.live2d/./node_modules/lodash/_hashHas.js","webpack://PIXI.live2d/./node_modules/lodash/_hashSet.js","webpack://PIXI.live2d/./node_modules/lodash/_mapCacheDelete.js","webpack://PIXI.live2d/./node_modules/lodash/_isKeyable.js","webpack://PIXI.live2d/./node_modules/lodash/_mapCacheGet.js","webpack://PIXI.live2d/./node_modules/lodash/_mapCacheHas.js","webpack://PIXI.live2d/./node_modules/lodash/_mapCacheSet.js","webpack://PIXI.live2d/./node_modules/lodash/_baseIsEqualDeep.js","webpack://PIXI.live2d/./node_modules/lodash/_SetCache.js","webpack://PIXI.live2d/./node_modules/lodash/_setCacheAdd.js","webpack://PIXI.live2d/./node_modules/lodash/_setCacheHas.js","webpack://PIXI.live2d/./node_modules/lodash/_arraySome.js","webpack://PIXI.live2d/./node_modules/lodash/_cacheHas.js","webpack://PIXI.live2d/./node_modules/lodash/_equalByTag.js","webpack://PIXI.live2d/./node_modules/lodash/_Uint8Array.js","webpack://PIXI.live2d/./node_modules/lodash/_mapToArray.js","webpack://PIXI.live2d/./node_modules/lodash/_setToArray.js","webpack://PIXI.live2d/./node_modules/lodash/_equalObjects.js","webpack://PIXI.live2d/./node_modules/lodash/_getAllKeys.js","webpack://PIXI.live2d/./node_modules/lodash/_baseGetAllKeys.js","webpack://PIXI.live2d/./node_modules/lodash/_arrayPush.js","webpack://PIXI.live2d/./node_modules/lodash/_getSymbols.js","webpack://PIXI.live2d/./node_modules/lodash/_arrayFilter.js","webpack://PIXI.live2d/./node_modules/lodash/stubArray.js","webpack://PIXI.live2d/./node_modules/lodash/_getTag.js","webpack://PIXI.live2d/./node_modules/lodash/_DataView.js","webpack://PIXI.live2d/./node_modules/lodash/_Promise.js","webpack://PIXI.live2d/./node_modules/lodash/_Set.js","webpack://PIXI.live2d/./node_modules/lodash/_WeakMap.js","webpack://PIXI.live2d/./node_modules/lodash/_getMatchData.js","webpack://PIXI.live2d/./node_modules/lodash/_baseMatchesProperty.js","webpack://PIXI.live2d/./node_modules/lodash/get.js","webpack://PIXI.live2d/./node_modules/lodash/_stringToPath.js","webpack://PIXI.live2d/./node_modules/lodash/_memoizeCapped.js","webpack://PIXI.live2d/./node_modules/lodash/memoize.js","webpack://PIXI.live2d/./node_modules/lodash/toString.js","webpack://PIXI.live2d/./node_modules/lodash/_baseToString.js","webpack://PIXI.live2d/./node_modules/lodash/hasIn.js","webpack://PIXI.live2d/./node_modules/lodash/_baseHasIn.js","webpack://PIXI.live2d/./node_modules/lodash/_hasPath.js","webpack://PIXI.live2d/./node_modules/lodash/property.js","webpack://PIXI.live2d/./node_modules/lodash/_baseProperty.js","webpack://PIXI.live2d/./node_modules/lodash/_basePropertyDeep.js","webpack://PIXI.live2d/./src/csm4.ts"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__2__","__WEBPACK_EXTERNAL_MODULE__3__","__WEBPACK_EXTERNAL_MODULE__20__","__WEBPACK_EXTERNAL_MODULE__24__","__WEBPACK_EXTERNAL_MODULE__34__","__WEBPACK_EXTERNAL_MODULE__35__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","logger","clamp","num","lower","upper","rand","min","max","Math","random","copyProperty","type","from","to","fromKey","toKey","copyArray","array","Array","isArray","filter","item","applyMixins","derivedCtor","baseCtors","forEach","baseCtor","getOwnPropertyNames","getOwnPropertyDescriptor","folderName","url","lastSlashIndex","lastIndexOf","slice","log","tag","messages","config","logLevel","LOG_LEVEL_VERBOSE","console","warn","LOG_LEVEL_WARNING","error","LOG_LEVEL_ERROR","LOG_LEVEL_NONE","sound","motionSync","motionFadingDuration","idleMotionFadingDuration","expressionFadingDuration","VERSION","Live2DLoader","context","this","middlewares","then","result","loader","TAG","urlToJSON","next","source","data","load","target","live2dModel","emit","jsonToSettings","settings","runtime","findRuntime","createModelSettings","TypeError","waitUntilReady","ready","setupOptionals","internalModel","tasks","pose","push","createPose","coreModel","catch","e","physics","createPhysics","length","Promise","all","setupEssentials","live2DModel","textureLoadings","textures","map","tex","options","textureOptions","resourceOptions","crossorigin","crossOrigin","fromURL","Error","err","event","autoLoad","texture","baseTexture","valid","resolve","resource","_live2d_load","reject","errorHandler","removeEventListener","addEventListener","createTexture","resolveURL","createInternalModel","modelData","moc","isValidMoc","createCoreModel","runtimes","sort","a","b","version","test","textureLoaded","once","modelLoaded","readyEventEmitted","live2DModelMiddlewares","motionManager","group","index","handleError","definition","definitions","undefined","listeners","includes","releaseTasks","motionTasksMap","set","taskGroup","path","getMotionFile","motionDataType","motion","createMotion","expressionManager","expressionTasksMap","getExpressionFile","expression","createExpression","delete","WeakMap","_loadMotion","loadMotion","_loadExpression","loadExpression","SoundManager","_volume","audios","audio","volume","file","onFinish","onError","Audio","preload","dispose","play","dispatchEvent","ErrorEvent","readyState","HAVE_ENOUGH_DATA","pause","removeAttribute","LOGICAL_WIDTH","LOGICAL_HEIGHT","freeGlobal","freeSelf","self","Function","MotionPriority","MotionState","debug","currentPriority","NONE","reservePriority","priority","currentGroup","currentIndex","dump","reservedGroup","reservedIndex","reservedIdleGroup","reservedIdleIndex","IDLE","setReservedIdle","FORCE","setReserved","setCurrent","requestedGroup","requestedIndex","join","baseIsNative","getValue","ExpressionManager","super","expressions","reserveExpressionIndex","destroyed","defaultExpression","currentExpression","stopAllExpressions","availableIndices","floor","setExpression","_setExpression","getExpressionIndex","indexOf","model","now","isFinished","updateParameters","ModelSettings","json","replacer","files","replaceFiles","assertFileExists","expectedFile","shouldThrow","actualPath","getDefinedFiles","MotionPreloadStrategy","MotionManager","motionGroups","state","playing","idleMotionGroup","groups","idle","setupMotions","stopAllMotions","keys","motionPreload","ALL","NORMAL","reserve","currentAudio","soundURL","getSoundFile","add","readyToPlay","src","start","getMotionName","shouldOverrideExpression","resetExpression","_startMotion","groupDefs","isActive","startMotion","_stopAllMotions","reset","restoreExpression","complete","shouldRequestIdleMotion","startRandomMotion","updated","update","destroy","tempBounds","x","y","width","height","InternalModel","focusController","originalWidth","originalHeight","localTransform","drawingMatrix","hitAreas","textureFlipY","viewport","setupLayout","setupHitAreas","size","getSize","layout","assign","getLayout","scale","offsetX","centerX","left","right","offsetY","centerY","top","bottom","translate","getHitAreaDefs","hitArea","def","hitAreaName","isHit","drawIndex","bounds","getDrawableBounds","vertices","getDrawableVertices","vx","vy","transform","copyFrom","append","dt","FocusController","targetX","targetY","instant","dx","dy","abs","sqrt","maxSpeed","ax","ay","maxA","v","maxV","NetworkError","message","status","aborted","XHRLoader","onload","onerror","xhr","XMLHttpRequest","allXhrSet","xhrSet","xhrMap","Set","cancelXHRs","open","responseType","response","onabort","onloadend","abort","clear","createXHR","send","runMiddlewares","middleware","dispatch","fn","getRawTag","objectToString","symToStringTag","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","entries","entry","has","eq","nativeCreate","getNative","isKeyable","__data__","isSymbol","InteractionMixin","_autoInteract","autoInteract","on","onTap","off","manager","interactionManager","unregisterInteraction","onPointerMove","tap","global","focus","tempPoint","tempMatrix","TickerClass","PIXI","Ticker","anchor","onAnchorChange","glContextID","elapsedTime","performance","deltaTime","_autoUpdate","init","Live2DFactory","setupLive2DModel","onLoad","tickerClass","autoUpdate","_destroyed","shared","onTickerUpdate","remove","_options","interactive","pivot","id","setRandomExpression","toModelPosition","hitAreaNames","hitTest","position","clone","skipUpdate","_recursivePostUpdateTransform","parent","displayObjectUpdateTransform","_tempDisplayObjectParent","worldTransform","applyInverse","point","getBounds","contains","_bounds","addFrame","deltaMS","renderer","registerInteraction","plugins","interaction","batch","geometry","shader","shouldUpdateTexture","CONTEXT_UID","updateWebGLContext","gl","_glTextures","pixelStorei","WebGLRenderingContext","UNPACK_FLIP_Y_WEBGL","bindTexture","touched","textureGC","count","framebuffer","internalTransform","globalUniforms","uniforms","projectionMatrix","updateTransform","draw","settingsURL","filePath","resolved","filesMap","fileMap","definedFile","decodeURI","actualFile","find","webkitRelativePath","URL","createObjectURL","_objectURL","settingsFile","endsWith","settingsText","readText","settingsJSON","JSON","parse","reader","FileReader","readAsText","File","createSettings","validateFiles","encodeURI","upload","objectURL","revokeObjectURL","resourceObjectURL","values","unshift","filePaths","getFilePaths","requiredFilePaths","getFiles","settingsFilePath","paths","ZIP_PROTOCOL","uid","sourceURL","zipBlob","startsWith","zipReader","unzip","releaseReader","initialized","texts","strokeWidth","normalColor","activeColor","textStyle","fontSize","fill","stroke","strokeThickness","text","visible","addChild","color","tx","ty","drawRect","_render","pull","baseRest","func","baseGetTag","isObject","funcToString","toString","iteratee","arrayLikeKeys","baseKeys","isArrayLike","Map","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","reIsDeepProp","reIsPlainProp","isObjectLike","identity","overRest","setToString","apply","nativeMax","args","arguments","otherArgs","thisArg","baseSetToString","shortOut","constant","string","isFunction","isMasked","toSource","reIsHostCtor","funcProto","objectProto","reIsNative","RegExp","replace","g","nativeObjectToString","isOwn","unmasked","coreJsData","maskSrcKey","exec","IE_PROTO","nativeNow","Date","lastCalled","stamp","remaining","basePullAll","arrayMap","baseIndexOf","baseIndexOfWith","baseUnary","splice","comparator","seen","fromIndex","computed","baseFindIndex","baseIsNaN","strictIndexOf","predicate","fromRight","baseIsArguments","propertyIsEnumerable","isArguments","stubFalse","freeExports","nodeType","freeModule","Buffer","isBuffer","webpackPolyfill","deprecate","children","reIsUint","baseIsTypedArray","nodeUtil","nodeIsTypedArray","isTypedArray","stackClear","stackDelete","stackGet","stackHas","stackSet","Stack","other","baseIsEqualDeep","baseIsEqual","bitmask","customizer","stack","SetCache","arraySome","cacheHas","equalFunc","isPartial","arrLength","othLength","arrStacked","othStacked","arrValue","othValue","compared","othIndex","srcValue","castPath","isKey","stringToPath","CubismBlendMode","CubismVector2","vector2","ret","scalar","multiply","division","pow","rhs","isEqual","sin","cos","PI","degrees","radian","atan2","directionToRadian","degree","radianToDegrees","totalAngle","CubismMatrix44","_tr","Float32Array","loadIdentity","dst","j","k","setMatrix","tr","tr1","getArray","cloneMatrix","_isCulling","_isPremultipliedAlpha","_anisortopy","_modelColor","CubismTextureColor","_mvpMatrix4x4","_model","getModel","doDrawModel","matrix44","red","green","blue","alpha","R","G","B","A","enable","culling","s_isStarted","s_isInitialized","s_option","Constant","LogLevel","vertexOffset","vertexStep","option","CubismLogInfo","Live2DCubismCore","_isStarted","Logging","csmSetLogFunction","logFunction","Version","csmGetVersion","minor","patch","versionNumber","CubismLogWarning","staticRelease","csmGetLogFunction","loggingLevel","LogLevel_Off","CSM_ASSERT","CubismLogDebug","fmt","print","LogLevel_Debug","LogLevel_Info","LogLevel_Warning","CubismLogError","LogLevel_Error","format","getLoggingLevel","logPrint","coreLogFunction","_fadeInSeconds","_fadeOutSeconds","_weight","_offsetSeconds","_firedEventValues","motionQueueEntry","userTimeSeconds","isAvailable","isStarted","setIsStarted","setStartTime","setFadeInStartTime","duration","getDuration","getEndTime","setEndTime","getStartTime","fadeWeight","getEasingSine","getFadeInStartTime","setState","doUpdateParameters","setIsFinished","fadeInSeconds","fadeOutSeconds","weight","offsetSeconds","beforeCheckTimeSeconds","motionTimeSeconds","onFinishedMotionHandler","_onFinishedMotion","_parameters","fadeInTime","FadeInTime","fadeOutTime","FadeOutTime","setFadeInTime","setFadeOutTime","parameters","Parameters","param","parameterId","Id","Value","blendType","Blend","ExpressionBlendType","ExpressionBlendType_Multiply","ExpressionBlendType_Overwrite","ExpressionBlendType_Add","parameter","addParameterValueById","multiplyParameterValueById","setParameterValueById","CubismMotionQueueEntry","_autoDelete","_available","_finished","_started","_startTimeSeconds","_fadeInStartTimeSeconds","_endTimeSeconds","_stateTimeSeconds","_stateWeight","_lastEventCheckSeconds","_motionQueueEntryHandle","_isTriggeredFadeOut","_motion","release","newEndTimeSeconds","startTime","endTime","f","timeSeconds","checkSeconds","_userTimeSeconds","_eventCustomData","_motions","autoDelete","InvalidMotionQueueEntryHandleValue","setFadeOut","getFadeOutTime","motionQueueEntryNumber","callback","customData","_eventCallBack","firedList","getFiredEvent","getLastCheckEventSeconds","setLastCheckEventSeconds","isTriggeredFadeOut","startFadeOut","getFadeOutSeconds","queueManager","findIndex","Name","doUpdateMotion","CubismModelSettingsJson","Groups","HitAreas","Layout","FileReferences","Moc","Expressions","motions","Motions","Textures","Physics","Pose","Ids","isValidJSON","every","Sound","CubismMotionCurveTarget","CubismMotionSegmentType","CubismMotionPoint","time","CubismMotionSegment","basePointIndex","segmentType","CubismMotionCurve","CubismMotionCurveTarget_Model","segmentCount","baseSegmentIndex","CubismMotionEvent","fireTime","CubismMotionData","loop","curveCount","eventCount","fps","curves","segments","points","events","CubismMotionJson","_json","Meta","Duration","Loop","CurveCount","Fps","TotalSegmentCount","TotalPointCount","curveIndex","Curves","Target","Segments","segmentIndex","UserDataCount","TotalUserDataSize","userDataIndex","UserData","Time","lerpPoints","linearEvaluate","bezierEvaluate","p01","p12","p23","p012","p123","steppedEvaluate","inverseSteppedEvaluate","evaluateCurve","motionData","curve","totalSegmentCount","pointPosition","CubismMotionSegmentType_Bezier","segment","evaluate","_eyeBlinkParameterIds","_lipSyncParameterIds","_sourceFrameRate","_loopDurationSeconds","_isLoop","_isLoopFadeIn","_lastWeight","_motionData","_modelCurveIdEyeBlink","_modelCurveIdLipSync","timeOffsetSeconds","lipSyncValue","Number","MAX_VALUE","eyeBlinkValue","lipSyncFlags","eyeBlinkFlags","tmpFadeIn","tmpFadeOut","parameterIndex","CubismMotionCurveTarget_Parameter","getParameterIndex","sourceValue","getParameterValueByIndex","fin","fout","setParameterValueByIndex","getParameterValueById","CubismMotionCurveTarget_PartOpacity","loopFadeIn","eyeBlinkParameterIds","lipSyncParameterIds","motionJson","getMotionDuration","isMotionLoop","getMotionCurveCount","getMotionFps","getEventCount","getMotionFadeInTime","getMotionFadeOutTime","getMotionTotalSegmentCount","totalPointCount","getMotionCurveTarget","getMotionCurveId","getMotionCurveFadeInTime","getMotionCurveFadeOutTime","segmentPosition","getMotionCurveSegmentCount","getMotionCurveSegment","CubismMotionSegmentType_Linear","CubismMotionSegmentType_Stepped","CubismMotionSegmentType_InverseStepped","userdatacount","getEventTime","getEventValue","u","eyeBlinkIds","getEyeBlinkParameters","lipSyncIds","getLipSyncParameters","setEventCallback","caller","eventValue","setFinishedMotionHandler","defaultFadingDuration","setEffectIds","CubismBreath","_breathParameters","_currentTime","breathParameters","deltaTimeSeconds","offset","peak","cycle","BreathParameterData","CubismEyeBlink","modelSetting","_blinkingState","EyeState","EyeState_First","_nextBlinkingTime","_stateStartTimeSeconds","_blinkingIntervalSeconds","_closingSeconds","_closedSeconds","_openingSeconds","_parameterIds","blinkingInterval","closing","closed","opening","parameterIds","parameterValue","EyeState_Closing","EyeState_Closed","EyeState_Opening","EyeState_Interval","determinNextBlinkingTiming","CloseIfZero","csmRect","w","h","supportMoreMaskDivisions","s_instance","s_viewport","s_fbo","_maskRenderTexture","_colorBuffer","_currentFrameNo","_clippingMaskBufferSize","_clippingContextListForMask","_clippingContextListForDraw","_channelColors","_tmpBoundsOnModel","_tmpMatrix","_tmpMatrixForMask","_tmpMatrixForDraw","tmp","channelNo","_maskTexture","frameNo","TEXTURE_2D","texImage2D","RGBA","UNSIGNED_BYTE","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","LINEAR","TEXTURE_MAG_FILTER","createFramebuffer","bindFramebuffer","FRAMEBUFFER","framebufferTexture2D","COLOR_ATTACHMENT0","CubismRenderTextureResource","clippingContext","clippedDrawTotalMinX","clippedDrawTotalMinY","clippedDrawTotalMaxX","MIN_VALUE","clippedDrawTotalMaxY","clippedDrawCount","_clippedDrawableIndexList","clippedDrawableIndex","drawableIndex","drawableVertexCount","getDrawableVertexCount","drawableVertexes","minX","minY","maxX","maxY","pi","_allClippedDrawRect","_isUsing","deleteFramebuffer","deleteTexture","drawableCount","drawableMasks","drawableMaskCounts","findSameClip","addClippedDrawable","usingClipCount","clipIndex","cc","calcClippedDrawTotalBounds","getMaskRenderTexture","getMvpMatrix","preDraw","setupLayoutBounds","clearColor","COLOR_BUFFER_BIT","clipContext","allClipedDrawRect","layoutBoundsOnTex01","_layoutBounds","MARGIN","setRect","expand","scaleX","scaleY","translateRelative","scaleRelative","_matrixForMask","_matrixForDraw","clipDrawCount","_clippingIdCount","clipDrawIndex","_clippingIdList","getDrawableDynamicFlagVertexPositionsDidChange","setIsCulling","getDrawableCulling","setClippingContextBufferForMask","drawMesh","getDrawableTextureIndices","getDrawableVertexIndexCount","getDrawableVertexIndices","getDrawableVertexUvs","getDrawableOpacity","CubismBlendMode_Normal","sameCount","clipId","div","mod","curClipIndex","layoutCount","_layoutChannelNo","xpos","ypos","clippingDrawableIndices","clipCount","_owner","setGL","_shaderSets","releaseShaderProgram","textureId","vertexCount","vertexArray","indexArray","uvArray","bufferData","opacity","colorBlendMode","baseColor","isPremultipliedAlpha","matrix4x4","invertedMask","SRC_COLOR","DST_COLOR","SRC_ALPHA","DST_ALPHA","generateShaders","clippingContextBufferForMask","getClippingContextBufferForMask","shaderSet","ShaderNames","ShaderNames_SetupMask","useProgram","shaderProgram","activeTexture","TEXTURE0","uniform1i","samplerTexture0Location","vertex","createBuffer","bindBuffer","ARRAY_BUFFER","DYNAMIC_DRAW","enableVertexAttribArray","attributePositionLocation","vertexAttribPointer","FLOAT","uv","attributeTexCoordLocation","colorChannel","getClippingManager","getChannelFlagAsColor","uniform4f","uniformChannelFlagLocation","uniformMatrix4fv","uniformClipMatrixLocation","rect","uniformBaseColorLocation","getRight","getBottom","ZERO","ONE_MINUS_SRC_COLOR","ONE_MINUS_SRC_ALPHA","clippingContextBufferForDraw","getClippingContextBufferForDraw","ShaderNames_NormalPremultipliedAlpha","ONE","CubismBlendMode_Additive","ShaderNames_AddPremultipliedAlpha","CubismBlendMode_Multiplicative","ShaderNames_MultPremultipliedAlpha","TEXTURE1","getColorBuffer","samplerTexture1Location","uniformMatrixLocation","ELEMENT_ARRAY_BUFFER","blendFuncSeparate","deleteProgram","loadShaderProgram","vertexShaderSrcSetupMask","fragmentShaderSrcsetupMask","vertexShaderSrc","fragmentShaderSrcPremultipliedAlpha","vertexShaderSrcMasked","fragmentShaderSrcMaskPremultipliedAlpha","fragmentShaderSrcMaskInvertedPremultipliedAlpha","getAttribLocation","getUniformLocation","vertexShaderSource","fragmentShaderSource","createProgram","vertShader","compileShaderSource","VERTEX_SHADER","fragShader","FRAGMENT_SHADER","attachShader","linkProgram","getProgramParameter","LINK_STATUS","deleteShader","shaderType","shaderSource","createShader","compileShader","getShaderInfoLog","getShaderParameter","COMPILE_STATUS","_clippingContextBufferForMask","_clippingContextBufferForDraw","_clippingManager","firstDraw","_textures","_sortedDrawableIndexList","_bufferData","isUsingMasking","initialize","getDrawableCount","getDrawableMasks","getDrawableMaskCounts","modelTextureNo","glTexture","setClippingMaskBufferSize","getClippingMaskBufferSize","deleteBuffer","setupClippingContext","renderOrder","getDrawableRenderOrders","order","getDrawableDynamicFlagIsVisible","setClippingContextBufferForDraw","getClippingContextListForDraw","getDrawableBlendMode","getDrawableInvertedMaskBit","textureNo","indexCount","isCulling","CULL_FACE","disable","frontFace","CCW","modelColorRGBA","getModelColor","drawtexture","getInstance","setupShaderProgram","drawElements","TRIANGLES","UNSIGNED_SHORT","deleteInstance","fbo","getExtension","SCISSOR_TEST","STENCIL_TEST","DEPTH_TEST","CW","BLEND","colorMask","clip","setGl","doStaticRelease","lipSync","breath","idParamAngleX","idParamAngleY","idParamAngleZ","idParamEyeBallX","idParamEyeBallY","idParamBodyAngleX","idParamBreath","pixelsPerUnit","centeringTransform","eyeBlink","setParameters","setIsPremultipliedAlpha","canvasinfo","CanvasWidth","CanvasHeight","_","charAt","toLowerCase","PixelsPerUnit","startUp","getDrawableIndex","getDrawableIds","arr","prepend","motionUpdated","saveParameters","updateFocus","updateNaturalMovements","loadParameters","matrix","setMvpMatrix","setRenderState","getParameter","FRAMEBUFFER_BINDING","drawModel","startupPromise","startupRetries","cubism4Ready","startUpWithRetry","startUpCubism4","cause","setTimeout","LogLevel_Verbose","CubismPose","_fadeTimeSeconds","_lastModel","_partGroups","_partGroupCounts","pose3json","poseListInfo","poseCount","poseIndex","idListInfo","idCount","groupCount","groupIndex","partInfo","partData","PartData","partId","linkListInfo","Link","linkCount","linkIndex","linkPart","link","beginIndex","partGroupCount","doFade","copyPartOpacities","partsIndex","partIndex","paramIndex","setPartOpacityByIndex","getPartOpacityByIndex","linkPartIndex","visiblePartIndex","newOpacity","a1","assignment","getPartIndex","clonePartData","_savedParameters","_drawableIds","_partIds","_notExistPartId","_notExistParameterId","_notExistParameterValues","_notExistPartOpacities","drawables","resetDynamicFlags","parameterCount","savedParameterCount","_parameterValues","partCount","parts","getPartCount","_partOpacities","maximumValues","minimumValues","defaultValues","getParameterCount","addParameterValueByIndex","multiplyParameterValueByIndex","drawableId","ids","renderOrders","textureIndices","dynamicFlags","Utils","hasVertexPositionsDidChangeBit","indexCounts","vertexCounts","getDrawableVertexPositions","indices","vertexPositions","vertexUvs","opacities","constantFlags","hasIsDoubleSidedBit","hasBlendAdditiveBit","hasBlendMultiplicativeBit","hasIsInvertedMaskBit","masks","maskCounts","hasIsVisibleBit","hasVisibilityDidChangeBit","hasOpacityDidChangeBit","hasRenderOrderDidChangeBit","_parameterMaximumValues","_parameterMinimumValues","partIds","drawableIds","_moc","_modelCount","mocBytes","fromArrayBuffer","cubismModel","Model","fromMoc","_release","CubismPhysicsTargetType","CubismPhysicsSource","initialPosition","lastPosition","lastGravity","force","velocity","CubismPhysicsSubRig","normalizationPosition","normalizationAngle","CubismPhysicsInput","destination","translationScale","inputs","outputs","particles","gravity","wind","EffectiveForces","Gravity","X","Y","Wind","PhysicsSettingCount","TotalInputCount","TotalOutputCount","VertexCount","physicsSettingIndex","PhysicsSettings","Normalization","Position","Minimum","Maximum","Default","Angle","Input","inputIndex","Weight","Reflect","Type","Source","Output","outputIndex","VertexIndex","Scale","Destination","Vertices","vertexIndex","Mobility","Delay","Acceleration","Radius","_physicsRig","radAngle","outputValue","totalTranslation","currentSetting","currentInput","currentOutput","currentParticles","parameterMaximumValue","parameterMinimumValue","parameterDefaultValue","settingIndex","subRigCount","angle","baseInputIndex","baseOutputIndex","baseParticleIndex","inputCount","sourceParameterIndex","getNormalizedParameterValue","reflect","degreesToRadian","updateParticles","particleCount","maximum","outputCount","particleIndex","destinationParameterIndex","translation","outParameterValue","stringify","subarray","updateOutputParameterValue","outParamIndex","physicsJson","getGravity","getWind","getSubRigCount","setting","minimum","getNormalizationPositionMinimumValue","getNormalizationPositionMaximumValue","defalut","getNormalizationPositionDefaultValue","getNormalizationAngleMinimumValue","getNormalizationAngleMaximumValue","getNormalizationAngleDefaultValue","getInputCount","input","getInputWeight","getInputReflect","getInputType","CubismPhysicsSource_X","getInputTranslationXFromNormalizedParameterValue","CubismPhysicsSource_Y","getInputTranslationYFromNormalizedParamterValue","CubismPhysicsSource_Angle","getInputAngleFromNormalizedParameterValue","targetType","CubismPhysicsTargetType_Parameter","getInputSourceId","getOutputCount","output","getOutputVertexIndex","angleScale","getOutputAngleScale","getOutputWeight","getOutputDestinationId","getOutputType","getOutputTranslationX","getScale","getOutputScaleTranslationX","getOutputTranslationY","getOutputScaleTranslationY","getOutputAngle","getOutputScaleAngle","getOutputReflect","getParticleCount","particle","mobility","getParticleMobility","delay","getParticleDelay","acceleration","getParticleAcceleration","radius","getParticleRadius","getParticlePosition","strand","targetTranslation","targetAngle","isInverted","normalizeParameterValue","normalizaitionPosition","parentGravity","substract","multiplyByScaler","getDefaultValue","getRangeValue","strandCount","windDirection","thresholdValue","airResistance","totalRadian","currentGravity","direction","newDirection","radianToDirection","normalize","divisionByScalar","parameterValueMinimum","parameterValueMaximum","outputScale","valueBelowMinimum","valueExceededMaximum","parameterMinimum","parameterMaximum","parameterDefault","normalizedMinimum","normalizedMaximum","normalizedDefault","maxValue","minValue","minNormValue","maxNormValue","middleNormValue","middleValue","paramValue","sign","nLength","pLength","releaseMoc","__moc","cubism4","registerRuntime","byteLength","view","Int8Array","String","fromCharCode","createModel","ignored","coreModelWithMoc","baseAssignValue","baseForOwn","baseIteratee","baseFor","createBaseFor","keysFunc","iterable","props","baseTimes","isIndex","inherited","isArr","isArg","isBuff","isType","skipIndexes","isLength","typedArrayTags","freeProcess","process","types","binding","isPrototype","nativeKeys","Ctor","constructor","overArg","arg","baseMatches","baseMatchesProperty","baseIsMatch","getMatchData","matchesStrictComparable","matchData","noCustomizer","objValue","COMPARE_PARTIAL_FLAG","assocIndexOf","pop","pairs","LARGE_ARRAY_SIZE","Hash","hashClear","hashDelete","hashGet","hashHas","hashSet","getMapData","equalArrays","equalByTag","equalObjects","getTag","objectTag","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","setCacheAdd","setCacheHas","cache","Uint8Array","mapToArray","setToArray","symbolProto","symbolValueOf","valueOf","byteOffset","buffer","convert","stacked","getAllKeys","objProps","objLength","objStacked","skipCtor","objCtor","othCtor","baseGetAllKeys","getSymbols","arrayPush","symbolsFunc","arrayFilter","stubArray","nativeGetSymbols","getOwnPropertySymbols","symbol","resIndex","DataView","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","ArrayBuffer","ctorString","isStrictComparable","hasIn","baseGet","defaultValue","memoizeCapped","rePropName","reEscapeChar","charCodeAt","match","number","quote","subString","memoize","resolver","memoized","Cache","baseToString","symbolToString","baseHasIn","hasPath","hasFunc","baseProperty","basePropertyDeep"],"mappings":"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","file":"cubism4.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@pixi/math\"), require(\"@pixi/utils\"), require(\"@pixi/core\"), require(\"@pixi/text\"), require(\"@pixi/display\"), require(\"@pixi/graphics\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"@pixi/math\", \"@pixi/utils\", \"@pixi/core\", \"@pixi/text\", \"@pixi/display\", \"@pixi/graphics\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"live2d\"] = factory(require(\"@pixi/math\"), require(\"@pixi/utils\"), require(\"@pixi/core\"), require(\"@pixi/text\"), require(\"@pixi/display\"), require(\"@pixi/graphics\"));\n\telse\n\t\troot[\"PIXI\"] = root[\"PIXI\"] || {}, root[\"PIXI\"][\"live2d\"] = factory(root[\"PIXI\"], root[\"PIXI\"][\"utils\"], root[\"PIXI\"], root[\"PIXI\"], root[\"PIXI\"], root[\"PIXI\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__2__, __WEBPACK_EXTERNAL_MODULE__3__, __WEBPACK_EXTERNAL_MODULE__20__, __WEBPACK_EXTERNAL_MODULE__24__, __WEBPACK_EXTERNAL_MODULE__34__, __WEBPACK_EXTERNAL_MODULE__35__) {\nreturn "," \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, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\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\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 167);\n","import { config } from '@/config';\n\n/**\n * A simple tagged logger.\n *\n * You can replace the methods with your own ones.\n *\n * ```js\n * import { logger } from 'pixi-live2d-display';\n *\n * logger.log = (tag, ...messages) => {\n * console.log(tag, 'says:', ...messages);\n * };\n * ```\n */\nexport namespace logger {\n export function log(tag: string, ...messages: any[]) {\n if (config.logLevel <= config.LOG_LEVEL_VERBOSE) {\n console.log(`[${tag}]`, ...messages);\n }\n }\n\n export function warn(tag: string, ...messages: any[]) {\n if (config.logLevel <= config.LOG_LEVEL_WARNING) {\n console.warn(`[${tag}]`, ...messages);\n }\n }\n\n export function error(tag: string, ...messages: any[]) {\n if (config.logLevel <= config.LOG_LEVEL_ERROR) {\n console.error(`[${tag}]`, ...messages);\n }\n }\n}\n","/**\n * These functions can be slightly faster than the ones in Lodash.\n * @packageDocumentation\n */\n\nexport function clamp(num: number, lower: number, upper: number) {\n return num < lower ? lower : num > upper ? upper : num;\n}\n\nexport function rand(min: number, max: number) {\n return Math.random() * (max - min) + min;\n}\n","/**\n * Copies a property at only if it matches the `type`.\n * @param type - Type expected to match `typeof` on the property.\n * @param from - Source object.\n * @param to - Destination object.\n * @param fromKey - Key of the property in source object.\n * @param toKey - Key of the property in destination object.\n */\n// TODO: lint and fix the formatting!\nexport function copyProperty>>(type: string, from: From, to: To, fromKey: FromKey, toKey: ToKey) {\n const value = from[fromKey];\n\n if (value !== null && typeof value === type) {\n // a type error will occur here, have no idea\n to[toKey] = value as any;\n }\n}\n\n/**\n * Copies an array at `key`, filtering the items that match the `type`.\n * @param type - Type expected to match `typeof` on the items.\n * @param from - Source object.\n * @param to - Destination object.\n * @param fromKey - Key of the array property in source object.\n * @param toKey - Key of the array property in destination object.\n */\nexport function copyArray>, ToKey extends keyof any, To extends Partial>>(type: string, from: From, to: To, fromKey: FromKey, toKey: ToKey) {\n const array = from[fromKey];\n\n if (Array.isArray(array)) {\n to[toKey] = array.filter(item => item !== null && typeof item === type) as any;\n }\n}\n\n/**\n * @see {@link https://www.typescriptlang.org/docs/handbook/mixins.html}\n */\nexport function applyMixins(derivedCtor: any, baseCtors: any[]) {\n baseCtors.forEach(baseCtor => {\n Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {\n if (name !== 'constructor') {\n Object.defineProperty(derivedCtor.prototype, name, Object.getOwnPropertyDescriptor(baseCtor.prototype, name)!);\n }\n });\n });\n}\n","/**\n * Gets the name of parent folder in a url.\n * @param url - URL of a file.\n * @return Name of the parent folder, or the file itself if it has no parent folder.\n */\nexport function folderName(url: string) {\n let lastSlashIndex = url.lastIndexOf('/');\n\n if (lastSlashIndex != -1) {\n url = url.slice(0, lastSlashIndex);\n }\n\n lastSlashIndex = url.lastIndexOf('/');\n\n if (lastSlashIndex !== -1) {\n url = url.slice(lastSlashIndex + 1);\n }\n\n return url;\n}\n","/**\n * Global configs.\n */\nexport namespace config {\n export const LOG_LEVEL_VERBOSE = 0;\n export const LOG_LEVEL_WARNING = 1;\n export const LOG_LEVEL_ERROR = 2;\n export const LOG_LEVEL_NONE = 999;\n\n declare const __PRODUCTION__: boolean;\n\n /**\n * Global log level.\n * @default {@link LOG_LEVEL_WARNING}\n */\n export let logLevel = __PRODUCTION__ ? LOG_LEVEL_WARNING : LOG_LEVEL_VERBOSE;\n\n /**\n * Enabling sound for motions.\n */\n export let sound = true;\n\n /**\n * Deferring motion and corresponding sound until both are loaded.\n */\n export let motionSync = true;\n\n /**\n * Default fading duration for motions without such value specified.\n */\n export let motionFadingDuration = 500;\n\n /**\n * Default fading duration for idle motions without such value specified.\n */\n export let idleMotionFadingDuration = 2000;\n\n /**\n * Default fading duration for expressions without such value specified.\n */\n export let expressionFadingDuration = 500;\n\n export let cubism4: {\n /**\n * Should masks support 4x4 division, which is unofficial and experimental.\n * See [official manual](https://docs.live2d.com/cubism-sdk-manual/ow-sdk-mask-premake-web/?locale=en_us).\n * @default true\n */\n supportMoreMaskDivisions: boolean;\n } | undefined;\n}\n\ndeclare const __VERSION__: string;\n\n/**\n * Consistent with the `version` in package.json.\n */\nexport const VERSION = __VERSION__;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__2__;","module.exports = __WEBPACK_EXTERNAL_MODULE__3__;","import { ExpressionManager, InternalModel, ModelSettings, MotionManager } from '@/cubism-common';\nimport { XHRLoader } from '@/factory/XHRLoader';\nimport { Live2DModel } from '@/Live2DModel';\nimport { Middleware, runMiddlewares } from '@/utils/middleware';\n\nexport type Live2DLoaderTarget = Live2DModel | InternalModel | MotionManager | ExpressionManager\n\n/**\n * The context transferred through Live2DLoader middlewares.\n */\nexport interface Live2DLoaderContext {\n /** The XHR's response type. */\n type: XMLHttpRequestResponseType;\n\n /** Will be resolved by {@link ModelSettings.resolveURL} if a ModelSettings is provided. */\n url: string;\n\n /** If provided, the given URL will be resolved by {@link ModelSettings.resolveURL}. */\n settings?: ModelSettings;\n\n /**\n * Owner of this resource. The load task will be automatically canceled\n * when receiving an \"destroy\" event from the target.\n */\n target?: Live2DLoaderTarget;\n\n /** Loaded data. */\n result?: any;\n}\n\nexport class Live2DLoader {\n static middlewares: Middleware[] = [XHRLoader.loader];\n\n /**\n * Loads a resource.\n * @return Promise that resolves with the loaded data in a format that's consistent with the specified `type`.\n */\n static load(context: Live2DLoaderContext): Promise {\n return runMiddlewares(this.middlewares, context).then(() => context.result);\n }\n}\n","import { Middleware } from '@/utils/middleware';\nimport { Live2DLoader } from '@/factory/Live2DLoader';\nimport { ModelSettings } from '@/cubism-common';\nimport { logger } from '@/utils';\nimport { createTexture } from '@/factory/texture';\nimport { Live2DFactory, Live2DFactoryContext } from '@/factory/Live2DFactory';\n\nconst TAG = 'Live2DFactory';\n\n/**\n * A middleware that converts the source from a URL to a settings JSON object.\n */\nexport const urlToJSON: Middleware = async (context, next) => {\n if (typeof context.source === 'string') {\n const data = await Live2DLoader.load({\n url: context.source,\n type: 'json',\n target: context.live2dModel,\n });\n\n data.url = context.source;\n\n context.source = data;\n\n context.live2dModel.emit('settingsJSONLoaded', data);\n }\n\n return next();\n};\n\n/**\n * A middleware that converts the source from a settings JSON object to a ModelSettings instance.\n */\nexport const jsonToSettings: Middleware = async (context, next) => {\n if (context.source instanceof ModelSettings) {\n context.settings = context.source;\n\n return next();\n } else if (typeof context.source === 'object') {\n const runtime = Live2DFactory.findRuntime(context.source);\n\n if (runtime) {\n const settings = runtime.createModelSettings(context.source);\n\n context.settings = settings;\n context.live2dModel.emit('settingsLoaded', settings);\n\n return next();\n }\n }\n\n throw new TypeError('Unknown settings format.');\n};\n\nexport const waitUntilReady: Middleware = (context, next) => {\n if (context.settings) {\n const runtime = Live2DFactory.findRuntime(context.settings);\n\n if (runtime) {\n return runtime.ready().then(next);\n }\n }\n\n return next();\n};\n\n/**\n * A middleware that populates the Live2DModel with optional resources.\n * Requires InternalModel in context when all the subsequent middlewares have finished.\n */\nexport const setupOptionals: Middleware = async (context, next) => {\n // wait until all has finished\n await next();\n\n const internalModel = context.internalModel;\n\n if (internalModel) {\n const settings = context.settings!;\n const runtime = Live2DFactory.findRuntime(settings);\n\n if (runtime) {\n const tasks: Promise[] = [];\n\n if (settings.pose) {\n tasks.push(\n Live2DLoader.load({\n settings,\n url: settings.pose,\n type: 'json',\n target: internalModel,\n })\n .then((data: ArrayBuffer) => {\n internalModel.pose = runtime.createPose(internalModel.coreModel, data);\n context.live2dModel.emit('poseLoaded', internalModel.pose);\n })\n .catch((e: Error) => logger.warn(TAG, 'Failed to load pose.\\n', e)),\n );\n }\n\n if (settings.physics) {\n tasks.push(\n Live2DLoader.load({\n settings,\n url: settings.physics,\n type: 'json',\n target: internalModel,\n })\n .then((data: ArrayBuffer) => {\n internalModel.physics = runtime.createPhysics(internalModel.coreModel, data);\n context.live2dModel.emit('physicsLoaded', internalModel.physics);\n })\n .catch((e: Error) => logger.warn(TAG, 'Failed to load physics.\\n', e)),\n );\n }\n\n if (tasks.length) {\n await Promise.all(tasks);\n }\n }\n }\n};\n\n/**\n * A middleware that populates the Live2DModel with essential resources.\n * Requires ModelSettings in context immediately, and InternalModel in context\n * when all the subsequent middlewares have finished.\n */\nexport const setupEssentials: Middleware = async (context, next) => {\n if (context.settings) {\n const live2DModel = context.live2dModel;\n\n const textureLoadings = context.settings.textures.map(tex => {\n const url = context.settings!.resolveURL(tex);\n return createTexture(url, { crossOrigin: context.options.crossOrigin });\n });\n\n // wait for the internal model to be created\n await next();\n\n if (context.internalModel) {\n live2DModel.internalModel = context.internalModel;\n live2DModel.emit('modelLoaded', context.internalModel);\n } else {\n throw new TypeError('Missing internal model.');\n }\n\n live2DModel.textures = await Promise.all(textureLoadings);\n live2DModel.emit('textureLoaded', live2DModel.textures);\n } else {\n throw new TypeError('Missing settings.');\n }\n};\n\n/**\n * A middleware that creates the InternalModel. Requires ModelSettings in context.\n */\nexport const createInternalModel: Middleware = async (context, next) => {\n const settings = context.settings;\n\n if (settings instanceof ModelSettings) {\n const runtime = Live2DFactory.findRuntime(settings);\n\n if (!runtime) {\n throw new TypeError('Unknown model settings.');\n }\n\n const modelData = await Live2DLoader.load({\n settings,\n url: settings.moc,\n type: 'arraybuffer',\n target: context.live2dModel,\n });\n\n if (!runtime.isValidMoc(modelData)) {\n throw new Error('Invalid moc data');\n }\n\n const coreModel = runtime.createCoreModel(modelData);\n\n context.internalModel = runtime.createInternalModel(coreModel, settings, context.options);\n\n return next();\n }\n\n throw new TypeError('Missing settings.');\n};\n","import { Texture } from '@pixi/core';\n\nexport function createTexture(url: string, options: { crossOrigin?: string } = {}): Promise {\n const textureOptions: any = { resourceOptions: { crossorigin: options.crossOrigin } };\n\n // there's already such a method since Pixi v5.3.0\n if ((Texture as any).fromURL) {\n return Texture.fromURL(url, textureOptions).catch(e => {\n if (e instanceof Error) {\n throw e;\n }\n\n // assume e is an ErrorEvent, let's convert it to an Error\n const err = new Error('Texture loading error');\n (err as any).event = e;\n\n throw err;\n });\n }\n\n // and in order to provide backward compatibility for older Pixi versions,\n // we have to manually implement this method\n // see https://github.com/pixijs/pixi.js/pull/6687/files\n\n textureOptions.resourceOptions.autoLoad = false;\n\n const texture = Texture.from(url, textureOptions);\n\n if (texture.baseTexture.valid) {\n return Promise.resolve(texture);\n }\n\n const resource = texture.baseTexture.resource as any;\n\n // before Pixi v5.2.2, the Promise will not be rejected when loading has failed,\n // we have to manually handle the \"error\" event\n // see https://github.com/pixijs/pixi.js/pull/6374\n resource._live2d_load ??= new Promise((resolve, reject) => {\n const errorHandler = (event: ErrorEvent) => {\n (resource.source as HTMLImageElement).removeEventListener('error', errorHandler);\n\n // convert the ErrorEvent to an Error\n const err = new Error('Texture loading error');\n (err as any).event = event;\n\n reject(err);\n };\n\n (resource.source as HTMLImageElement).addEventListener('error', errorHandler);\n\n (resource.load() as Promise).then(() => resolve(texture)).catch(errorHandler);\n });\n\n return resource._live2d_load;\n}\n","import { ExpressionManager, InternalModel, ModelSettings, MotionManager } from '@/cubism-common';\nimport { Live2DLoader } from '@/factory/Live2DLoader';\nimport { Live2DModel, Live2DModelOptions } from '@/Live2DModel';\nimport { logger } from '@/utils';\nimport { Middleware, runMiddlewares } from '@/utils/middleware';\nimport {\n createInternalModel,\n jsonToSettings,\n setupEssentials,\n setupOptionals,\n urlToJSON,\n waitUntilReady,\n} from '@/factory/model-middlewares';\n\nexport interface Live2DFactoryOptions extends Live2DModelOptions {\n /**\n * String to use for crossOrigin properties on `` elements when loading textures.\n * @default undefined\n */\n crossOrigin?: string;\n\n /**\n * Callback invokes when the model has been loaded.\n * @default undefined\n */\n onLoad?(): void;\n\n /**\n * Callback invokes when error occurs while loading the model.\n * @default undefined\n */\n onError?(e: Error): void;\n}\n\n/**\n * The context transferred through the model creation middlewares.\n */\nexport interface Live2DFactoryContext {\n source: any,\n options: Live2DFactoryOptions;\n live2dModel: Live2DModel;\n internalModel?: InternalModel;\n settings?: ModelSettings;\n}\n\n/**\n * Represents a Cubism version.\n */\nexport interface Live2DRuntime {\n /**\n * The version number. Higher version takes priority when matching the runtime.\n */\n version: number;\n\n /**\n * Checks if the source belongs to this runtime.\n * @param source - Either a settings JSON object or a ModelSettings instance.\n * @return True if the source belongs to this runtime.\n */\n test(source: any): boolean;\n\n // TODO: remove\n ready(): Promise;\n\n /**\n * Checks if the data is a valid moc to create the core model.\n * @param modelData - The moc content.\n * @return True if the data is valid.\n */\n isValidMoc(modelData: ArrayBuffer): boolean;\n\n /**\n * Creates a ModelSettings.\n * @param json - The settings JSON object.\n * @return Created ModelSettings.\n */\n createModelSettings(json: JSONObject): ModelSettings;\n\n /**\n * Creates a core model.\n * @param data - Content of the moc file.\n * @return Created core model.\n */\n createCoreModel(data: ArrayBuffer): any;\n\n /**\n * Creates an InternalModel.\n * @param coreModel - Core model that *must* belong to this runtime.\n * @param settings - ModelSettings of this model.\n * @param options - Options that will be passed to the InternalModel's constructor.\n * @return Created InternalModel.\n */\n createInternalModel(coreModel: any, settings: ModelSettings, options?: Live2DFactoryOptions): InternalModel;\n\n /**\n * Creates a pose.\n * @param coreModel - Core model that *must* belong to this runtime.\n * @param data - Content of the pose file.\n * @return Created pose.\n */\n createPose(coreModel: any, data: any): any;\n\n /**\n * Creates a physics.\n * @param coreModel - Core model that *must* belong to this runtime.\n * @param data - Content of the physics file.\n * @return Created physics.\n */\n createPhysics(coreModel: any, data: any): any;\n}\n\n/**\n * Handles all the network load tasks.\n *\n * - Model creation: requested by {@link Live2DModel.from}.\n * - Motion loading: implements the load method of MotionManager.\n * - Expression loading: implements the load method of ExpressionManager.\n */\nexport class Live2DFactory {\n /**\n * All registered runtimes, sorted by versions in descending order.\n */\n static runtimes: Live2DRuntime[] = [];\n\n static urlToJSON = urlToJSON;\n static jsonToSettings = jsonToSettings;\n static waitUntilReady = waitUntilReady;\n static setupOptionals = setupOptionals;\n static setupEssentials = setupEssentials;\n static createInternalModel = createInternalModel;\n\n /**\n * Middlewares to run through when setting up a Live2DModel.\n */\n static live2DModelMiddlewares: Middleware[] = [\n urlToJSON, jsonToSettings, waitUntilReady, setupOptionals, setupEssentials, createInternalModel,\n ];\n\n /**\n * load tasks of each motion. The structure of each value in this map\n * is the same as respective {@link MotionManager.definitions}.\n */\n static motionTasksMap = new WeakMap | undefined)[]>>();\n\n /**\n * Load tasks of each expression.\n */\n static expressionTasksMap = new WeakMap | undefined)[]>();\n\n /**\n * Registers a Live2DRuntime.\n */\n static registerRuntime(runtime: Live2DRuntime) {\n Live2DFactory.runtimes.push(runtime);\n\n // higher version as higher priority\n Live2DFactory.runtimes.sort((a, b) => b.version - a.version);\n }\n\n /**\n * Finds a runtime that matches given source.\n * @param source - Either a settings JSON object or a ModelSettings instance.\n * @return The Live2DRuntime, or undefined if not found.\n */\n static findRuntime(source: any): Live2DRuntime | undefined {\n for (const runtime of Live2DFactory.runtimes) {\n if (runtime.test(source)) {\n return runtime;\n }\n }\n }\n\n /**\n * Sets up a Live2DModel, populating it with all defined resources.\n * @param live2dModel - The Live2DModel instance.\n * @param source - Can be one of: settings file URL, settings JSON object, ModelSettings instance.\n * @param options - Options for the process.\n * @return Promise that resolves when all resources have been loaded, rejects when error occurs.\n */\n static async setupLive2DModel(live2dModel: Live2DModel, source: string | object | IM['settings'], options?: Live2DFactoryOptions): Promise {\n const textureLoaded = new Promise(resolve => live2dModel.once('textureLoaded', resolve));\n const modelLoaded = new Promise(resolve => live2dModel.once('modelLoaded', resolve));\n\n // because the \"ready\" event is supposed to be emitted after\n // both the internal model and textures have been loaded,\n // we should here wrap the emit() in a then() so it'll\n // be executed after all the handlers of \"modelLoaded\" and \"textureLoaded\"\n const readyEventEmitted = Promise.all([textureLoaded, modelLoaded]).then(() => live2dModel.emit('ready'));\n\n await runMiddlewares(Live2DFactory.live2DModelMiddlewares, {\n live2dModel,\n source,\n options: options || {},\n });\n\n // the \"load\" event should never be emitted before \"ready\"\n await readyEventEmitted;\n\n live2dModel.emit('load');\n }\n\n /**\n * Loads a Motion and registers the task to {@link motionTasksMap}. The task will be automatically\n * canceled when its owner - the MotionManager instance - has been destroyed.\n * @param motionManager - MotionManager that owns this Motion.\n * @param group - The motion group.\n * @param index - Index in the motion group.\n * @return Promise that resolves with the Motion, or with undefined if it can't be loaded.\n */\n static loadMotion(motionManager: MotionManager, group: string, index: number): Promise {\n // errors in this method are always handled\n const handleError = (e: any) => motionManager.emit('motionLoadError', group, index, e);\n\n try {\n const definition = motionManager.definitions[group] ?. [index];\n\n if (!definition) {\n return Promise.resolve(undefined);\n }\n\n if (!motionManager.listeners('destroy').includes(Live2DFactory.releaseTasks)) {\n motionManager.once('destroy', Live2DFactory.releaseTasks);\n }\n\n let tasks = Live2DFactory.motionTasksMap.get(motionManager);\n\n if (!tasks) {\n tasks = {};\n Live2DFactory.motionTasksMap.set(motionManager, tasks);\n }\n\n let taskGroup = tasks[group];\n\n if (!taskGroup) {\n taskGroup = [];\n tasks[group] = taskGroup;\n }\n\n const path = motionManager.getMotionFile(definition);\n\n taskGroup[index] ??= Live2DLoader.load({\n url: path,\n settings: motionManager.settings,\n type: motionManager.motionDataType,\n target: motionManager,\n })\n .then(data => {\n const taskGroup = Live2DFactory.motionTasksMap.get(motionManager)?.[group];\n\n if (taskGroup) {\n delete taskGroup[index];\n }\n\n const motion = motionManager.createMotion(data, group, definition);\n\n motionManager.emit('motionLoaded', group, index, motion);\n\n return motion;\n })\n .catch(e => {\n logger.warn(motionManager.tag, `Failed to load motion: ${path}\\n`, e);\n handleError(e);\n });\n\n return taskGroup[index]!;\n } catch (e) {\n logger.warn(motionManager.tag, `Failed to load motion at \"${group}\"[${index}]\\n`, e);\n handleError(e);\n }\n\n return Promise.resolve(undefined);\n }\n\n /**\n * Loads an Expression and registers the task to {@link expressionTasksMap}. The task will be automatically\n * canceled when its owner - the ExpressionManager instance - has been destroyed.\n * @param expressionManager - ExpressionManager that owns this Expression.\n * @param index - Index of the Expression.\n * @return Promise that resolves with the Expression, or with undefined if it can't be loaded.\n */\n static loadExpression(expressionManager: ExpressionManager, index: number): Promise {\n // errors in this method are always handled\n const handleError = (e: any) => expressionManager.emit('expressionLoadError', index, e);\n\n try {\n const definition = expressionManager.definitions[index];\n\n if (!definition) {\n return Promise.resolve(undefined);\n }\n\n if (!expressionManager.listeners('destroy').includes(Live2DFactory.releaseTasks)) {\n expressionManager.once('destroy', Live2DFactory.releaseTasks);\n }\n\n let tasks = Live2DFactory.expressionTasksMap.get(expressionManager);\n\n if (!tasks) {\n tasks = [];\n Live2DFactory.expressionTasksMap.set(expressionManager, tasks);\n }\n\n const path = expressionManager.getExpressionFile(definition);\n\n tasks[index] ??= Live2DLoader.load({\n url: path,\n settings: expressionManager.settings,\n type: 'json',\n target: expressionManager,\n })\n .then(data => {\n const tasks = Live2DFactory.expressionTasksMap.get(expressionManager);\n\n if (tasks) {\n delete tasks[index];\n }\n\n const expression = expressionManager.createExpression(data, definition);\n\n expressionManager.emit('expressionLoaded', index, expression);\n\n return expression;\n })\n .catch(e => {\n logger.warn(expressionManager.tag, `Failed to load expression: ${path}\\n`, e);\n handleError(e);\n });\n\n return tasks[index]!;\n } catch (e) {\n logger.warn(expressionManager.tag, `Failed to load expression at [${index}]\\n`, e);\n handleError(e);\n }\n\n return Promise.resolve(undefined);\n }\n\n static releaseTasks(this: MotionManager | ExpressionManager) {\n if (this instanceof MotionManager) {\n Live2DFactory.motionTasksMap.delete(this);\n } else {\n Live2DFactory.expressionTasksMap.delete(this);\n }\n }\n}\n\n(MotionManager.prototype as any)._loadMotion = function(this: MotionManager, group: string, index: number) {\n return Live2DFactory.loadMotion(this, group, index);\n};\n\n(ExpressionManager.prototype as any)._loadExpression = function(this: ExpressionManager, index: number) {\n return Live2DFactory.loadExpression(this, index);\n};\n","export * from './constants';\nexport * from './ExpressionManager';\nexport * from './FocusController';\nexport * from './ModelSettings';\nexport * from './MotionState';\nexport * from './MotionManager';\nexport * from './SoundManager';\nexport * from './InternalModel';\n","import { logger } from '@/utils';\nimport pull from 'lodash/pull';\n\nconst TAG = 'SoundManager';\nconst VOLUME = 0.5;\n\n/**\n * Manages all the sounds.\n */\nexport class SoundManager {\n /**\n * Audio elements playing or pending to play. Finished audios will be removed automatically.\n */\n static audios: HTMLAudioElement[] = [];\n\n protected static _volume = VOLUME;\n\n /**\n * Global volume that applies to all the sounds.\n */\n static get volume(): number {\n return this._volume;\n }\n\n static set volume(value: number) {\n this._volume = (value > 1 ? 1 : value < 0 ? 0 : value) || 0;\n this.audios.forEach(audio => (audio.volume = this._volume));\n }\n\n // TODO: return an ID?\n /**\n * Creates an audio element and adds it to the {@link audios}.\n * @param file - URL of the sound file.\n * @param onFinish - Callback invoked when the playback has finished.\n * @param onError - Callback invoked when error occurs.\n * @return Created audio element.\n */\n static add(file: string, onFinish?: () => void, onError?: (e: Error) => void): HTMLAudioElement {\n const audio = new Audio(file);\n\n audio.volume = this._volume;\n audio.preload = 'auto';\n\n audio.addEventListener('ended', () => {\n this.dispose(audio);\n onFinish?.();\n });\n\n audio.addEventListener('error', (e: ErrorEvent) => {\n this.dispose(audio);\n logger.warn(TAG, `Error occurred on \"${file}\"`, e.error);\n onError?.(e.error);\n });\n\n this.audios.push(audio);\n\n return audio;\n }\n\n /**\n * Plays the sound.\n * @param audio - An audio element.\n * @return Promise that resolves when the audio is ready to play, rejects when error occurs.\n */\n static play(audio: HTMLAudioElement): Promise {\n return new Promise((resolve, reject) => {\n // see https://developers.google.com/web/updates/2017/09/autoplay-policy-changes\n audio.play()?.catch(e => {\n audio.dispatchEvent(new ErrorEvent('error', { error: e }));\n reject(e);\n });\n\n if (audio.readyState === audio.HAVE_ENOUGH_DATA) {\n resolve();\n } else {\n audio.addEventListener('canplaythrough', resolve as () => void);\n }\n });\n }\n\n /**\n * Disposes an audio element and removes it from {@link audios}.\n * @param audio - An audio element.\n */\n static dispose(audio: HTMLAudioElement): void {\n audio.pause();\n audio.removeAttribute('src');\n\n pull(this.audios, audio);\n }\n\n /**\n * Destroys all managed audios.\n */\n static destroy(): void {\n // dispose() removes given audio from the array, so the loop must be backward\n for (let i = this.audios.length - 1; i >= 0; i--) {\n this.dispose(this.audios[i]!);\n }\n }\n}\n","export const LOGICAL_WIDTH = 2;\nexport const LOGICAL_HEIGHT = 2;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","import { logger } from '@/utils';\n\n/**\n * Indicates the motion priority.\n */\nexport enum MotionPriority {\n /** States that the model is currently not playing any motion. This priority cannot be applied to a motion. */\n NONE,\n\n /** Low priority, used when starting idle motions automatically. */\n IDLE,\n\n /** Medium priority. */\n NORMAL,\n\n /** High priority. Motions as this priority will always be played regardless of the current priority. */\n FORCE\n}\n\n/**\n * Handles the state of a MotionManager.\n */\nexport class MotionState {\n /**\n * Tag for logging.\n */\n tag!: string;\n\n /**\n * When enabled, the states will be dumped to the logger when an exception occurs.\n */\n debug = false;\n\n /**\n * Priority of the current motion. Will be `MotionPriority.NONE` if there's no playing motion.\n */\n currentPriority = MotionPriority.NONE;\n\n /**\n * Priority of the reserved motion, which is still in loading and will be played once loaded.\n * Will be `MotionPriority.NONE` if there's no reserved motion.\n */\n reservePriority = MotionPriority.NONE;\n\n /**\n * Group of current motion.\n */\n currentGroup?: string;\n\n /**\n * Index of current motion in its group.\n */\n currentIndex?: number;\n\n /**\n * Group of the reserved motion.\n */\n reservedGroup?: string;\n\n /**\n * Index of the reserved motion in its group.\n */\n reservedIndex?: number;\n\n /**\n * Group of the reserved idle motion.\n */\n reservedIdleGroup?: string;\n\n /**\n * Index of the reserved idle motion in its group.\n */\n reservedIdleIndex?: number;\n\n /**\n * Reserves the playback for a motion.\n * @param group - The motion group.\n * @param index - Index in the motion group.\n * @param priority - The priority to be applied.\n * @return True if the reserving has succeeded.\n */\n reserve(group: string, index: number, priority: MotionPriority): boolean {\n if (priority <= MotionPriority.NONE) {\n logger.log(this.tag, `Cannot start a motion with MotionPriority.NONE.`);\n return false;\n }\n\n if (group === this.currentGroup && index === this.currentIndex) {\n logger.log(this.tag, `Motion is already playing.`, this.dump(group, index));\n return false;\n }\n\n if ((group === this.reservedGroup && index === this.reservedIndex) || (group === this.reservedIdleGroup && index === this.reservedIdleIndex)) {\n logger.log(this.tag, `Motion is already reserved.`, this.dump(group, index));\n return false;\n }\n\n if (priority === MotionPriority.IDLE) {\n if (this.currentPriority !== MotionPriority.NONE) {\n logger.log(this.tag, `Cannot start idle motion because another motion is playing.`, this.dump(group, index));\n return false;\n }\n\n if (this.reservedIdleGroup !== undefined) {\n logger.log(this.tag, `Cannot start idle motion because another idle motion has reserved.`, this.dump(group, index));\n return false;\n }\n\n this.setReservedIdle(group, index);\n } else {\n if (priority < MotionPriority.FORCE) {\n if (priority <= this.currentPriority) {\n logger.log(this.tag, 'Cannot start motion because another motion is playing as an equivalent or higher priority.', this.dump(group, index));\n return false;\n }\n\n if (priority <= this.reservePriority) {\n logger.log(this.tag, 'Cannot start motion because another motion has reserved as an equivalent or higher priority.', this.dump(group, index));\n return false;\n }\n }\n\n this.setReserved(group, index, priority);\n }\n\n return true;\n }\n\n /**\n * Requests the playback for a motion.\n * @param motion - The Motion, can be undefined.\n * @param group - The motion group.\n * @param index - Index in the motion group.\n * @param priority - The priority to be applied.\n * @return True if the request has been approved, i.e. the motion is allowed to play.\n */\n start(motion: any, group: string, index: number, priority: MotionPriority): boolean {\n if (priority === MotionPriority.IDLE) {\n this.setReservedIdle(undefined, undefined);\n\n if (this.currentPriority !== MotionPriority.NONE) {\n logger.log(this.tag, 'Cannot start idle motion because another motion is playing.', this.dump(group, index));\n return false;\n }\n } else {\n if (group !== this.reservedGroup || index !== this.reservedIndex) {\n logger.log(this.tag, 'Cannot start motion because another motion has taken the place.', this.dump(group, index));\n return false;\n }\n\n this.setReserved(undefined, undefined, MotionPriority.NONE);\n }\n\n if (!motion) {\n return false;\n }\n\n this.setCurrent(group, index, priority);\n\n return true;\n }\n\n /**\n * Notifies the motion playback has finished.\n */\n complete() {\n this.setCurrent(undefined, undefined, MotionPriority.NONE);\n }\n\n /**\n * Sets the current motion.\n */\n setCurrent(group: string | undefined, index: number | undefined, priority: MotionPriority) {\n this.currentPriority = priority;\n this.currentGroup = group;\n this.currentIndex = index;\n }\n\n /**\n * Sets the reserved motion.\n */\n setReserved(group: string | undefined, index: number | undefined, priority: MotionPriority) {\n this.reservePriority = priority;\n this.reservedGroup = group;\n this.reservedIndex = index;\n }\n\n /**\n * Sets the reserved idle motion.\n */\n setReservedIdle(group: string | undefined, index: number | undefined) {\n this.reservedIdleGroup = group;\n this.reservedIdleIndex = index;\n }\n\n /**\n * Checks if a Motion is currently playing or has reserved.\n * @return True if active.\n */\n isActive(group: string, index: number): boolean {\n return (group === this.currentGroup && index === this.currentIndex)\n || (group === this.reservedGroup && index === this.reservedIndex)\n || (group === this.reservedIdleGroup && index === this.reservedIdleIndex);\n }\n\n /**\n * Resets the state.\n */\n reset() {\n this.setCurrent(undefined, undefined, MotionPriority.NONE);\n\n // make sure the reserved motions (if existing) won't start when they are loaded\n this.setReserved(undefined, undefined, MotionPriority.NONE);\n this.setReservedIdle(undefined, undefined);\n }\n\n /**\n * Checks if an idle motion should be requests to play.\n */\n shouldRequestIdleMotion(): boolean {\n return this.currentGroup === undefined && this.reservedIdleGroup === undefined;\n }\n\n /**\n * Checks if the model's expression should be overridden by the motion.\n */\n shouldOverrideExpression(): boolean {\n return this.currentPriority > MotionPriority.IDLE;\n }\n\n /**\n * Dumps the state for debugging.\n */\n dump(requestedGroup?: string, requestedIndex?: number): string {\n if (this.debug) {\n const keys: (keyof this)[] = [\n 'currentPriority',\n 'reservePriority',\n 'currentGroup',\n 'currentIndex',\n 'reservedGroup',\n 'reservedIndex',\n 'reservedIdleGroup',\n 'reservedIdleIndex',\n ];\n return `\\n group = \"${requestedGroup}\", index = ${requestedIndex}\\n` + keys.map(key => '[' + key + '] ' + this[key]).join('\\n');\n }\n return '';\n }\n}\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","import { ModelSettings } from '@/cubism-common/ModelSettings';\nimport { MotionManagerOptions } from '@/cubism-common/MotionManager';\nimport { logger } from '@/utils';\nimport { EventEmitter } from '@pixi/utils';\n\n/**\n * Abstract expression manager.\n * @emits {@link ExpressionManagerEvents}\n */\nexport abstract class ExpressionManager extends EventEmitter {\n /**\n * Tag for logging.\n */\n tag: string;\n\n /**\n * Expression definitions copied from ModelSettings.\n */\n abstract readonly definitions: ExpressionSpec[];\n\n /**\n * The ModelSettings reference.\n */\n readonly settings: ModelSettings;\n\n /**\n * The Expressions. The structure is the same as {@link definitions}, initially there's only\n * an empty array, which means all expressions will be `undefined`. When an Expression has\n * been loaded, it'll fill the place in which it should be; when it fails to load,\n * the place will be filled with `null`.\n */\n expressions: (Expression | null | undefined)[] = [];\n\n /**\n * An empty Expression to reset all the expression parameters.\n */\n defaultExpression!: Expression;\n\n /**\n * Current Expression. This will not be overwritten by the {@link defaultExpression}.\n */\n currentExpression!: Expression;\n\n /**\n * The pending Expression.\n */\n reserveExpressionIndex = -1;\n\n /**\n * Flags the instance has been destroyed.\n */\n destroyed = false;\n\n protected constructor(settings: ModelSettings, options?: MotionManagerOptions) {\n super();\n this.settings = settings;\n this.tag = `ExpressionManager(${settings.name})`;\n }\n\n /**\n * Should be called in the constructor of derived class.\n */\n protected init() {\n this.defaultExpression = this.createExpression({}, undefined);\n this.currentExpression = this.defaultExpression;\n\n this.stopAllExpressions();\n }\n\n /**\n * Loads an Expression. Errors in this method will not be thrown,\n * but be emitted with an \"expressionLoadError\" event.\n * @param index - Index of the expression in definitions.\n * @return Promise that resolves with the Expression, or with undefined if it can't be loaded.\n * @emits {@link ExpressionManagerEvents.expressionLoaded}\n * @emits {@link ExpressionManagerEvents.expressionLoadError}\n */\n protected async loadExpression(index: number): Promise {\n if (!this.definitions[index]) {\n logger.warn(this.tag, `Undefined expression at [${index}]`);\n return undefined;\n }\n\n if (this.expressions[index] === null) {\n logger.warn(this.tag, `Cannot set expression at [${index}] because it's already failed in loading.`);\n return undefined;\n }\n\n if (this.expressions[index]) {\n return this.expressions[index] as Expression;\n }\n\n const expression = await this._loadExpression(index);\n\n this.expressions[index] = expression;\n\n return expression;\n }\n\n /**\n * Loads the Expression. Will be implemented by Live2DFactory.\n * @ignore\n */\n private _loadExpression(index: number): Promise {\n throw new Error('Not implemented.');\n }\n\n /**\n * Sets a random Expression that differs from current one.\n * @return Promise that resolves with true if succeeded, with false otherwise.\n */\n async setRandomExpression(): Promise {\n if (this.definitions.length) {\n const availableIndices = [];\n\n for (let i = 0; i < this.definitions.length; i++) {\n if (\n this.expressions[i] !== null\n && this.expressions[i] !== this.currentExpression\n && i !== this.reserveExpressionIndex\n ) {\n availableIndices.push(i);\n }\n }\n\n if (availableIndices.length) {\n const index = Math.floor(Math.random() * availableIndices.length);\n\n return this.setExpression(index);\n }\n }\n\n return false;\n }\n\n /**\n * Resets model's expression using {@link defaultExpression}.\n */\n resetExpression(): void {\n this._setExpression(this.defaultExpression);\n }\n\n /**\n * Restores model's expression to {@link currentExpression}.\n */\n restoreExpression(): void {\n this._setExpression(this.currentExpression);\n }\n\n /**\n * Sets an Expression.\n * @param index - Either the index, or the name of the expression.\n * @return Promise that resolves with true if succeeded, with false otherwise.\n */\n async setExpression(index: number | string): Promise {\n if (typeof index !== 'number') {\n index = this.getExpressionIndex(index);\n }\n\n if (!(index > -1 && index < this.definitions.length)) {\n return false;\n }\n\n if (index === this.expressions.indexOf(this.currentExpression)) {\n return false;\n }\n\n this.reserveExpressionIndex = index;\n\n const expression = await this.loadExpression(index);\n\n if (!expression || this.reserveExpressionIndex !== index) {\n return false;\n }\n\n this.reserveExpressionIndex = -1;\n this.currentExpression = expression;\n this._setExpression(expression);\n\n return true;\n }\n\n /**\n * Updates parameters of the core model.\n * @return True if the parameters are actually updated.\n */\n update(model: object, now: DOMHighResTimeStamp) {\n if (!this.isFinished()) {\n return this.updateParameters(model, now);\n }\n\n return false;\n }\n\n /**\n * Destroys the instance.\n * @emits {@link ExpressionManagerEvents.destroy}\n */\n destroy() {\n this.destroyed = true;\n this.emit('destroy');\n\n const self = this as Mutable>;\n self.definitions = undefined;\n self.expressions = undefined;\n }\n\n /**\n * Checks if the expression playback has finished.\n */\n abstract isFinished(): boolean;\n\n /**\n * Retrieves the expression's index by its name.\n * @return The index. `-1` if not found.\n */\n abstract getExpressionIndex(name: string): number;\n\n /**\n * Retrieves the expression's file path by its definition.\n * @return The file path extracted from given definition. Not resolved.\n */\n abstract getExpressionFile(definition: ExpressionSpec): string;\n\n /**\n * Creates an Expression from the data.\n * @param data - Content of the expression file.\n * @param definition - The expression definition. Can be undefined when creating the {@link defaultExpression}.\n * @return The created Expression.\n */\n abstract createExpression(data: JSONObject, definition: ExpressionSpec | undefined): Expression;\n\n /**\n * Applies the Expression to the model.\n */\n protected abstract _setExpression(motion: Expression): number;\n\n /**\n * Cancels expression playback.\n */\n protected abstract stopAllExpressions(): void;\n\n /**\n * Updates parameters of the core model.\n * @return True if the parameters are actually updated.\n */\n protected abstract updateParameters(model: object, now: DOMHighResTimeStamp): boolean;\n}\n","import { folderName } from '@/utils';\nimport { url } from '@pixi/utils';\n\n/**\n * Parses, and provides access to the settings JSON.\n */\nexport abstract class ModelSettings {\n json: JSONObject;\n\n /**\n * The model's name, typically used for displaying or logging. By default it's inferred from\n * the URL by taking the folder name (the second to last component). In Cubism 2 it'll be overwritten\n * by the `name` field of settings JSON.\n */\n name: string;\n\n /**\n * URL of the model settings file, used to resolve paths of the resource files defined in settings.\n * This typically ends with `.model.json` in Cubism 2 and `.model3.json` in Cubism 4.\n */\n url: string;\n\n /**\n * Relative path of he moc file, typically ends with `.moc` in Cubism 2 and `.moc3` in Cubism 4.\n */\n abstract moc: string;\n\n /**\n * Relative paths of the texture images.\n */\n abstract textures: string[];\n\n /**\n * Relative path of the pose file.\n */\n pose?: string;\n\n /**\n * Relative path of the physics file.\n */\n physics?: string;\n\n /**\n * @param json - The settings JSON object.\n * @param json.url - The `url` field must be defined to specify the settings file's URL.\n */\n protected constructor(json: JSONObject & { url: string }) {\n this.json = json;\n\n let url = (json as any).url;\n\n if (typeof url !== 'string') {\n // this is not allowed because it'll typically result in errors, including a\n // fatal error - an OOM that crashes the browser while initializing this cubism2 model,\n // I'm not kidding!\n throw new TypeError('The `url` field in settings JSON must be defined as a string.');\n }\n\n this.url = url;\n\n // set default name to folder's name\n this.name = folderName(this.url);\n }\n\n /**\n * Resolves a relative path using the {@link url}. This is used to resolve the resource files\n * defined in the settings.\n * @param path - Relative path.\n * @return Resolved path.\n */\n resolveURL(path: string): string {\n return url.resolve(this.url, path);\n }\n\n /**\n * Replaces the resource files by running each file through the `replacer`.\n * @param replacer - Invoked with two arguments: `(file, path)`, where `file` is the file definition,\n * and `path` is its property path in the ModelSettings instance. A string must be returned to be the replacement.\n *\n * ```js\n * modelSettings.replaceFiles((file, path) => {\n * // file = \"foo.moc\", path = \"moc\"\n * // file = \"foo.png\", path = \"textures[0]\"\n * // file = \"foo.mtn\", path = \"motions.idle[0].file\"\n * // file = \"foo.motion3.json\", path = \"motions.idle[0].File\"\n *\n * return \"bar/\" + file;\n * });\n * ```\n */\n replaceFiles(replacer: (file: string, path: string) => string) {\n this.moc = replacer(this.moc, 'moc');\n\n if (this.pose !== undefined) {\n (this.pose = replacer(this.pose, 'pose'));\n }\n\n if (this.physics !== undefined) {\n (this.physics = replacer(this.physics, 'physics'));\n }\n\n for (let i = 0; i < this.textures.length; i++) {\n this.textures[i] = replacer(this.textures[i]!, `textures[${i}]`);\n }\n };\n\n /**\n * Retrieves all resource files defined in the settings.\n * @return A flat array of the paths of all resource files.\n *\n * ```js\n * modelSettings.getDefinedFiles();\n * // returns: [\"foo.moc\", \"foo.png\", ...]\n * ```\n */\n getDefinedFiles(): string[] {\n const files: string[] = [];\n\n this.replaceFiles((file: string) => {\n files.push(file);\n\n return file;\n });\n\n return files;\n }\n\n /**\n * Validates that the files defined in the settings exist in given files. Each file will be\n * resolved by {@link resolveURL} before comparison.\n * @param files - A flat array of file paths.\n * @return All the files which are defined in the settings and also exist in given files,\n * *including the optional files*.\n * @throws Error if any *essential* file is defined in settings but not included in given files.\n */\n validateFiles(files: string[]): string[] {\n const assertFileExists = (expectedFile: string, shouldThrow: boolean): boolean => {\n const actualPath = this.resolveURL(expectedFile);\n\n if (!files.includes(actualPath)) {\n if (shouldThrow) {\n throw new Error(`File \"${expectedFile}\" is defined in settings, but doesn't exist in given files`);\n }\n\n return false;\n }\n\n return true;\n };\n\n const essentialFiles = [this.moc, ...this.textures];\n\n essentialFiles.forEach(texture => assertFileExists(texture, true));\n\n const definedFiles = this.getDefinedFiles();\n\n return definedFiles.filter(file => assertFileExists(file, false));\n }\n}\n","import { config } from '@/config';\nimport { ExpressionManager } from '@/cubism-common/ExpressionManager';\nimport { ModelSettings } from '@/cubism-common/ModelSettings';\nimport { MotionPriority, MotionState } from '@/cubism-common/MotionState';\nimport { SoundManager } from '@/cubism-common/SoundManager';\nimport { logger } from '@/utils';\nimport { EventEmitter } from '@pixi/utils';\n\nexport interface MotionManagerOptions {\n /**\n * How to preload the motions.\n * @default {@link MotionPreloadStrategy.NONE}\n */\n motionPreload?: MotionPreloadStrategy;\n\n /**\n * Specifies the idle motion group.\n * @default \"idle\" in Cubism 2 and \"Idle\" in Cubism 4.\n */\n idleMotionGroup?: string;\n}\n\n/**\n * Indicates how the motions will be preloaded.\n */\nexport enum MotionPreloadStrategy {\n /** Preload all the motions. */\n ALL = 'ALL',\n\n /** Preload only the idle motions. */\n IDLE = 'IDLE',\n\n /** No preload. */\n NONE = 'NONE',\n}\n\n/**\n * Handles the motion playback.\n * @emits {@link MotionManagerEvents}\n */\nexport abstract class MotionManager extends EventEmitter {\n /**\n * Tag for logging.\n */\n tag: string;\n\n /**\n * Motion definitions copied from ModelSettings.\n */\n abstract readonly definitions: Partial>;\n\n /**\n * Motion groups with particular internal usages. Currently there's only the `idle` field,\n * which specifies the actual name of the idle motion group, so the idle motions\n * can be correctly found from the settings JSON of various Cubism versions.\n */\n abstract readonly groups: { idle: string };\n\n /**\n * Indicates the content type of the motion files, varies in different Cubism versions.\n * This will be used as `xhr.responseType`.\n */\n abstract readonly motionDataType: 'json' | 'arraybuffer';\n\n /**\n * Can be undefined if the settings defines no expression.\n */\n abstract expressionManager?: ExpressionManager;\n\n /**\n * The ModelSettings reference.\n */\n readonly settings: ModelSettings;\n\n /**\n * The Motions. The structure is the same as {@link definitions}, initially each group contains\n * an empty array, which means all motions will be `undefined`. When a Motion has been loaded,\n * it'll fill the place in which it should be; when it fails to load, the place will be filled\n * with `null`.\n */\n motionGroups: Partial> = {};\n\n /**\n * Maintains the state of this MotionManager.\n */\n state = new MotionState();\n\n /**\n * Audio element of the current motion if a sound file is defined with it.\n */\n currentAudio?: HTMLAudioElement;\n\n /**\n * Flags there's a motion playing.\n */\n playing = false;\n\n /**\n * Flags the instances has been destroyed.\n */\n destroyed = false;\n\n protected constructor(settings: ModelSettings, options?: MotionManagerOptions) {\n super();\n this.settings = settings;\n this.tag = `MotionManager(${settings.name})`;\n this.state.tag = this.tag;\n }\n\n /**\n * Should be called in the constructor of derived class.\n */\n protected init(options?: MotionManagerOptions) {\n if (options?.idleMotionGroup) {\n this.groups.idle = options.idleMotionGroup;\n }\n\n this.setupMotions(options);\n this.stopAllMotions();\n }\n\n /**\n * Sets up motions from the definitions, and preloads them according to the preload strategy.\n */\n protected setupMotions(options?: MotionManagerOptions): void {\n for (const group of Object.keys(this.definitions)) {\n // init with the same structure of definitions\n this.motionGroups[group] = [];\n }\n\n // preload motions\n\n let groups;\n\n switch (options?.motionPreload) {\n case MotionPreloadStrategy.NONE:\n return;\n\n case MotionPreloadStrategy.ALL:\n groups = Object.keys(this.definitions);\n break;\n\n case MotionPreloadStrategy.IDLE:\n default:\n groups = [this.groups.idle];\n break;\n }\n\n for (const group of groups) {\n if (this.definitions[group]) {\n for (let i = 0; i < this.definitions[group]!.length; i++) {\n this.loadMotion(group, i).then();\n }\n }\n }\n }\n\n /**\n * Loads a Motion in a motion group. Errors in this method will not be thrown,\n * but be emitted with a \"motionLoadError\" event.\n * @param group - The motion group.\n * @param index - Index in the motion group.\n * @return Promise that resolves with the Motion, or with undefined if it can't be loaded.\n * @emits {@link MotionManagerEvents.motionLoaded}\n * @emits {@link MotionManagerEvents.motionLoadError}\n */\n async loadMotion(group: string, index: number): Promise {\n if (!this.definitions[group] ?. [index]) {\n logger.warn(this.tag, `Undefined motion at \"${group}\"[${index}]`);\n return undefined;\n }\n\n if (this.motionGroups[group]![index] === null) {\n logger.warn(this.tag, `Cannot start motion at \"${group}\"[${index}] because it's already failed in loading.`);\n return undefined;\n }\n\n if (this.motionGroups[group]![index]) {\n return this.motionGroups[group]![index]!;\n }\n\n const motion = await this._loadMotion(group, index);\n\n if (this.destroyed) {\n return;\n }\n\n this.motionGroups[group]![index] = motion ?? null;\n\n return motion;\n }\n\n // TODO: remove\n /**\n * Loads the Motion. Will be implemented by Live2DFactory.\n * @ignore\n */\n private _loadMotion(group: string, index: number): Promise {\n throw new Error('Not implemented.');\n }\n\n /**\n * Starts a motion as given priority.\n * @param group - The motion group.\n * @param index - Index in the motion group.\n * @param priority - The priority to be applied.\n * @return Promise that resolves with true if the motion is successfully started, with false otherwise.\n */\n async startMotion(group: string, index: number, priority = MotionPriority.NORMAL): Promise {\n if (!this.state.reserve(group, index, priority)) {\n return false;\n }\n\n const definition = this.definitions[group]?.[index];\n\n if (!definition) {\n return false;\n }\n\n if (this.currentAudio) {\n // TODO: reuse the audio?\n SoundManager.dispose(this.currentAudio);\n }\n\n let audio: HTMLAudioElement | undefined;\n\n if (config.sound) {\n const soundURL = this.getSoundFile(definition);\n\n if (soundURL) {\n try {\n // start to load the audio\n audio = SoundManager.add(\n this.settings.resolveURL(soundURL),\n () => this.currentAudio = undefined,\n () => this.currentAudio = undefined,\n );\n\n this.currentAudio = audio;\n } catch (e) {\n logger.warn(this.tag, 'Failed to create audio', soundURL, e);\n }\n }\n }\n\n const motion = await this.loadMotion(group, index);\n\n if (audio) {\n const readyToPlay = SoundManager.play(audio)\n .catch(e => logger.warn(this.tag, 'Failed to play audio', audio!.src, e));\n\n if (config.motionSync) {\n // wait until the audio is ready\n await readyToPlay;\n }\n }\n\n if (!this.state.start(motion, group, index, priority)) {\n if (audio) {\n SoundManager.dispose(audio);\n this.currentAudio = undefined;\n }\n\n return false;\n }\n\n logger.log(this.tag, 'Start motion:', this.getMotionName(definition));\n\n this.emit('motionStart', group, index, audio);\n\n if (this.state.shouldOverrideExpression()) {\n this.expressionManager && this.expressionManager.resetExpression();\n }\n\n this.playing = true;\n\n this._startMotion(motion!);\n\n return true;\n }\n\n /**\n * Starts a random Motion as given priority.\n * @param group - The motion group.\n * @param priority - The priority to be applied.\n * @return Promise that resolves with true if the motion is successfully started, with false otherwise.\n */\n async startRandomMotion(group: string, priority?: MotionPriority): Promise {\n const groupDefs = this.definitions[group];\n\n if (groupDefs?.length) {\n const availableIndices = [];\n\n for (let i = 0; i < groupDefs!.length; i++) {\n if (this.motionGroups[group]![i] !== null && !this.state.isActive(group, i)) {\n availableIndices.push(i);\n }\n }\n\n if (availableIndices.length) {\n const index = Math.floor(Math.random() * availableIndices.length);\n\n return this.startMotion(group, availableIndices[index]!, priority);\n }\n }\n\n return false;\n }\n\n /**\n * Stops all playing motions as well as the sound.\n */\n stopAllMotions(): void {\n this._stopAllMotions();\n\n this.state.reset();\n\n if (this.currentAudio) {\n SoundManager.dispose(this.currentAudio);\n this.currentAudio = undefined;\n }\n }\n\n /**\n * Updates parameters of the core model.\n * @param model - The core model.\n * @param now - Current time in milliseconds.\n * @return True if the parameters have been actually updated.\n */\n update(model: object, now: DOMHighResTimeStamp): boolean {\n if (this.isFinished()) {\n if (this.playing) {\n this.playing = false;\n this.emit('motionFinish');\n }\n\n if (this.state.shouldOverrideExpression()) {\n this.expressionManager?.restoreExpression();\n }\n\n this.state.complete();\n\n if (this.state.shouldRequestIdleMotion()) {\n // noinspection JSIgnoredPromiseFromCall\n this.startRandomMotion(this.groups.idle, MotionPriority.IDLE);\n }\n }\n\n let updated = this.updateParameters(model, now);\n\n updated = this.expressionManager?.update(model, now) || updated;\n\n return updated;\n }\n\n /**\n * Destroys the instance.\n * @emits {@link MotionManagerEvents.destroy}\n */\n destroy() {\n this.destroyed = true;\n this.emit('destroy');\n\n this.stopAllMotions();\n this.expressionManager?.destroy();\n\n const self = this as Mutable>;\n self.definitions = undefined;\n self.motionGroups = undefined;\n }\n\n /**\n * Checks if the motion playback has finished.\n */\n abstract isFinished(): boolean;\n\n /**\n * Creates a Motion from the data.\n * @param data - Content of the motion file. The format must be consistent with {@link motionDataType}.\n * @param group - The motion group.\n * @param definition - The motion definition.\n * @return The created Motion.\n */\n abstract createMotion(data: ArrayBuffer | JSONObject, group: string, definition: MotionSpec): Motion;\n\n /**\n * Retrieves the motion's file path by its definition.\n * @return The file path extracted from given definition. Not resolved.\n */\n abstract getMotionFile(definition: MotionSpec): string;\n\n /**\n * Retrieves the motion's name by its definition.\n * @return The motion's name.\n */\n protected abstract getMotionName(definition: MotionSpec): string;\n\n /**\n * Retrieves the motion's sound file by its definition.\n * @return The motion's sound file, can be undefined.\n */\n protected abstract getSoundFile(definition: MotionSpec): string | undefined;\n\n /**\n * Starts the Motion.\n */\n protected abstract _startMotion(motion: Motion, onFinish?: (motion: Motion) => void): number;\n\n /**\n * Stops all playing motions.\n */\n protected abstract _stopAllMotions(): void;\n\n /**\n * Updates parameters of the core model.\n * @param model - The core model.\n * @param now - Current time in milliseconds.\n * @return True if the parameters have been actually updated.\n */\n protected abstract updateParameters(model: object, now: DOMHighResTimeStamp): boolean;\n}\n","import { LOGICAL_HEIGHT, LOGICAL_WIDTH } from '@/cubism-common/constants';\nimport { FocusController } from '@/cubism-common/FocusController';\nimport { ModelSettings } from '@/cubism-common/ModelSettings';\nimport { MotionManager, MotionManagerOptions } from '@/cubism-common/MotionManager';\nimport { Matrix } from '@pixi/math';\nimport { EventEmitter } from '@pixi/utils';\n\n/**\n * Common layout definition shared between all Cubism versions.\n */\nexport interface CommonLayout {\n centerX?: number;\n centerY?: number;\n x?: number;\n y?: number;\n width?: number;\n height?: number;\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\n/**\n * Common hit area definition shared between all Cubism versions.\n */\nexport interface CommonHitArea {\n id: string;\n name: string;\n index: number;\n}\n\nexport interface Bounds {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n\nexport interface InternalModelOptions extends MotionManagerOptions {}\n\nconst tempBounds: Bounds = { x: 0, y: 0, width: 0, height: 0 };\n\n/**\n * A wrapper that manages the states of a Live2D core model, and delegates all operations to it.\n * @emits {@link InternalModelEvents}\n */\nexport abstract class InternalModel extends EventEmitter {\n /**\n * The managed Live2D core model.\n */\n abstract readonly coreModel: object;\n\n abstract readonly settings: ModelSettings;\n\n focusController = new FocusController();\n\n abstract motionManager: MotionManager;\n\n pose?: any;\n physics?: any;\n\n /**\n * Original canvas width of the model. Note this doesn't represent the model's real size,\n * as the model can overflow from its canvas.\n */\n readonly originalWidth: number = 0;\n\n /**\n * Original canvas height of the model. Note this doesn't represent the model's real size,\n * as the model can overflow from its canvas.\n */\n readonly originalHeight: number = 0;\n\n /**\n * Canvas width of the model, scaled by the `width` of the model's layout.\n */\n readonly width: number = 0;\n\n /**\n * Canvas height of the model, scaled by the `height` of the model's layout.\n */\n readonly height: number = 0;\n\n /**\n * Local transformation, calculated from the model's layout.\n */\n localTransform = new Matrix();\n\n /**\n * The final matrix to draw the model.\n */\n drawingMatrix = new Matrix();\n\n // TODO: change structure\n /**\n * The hit area definitions, keyed by their names.\n */\n hitAreas: Record = {};\n\n /**\n * Flags whether `gl.UNPACK_FLIP_Y_WEBGL` should be enabled when binding the textures.\n */\n textureFlipY = false;\n\n /**\n * WebGL viewport when drawing the model. The format is `[x, y, width, height]`.\n */\n viewport: [number, number, number, number] = [0, 0, 0, 0];\n\n /**\n * Flags this instance has been destroyed.\n */\n destroyed = false;\n\n /**\n * Should be called in the constructor of derived class.\n */\n protected init() {\n this.setupLayout();\n this.setupHitAreas();\n }\n\n /**\n * Sets up the model's size and local transform by the model's layout.\n */\n protected setupLayout() {\n // cast `this` to be mutable\n const self = this as Mutable;\n\n const size = this.getSize();\n\n self.originalWidth = size[0];\n self.originalHeight = size[1];\n\n const layout = Object.assign(\n {\n width: LOGICAL_WIDTH,\n height: LOGICAL_HEIGHT,\n },\n this.getLayout(),\n );\n\n this.localTransform.scale(layout.width / LOGICAL_WIDTH, layout.height / LOGICAL_HEIGHT);\n\n self.width = this.originalWidth * this.localTransform.a;\n self.height = this.originalHeight * this.localTransform.d;\n\n // this calculation differs from Live2D SDK...\n const offsetX = (layout.x !== undefined && layout.x - layout.width / 2)\n || (layout.centerX !== undefined && layout.centerX)\n || (layout.left !== undefined && layout.left - layout.width / 2)\n || (layout.right !== undefined && layout.right + layout.width / 2)\n || 0;\n\n const offsetY = (layout.y !== undefined && layout.y - layout.height / 2)\n || (layout.centerY !== undefined && layout.centerY)\n || (layout.top !== undefined && layout.top - layout.height / 2)\n || (layout.bottom !== undefined && layout.bottom + layout.height / 2)\n || 0;\n\n this.localTransform.translate(this.width * offsetX, -this.height * offsetY);\n }\n\n /**\n * Sets up the hit areas by their definitions in settings.\n */\n protected setupHitAreas() {\n const definitions = this.getHitAreaDefs().filter(hitArea => hitArea.index >= 0);\n\n for (const def of definitions) {\n this.hitAreas[def.name] = def;\n }\n }\n\n /**\n * Hit-test on the model.\n * @param x - Position in model canvas.\n * @param y - Position in model canvas.\n * @return The names of the *hit* hit areas. Can be empty if none is hit.\n */\n hitTest(x: number, y: number): string[] {\n return Object.keys(this.hitAreas).filter(hitAreaName => this.isHit(hitAreaName, x, y));\n }\n\n /**\n * Hit-test for a single hit area.\n * @param hitAreaName - The hit area's name.\n * @param x - Position in model canvas.\n * @param y - Position in model canvas.\n * @return True if hit.\n */\n isHit(hitAreaName: string, x: number, y: number): boolean {\n if (!this.hitAreas[hitAreaName]) {\n return false;\n }\n\n const drawIndex = this.hitAreas[hitAreaName]!.index;\n\n const bounds = this.getDrawableBounds(drawIndex, tempBounds);\n\n return bounds.x <= x && x <= bounds.x + bounds.width && bounds.y <= y && y <= bounds.y + bounds.height;\n }\n\n /**\n * Gets a drawable's bounds.\n * @param index - Index of the drawable.\n * @param bounds - Object to store the output values.\n * @return The bounds in model canvas space.\n */\n getDrawableBounds(index: number, bounds?: Bounds): Bounds {\n const vertices = this.getDrawableVertices(index);\n\n let left = vertices[0]!;\n let right = vertices[0]!;\n let top = vertices[1]!;\n let bottom = vertices[1]!;\n\n for (let i = 0; i < vertices.length; i += 2) {\n const vx = vertices[i]!;\n const vy = vertices[i + 1]!;\n\n left = Math.min(vx, left);\n right = Math.max(vx, right);\n top = Math.min(vy, top);\n bottom = Math.max(vy, bottom);\n }\n\n bounds ??= {} as Bounds;\n\n bounds.x = left;\n bounds.y = top;\n bounds.width = right - left;\n bounds.height = bottom - top;\n\n return bounds;\n }\n\n /**\n * Updates the model's transform.\n * @param transform - The world transform.\n */\n updateTransform(transform: Matrix) {\n this.drawingMatrix.copyFrom(transform).append(this.localTransform);\n }\n\n /**\n * Updates the model's parameters.\n * @param dt - Elapsed time in milliseconds from last frame.\n * @param now - Current time in milliseconds.\n */\n update(dt: DOMHighResTimeStamp, now: DOMHighResTimeStamp): void {\n this.focusController.update(dt);\n };\n\n /**\n * Destroys the model and all related resources.\n * @emits {@link InternalModelEvents.destroy | destroy}\n */\n destroy() {\n this.destroyed = true;\n this.emit('destroy');\n\n this.motionManager.destroy();\n (this as Partial).motionManager = undefined;\n }\n\n /**\n * Gets all the hit area definitions.\n * @return Normalized definitions.\n */\n protected abstract getHitAreaDefs(): CommonHitArea[];\n\n /**\n * Gets the model's original canvas size.\n * @return `[width, height]`\n */\n protected abstract getSize(): [number, number];\n\n /**\n * Gets the layout definition.\n * @return Normalized definition.\n */\n protected abstract getLayout(): CommonLayout;\n\n /**\n * Gets all the drawables' IDs.\n * @return IDs.\n */\n abstract getDrawableIDs(): string[];\n\n /**\n * Finds the index of a drawable by its ID.\n * @return The index.\n */\n abstract getDrawableIndex(id: string): number;\n\n /**\n * Gets a drawable's vertices.\n * @param index - Either the index or the ID of the drawable.\n * @throws Error when the drawable cannot be found.\n */\n abstract getDrawableVertices(index: number | string): Float32Array;\n\n /**\n * Updates WebGL context bound to this model.\n * @param gl - WebGL context.\n * @param glContextID - Unique ID for given WebGL context.\n */\n abstract updateWebGLContext(gl: WebGLRenderingContext, glContextID: number): void;\n\n /**\n * Binds a texture to the model. The index must be the same as that of this texture\n * in the {@link ModelSettings.textures} array.\n */\n abstract bindTexture(index: number, texture: WebGLTexture): void;\n\n /**\n * Draws the model.\n */\n abstract draw(gl: WebGLRenderingContext): void;\n}\n","import { clamp } from '@/utils';\n\n// Minimum distance to respond\nconst EPSILON = 0.01;\n\nconst MAX_SPEED = 40 / 7.5;\n\n// the time to accelerate to max speed\nconst ACCELERATION_TIME = 1 / (0.15 * 1000);\n\n/**\n * Interpolates the transition of focus position.\n */\nexport class FocusController {\n /** The focus position. */\n targetX = 0;\n\n /** The focus position. */\n targetY = 0;\n\n /** Current position. */\n x = 0;\n\n /** Current position. */\n y = 0;\n\n /** Current velocity. */\n vx = 0;\n\n /** Current velocity. */\n vy = 0;\n\n /**\n * Sets the focus position.\n * @param x - X position in range `[-1, 1]`.\n * @param y - Y position in range `[-1, 1]`.\n * @param instant - Should the focus position be instantly applied.\n */\n focus(x: number, y: number, instant: boolean = false) {\n this.targetX = clamp(x, -1, 1);\n this.targetY = clamp(y, -1, 1);\n\n if (instant) {\n this.x = this.targetX;\n this.y = this.targetY;\n }\n }\n\n /**\n * Updates the interpolation.\n * @param dt - Delta time in milliseconds.\n */\n update(dt: DOMHighResTimeStamp) {\n const dx = this.targetX - this.x;\n const dy = this.targetY - this.y;\n\n if (Math.abs(dx) < EPSILON && Math.abs(dy) < EPSILON) return;\n\n const d = Math.sqrt(dx ** 2 + dy ** 2);\n const maxSpeed = MAX_SPEED / (1000 / dt);\n\n let ax = maxSpeed * (dx / d) - this.vx;\n let ay = maxSpeed * (dy / d) - this.vy;\n\n const a = Math.sqrt(ax ** 2 + ay ** 2);\n const maxA = maxSpeed * ACCELERATION_TIME * dt;\n\n if (a > maxA) {\n ax *= maxA / a;\n ay *= maxA / a;\n }\n\n this.vx += ax;\n this.vy += ay;\n\n const v = Math.sqrt(this.vx ** 2 + this.vy ** 2);\n const maxV = 0.5 * (Math.sqrt(maxA ** 2 + 8 * maxA * d) - maxA);\n\n if (v > maxV) {\n this.vx *= maxV / v;\n this.vy *= maxV / v;\n }\n\n this.x += this.vx;\n this.y += this.vy;\n }\n}\n","import { Live2DLoaderContext, Live2DLoaderTarget } from '@/factory/Live2DLoader';\nimport { logger } from '@/utils';\nimport { Middleware } from '@/utils/middleware';\n\nconst TAG = 'XHRLoader';\n\nclass NetworkError extends Error {\n constructor(message: string, public url: string, public status: number, public aborted = false) {\n super(message);\n }\n}\n\n/**\n * The basic XHR loader.\n *\n * A network error will be thrown with the following properties:\n * - `url` - The request URL.\n * - `status` - The HTTP status.\n * - `aborted` - True if the error is caused by aborting the XHR.\n */\nexport class XHRLoader {\n /**\n * All the created XHRs, keyed by their owners respectively.\n */\n static xhrMap = new WeakMap>();\n\n /**\n * All the created XHRs as a flat array.\n */\n static allXhrSet = new Set();\n\n /**\n * Middleware for Live2DLoader.\n */\n static loader: Middleware = (context, next) => {\n return new Promise((resolve, reject) => {\n const xhr = XHRLoader.createXHR(\n context.target,\n context.settings ? context.settings.resolveURL(context.url) : context.url,\n context.type,\n data => {\n context.result = data;\n resolve();\n },\n reject,\n );\n xhr.send();\n });\n };\n\n /**\n * Creates a managed XHR.\n * @param target - If provided, the XHR will be canceled when receiving an \"destroy\" event from the target.\n * @param url - The URL.\n * @param type - The XHR response type.\n * @param onload - Load listener.\n * @param onerror - Error handler.\n */\n static createXHR(\n target: Live2DLoaderTarget | undefined,\n url: string,\n type: XMLHttpRequestResponseType,\n onload: (data: T) => void,\n onerror: (e: Error) => void,\n ): XMLHttpRequest {\n const xhr = new XMLHttpRequest();\n\n XHRLoader.allXhrSet.add(xhr);\n\n if (target) {\n let xhrSet = XHRLoader.xhrMap.get(target);\n\n if (!xhrSet) {\n xhrSet = new Set([xhr]);\n XHRLoader.xhrMap.set(target, xhrSet);\n } else {\n xhrSet.add(xhr);\n }\n\n if (!target.listeners('destroy').includes(XHRLoader.cancelXHRs)) {\n target.once('destroy', XHRLoader.cancelXHRs);\n }\n }\n\n xhr.open('GET', url);\n xhr.responseType = type;\n xhr.onload = () => {\n if ((xhr.status === 200 || xhr.status === 0) && xhr.response) {\n onload(xhr.response);\n } else {\n (xhr.onerror as any)();\n }\n };\n xhr.onerror = () => {\n logger.warn(TAG, `Failed to load resource as ${xhr.responseType} (Status ${xhr.status}): ${url}`);\n onerror(new NetworkError('Network error.', url, xhr.status));\n };\n xhr.onabort = () => onerror(new NetworkError('Aborted.', url, xhr.status, true));\n xhr.onloadend = () => {\n XHRLoader.allXhrSet.delete(xhr);\n\n if (target) {\n XHRLoader.xhrMap.get(target)?.delete(xhr);\n }\n };\n\n return xhr;\n }\n\n /**\n * Cancels all XHRs related to this target.\n */\n static cancelXHRs(this: Live2DLoaderTarget) {\n XHRLoader.xhrMap.get(this)?.forEach(xhr => {\n xhr.abort();\n XHRLoader.allXhrSet.delete(xhr);\n });\n XHRLoader.xhrMap.delete(this);\n }\n\n /**\n * Release all XHRs.\n */\n static release() {\n XHRLoader.allXhrSet.forEach(xhr => xhr.abort());\n XHRLoader.allXhrSet.clear();\n XHRLoader.xhrMap = new WeakMap();\n }\n}\n","export type Middleware = (context: T, next: (err?: any) => Promise) => Promise\n\n/**\n * Run middlewares with given context.\n * @see https://github.com/koajs/compose/blob/master/index.js\n *\n * @param middleware\n * @param context\n */\nexport function runMiddlewares(middleware: Middleware[], context: T): Promise {\n // last called middleware #\n let index = -1;\n return dispatch(0);\n\n function dispatch(i: number, err?: Error): Promise {\n if (err) return Promise.reject(err);\n if (i <= index) return Promise.reject(new Error('next() called multiple times'));\n index = i;\n const fn = middleware[i];\n if (!fn) return Promise.resolve();\n try {\n return Promise.resolve(fn(context, dispatch.bind(null, i + 1)));\n } catch (err) {\n return Promise.reject(err);\n }\n }\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__20__;","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__24__;","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","import { InteractionEvent, InteractionManager } from '@pixi/interaction';\nimport { Live2DModel } from './Live2DModel';\n\n/**\n * The interaction control split from Live2DModel class for code clarity. This mixin should *only*\n * be used on the Live2DModel.\n */\nexport class InteractionMixin {\n private _autoInteract = false;\n\n /**\n * Enables automatic interaction. Only takes effect if Pixi's interaction\n * feature has been enabled (by registering the `PIXI.InteractionManager` into `PIXI.Renderer`).\n */\n get autoInteract(): boolean {\n return this._autoInteract;\n }\n\n set autoInteract(autoInteract: boolean) {\n if (autoInteract !== this._autoInteract) {\n if (autoInteract) {\n (this as any as Live2DModel).on('pointertap', onTap, this);\n } else {\n (this as any as Live2DModel).off('pointertap', onTap, this);\n }\n\n this._autoInteract = autoInteract;\n }\n }\n\n /**\n * Local reference used to clean up the event listeners when destroying the model.\n */\n interactionManager?: InteractionManager;\n\n /**\n * Registers interaction by subscribing to the `PIXI.InteractionManager`.\n */\n registerInteraction(this: Live2DModel, manager?: InteractionManager): void {\n if (manager !== this.interactionManager) {\n this.unregisterInteraction();\n\n if (this._autoInteract && manager) {\n this.interactionManager = manager;\n\n manager.on('pointermove', onPointerMove, this);\n }\n }\n }\n\n /**\n * Unregisters interaction.\n */\n unregisterInteraction(this: Live2DModel): void {\n if (this.interactionManager) {\n this.interactionManager?.off('pointermove', onPointerMove, this);\n this.interactionManager = undefined;\n }\n }\n}\n\nfunction onTap(this: Live2DModel, event: InteractionEvent): void {\n this.tap(event.data.global.x, event.data.global.y);\n}\n\nfunction onPointerMove(this: Live2DModel, event: InteractionEvent) {\n this.focus(event.data.global.x, event.data.global.y);\n}\n","import { Transform } from '@pixi/math';\n\n/**\n * Useless class. May be useful in the future.\n */\nexport class Live2DTransform extends Transform {\n}\n","import { InternalModel, ModelSettings, MotionPriority } from '@/cubism-common';\nimport { MotionManagerOptions } from '@/cubism-common/MotionManager';\nimport type { Live2DFactoryOptions } from '@/factory/Live2DFactory';\nimport { Live2DFactory } from '@/factory/Live2DFactory';\nimport { Renderer, Texture } from '@pixi/core';\nimport { Container } from '@pixi/display';\nimport { Matrix, ObservablePoint, Point, Rectangle } from '@pixi/math';\nimport { Ticker } from '@pixi/ticker';\nimport { InteractionMixin } from './InteractionMixin';\nimport { Live2DTransform } from './Live2DTransform';\nimport { applyMixins, logger } from './utils';\n\nexport interface Live2DModelOptions extends MotionManagerOptions {\n /**\n * Should the internal model be automatically updated by `PIXI.Ticker.shared`.\n * @default ture\n */\n autoUpdate?: boolean;\n\n /**\n * Should the internal model automatically reacts to interactions by listening for pointer events.\n * @see {@link InteractionMixin}\n * @default true\n */\n autoInteract?: boolean;\n}\n\nconst tempPoint = new Point();\nconst tempMatrix = new Matrix();\n\n// a reference to Ticker class, defaults to window.PIXI.Ticker (when loaded by a