From c688af1c315ebde238c299d9a8a0cdcba6e2f78a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E7=BE=BD?= Date: Sat, 21 Oct 2023 16:53:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=90=8E=E7=AB=AF=EF=BC=88?= =?UTF-8?q?=E8=99=BD=E7=84=B6=E5=95=A5=E4=B9=9F=E6=B2=A1=E5=86=99=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- live2demo/App.vue | 17 + live2demo/Core/CHANGELOG.md | 308 +++ live2demo/Core/LICENSE.md | 7 + live2demo/Core/README.ja.md | 30 + live2demo/Core/README.md | 30 + live2demo/Core/RedistributableFiles.txt | 6 + live2demo/Core/live2dcubismcore.d.ts | 367 ++++ live2demo/Core/live2dcubismcore.js | 686 ++++++ live2demo/Core/live2dcubismcore.js.map | 1 + live2demo/Core/live2dcubismcore.min.js | 9 + .../Framework/cubismdefaultparameterid.d.ts | 63 + .../cubismdefaultparameterid.d.ts.map | 1 + .../Framework/cubismdefaultparameterid.js | 144 ++ .../Framework/cubismdefaultparameterid.js.map | 1 + .../Framework/cubismframeworkconfig.d.ts | 20 + .../Framework/cubismframeworkconfig.d.ts.map | 1 + live2demo/Framework/cubismframeworkconfig.js | 33 + .../Framework/cubismframeworkconfig.js.map | 1 + .../Framework/cubismmodelsettingjson.d.ts | 278 +++ .../Framework/cubismmodelsettingjson.d.ts.map | 1 + live2demo/Framework/cubismmodelsettingjson.js | 731 ++++++ .../Framework/cubismmodelsettingjson.js.map | 1 + live2demo/Framework/effect/cubismbreath.d.ts | 74 + .../Framework/effect/cubismbreath.d.ts.map | 1 + live2demo/Framework/effect/cubismbreath.js | 120 + .../Framework/effect/cubismbreath.js.map | 1 + .../Framework/effect/cubismeyeblink.d.ts | 101 + .../Framework/effect/cubismeyeblink.d.ts.map | 1 + live2demo/Framework/effect/cubismeyeblink.js | 212 ++ .../Framework/effect/cubismeyeblink.js.map | 1 + live2demo/Framework/effect/cubismpose.d.ts | 96 + .../Framework/effect/cubismpose.d.ts.map | 1 + live2demo/Framework/effect/cubismpose.js | 317 +++ live2demo/Framework/effect/cubismpose.js.map | 1 + live2demo/Framework/icubismallcator.d.ts | 45 + live2demo/Framework/icubismallcator.d.ts.map | 1 + live2demo/Framework/icubismallcator.js | 52 + live2demo/Framework/icubismallcator.js.map | 1 + live2demo/Framework/icubismmodelsetting.d.ts | 166 ++ .../Framework/icubismmodelsetting.d.ts.map | 1 + live2demo/Framework/icubismmodelsetting.js | 51 + .../Framework/icubismmodelsetting.js.map | 1 + live2demo/Framework/id/cubismid.d.ts | 57 + live2demo/Framework/id/cubismid.d.ts.map | 1 + live2demo/Framework/id/cubismid.js | 116 + live2demo/Framework/id/cubismid.js.map | 1 + live2demo/Framework/id/cubismidmanager.d.ts | 63 + .../Framework/id/cubismidmanager.d.ts.map | 1 + live2demo/Framework/id/cubismidmanager.js | 130 ++ live2demo/Framework/id/cubismidmanager.js.map | 1 + .../Framework/live2dcubismframework.d.ts | 105 + .../Framework/live2dcubismframework.d.ts.map | 1 + live2demo/Framework/live2dcubismframework.js | 268 +++ .../Framework/live2dcubismframework.js.map | 1 + live2demo/Framework/math/cubismmath.d.ts | 149 ++ live2demo/Framework/math/cubismmath.d.ts.map | 1 + live2demo/Framework/math/cubismmath.js | 315 +++ live2demo/Framework/math/cubismmath.js.map | 1 + live2demo/Framework/math/cubismmatrix44.d.ts | 147 ++ .../Framework/math/cubismmatrix44.d.ts.map | 1 + live2demo/Framework/math/cubismmatrix44.js | 281 +++ .../Framework/math/cubismmatrix44.js.map | 1 + .../Framework/math/cubismmodelmatrix.d.ts | 111 + .../Framework/math/cubismmodelmatrix.d.ts.map | 1 + live2demo/Framework/math/cubismmodelmatrix.js | 242 ++ .../Framework/math/cubismmodelmatrix.js.map | 1 + .../Framework/math/cubismtargetpoint.d.ts | 54 + .../Framework/math/cubismtargetpoint.d.ts.map | 1 + live2demo/Framework/math/cubismtargetpoint.js | 161 ++ .../Framework/math/cubismtargetpoint.js.map | 1 + live2demo/Framework/math/cubismvector2.d.ts | 111 + .../Framework/math/cubismvector2.d.ts.map | 1 + live2demo/Framework/math/cubismvector2.js | 182 ++ live2demo/Framework/math/cubismvector2.js.map | 1 + .../Framework/math/cubismviewmatrix.d.ts | 140 ++ .../Framework/math/cubismviewmatrix.d.ts.map | 1 + live2demo/Framework/math/cubismviewmatrix.js | 331 +++ .../Framework/math/cubismviewmatrix.js.map | 1 + live2demo/Framework/model/cubismmoc.d.ts | 63 + live2demo/Framework/model/cubismmoc.d.ts.map | 1 + live2demo/Framework/model/cubismmoc.js | 142 ++ live2demo/Framework/model/cubismmoc.js.map | 1 + live2demo/Framework/model/cubismmodel.d.ts | 679 ++++++ .../Framework/model/cubismmodel.d.ts.map | 1 + live2demo/Framework/model/cubismmodel.js | 1198 ++++++++++ live2demo/Framework/model/cubismmodel.js.map | 1 + .../Framework/model/cubismmodeluserdata.d.ts | 73 + .../model/cubismmodeluserdata.d.ts.map | 1 + .../Framework/model/cubismmodeluserdata.js | 138 ++ .../model/cubismmodeluserdata.js.map | 1 + .../model/cubismmodeluserdatajson.d.ts | 57 + .../model/cubismmodeluserdatajson.d.ts.map | 1 + .../model/cubismmodeluserdatajson.js | 131 ++ .../model/cubismmodeluserdatajson.js.map | 1 + .../Framework/model/cubismusermodel.d.ts | 219 ++ .../Framework/model/cubismusermodel.d.ts.map | 1 + live2demo/Framework/model/cubismusermodel.js | 373 ++++ .../Framework/model/cubismusermodel.js.map | 1 + live2demo/Framework/motion/acubismmotion.d.ts | 182 ++ .../Framework/motion/acubismmotion.d.ts.map | 1 + live2demo/Framework/motion/acubismmotion.js | 271 +++ .../Framework/motion/acubismmotion.js.map | 1 + .../motion/cubismexpressionmotion.d.ts | 108 + .../motion/cubismexpressionmotion.d.ts.map | 1 + .../motion/cubismexpressionmotion.js | 330 +++ .../motion/cubismexpressionmotion.js.map | 1 + .../motion/cubismexpressionmotionmanager.d.ts | 84 + .../cubismexpressionmotionmanager.d.ts.map | 1 + .../motion/cubismexpressionmotionmanager.js | 241 ++ .../cubismexpressionmotionmanager.js.map | 1 + live2demo/Framework/motion/cubismmotion.d.ts | 173 ++ .../Framework/motion/cubismmotion.d.ts.map | 1 + live2demo/Framework/motion/cubismmotion.js | 821 +++++++ .../Framework/motion/cubismmotion.js.map | 1 + .../motion/cubismmotioninternal.d.ts | 121 + .../motion/cubismmotioninternal.d.ts.map | 1 + .../Framework/motion/cubismmotioninternal.js | 148 ++ .../motion/cubismmotioninternal.js.map | 1 + .../Framework/motion/cubismmotionjson.d.ts | 164 ++ .../motion/cubismmotionjson.d.ts.map | 1 + .../Framework/motion/cubismmotionjson.js | 371 ++++ .../Framework/motion/cubismmotionjson.js.map | 1 + .../Framework/motion/cubismmotionmanager.d.ts | 69 + .../motion/cubismmotionmanager.d.ts.map | 1 + .../Framework/motion/cubismmotionmanager.js | 142 ++ .../motion/cubismmotionmanager.js.map | 1 + .../motion/cubismmotionqueueentry.d.ts | 159 ++ .../motion/cubismmotionqueueentry.d.ts.map | 1 + .../motion/cubismmotionqueueentry.js | 244 +++ .../motion/cubismmotionqueueentry.js.map | 1 + .../motion/cubismmotionqueuemanager.d.ts | 122 ++ .../motion/cubismmotionqueuemanager.d.ts.map | 1 + .../motion/cubismmotionqueuemanager.js | 267 +++ .../motion/cubismmotionqueuemanager.js.map | 1 + .../Framework/physics/cubismphysics.d.ts | 139 ++ .../Framework/physics/cubismphysics.d.ts.map | 1 + live2demo/Framework/physics/cubismphysics.js | 856 ++++++++ .../Framework/physics/cubismphysics.js.map | 1 + .../physics/cubismphysicsinternal.d.ts | 191 ++ .../physics/cubismphysicsinternal.d.ts.map | 1 + .../physics/cubismphysicsinternal.js | 165 ++ .../physics/cubismphysicsinternal.js.map | 1 + .../Framework/physics/cubismphysicsjson.d.ts | 225 ++ .../physics/cubismphysicsjson.d.ts.map | 1 + .../Framework/physics/cubismphysicsjson.js | 588 +++++ .../physics/cubismphysicsjson.js.map | 1 + .../rendering/cubismclippingmanager.d.ts | 106 + .../rendering/cubismclippingmanager.d.ts.map | 1 + .../rendering/cubismclippingmanager.js | 508 +++++ .../rendering/cubismclippingmanager.js.map | 1 + .../Framework/rendering/cubismrenderer.d.ts | 214 ++ .../rendering/cubismrenderer.d.ts.map | 1 + .../Framework/rendering/cubismrenderer.js | 319 +++ .../Framework/rendering/cubismrenderer.js.map | 1 + .../rendering/cubismrenderer_webgl.d.ts | 240 ++ .../rendering/cubismrenderer_webgl.d.ts.map | 1 + .../rendering/cubismrenderer_webgl.js | 734 +++++++ .../rendering/cubismrenderer_webgl.js.map | 1 + .../rendering/cubismshader_webgl.d.ts | 119 + .../rendering/cubismshader_webgl.d.ts.map | 1 + .../Framework/rendering/cubismshader_webgl.js | 682 ++++++ .../rendering/cubismshader_webgl.js.map | 1 + live2demo/Framework/type/csmmap.d.ts | 144 ++ live2demo/Framework/type/csmmap.d.ts.map | 1 + live2demo/Framework/type/csmmap.js | 301 +++ live2demo/Framework/type/csmmap.js.map | 1 + live2demo/Framework/type/csmrectf.d.ts | 56 + live2demo/Framework/type/csmrectf.d.ts.map | 1 + live2demo/Framework/type/csmrectf.js | 105 + live2demo/Framework/type/csmrectf.js.map | 1 + live2demo/Framework/type/csmstring.d.ts | 71 + live2demo/Framework/type/csmstring.d.ts.map | 1 + live2demo/Framework/type/csmstring.js | 122 ++ live2demo/Framework/type/csmstring.js.map | 1 + live2demo/Framework/type/csmvector.d.ts | 144 ++ live2demo/Framework/type/csmvector.d.ts.map | 1 + live2demo/Framework/type/csmvector.js | 329 +++ live2demo/Framework/type/csmvector.js.map | 1 + live2demo/Framework/utils/cubismdebug.d.ts | 49 + .../Framework/utils/cubismdebug.d.ts.map | 1 + live2demo/Framework/utils/cubismdebug.js | 221 ++ live2demo/Framework/utils/cubismdebug.js.map | 1 + live2demo/Framework/utils/cubismjson.d.ts | 484 ++++ live2demo/Framework/utils/cubismjson.d.ts.map | 1 + live2demo/Framework/utils/cubismjson.js | 1094 +++++++++ live2demo/Framework/utils/cubismjson.js.map | 1 + .../Framework/utils/cubismjsonextension.d.ts | 18 + .../utils/cubismjsonextension.d.ts.map | 1 + .../Framework/utils/cubismjsonextension.js | 104 + .../utils/cubismjsonextension.js.map | 1 + live2demo/Framework/utils/cubismstring.d.ts | 43 + .../Framework/utils/cubismstring.d.ts.map | 1 + live2demo/Framework/utils/cubismstring.js | 145 ++ live2demo/Framework/utils/cubismstring.js.map | 1 + live2demo/index.html | 20 + live2demo/main.js | 22 + live2demo/manifest.json | 72 + live2demo/pages.json | 17 + live2demo/pages/index/index.vue | 52 + live2demo/static/logo.png | Bin 0 -> 4023 bytes live2demo/uni.promisify.adaptor.js | 10 + live2demo/uni.scss | 76 + server/.gitignore | 33 + server/.mvn/wrapper/maven-wrapper.jar | Bin 0 -> 62547 bytes server/.mvn/wrapper/maven-wrapper.properties | 2 + server/mvnw | 308 +++ server/mvnw.cmd | 205 ++ server/pom.xml | 64 + .../live2demo/ServerApplication.java | 13 + .../src/main/resources/application.properties | 1 + .../public/ARKitFaceTrackerSettingBeta.json | 212 ++ .../miku_sample_t04.2048/texture_00.png | Bin 0 -> 4194650 bytes .../public/miku_sample_t04.cdi3.json | 449 ++++ .../resources/public/miku_sample_t04.moc3 | Bin 0 -> 289920 bytes .../public/miku_sample_t04.model3.json | 63 + .../public/miku_sample_t04.physics3.json | 1952 +++++++++++++++++ .../public/miku_sample_t04.prprl2d.json | 391 ++++ .../public/motion/miku_01.motion3.json | 596 +++++ .../public/motion/miku_02.motion3.json | 631 ++++++ .../public/motion/miku_03.motion3.json | 645 ++++++ .../public/motion/miku_04.motion3.json | 407 ++++ .../public/motion/miku_05.motion3.json | 708 ++++++ .../public/motion/miku_06.motion3.json | 547 +++++ .../public/motion/miku_07.motion3.json | 484 ++++ .../public/motion/miku_08.motion3.json | 967 ++++++++ .../live2demo/ServerApplicationTests.java | 13 + 226 files changed, 31585 insertions(+) create mode 100644 live2demo/App.vue create mode 100644 live2demo/Core/CHANGELOG.md create mode 100644 live2demo/Core/LICENSE.md create mode 100644 live2demo/Core/README.ja.md create mode 100644 live2demo/Core/README.md create mode 100644 live2demo/Core/RedistributableFiles.txt create mode 100644 live2demo/Core/live2dcubismcore.d.ts create mode 100644 live2demo/Core/live2dcubismcore.js create mode 100644 live2demo/Core/live2dcubismcore.js.map create mode 100644 live2demo/Core/live2dcubismcore.min.js create mode 100644 live2demo/Framework/cubismdefaultparameterid.d.ts create mode 100644 live2demo/Framework/cubismdefaultparameterid.d.ts.map create mode 100644 live2demo/Framework/cubismdefaultparameterid.js create mode 100644 live2demo/Framework/cubismdefaultparameterid.js.map create mode 100644 live2demo/Framework/cubismframeworkconfig.d.ts create mode 100644 live2demo/Framework/cubismframeworkconfig.d.ts.map create mode 100644 live2demo/Framework/cubismframeworkconfig.js create mode 100644 live2demo/Framework/cubismframeworkconfig.js.map create mode 100644 live2demo/Framework/cubismmodelsettingjson.d.ts create mode 100644 live2demo/Framework/cubismmodelsettingjson.d.ts.map create mode 100644 live2demo/Framework/cubismmodelsettingjson.js create mode 100644 live2demo/Framework/cubismmodelsettingjson.js.map create mode 100644 live2demo/Framework/effect/cubismbreath.d.ts create mode 100644 live2demo/Framework/effect/cubismbreath.d.ts.map create mode 100644 live2demo/Framework/effect/cubismbreath.js create mode 100644 live2demo/Framework/effect/cubismbreath.js.map create mode 100644 live2demo/Framework/effect/cubismeyeblink.d.ts create mode 100644 live2demo/Framework/effect/cubismeyeblink.d.ts.map create mode 100644 live2demo/Framework/effect/cubismeyeblink.js create mode 100644 live2demo/Framework/effect/cubismeyeblink.js.map create mode 100644 live2demo/Framework/effect/cubismpose.d.ts create mode 100644 live2demo/Framework/effect/cubismpose.d.ts.map create mode 100644 live2demo/Framework/effect/cubismpose.js create mode 100644 live2demo/Framework/effect/cubismpose.js.map create mode 100644 live2demo/Framework/icubismallcator.d.ts create mode 100644 live2demo/Framework/icubismallcator.d.ts.map create mode 100644 live2demo/Framework/icubismallcator.js create mode 100644 live2demo/Framework/icubismallcator.js.map create mode 100644 live2demo/Framework/icubismmodelsetting.d.ts create mode 100644 live2demo/Framework/icubismmodelsetting.d.ts.map create mode 100644 live2demo/Framework/icubismmodelsetting.js create mode 100644 live2demo/Framework/icubismmodelsetting.js.map create mode 100644 live2demo/Framework/id/cubismid.d.ts create mode 100644 live2demo/Framework/id/cubismid.d.ts.map create mode 100644 live2demo/Framework/id/cubismid.js create mode 100644 live2demo/Framework/id/cubismid.js.map create mode 100644 live2demo/Framework/id/cubismidmanager.d.ts create mode 100644 live2demo/Framework/id/cubismidmanager.d.ts.map create mode 100644 live2demo/Framework/id/cubismidmanager.js create mode 100644 live2demo/Framework/id/cubismidmanager.js.map create mode 100644 live2demo/Framework/live2dcubismframework.d.ts create mode 100644 live2demo/Framework/live2dcubismframework.d.ts.map create mode 100644 live2demo/Framework/live2dcubismframework.js create mode 100644 live2demo/Framework/live2dcubismframework.js.map create mode 100644 live2demo/Framework/math/cubismmath.d.ts create mode 100644 live2demo/Framework/math/cubismmath.d.ts.map create mode 100644 live2demo/Framework/math/cubismmath.js create mode 100644 live2demo/Framework/math/cubismmath.js.map create mode 100644 live2demo/Framework/math/cubismmatrix44.d.ts create mode 100644 live2demo/Framework/math/cubismmatrix44.d.ts.map create mode 100644 live2demo/Framework/math/cubismmatrix44.js create mode 100644 live2demo/Framework/math/cubismmatrix44.js.map create mode 100644 live2demo/Framework/math/cubismmodelmatrix.d.ts create mode 100644 live2demo/Framework/math/cubismmodelmatrix.d.ts.map create mode 100644 live2demo/Framework/math/cubismmodelmatrix.js create mode 100644 live2demo/Framework/math/cubismmodelmatrix.js.map create mode 100644 live2demo/Framework/math/cubismtargetpoint.d.ts create mode 100644 live2demo/Framework/math/cubismtargetpoint.d.ts.map create mode 100644 live2demo/Framework/math/cubismtargetpoint.js create mode 100644 live2demo/Framework/math/cubismtargetpoint.js.map create mode 100644 live2demo/Framework/math/cubismvector2.d.ts create mode 100644 live2demo/Framework/math/cubismvector2.d.ts.map create mode 100644 live2demo/Framework/math/cubismvector2.js create mode 100644 live2demo/Framework/math/cubismvector2.js.map create mode 100644 live2demo/Framework/math/cubismviewmatrix.d.ts create mode 100644 live2demo/Framework/math/cubismviewmatrix.d.ts.map create mode 100644 live2demo/Framework/math/cubismviewmatrix.js create mode 100644 live2demo/Framework/math/cubismviewmatrix.js.map create mode 100644 live2demo/Framework/model/cubismmoc.d.ts create mode 100644 live2demo/Framework/model/cubismmoc.d.ts.map create mode 100644 live2demo/Framework/model/cubismmoc.js create mode 100644 live2demo/Framework/model/cubismmoc.js.map create mode 100644 live2demo/Framework/model/cubismmodel.d.ts create mode 100644 live2demo/Framework/model/cubismmodel.d.ts.map create mode 100644 live2demo/Framework/model/cubismmodel.js create mode 100644 live2demo/Framework/model/cubismmodel.js.map create mode 100644 live2demo/Framework/model/cubismmodeluserdata.d.ts create mode 100644 live2demo/Framework/model/cubismmodeluserdata.d.ts.map create mode 100644 live2demo/Framework/model/cubismmodeluserdata.js create mode 100644 live2demo/Framework/model/cubismmodeluserdata.js.map create mode 100644 live2demo/Framework/model/cubismmodeluserdatajson.d.ts create mode 100644 live2demo/Framework/model/cubismmodeluserdatajson.d.ts.map create mode 100644 live2demo/Framework/model/cubismmodeluserdatajson.js create mode 100644 live2demo/Framework/model/cubismmodeluserdatajson.js.map create mode 100644 live2demo/Framework/model/cubismusermodel.d.ts create mode 100644 live2demo/Framework/model/cubismusermodel.d.ts.map create mode 100644 live2demo/Framework/model/cubismusermodel.js create mode 100644 live2demo/Framework/model/cubismusermodel.js.map create mode 100644 live2demo/Framework/motion/acubismmotion.d.ts create mode 100644 live2demo/Framework/motion/acubismmotion.d.ts.map create mode 100644 live2demo/Framework/motion/acubismmotion.js create mode 100644 live2demo/Framework/motion/acubismmotion.js.map create mode 100644 live2demo/Framework/motion/cubismexpressionmotion.d.ts create mode 100644 live2demo/Framework/motion/cubismexpressionmotion.d.ts.map create mode 100644 live2demo/Framework/motion/cubismexpressionmotion.js create mode 100644 live2demo/Framework/motion/cubismexpressionmotion.js.map create mode 100644 live2demo/Framework/motion/cubismexpressionmotionmanager.d.ts create mode 100644 live2demo/Framework/motion/cubismexpressionmotionmanager.d.ts.map create mode 100644 live2demo/Framework/motion/cubismexpressionmotionmanager.js create mode 100644 live2demo/Framework/motion/cubismexpressionmotionmanager.js.map create mode 100644 live2demo/Framework/motion/cubismmotion.d.ts create mode 100644 live2demo/Framework/motion/cubismmotion.d.ts.map create mode 100644 live2demo/Framework/motion/cubismmotion.js create mode 100644 live2demo/Framework/motion/cubismmotion.js.map create mode 100644 live2demo/Framework/motion/cubismmotioninternal.d.ts create mode 100644 live2demo/Framework/motion/cubismmotioninternal.d.ts.map create mode 100644 live2demo/Framework/motion/cubismmotioninternal.js create mode 100644 live2demo/Framework/motion/cubismmotioninternal.js.map create mode 100644 live2demo/Framework/motion/cubismmotionjson.d.ts create mode 100644 live2demo/Framework/motion/cubismmotionjson.d.ts.map create mode 100644 live2demo/Framework/motion/cubismmotionjson.js create mode 100644 live2demo/Framework/motion/cubismmotionjson.js.map create mode 100644 live2demo/Framework/motion/cubismmotionmanager.d.ts create mode 100644 live2demo/Framework/motion/cubismmotionmanager.d.ts.map create mode 100644 live2demo/Framework/motion/cubismmotionmanager.js create mode 100644 live2demo/Framework/motion/cubismmotionmanager.js.map create mode 100644 live2demo/Framework/motion/cubismmotionqueueentry.d.ts create mode 100644 live2demo/Framework/motion/cubismmotionqueueentry.d.ts.map create mode 100644 live2demo/Framework/motion/cubismmotionqueueentry.js create mode 100644 live2demo/Framework/motion/cubismmotionqueueentry.js.map create mode 100644 live2demo/Framework/motion/cubismmotionqueuemanager.d.ts create mode 100644 live2demo/Framework/motion/cubismmotionqueuemanager.d.ts.map create mode 100644 live2demo/Framework/motion/cubismmotionqueuemanager.js create mode 100644 live2demo/Framework/motion/cubismmotionqueuemanager.js.map create mode 100644 live2demo/Framework/physics/cubismphysics.d.ts create mode 100644 live2demo/Framework/physics/cubismphysics.d.ts.map create mode 100644 live2demo/Framework/physics/cubismphysics.js create mode 100644 live2demo/Framework/physics/cubismphysics.js.map create mode 100644 live2demo/Framework/physics/cubismphysicsinternal.d.ts create mode 100644 live2demo/Framework/physics/cubismphysicsinternal.d.ts.map create mode 100644 live2demo/Framework/physics/cubismphysicsinternal.js create mode 100644 live2demo/Framework/physics/cubismphysicsinternal.js.map create mode 100644 live2demo/Framework/physics/cubismphysicsjson.d.ts create mode 100644 live2demo/Framework/physics/cubismphysicsjson.d.ts.map create mode 100644 live2demo/Framework/physics/cubismphysicsjson.js create mode 100644 live2demo/Framework/physics/cubismphysicsjson.js.map create mode 100644 live2demo/Framework/rendering/cubismclippingmanager.d.ts create mode 100644 live2demo/Framework/rendering/cubismclippingmanager.d.ts.map create mode 100644 live2demo/Framework/rendering/cubismclippingmanager.js create mode 100644 live2demo/Framework/rendering/cubismclippingmanager.js.map create mode 100644 live2demo/Framework/rendering/cubismrenderer.d.ts create mode 100644 live2demo/Framework/rendering/cubismrenderer.d.ts.map create mode 100644 live2demo/Framework/rendering/cubismrenderer.js create mode 100644 live2demo/Framework/rendering/cubismrenderer.js.map create mode 100644 live2demo/Framework/rendering/cubismrenderer_webgl.d.ts create mode 100644 live2demo/Framework/rendering/cubismrenderer_webgl.d.ts.map create mode 100644 live2demo/Framework/rendering/cubismrenderer_webgl.js create mode 100644 live2demo/Framework/rendering/cubismrenderer_webgl.js.map create mode 100644 live2demo/Framework/rendering/cubismshader_webgl.d.ts create mode 100644 live2demo/Framework/rendering/cubismshader_webgl.d.ts.map create mode 100644 live2demo/Framework/rendering/cubismshader_webgl.js create mode 100644 live2demo/Framework/rendering/cubismshader_webgl.js.map create mode 100644 live2demo/Framework/type/csmmap.d.ts create mode 100644 live2demo/Framework/type/csmmap.d.ts.map create mode 100644 live2demo/Framework/type/csmmap.js create mode 100644 live2demo/Framework/type/csmmap.js.map create mode 100644 live2demo/Framework/type/csmrectf.d.ts create mode 100644 live2demo/Framework/type/csmrectf.d.ts.map create mode 100644 live2demo/Framework/type/csmrectf.js create mode 100644 live2demo/Framework/type/csmrectf.js.map create mode 100644 live2demo/Framework/type/csmstring.d.ts create mode 100644 live2demo/Framework/type/csmstring.d.ts.map create mode 100644 live2demo/Framework/type/csmstring.js create mode 100644 live2demo/Framework/type/csmstring.js.map create mode 100644 live2demo/Framework/type/csmvector.d.ts create mode 100644 live2demo/Framework/type/csmvector.d.ts.map create mode 100644 live2demo/Framework/type/csmvector.js create mode 100644 live2demo/Framework/type/csmvector.js.map create mode 100644 live2demo/Framework/utils/cubismdebug.d.ts create mode 100644 live2demo/Framework/utils/cubismdebug.d.ts.map create mode 100644 live2demo/Framework/utils/cubismdebug.js create mode 100644 live2demo/Framework/utils/cubismdebug.js.map create mode 100644 live2demo/Framework/utils/cubismjson.d.ts create mode 100644 live2demo/Framework/utils/cubismjson.d.ts.map create mode 100644 live2demo/Framework/utils/cubismjson.js create mode 100644 live2demo/Framework/utils/cubismjson.js.map create mode 100644 live2demo/Framework/utils/cubismjsonextension.d.ts create mode 100644 live2demo/Framework/utils/cubismjsonextension.d.ts.map create mode 100644 live2demo/Framework/utils/cubismjsonextension.js create mode 100644 live2demo/Framework/utils/cubismjsonextension.js.map create mode 100644 live2demo/Framework/utils/cubismstring.d.ts create mode 100644 live2demo/Framework/utils/cubismstring.d.ts.map create mode 100644 live2demo/Framework/utils/cubismstring.js create mode 100644 live2demo/Framework/utils/cubismstring.js.map create mode 100644 live2demo/index.html create mode 100644 live2demo/main.js create mode 100644 live2demo/manifest.json create mode 100644 live2demo/pages.json create mode 100644 live2demo/pages/index/index.vue create mode 100644 live2demo/static/logo.png create mode 100644 live2demo/uni.promisify.adaptor.js create mode 100644 live2demo/uni.scss create mode 100644 server/.gitignore create mode 100644 server/.mvn/wrapper/maven-wrapper.jar create mode 100644 server/.mvn/wrapper/maven-wrapper.properties create mode 100644 server/mvnw create mode 100644 server/mvnw.cmd create mode 100644 server/pom.xml create mode 100644 server/src/main/java/cn/mikesolar/live2demo/ServerApplication.java create mode 100644 server/src/main/resources/application.properties create mode 100644 server/src/main/resources/public/ARKitFaceTrackerSettingBeta.json create mode 100644 server/src/main/resources/public/miku_sample_t04.2048/texture_00.png create mode 100644 server/src/main/resources/public/miku_sample_t04.cdi3.json create mode 100644 server/src/main/resources/public/miku_sample_t04.moc3 create mode 100644 server/src/main/resources/public/miku_sample_t04.model3.json create mode 100644 server/src/main/resources/public/miku_sample_t04.physics3.json create mode 100644 server/src/main/resources/public/miku_sample_t04.prprl2d.json create mode 100644 server/src/main/resources/public/motion/miku_01.motion3.json create mode 100644 server/src/main/resources/public/motion/miku_02.motion3.json create mode 100644 server/src/main/resources/public/motion/miku_03.motion3.json create mode 100644 server/src/main/resources/public/motion/miku_04.motion3.json create mode 100644 server/src/main/resources/public/motion/miku_05.motion3.json create mode 100644 server/src/main/resources/public/motion/miku_06.motion3.json create mode 100644 server/src/main/resources/public/motion/miku_07.motion3.json create mode 100644 server/src/main/resources/public/motion/miku_08.motion3.json create mode 100644 server/src/test/java/cn/mikesolar/live2demo/ServerApplicationTests.java diff --git a/live2demo/App.vue b/live2demo/App.vue new file mode 100644 index 0000000..8c2b732 --- /dev/null +++ b/live2demo/App.vue @@ -0,0 +1,17 @@ + + + diff --git a/live2demo/Core/CHANGELOG.md b/live2demo/Core/CHANGELOG.md new file mode 100644 index 0000000..3ca60c4 --- /dev/null +++ b/live2demo/Core/CHANGELOG.md @@ -0,0 +1,308 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). + + +## 2023-08-17 + +### Added + +* Enhance Blend Shape features. + * Please see [here](https://docs.live2d.com/en/cubism-editor-manual/blend-shape/). + +### Changed + +* Upgrade Core version to 05.00.0000. + + +## 2023-05-09 + +### Changed + +* Change the GCC version of the library for Linux from 6.5.0 to 8.3.0. + + +## 2023-03-16 + +### Fixed + +* Fix a case in which the index of the mask's drawable object was negative value for `csmGetDrawableMasks()`. +* Fix a problem in which `csmHasMocConsistency()` was returned as 0 even though the MOC3 file was in the correct format. + * This problem was occurring in some models using the blendshape weight limit settings. +* Fix a problem that could cause a crash if a MOC3 file that is not in the correct format is loaded with `csmHasMocConsistency()`. + +### Changed + +* Upgrade Core version to 04.02.0004. + + +## 2023-03-10 + +### Added + +* Add the function `csmHasMocConsistency`. + * This function verifies that the `MOC3` file is valid. + +### Changed + +* Upgrade Core version to 04.02.0003. + + +## 2023-02-21 + +### Added + +* [Web] Added classes related to `Memory`. + * Add the funciton `initializeAmountOfMemory()` to adjust the amount of memory at initialization. + + +## 2022-10-28 + +### Fixed + +* [Java] Remove unnecessary methods. + + +## 2022-10-06 + +### Added + +* [Java] Add AAR file for Android. + + +## 2022-09-08 + +### Added + +* Add the multilingual supported documents. +* Support Visual Studio 2022. + + +## 2022-08-04 + +### Fixed + +* [Web] Fix `csmGetMocVersion` function argument. + + +## 2022-07-07 + +### Added + +* Add functions + * `csmGetParameterTypes` + * `csmGetDrawableParentPartIndices` + +* Add type `csmMocVersion` and enum. This type is the return value of `csmGetMocVersion`, `csmGetLatestMocVersion`. + +### Changed + +* Upgrade Core version to 04.02.0002. + + +## 2022-06-02 + +### Changed + +* Upgrade Core version to 04.02.0001. + +### Fixed + +* Fixed a bug that caused Multiply Color / Screen Color of different objects to be applied. + + +## 2022-05-19 + +### Added + +* Support new Multiply Color / Screen Color features. +* Support new Blend Shape features. + +### Changed + +* Upgrade Core version to 04.02.0000. This upgrade is following Cubism Editor 4.2 features. + + +## 2022-02-10 + +### Added + +* [Unity] Add bitcode library(.bc) for Emscripten latest version build. + +### Changed + +* [Unity] Change the bitcode file directory location. + * emsdk latest version build bitcode file in `latest` directory. + * emsdk 1.38.48 build bitcode file in `1_38_48` directory. + + +## 2021-12-09 + +### Added + +* Add static library(.a) for Mac Catalyst. + + +## 2021-10-07 + +### Added + +* Add `x86_64` library for Android. +* Add `arm64` library for macOS. + + +## 2021-03-09 + +### Added + +* Add funtcions for Viewer. + * `csmGetParameterKeyCounts` + * `csmGetParameterKeyValues` + + +### Changed + +* Update Core version to `04.01.0000`. + + +## 2020-01-30 + +### Added + +* Add static library(.lib) for statically linking DLL. +* Add symbol file for Windows dynamic library (dll). + + +## 2019-11-19 + +### Fixed + +* Fix linking static libraries for Windows (.lib). + + +## 2019-11-14 + +### Added + +* Support Visual Studio 2019. +* Support macOS dynamic library (dylib). + +### Changed + +* Update Windows dynamic library: Use Visual Studio 2019 for building. + +### Security + +* Bundle certificate and notary ticket to macOS shared library. + + +## 2019-09-04 + +### Added + +* Support new Inverted Masking features. +* Support ARM64 architecture for Universal Windows Platform. + +### Changed + +* Upgrade Core version to 04.00.0000 (67108864). This upgrade is following Cubism Editor 4.0 features. +* Add calling convention for *Windows/x86 DLL* only. + +### Removed + +* Remove bitcode binary due to suspension of *Cubism Bindings.* + + +## 2019-04-09 + +### Added + +* Support Universal Windows Platform for Windows Store Application. + + +## 2019-01-31 + +### Added + +* Add API to get the parent part of the specified part. +* Add API to get moc3 version. + + +## 2018-12-20 + +### Added + +* [Native] Add new function: `csmGetPartParentPartIndices`. +* [Native, 3.3 Support] Support new Warp Deformer features. + +### Changed + +* Upgrade Core version to 03.03.0000 (50528256). This upgrade is following Cubism Editor 3.3 features. + + +## 2018-08-22 + +### Added + +* [Native] Add support for Neon. + + +## 2018-05-14 + +### Added + +* [Native] Add Windows **Visual C++ 2013** library. +* [Windows] Add runtime library choice `MT`, `MD`, `MTd`, `MDd`. +* [iOS] Add support for iPhone Simulator SDK. + +### Fixed + +* Fix an error occurred when linking libraries for Android `arm64-v8a`. + + +## 2017-11-17 + +### Fixed + +* Fix processing of vertex index. + + +## 2017-10-05 + +### Added + +* Provide bitcode for iOS. + + +## 2017-08-09 + +### Added + +* [Native] Add Android *arm64-v8a* ABI library. + +### Fixed + +* Fix drawing order in certain scenarios. + + +## 2017-07-12 + +### Added + +* Add experimental support for Emscripten. +* Add `CHANGELOG.md`. + +### Fixed + +* Fix access violation in certain scenarios. +* Fix update result in certain scenarios. + + +## 2017-05-02 + +### Added + +* [Native] Add experimental support for Raspberry PI. +* Add `README.md`. diff --git a/live2demo/Core/LICENSE.md b/live2demo/Core/LICENSE.md new file mode 100644 index 0000000..4139d4f --- /dev/null +++ b/live2demo/Core/LICENSE.md @@ -0,0 +1,7 @@ +## Live2D Proprietary Software License + +Live2D Cubism Core is available under Live2D Proprietary Software License. + +* [Live2D Proprietary Software License Agreement](https://www.live2d.com/eula/live2d-proprietary-software-license-agreement_en.html) +* [Live2D Proprietary Software 使用許諾契約書](https://www.live2d.com/eula/live2d-proprietary-software-license-agreement_jp.html) +* [Live2D Proprietary Software 使用授权协议](https://www.live2d.com/eula/live2d-proprietary-software-license-agreement_cn.html) diff --git a/live2demo/Core/README.ja.md b/live2demo/Core/README.ja.md new file mode 100644 index 0000000..359c71a --- /dev/null +++ b/live2demo/Core/README.ja.md @@ -0,0 +1,30 @@ +[English](README.md) / [日本語](README.ja.md) + +--- + +# Live2D Cubism Core + +このフォルダーには、JavaScriptまたはTypeScriptアプリケーションを開発するためのコアライブラリファイルが含まれています。 + + +## ファイルリスト + +### live2dcubismcore.d.ts + +このファイルには、`live2dcubismcore.js`に関するTypeScriptの型情報が含まれています。 +TypeScriptで開発する場合は、このファイルを`live2dcubismcore.js`とともに使用してください。 + +### live2dcubismcore.js + +このファイルには、CubismCoreの機能といくつかのラッパーが含まれています。 +JavaScriptで開発する場合は、このファイルを使用してください。 + +### live2dcubismcore.js.map + +このファイルは、`live2dcubismcore.d.ts`と`live2dcubismcore.js`の間のソースマップです。 +デバッグ時にこのファイルを使用します。 + +### live2dcubismcore.min.js + +このファイルは、`live2dcubismcore.js`のminify版です。 +このファイルを本番環境で使用します。 diff --git a/live2demo/Core/README.md b/live2demo/Core/README.md new file mode 100644 index 0000000..c8764e9 --- /dev/null +++ b/live2demo/Core/README.md @@ -0,0 +1,30 @@ +[English](README.md) / [日本語](README.ja.md) + +--- + +# Live2D Cubism Core + +This folder contains core library files for developing JavaScript or TypeScript applications. + + +## File List + +### live2dcubismcore.d.ts + +This file contains typescript type information about `live2dcubismcore.js`. +Use this file with `live2dcubismcore.js` when developing with TypeScript. + +### live2dcubismcore.js + +This file contains Cubism Core features and some wrapper features. +Use this file when developing with JavaScript. + +### live2dcubismcore.js.map + +This file is the source map between `live2dcubismcore.d.ts` and `live2dcubismcore.js`. +Use this file when debugging. + +### live2dcubismcore.min.js + +This file is the minified version of `live2dcubismcore.js`. +Use this file in production. diff --git a/live2demo/Core/RedistributableFiles.txt b/live2demo/Core/RedistributableFiles.txt new file mode 100644 index 0000000..daf7a73 --- /dev/null +++ b/live2demo/Core/RedistributableFiles.txt @@ -0,0 +1,6 @@ +The following is a list of files available for redistribution +under the terms of the Live2D Proprietary Software License Agreement: + +- live2dcubismcore.d.ts +- live2dcubismcore.js +- live2dcubismcore.min.js diff --git a/live2demo/Core/live2dcubismcore.d.ts b/live2demo/Core/live2dcubismcore.d.ts new file mode 100644 index 0000000..fb291fe --- /dev/null +++ b/live2demo/Core/live2dcubismcore.d.ts @@ -0,0 +1,367 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Proprietary Software license + * that can be found at https://www.live2d.com/eula/live2d-proprietary-software-license-agreement_en.html. + */ +declare namespace Live2DCubismCore { + /** Cubism version identifier. */ + type csmVersion = number; + /** moc3 version identifier. */ + type csmMocVersion = number; + /** Parameter type identifier. */ + type csmParameterType = number; + /** Necessary alignment for mocs (in bytes). */ + const AlignofMoc: number; + /** Necessary alignment for models (in bytes). */ + const AlignofModel: number; + /** .moc3 file version Unknown */ + const MocVersion_Unknown: number; + /** .moc3 file version 3.0.00 - 3.2.07 */ + const MocVersion_30: number; + /** .moc3 file version 3.3.00 - 3.3.03 */ + const MocVersion_33: number; + /** .moc3 file version 4.0.00 - 4.1.05 */ + const MocVersion_40: number; + /** .moc3 file version 4.2.00 - 4.2.04 */ + const MocVersion_42: number; + /** .moc3 file version 5.0.00 - */ + const MocVersion_50: number; + /** Normal Parameter. */ + const ParameterType_Normal: number; + /** Parameter for blend shape. */ + const ParameterType_BlendShape: number; + /** Log handler. + * + * @param message Null-terminated string message to log. + */ + interface csmLogFunction { + (message: string): void; + } + /** Cubism version. */ + class Version { + /** + * Queries Core version. + * + * @return Core version. + */ + static csmGetVersion(): csmVersion; + /** + * Gets Moc file supported latest version. + * + * @return Moc file latest format version. + */ + static csmGetLatestMocVersion(): csmMocVersion; + /** + * Gets Moc file format version. + * + * @param moc Moc + * + * @return csmMocVersion + */ + static csmGetMocVersion(moc: Moc, mocBytes: ArrayBuffer): csmMocVersion; + private constructor(); + } + /** Cubism logging. */ + class Logging { + private static logFunction; + /** + * Sets log handler. + * + * @param handler Handler to use. + */ + static csmSetLogFunction(handler: csmLogFunction): void; + /** + * Queries log handler. + * + * @return Log handler. + */ + static csmGetLogFunction(): csmLogFunction; + /** + * Wrap log function. + * + * @param messagePtr number + * + * @return string + */ + private static wrapLogFunction; + private constructor(); + } + /** Cubism moc. */ + class Moc { + /** + * Checks consistency of a moc. + * + * @param mocBytes Moc bytes. + * + * @returns '1' if Moc is valid; '0' otherwise. + */ + hasMocConsistency(mocBytes: ArrayBuffer): number; + /** Creates [[Moc]] from [[ArrayBuffer]]. + * + * @param buffer Array buffer + * + * @return [[Moc]] on success; [[null]] otherwise. + */ + static fromArrayBuffer(buffer: ArrayBuffer): Moc; + /** Releases instance. */ + _release(): void; + /** Native moc. */ + _ptr: number; + /** + * Initializes instance. + * + * @param mocBytes Moc bytes. + */ + private constructor(); + } + /** Cubism model. */ + class Model { + /** Parameters. */ + parameters: Parameters; + /** Parts. */ + parts: Parts; + /** Drawables. */ + drawables: Drawables; + /** Canvas information. */ + canvasinfo: CanvasInfo; + /** + * Creates [[Model]] from [[Moc]]. + * + * @param moc Moc + * + * @return [[Model]] on success; [[null]] otherwise. + */ + static fromMoc(moc: Moc): Model; + /** Updates instance. */ + update(): void; + /** Releases instance. */ + release(): void; + /** Native model. */ + _ptr: number; + /** + * Initializes instance. + * + * @param moc Moc + */ + private constructor(); + } + /** Canvas information interface. */ + class CanvasInfo { + /** Width of native model canvas. */ + CanvasWidth: number; + /** Height of native model canvas. */ + CanvasHeight: number; + /** Coordinate origin of X axis. */ + CanvasOriginX: number; + /** Coordinate origin of Y axis. */ + CanvasOriginY: number; + /** Pixels per unit of native model. */ + PixelsPerUnit: number; + /** + * Initializes instance. + * + * @param modelPtr Native model pointer. + */ + constructor(modelPtr: number); + } + /** Cubism model parameters */ + class Parameters { + /** Parameter count. */ + count: number; + /** Parameter IDs. */ + ids: Array; + /** Minimum parameter values. */ + minimumValues: Float32Array; + /** Parameter types. */ + types: Int32Array; + /** Maximum parameter values. */ + maximumValues: Float32Array; + /** Default parameter values. */ + defaultValues: Float32Array; + /** Parameter values. */ + values: Float32Array; + /** Number of key values of each parameter. */ + keyCounts: Int32Array; + /** Key values of each parameter. */ + keyValues: Array; + /** + * Initializes instance. + * + * @param modelPtr Native model. + */ + constructor(modelPtr: number); + } + /** Cubism model parts */ + class Parts { + /** Part count. */ + count: number; + /** Part IDs. */ + ids: Array; + /** Opacity values. */ + opacities: Float32Array; + /** Part's parent part indices. */ + parentIndices: Int32Array; + /** + * Initializes instance. + * + * @param modelPtr Native model. + */ + constructor(modelPtr: number); + } + /** Cubism model drawables */ + class Drawables { + /** Drawable count. */ + count: number; + /** Drawable IDs. */ + ids: Array; + /** Constant drawable flags. */ + constantFlags: Uint8Array; + /** Dynamic drawable flags. */ + dynamicFlags: Uint8Array; + /** Drawable texture indices. */ + textureIndices: Int32Array; + /** Drawable draw orders. */ + drawOrders: Int32Array; + /** Drawable render orders. */ + renderOrders: Int32Array; + /** Drawable opacities. */ + opacities: Float32Array; + /** Mask count for each drawable. */ + maskCounts: Int32Array; + /** Masks for each drawable. */ + masks: Array; + /** Number of vertices of each drawable. */ + vertexCounts: Int32Array; + /** 2D vertex position data of each drawable. */ + vertexPositions: Array; + /** 2D texture coordinate data of each drawables. */ + vertexUvs: Array; + /** Number of triangle indices for each drawable. */ + indexCounts: Int32Array; + /** Triangle index data for each drawable. */ + indices: Array; + /** Information multiply color. */ + multiplyColors: Float32Array; + /** Information Screen color. */ + screenColors: Float32Array; + /** Indices of drawables parent part. */ + parentPartIndices: Int32Array; + /** Resets all dynamic drawable flags.. */ + resetDynamicFlags(): void; + /** Native model. */ + private _modelPtr; + /** + * Initializes instance. + * + * @param modelPtr Native model. + */ + constructor(modelPtr: number); + } + /** Utility functions. */ + class Utils { + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + static hasBlendAdditiveBit(bitfield: number): boolean; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + static hasBlendMultiplicativeBit(bitfield: number): boolean; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + static hasIsDoubleSidedBit(bitfield: number): boolean; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + static hasIsInvertedMaskBit(bitfield: number): boolean; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + static hasIsVisibleBit(bitfield: number): boolean; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + static hasVisibilityDidChangeBit(bitfield: number): boolean; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + static hasOpacityDidChangeBit(bitfield: number): boolean; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + static hasDrawOrderDidChangeBit(bitfield: number): boolean; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + static hasRenderOrderDidChangeBit(bitfield: number): boolean; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + static hasVertexPositionsDidChangeBit(bitfield: number): boolean; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + static hasBlendColorDidChangeBit(bitfield: number): boolean; + } + /** Memory functions. */ + class Memory { + /** + * HACK: + * Extend memory size allocated during module initialization. + * If the specified size is less than or equal to 16777216(byte), the default of 16 MB is allocated. + * + * @see https://github.com/emscripten-core/emscripten/blob/main/src/settings.js#L161 + * + * @param size allocated memory size [byte(s)] + */ + static initializeAmountOfMemory(size: number): void; + private constructor(); + } + /** Emscripten Cubism Core module. */ +} diff --git a/live2demo/Core/live2dcubismcore.js b/live2demo/Core/live2dcubismcore.js new file mode 100644 index 0000000..6a033db --- /dev/null +++ b/live2demo/Core/live2dcubismcore.js @@ -0,0 +1,686 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Proprietary Software license + * that can be found at https://www.live2d.com/eula/live2d-proprietary-software-license-agreement_en.html. + */ +var Live2DCubismCore; +(function (Live2DCubismCore) { + /** C calls. */ + var _csm = /** @class */ (function () { + function _csm() { + } + _csm.getVersion = function () { + return _em.ccall("csmGetVersion", "number", [], []); + }; + _csm.getLatestMocVersion = function () { + return _em.ccall("csmGetLatestMocVersion", "number", [], []); + }; + _csm.getMocVersion = function (moc, mocSize) { + return _em.ccall("csmGetMocVersion", "number", ["number", "number"], [moc, mocSize]); + }; + _csm.getSizeofModel = function (moc) { + return _em.ccall("csmGetSizeofModel", "number", ["number"], [moc]); + }; + _csm.reviveMocInPlace = function (memory, mocSize) { + return _em.ccall("csmReviveMocInPlace", "number", ["number", "number"], [memory, mocSize]); + }; + _csm.initializeModelInPlace = function (moc, memory, modelSize) { + return _em.ccall("csmInitializeModelInPlace", "number", ["number", "number", "number"], [moc, memory, modelSize]); + }; + _csm.hasMocConsistency = function (memory, mocSize) { + return _em.ccall("csmHasMocConsistency", "number", ["number", "number"], [memory, mocSize]); + }; + _csm.getParameterCount = function (model) { + return _em.ccall("csmGetParameterCount", "number", ["number"], [model]); + }; + _csm.getParameterIds = function (model) { + return _em.ccall("csmGetParameterIds", "number", ["number"], [model]); + }; + _csm.getParameterMinimumValues = function (model) { + return _em.ccall("csmGetParameterMinimumValues", "number", ["number"], [model]); + }; + _csm.getParameterTypes = function (model) { + return _em.ccall("csmGetParameterTypes", "number", ["number"], [model]); + }; + _csm.getParameterMaximumValues = function (model) { + return _em.ccall("csmGetParameterMaximumValues", "number", ["number"], [model]); + }; + _csm.getParameterDefaultValues = function (model) { + return _em.ccall("csmGetParameterDefaultValues", "number", ["number"], [model]); + }; + _csm.getParameterValues = function (model) { + return _em.ccall("csmGetParameterValues", "number", ["number"], [model]); + }; + _csm.getParameterKeyCounts = function (model) { + return _em.ccall("csmGetParameterKeyCounts", "number", ["number"], [model]); + }; + _csm.getParameterKeyValues = function (model) { + return _em.ccall("csmGetParameterKeyValues", "number", ["number"], [model]); + }; + _csm.getPartCount = function (model) { + return _em.ccall("csmGetPartCount", "number", ["number"], [model]); + }; + _csm.getPartIds = function (model) { + return _em.ccall("csmGetPartIds", "number", ["number"], [model]); + }; + _csm.getPartOpacities = function (model) { + return _em.ccall("csmGetPartOpacities", "number", ["number"], [model]); + }; + _csm.getPartParentPartIndices = function (model) { + return _em.ccall("csmGetPartParentPartIndices", "number", ["number"], [model]); + }; + _csm.getDrawableCount = function (model) { + return _em.ccall("csmGetDrawableCount", "number", ["number"], [model]); + }; + _csm.getDrawableIds = function (model) { + return _em.ccall("csmGetDrawableIds", "number", ["number"], [model]); + }; + _csm.getDrawableConstantFlags = function (model) { + return _em.ccall("csmGetDrawableConstantFlags", "number", ["number"], [model]); + }; + _csm.getDrawableDynamicFlags = function (model) { + return _em.ccall("csmGetDrawableDynamicFlags", "number", ["number"], [model]); + }; + _csm.getDrawableTextureIndices = function (model) { + return _em.ccall("csmGetDrawableTextureIndices", "number", ["number"], [model]); + }; + _csm.getDrawableDrawOrders = function (model) { + return _em.ccall("csmGetDrawableDrawOrders", "number", ["number"], [model]); + }; + _csm.getDrawableRenderOrders = function (model) { + return _em.ccall("csmGetDrawableRenderOrders", "number", ["number"], [model]); + }; + _csm.getDrawableOpacities = function (model) { + return _em.ccall("csmGetDrawableOpacities", "number", ["number"], [model]); + }; + _csm.getDrawableMaskCounts = function (model) { + return _em.ccall("csmGetDrawableMaskCounts", "number", ["number"], [model]); + }; + _csm.getDrawableMasks = function (model) { + return _em.ccall("csmGetDrawableMasks", "number", ["number"], [model]); + }; + _csm.getDrawableVertexCounts = function (model) { + return _em.ccall("csmGetDrawableVertexCounts", "number", ["number"], [model]); + }; + _csm.getDrawableVertexPositions = function (model) { + return _em.ccall("csmGetDrawableVertexPositions", "number", ["number"], [model]); + }; + _csm.getDrawableVertexUvs = function (model) { + return _em.ccall("csmGetDrawableVertexUvs", "number", ["number"], [model]); + }; + _csm.getDrawableIndexCounts = function (model) { + return _em.ccall("csmGetDrawableIndexCounts", "number", ["number"], [model]); + }; + _csm.getDrawableIndices = function (model) { + return _em.ccall("csmGetDrawableIndices", "number", ["number"], [model]); + }; + _csm.getDrawableMultiplyColors = function (model) { + return _em.ccall("csmGetDrawableMultiplyColors", "number", ["number"], [model]); + }; + _csm.getDrawableScreenColors = function (model) { + return _em.ccall("csmGetDrawableScreenColors", "number", ["number"], [model]); + }; + _csm.getDrawableParentPartIndices = function (model) { + return _em.ccall("csmGetDrawableParentPartIndices", "number", ["number"], [model]); + }; + _csm.mallocMoc = function (mocSize) { + return _em.ccall("csmMallocMoc", "number", ["number"], [mocSize]); + }; + _csm.mallocModelAndInitialize = function (moc) { + return _em.ccall("csmMallocModelAndInitialize", "number", ["number"], [moc]); + }; + _csm.malloc = function (size) { + return _em.ccall("csmMalloc", "number", ["number"], [size]); + }; + _csm.setLogFunction = function (handler) { + _em.ccall("csmSetLogFunction", null, ["number"], [handler]); + }; + _csm.updateModel = function (model) { + _em.ccall("csmUpdateModel", null, ["number"], [model]); + }; + _csm.readCanvasInfo = function (model, outSizeInPixels, outOriginInPixels, outPixelsPerUnit) { + _em.ccall("csmReadCanvasInfo", null, ["number", "number", "number", "number"], [model, outSizeInPixels, outOriginInPixels, outPixelsPerUnit]); + }; + _csm.resetDrawableDynamicFlags = function (model) { + _em.ccall("csmResetDrawableDynamicFlags", null, ["number"], [model]); + }; + _csm.free = function (memory) { + _em.ccall("csmFree", null, ["number"], [memory]); + }; + _csm.initializeAmountOfMemory = function (size) { + _em.ccall("csmInitializeAmountOfMemory", null, ["number"], [size]); + }; + return _csm; + }()); + /** Necessary alignment for mocs (in bytes). */ + Live2DCubismCore.AlignofMoc = 64; + /** Necessary alignment for models (in bytes). */ + Live2DCubismCore.AlignofModel = 16; + /** .moc3 file version Unknown */ + Live2DCubismCore.MocVersion_Unknown = 0; + /** .moc3 file version 3.0.00 - 3.2.07 */ + Live2DCubismCore.MocVersion_30 = 1; + /** .moc3 file version 3.3.00 - 3.3.03 */ + Live2DCubismCore.MocVersion_33 = 2; + /** .moc3 file version 4.0.00 - 4.1.05 */ + Live2DCubismCore.MocVersion_40 = 3; + /** .moc3 file version 4.2.00 - 4.2.04 */ + Live2DCubismCore.MocVersion_42 = 4; + /** .moc3 file version 5.0.00 - */ + Live2DCubismCore.MocVersion_50 = 5; + /** Normal Parameter. */ + Live2DCubismCore.ParameterType_Normal = 0; + /** Parameter for blend shape. */ + Live2DCubismCore.ParameterType_BlendShape = 1; + ; + /** Cubism version. */ + var Version = /** @class */ (function () { + function Version() { + } + /** + * Queries Core version. + * + * @return Core version. + */ + Version.csmGetVersion = function () { + return _csm.getVersion(); + }; + /** + * Gets Moc file supported latest version. + * + * @return Moc file latest format version. + */ + Version.csmGetLatestMocVersion = function () { + return _csm.getLatestMocVersion(); + }; + /** + * Gets Moc file format version. + * + * @param moc Moc + * + * @return csmMocVersion + */ + Version.csmGetMocVersion = function (moc, mocBytes) { + return _csm.getMocVersion(moc._ptr, mocBytes.byteLength); + }; + return Version; + }()); + Live2DCubismCore.Version = Version; + /** Cubism logging. */ + var Logging = /** @class */ (function () { + function Logging() { + } + /** + * Sets log handler. + * + * @param handler Handler to use. + */ + Logging.csmSetLogFunction = function (handler) { + // Cache log handler. + Logging.logFunction = handler; + // Wrap function to pointer. + var pointer = _em.addFunction(Logging.wrapLogFunction, 'vi'); + // Sets log handler. + _csm.setLogFunction(pointer); + }; + /** + * Queries log handler. + * + * @return Log handler. + */ + Logging.csmGetLogFunction = function () { + return Logging.logFunction; + }; + /** + * Wrap log function. + * + * @param messagePtr number + * + * @return string + */ + Logging.wrapLogFunction = function (messagePtr) { + // Pointer to string. + var messageStr = _em.UTF8ToString(messagePtr); + // Run log function. + Logging.logFunction(messageStr); + }; + return Logging; + }()); + Live2DCubismCore.Logging = Logging; + /** Cubism moc. */ + var Moc = /** @class */ (function () { + /** + * Initializes instance. + * + * @param mocBytes Moc bytes. + */ + function Moc(mocBytes) { + // Allocate memory. + var memory = _csm.mallocMoc(mocBytes.byteLength); + if (!memory) { + return; + } + // Initialize memory. + var destination = new Uint8Array(_em.HEAPU8.buffer, memory, mocBytes.byteLength); + destination.set(new Uint8Array(mocBytes)); + // Revive moc. + this._ptr = _csm.reviveMocInPlace(memory, mocBytes.byteLength); + if (!this._ptr) { + _csm.free(memory); + } + } + /** + * Checks consistency of a moc. + * + * @param mocBytes Moc bytes. + * + * @returns '1' if Moc is valid; '0' otherwise. + */ + Moc.prototype.hasMocConsistency = function (mocBytes) { + // Allocate memory. + var memory = _csm.mallocMoc(mocBytes.byteLength); + if (!memory) { + return; + } + // Initialize memory. + var destination = new Uint8Array(_em.HEAPU8.buffer, memory, mocBytes.byteLength); + destination.set(new Uint8Array(mocBytes)); + var hasConsistency = _csm.hasMocConsistency(memory, mocBytes.byteLength); + _csm.free(memory); + return hasConsistency; + }; + /** Creates [[Moc]] from [[ArrayBuffer]]. + * + * @param buffer Array buffer + * + * @return [[Moc]] on success; [[null]] otherwise. + */ + Moc.fromArrayBuffer = function (buffer) { + if (!buffer) { + return null; + } + var moc = new Moc(buffer); + return (moc._ptr) + ? moc + : null; + }; + /** Releases instance. */ + Moc.prototype._release = function () { + _csm.free(this._ptr); + this._ptr = 0; + }; + return Moc; + }()); + Live2DCubismCore.Moc = Moc; + /** Cubism model. */ + var Model = /** @class */ (function () { + /** + * Initializes instance. + * + * @param moc Moc + */ + function Model(moc) { + this._ptr = _csm.mallocModelAndInitialize(moc._ptr); + if (!this._ptr) { + return; + } + this.parameters = new Parameters(this._ptr); + this.parts = new Parts(this._ptr); + this.drawables = new Drawables(this._ptr); + this.canvasinfo = new CanvasInfo(this._ptr); + } + /** + * Creates [[Model]] from [[Moc]]. + * + * @param moc Moc + * + * @return [[Model]] on success; [[null]] otherwise. + */ + Model.fromMoc = function (moc) { + var model = new Model(moc); + return (model._ptr) + ? model + : null; + }; + /** Updates instance. */ + Model.prototype.update = function () { + _csm.updateModel(this._ptr); + }; + /** Releases instance. */ + Model.prototype.release = function () { + _csm.free(this._ptr); + this._ptr = 0; + }; + return Model; + }()); + Live2DCubismCore.Model = Model; + /** Canvas information interface. */ + var CanvasInfo = /** @class */ (function () { + /** + * Initializes instance. + * + * @param modelPtr Native model pointer. + */ + function CanvasInfo(modelPtr) { + if (!modelPtr) { + return; + } + // Preserve the pointer ant heap for get data throw args. + var _canvasSize_data = new Float32Array(2); + var _canvasSize_nDataBytes = _canvasSize_data.length * _canvasSize_data.BYTES_PER_ELEMENT; + var _canvasSize_dataPtr = _csm.malloc(_canvasSize_nDataBytes); + var _canvasSize_dataHeap = new Uint8Array(_em.HEAPU8.buffer, _canvasSize_dataPtr, _canvasSize_nDataBytes); + _canvasSize_dataHeap.set(new Uint8Array(_canvasSize_data.buffer)); + var _canvasOrigin_data = new Float32Array(2); + var _canvasOrigin_nDataBytes = _canvasOrigin_data.length * _canvasOrigin_data.BYTES_PER_ELEMENT; + var _canvasOrigin_dataPtr = _csm.malloc(_canvasOrigin_nDataBytes); + var _canvasOrigin_dataHeap = new Uint8Array(_em.HEAPU8.buffer, _canvasOrigin_dataPtr, _canvasOrigin_nDataBytes); + _canvasOrigin_dataHeap.set(new Uint8Array(_canvasOrigin_data.buffer)); + var _canvasPPU_data = new Float32Array(1); + var _canvasPPU_nDataBytes = _canvasPPU_data.length * _canvasPPU_data.BYTES_PER_ELEMENT; + var _canvasPPU_dataPtr = _csm.malloc(_canvasPPU_nDataBytes); + var _canvasPPU_dataHeap = new Uint8Array(_em.HEAPU8.buffer, _canvasPPU_dataPtr, _canvasPPU_nDataBytes); + _canvasPPU_dataHeap.set(new Uint8Array(_canvasPPU_data.buffer)); + // Call function and get result + _csm.readCanvasInfo(modelPtr, _canvasSize_dataHeap.byteOffset, _canvasOrigin_dataHeap.byteOffset, _canvasPPU_dataHeap.byteOffset); + _canvasSize_data = new Float32Array(_canvasSize_dataHeap.buffer, _canvasSize_dataHeap.byteOffset, _canvasSize_dataHeap.length); + _canvasOrigin_data = new Float32Array(_canvasOrigin_dataHeap.buffer, _canvasOrigin_dataHeap.byteOffset, _canvasOrigin_dataHeap.length); + _canvasPPU_data = new Float32Array(_canvasPPU_dataHeap.buffer, _canvasPPU_dataHeap.byteOffset, _canvasPPU_dataHeap.length); + this.CanvasWidth = _canvasSize_data[0]; + this.CanvasHeight = _canvasSize_data[1]; + this.CanvasOriginX = _canvasOrigin_data[0]; + this.CanvasOriginY = _canvasOrigin_data[1]; + this.PixelsPerUnit = _canvasPPU_data[0]; + // Free heap memory + _csm.free(_canvasSize_dataHeap.byteOffset); + _csm.free(_canvasOrigin_dataHeap.byteOffset); + _csm.free(_canvasPPU_dataHeap.byteOffset); + } + return CanvasInfo; + }()); + Live2DCubismCore.CanvasInfo = CanvasInfo; + /** Cubism model parameters */ + var Parameters = /** @class */ (function () { + /** + * Initializes instance. + * + * @param modelPtr Native model. + */ + function Parameters(modelPtr) { + var length = 0; + var length2 = null; + this.count = _csm.getParameterCount(modelPtr); + length = _csm.getParameterCount(modelPtr); + this.ids = new Array(length); + var _ids = new Uint32Array(_em.HEAPU32.buffer, _csm.getParameterIds(modelPtr), length); + for (var i = 0; i < _ids.length; i++) { + this.ids[i] = _em.UTF8ToString(_ids[i]); + } + length = _csm.getParameterCount(modelPtr); + this.minimumValues = new Float32Array(_em.HEAPF32.buffer, _csm.getParameterMinimumValues(modelPtr), length); + length = _csm.getParameterCount(modelPtr); + this.types = new Int32Array(_em.HEAP32.buffer, _csm.getParameterTypes(modelPtr), length); + length = _csm.getParameterCount(modelPtr); + this.maximumValues = new Float32Array(_em.HEAPF32.buffer, _csm.getParameterMaximumValues(modelPtr), length); + length = _csm.getParameterCount(modelPtr); + this.defaultValues = new Float32Array(_em.HEAPF32.buffer, _csm.getParameterDefaultValues(modelPtr), length); + length = _csm.getParameterCount(modelPtr); + this.values = new Float32Array(_em.HEAPF32.buffer, _csm.getParameterValues(modelPtr), length); + length = _csm.getParameterCount(modelPtr); + this.keyCounts = new Int32Array(_em.HEAP32.buffer, _csm.getParameterKeyCounts(modelPtr), length); + length = _csm.getParameterCount(modelPtr); + length2 = new Int32Array(_em.HEAP32.buffer, _csm.getParameterKeyCounts(modelPtr), length); + this.keyValues = new Array(length); + var _keyValues = new Uint32Array(_em.HEAPU32.buffer, _csm.getParameterKeyValues(modelPtr), length); + for (var i = 0; i < _keyValues.length; i++) { + this.keyValues[i] = new Float32Array(_em.HEAPF32.buffer, _keyValues[i], length2[i]); + } + } + return Parameters; + }()); + Live2DCubismCore.Parameters = Parameters; + /** Cubism model parts */ + var Parts = /** @class */ (function () { + /** + * Initializes instance. + * + * @param modelPtr Native model. + */ + function Parts(modelPtr) { + var length = 0; + this.count = _csm.getPartCount(modelPtr); + length = _csm.getPartCount(modelPtr); + this.ids = new Array(length); + var _ids = new Uint32Array(_em.HEAPU32.buffer, _csm.getPartIds(modelPtr), length); + for (var i = 0; i < _ids.length; i++) { + this.ids[i] = _em.UTF8ToString(_ids[i]); + } + length = _csm.getPartCount(modelPtr); + this.opacities = new Float32Array(_em.HEAPF32.buffer, _csm.getPartOpacities(modelPtr), length); + length = _csm.getPartCount(modelPtr); + this.parentIndices = new Int32Array(_em.HEAP32.buffer, _csm.getPartParentPartIndices(modelPtr), length); + } + return Parts; + }()); + Live2DCubismCore.Parts = Parts; + /** Cubism model drawables */ + var Drawables = /** @class */ (function () { + /** + * Initializes instance. + * + * @param modelPtr Native model. + */ + function Drawables(modelPtr) { + this._modelPtr = modelPtr; + var length = 0; + var length2 = null; + this.count = _csm.getDrawableCount(modelPtr); + length = _csm.getDrawableCount(modelPtr); + this.ids = new Array(length); + var _ids = new Uint32Array(_em.HEAPU32.buffer, _csm.getDrawableIds(modelPtr), length); + for (var i = 0; i < _ids.length; i++) { + this.ids[i] = _em.UTF8ToString(_ids[i]); + } + length = _csm.getDrawableCount(modelPtr); + this.constantFlags = new Uint8Array(_em.HEAPU8.buffer, _csm.getDrawableConstantFlags(modelPtr), length); + length = _csm.getDrawableCount(modelPtr); + this.dynamicFlags = new Uint8Array(_em.HEAPU8.buffer, _csm.getDrawableDynamicFlags(modelPtr), length); + length = _csm.getDrawableCount(modelPtr); + this.textureIndices = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableTextureIndices(modelPtr), length); + length = _csm.getDrawableCount(modelPtr); + this.drawOrders = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableDrawOrders(modelPtr), length); + length = _csm.getDrawableCount(modelPtr); + this.renderOrders = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableRenderOrders(modelPtr), length); + length = _csm.getDrawableCount(modelPtr); + this.opacities = new Float32Array(_em.HEAPF32.buffer, _csm.getDrawableOpacities(modelPtr), length); + length = _csm.getDrawableCount(modelPtr); + this.maskCounts = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableMaskCounts(modelPtr), length); + length = _csm.getDrawableCount(modelPtr); + this.vertexCounts = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableVertexCounts(modelPtr), length); + length = _csm.getDrawableCount(modelPtr); + this.indexCounts = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableIndexCounts(modelPtr), length); + length = _csm.getDrawableCount(modelPtr); + this.multiplyColors = new Float32Array(_em.HEAPF32.buffer, _csm.getDrawableMultiplyColors(modelPtr), length * 4); + length = _csm.getDrawableCount(modelPtr); + this.screenColors = new Float32Array(_em.HEAPF32.buffer, _csm.getDrawableScreenColors(modelPtr), length * 4); + length = _csm.getDrawableCount(modelPtr); + this.parentPartIndices = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableParentPartIndices(modelPtr), length); + length = _csm.getDrawableCount(modelPtr); + length2 = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableMaskCounts(modelPtr), length); + this.masks = new Array(length); + var _masks = new Uint32Array(_em.HEAPU32.buffer, _csm.getDrawableMasks(modelPtr), length); + for (var i = 0; i < _masks.length; i++) { + this.masks[i] = new Int32Array(_em.HEAP32.buffer, _masks[i], length2[i]); + } + length = _csm.getDrawableCount(modelPtr); + length2 = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableVertexCounts(modelPtr), length); + this.vertexPositions = new Array(length); + var _vertexPositions = new Uint32Array(_em.HEAPU32.buffer, _csm.getDrawableVertexPositions(modelPtr), length); + for (var i = 0; i < _vertexPositions.length; i++) { + this.vertexPositions[i] = new Float32Array(_em.HEAPF32.buffer, _vertexPositions[i], length2[i] * 2); + } + length = _csm.getDrawableCount(modelPtr); + length2 = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableVertexCounts(modelPtr), length); + this.vertexUvs = new Array(length); + var _vertexUvs = new Uint32Array(_em.HEAPU32.buffer, _csm.getDrawableVertexUvs(modelPtr), length); + for (var i = 0; i < _vertexUvs.length; i++) { + this.vertexUvs[i] = new Float32Array(_em.HEAPF32.buffer, _vertexUvs[i], length2[i] * 2); + } + length = _csm.getDrawableCount(modelPtr); + length2 = new Int32Array(_em.HEAP32.buffer, _csm.getDrawableIndexCounts(modelPtr), length); + this.indices = new Array(length); + var _indices = new Uint32Array(_em.HEAPU32.buffer, _csm.getDrawableIndices(modelPtr), length); + for (var i = 0; i < _indices.length; i++) { + this.indices[i] = new Uint16Array(_em.HEAPU16.buffer, _indices[i], length2[i]); + } + } + /** Resets all dynamic drawable flags.. */ + Drawables.prototype.resetDynamicFlags = function () { + _csm.resetDrawableDynamicFlags(this._modelPtr); + }; + return Drawables; + }()); + Live2DCubismCore.Drawables = Drawables; + /** Utility functions. */ + var Utils = /** @class */ (function () { + function Utils() { + } + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasBlendAdditiveBit = function (bitfield) { + return (bitfield & (1 << 0)) == (1 << 0); + }; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasBlendMultiplicativeBit = function (bitfield) { + return (bitfield & (1 << 1)) == (1 << 1); + }; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasIsDoubleSidedBit = function (bitfield) { + return (bitfield & (1 << 2)) == (1 << 2); + }; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasIsInvertedMaskBit = function (bitfield) { + return (bitfield & (1 << 3)) == (1 << 3); + }; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasIsVisibleBit = function (bitfield) { + return (bitfield & (1 << 0)) == (1 << 0); + }; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasVisibilityDidChangeBit = function (bitfield) { + return (bitfield & (1 << 1)) == (1 << 1); + }; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasOpacityDidChangeBit = function (bitfield) { + return (bitfield & (1 << 2)) == (1 << 2); + }; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasDrawOrderDidChangeBit = function (bitfield) { + return (bitfield & (1 << 3)) == (1 << 3); + }; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasRenderOrderDidChangeBit = function (bitfield) { + return (bitfield & (1 << 4)) == (1 << 4); + }; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasVertexPositionsDidChangeBit = function (bitfield) { + return (bitfield & (1 << 5)) == (1 << 5); + }; + /** + * Checks whether flag is set in bitfield. + * + * @param bitfield Bitfield to query against. + * + * @return [[true]] if bit set; [[false]] otherwise + */ + Utils.hasBlendColorDidChangeBit = function (bitfield) { + return (bitfield & (1 << 6)) == (1 << 6); + }; + return Utils; + }()); + Live2DCubismCore.Utils = Utils; + /** Memory functions. */ + var Memory = /** @class */ (function () { + function Memory() { + } + /** + * HACK: + * Extend memory size allocated during module initialization. + * If the specified size is less than or equal to 16777216(byte), the default of 16 MB is allocated. + * + * @see https://github.com/emscripten-core/emscripten/blob/main/src/settings.js#L161 + * + * @param size allocated memory size [byte(s)] + */ + Memory.initializeAmountOfMemory = function (size) { + if (size > 16777216) { + _csm.initializeAmountOfMemory(size); + } + }; + return Memory; + }()); + Live2DCubismCore.Memory = Memory; + /** Emscripten Cubism Core module. */ + var _em_module=function(){var _scriptDir="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0;return function(_em_module){_em_module=_em_module||{};var b,n,l={};for(n in b=b||(void 0!==_em_module?_em_module:{}))b.hasOwnProperty(n)&&(l[n]=b[n]);var x,y,v,w,p=!1,q=!1,r=!1,p="object"==typeof window,q="function"==typeof importScripts,r="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&!p&&!q,t=!p&&!r&&!q,u="",D=(r?(u=__dirname+"/",v=function(a,c){var d=z(a);return d||(x=x||require("fs"),a=(y=y||require("path")).normalize(a),d=x.readFileSync(a)),c?d:d.toString()},w=function(a){return assert((a=(a=v(a,!0)).buffer?a:new Uint8Array(a)).buffer),a},1>2]+(Ln<<5)|0)>>2],Pn=q[a+60>>2]+w(Wn,24)|0,Ln=(ko=q[Pn+8>>2])+-1|0,xo=(qo=q[Pn+4>>2])+-1|0,yo=uo=(Wn=q[q[a+152>>2]+(Wn<<2)>>2])+(ko<<3)|0,zo=vo=Wn+((to=w(qo,lo=ko+1|0))<<3)|0,Ao=wo=Wn+(ko+to<<3)|0,Io=q[Pn+12>>2],ro=x(0|qo),so=x(0|ko),a=0;;)if(Vn=u[(Pn=(oo=a<<3)+Mn|0)+4>>2],Rn=x(Vn*ro),Xn=u[Pn>>2],Qn=x(Xn*so),Pn=Vn>=x(1),Rn=!(Vn=x(1)|Xn>2],Bo=u[Wn+4>>2],Yn=x(ao-Bo),Co=u[4+yo>>2],Do=u[4+zo>>2],Zn=x(Co-Do),bo=x(x(Yn-Zn)*x(.5)),Eo=u[wo>>2],Fo=u[Wn>>2],_n=x(Eo-Fo),Go=u[uo>>2],Ho=u[vo>>2],$n=x(Go-Ho),co=x(x(_n-$n)*x(.5)),Zn=x(x(Zn+Yn)*x(.5)),$n=x(x($n+_n)*x(.5)),Jo=1,Yn=x(x(x(x(x(Bo+Co)+Do)+ao)*x(.25))-x(Yn*x(.5))),_n=x(x(x(x(x(Fo+Go)+Ho)+Eo)*x(.25))-x(_n*x(.5)))),Vnx(-2)^1|(Xnx(-2)^1)?(u[Nn+oo>>2]=x(Vn*co)+x(x(Xn*$n)+_n),Qn=x(Vn*bo),x(x(Xn*Zn)+Yn)):(Xn<=x(0)?Vn<=x(0)?(Un=x(x(Vn+x(2))*x(.5)),Tn=x(x(Xn+x(2))*x(.5)),Qn=x(bo+bo),mo=x(Yn-Qn),Rn=x(co+co),no=x(_n-Rn),io=x(Yn-x(Zn+Zn)),eo=x(io-Qn),jo=x(_n-x($n+$n)),fo=x(jo-Rn),go=u[Wn+4>>2],ho=u[Wn>>2]):Pn?(Qn=x(bo*x(3)),Rn=x(Yn-x(Zn+Zn)),io=x(Qn+Rn),eo=x(co*x(3)),fo=x(_n-x($n+$n)),jo=x(eo+fo),Un=x(x(Vn+x(-1))*x(.5)),Tn=x(x(Xn+x(2))*x(.5)),go=x(Qn+Yn),ho=x(eo+_n),eo=x(bo+Rn),fo=x(co+fo),mo=u[4+zo>>2],no=u[vo>>2]):(Qn=x(Yn-x(Zn+Zn)),Pn=xo,Sn=x(y(Rn))>2],no=u[Pn>>2],Pn=Wn+(w(Sn,lo)<<3)|0,go=u[Pn+4>>2],ho=u[Pn>>2]):Xn>=x(1)?Vn<=x(0)?(Un=x(x(Vn+x(2))*x(.5)),Tn=x(x(Xn+x(-1))*x(.5)),Qn=x(bo+bo),eo=x(x(Zn+Yn)-Qn),Rn=x(co+co),fo=x(x($n+_n)-Rn),go=x(x(Zn*x(3))+Yn),mo=x(go-Qn),ho=x(x($n*x(3))+_n),no=x(ho-Rn),io=u[4+yo>>2],jo=u[uo>>2]):Pn?(Qn=x(bo*x(3)),io=x(Qn+x(Zn+Yn)),Rn=x(co*x(3)),jo=x(Rn+x($n+_n)),ao=Qn,Qn=x(x(Zn*x(3))+Yn),go=x(ao+Qn),ao=Rn,Rn=x(x($n*x(3))+_n),ho=x(ao+Rn),Un=x(x(Vn+x(-1))*x(.5)),Tn=x(x(Xn+x(-1))*x(.5)),mo=x(bo+Qn),no=x(co+Rn),eo=u[4+Ao>>2],fo=u[wo>>2]):(Qn=x(x(Zn*x(3))+Yn),Pn=xo,Sn=x(y(Rn))>2],fo=u[Pn>>2],Pn=Wn+(w(Sn,lo)+ko<<3)|0,io=u[Pn+4>>2],jo=u[Pn>>2]):Vn<=x(0)?(Un=x(x(Vn+x(2))*x(.5)),Pn=Ln,Sn=x(y(Rn=Qn))>2],jo=u[Pn>>2],go=u[(Pn=Wn+(Sn<<3)|0)+4>>2],ho=u[Pn>>2]):Pn?(ao=Rn=x(bo*x(3)),Pn=Ln,Sn=x(y(Qn))>2],fo=u[Pn>>2],mo=u[(Pn=Wn+(Sn+to<<3)|0)+4>>2],no=u[Pn>>2]):(v[16+po>>3]=Vn,q[po>>2]=a,v[8+po>>3]=Xn,Y(4,1107,po)),x(Tn+Un)<=x(1)?(u[Nn+oo>>2]=x(fo+x(x(no-fo)*Tn))+x(x(jo-fo)*Un),Qn=x(eo+x(x(mo-eo)*Tn)),x(x(io-eo)*Un)):(Qn=x(x(1)-Tn),Rn=x(x(1)-Un),u[Nn+oo>>2]=x(ho+x(x(jo-ho)*Qn))+x(x(no-ho)*Rn),Qn=x(go+x(x(io-go)*Qn)),x(x(mo-go)*Rn)))):(Pn=x(y(ao=Rn))>2]=x(x(x(Qn*x(Rn*u[Sn>>2]))+x(Qn*x(Tn*u[Sn+8>>2])))+x(Un*x(Rn*u[Pn>>2])))+x(Un*x(Tn*u[Pn+8>>2])),Qn=x(x(x(Qn*x(Rn*u[Sn+4>>2]))+x(Qn*x(Tn*u[Sn+12>>2])))+x(Un*x(Rn*u[Pn+4>>2]))),x(Un*x(Tn*u[Pn+12>>2]))):x(Tn+Un)<=x(1)?(Qn=x(x(x(1)-Tn)-Un),Sn=Wn+(Pn<<3)|0,Pn=Wn+(Pn+lo<<3)|0,u[Nn+oo>>2]=x(x(Qn*u[Sn>>2])+x(Tn*u[Sn+8>>2]))+x(Un*u[Pn>>2]),Qn=x(x(Qn*u[Sn+4>>2])+x(Tn*u[Sn+12>>2])),x(Un*u[Pn+4>>2])):(Qn=x(x(Tn+x(-1))+Un),Sn=Wn+(Pn+lo<<3)|0,Rn=x(x(1)-Tn),Vn=x(x(1)-Un),Pn=Wn+(Pn<<3)|0,u[Nn+oo>>2]=x(x(Qn*u[Sn+8>>2])+x(Rn*u[Sn>>2]))+x(Vn*u[Pn+8>>2]),Qn=x(x(Qn*u[Sn+12>>2])+x(Rn*u[Sn+4>>2])),x(Vn*u[Pn+12>>2]))),u[4+(Nn+oo|0)>>2]=Qn+Rn,(0|On)==(0|(a=a+1|0)))break;L=32+po|0},n[2]=function(a,mh){a|=0,mh|=0;var Dh=0,Eh=0,Fh=0,Gh=0,Hh=0,Ih=x(0),Jh=0,Kh=0,Mh=(x(0),0),Nh=0,Gh=q[a+320>>2],Dh=q[a+316>>2],Hh=q[a+308>>2];-1==(0|(Eh=q[(Fh=Hh+(mh<<5)|0)+8>>2]))?(q[(Nh=Dh)+(Dh=mh<<2)>>2]=q[q[a+148>>2]+(q[Fh+16>>2]<<2)>>2],q[Dh+Gh>>2]=1065353216):(Jh=q[Fh+16>>2],Kh=q[q[a+152>>2]+(Jh<<2)>>2],n[q[24+(Hh+(Eh<<5)|0)>>2]](a,Eh,Kh,Kh,q[16+(q[a+60>>2]+w(Jh,24)|0)>>2]),Ih=u[q[a+148>>2]+(q[Fh+16>>2]<<2)>>2],Fh=q[Fh+8>>2]<<2,u[(Eh=mh<<2)+Dh>>2]=Ih*u[Fh+Dh>>2],q[Eh+Gh>>2]=q[Fh+Gh>>2]),4<=r[q[a>>2]+4|0]&&(Gh=mh<<2,Dh=q[a+308>>2]+(mh<<5)|0,Eh=q[Dh+16>>2]<<2,Fh=q[a+328>>2],mh=q[a+324>>2],-1==(0|(Hh=q[Dh+8>>2]))?(Hh=q[a+156>>2],q[(Dh=Gh<<2)+mh>>2]=q[Hh+(Eh<<=2)>>2],q[(Jh=4|Dh)+mh>>2]=q[(Kh=4|Eh)+Hh>>2],q[(Mh=8|Dh)+mh>>2]=q[Hh+(Nh=8|Eh)>>2],q[mh+((Gh|=3)<<2)>>2]=1065353216,a=q[a+160>>2],q[Dh+Fh>>2]=q[a+Eh>>2],q[Fh+Jh>>2]=q[a+Kh>>2],q[Fh+Mh>>2]=q[a+Nh>>2]):(Eh=(Kh=Eh<<2)+q[a+156>>2]|0,u[(Dh=(Jh=Gh<<2)+mh|0)>>2]=u[Eh>>2]*u[(Hh=(Mh=Hh<<4)+mh|0)>>2],u[Dh+4>>2]=u[Eh+4>>2]*u[Hh+4>>2],u[Dh+8>>2]=u[Eh+8>>2]*u[Hh+8>>2],q[mh+((Gh|=3)<<2)>>2]=1065353216,a=Kh+q[a+160>>2]|0,Nh=u[a>>2],Ih=u[(Dh=Fh+Mh|0)>>2],u[(mh=Fh+Jh|0)>>2]=x(Nh+Ih)-x(Nh*Ih),Nh=u[a+4>>2],Ih=u[Dh+4>>2],u[mh+4>>2]=x(Nh+Ih)-x(Nh*Ih),Nh=u[a+8>>2],Ih=u[Dh+8>>2],u[mh+8>>2]=x(Nh+Ih)-x(Nh*Ih)),q[Fh+(Gh<<2)>>2]=1065353216)},n[3]=function(a,Sm,un,xn,yn){a|=0,Sm|=0,un|=0,xn|=0,yn|=0;var Dn,En,Fn,Hn,In,zn=0,zn=(x(0),x(0),x(0),x(0),x(0),x(0),x(0),x(0),(Sm=q[16+(q[a+308>>2]+(Sm<<5)|0)>>2])<<2),Bn=function(a){var El,Hl,Fl,Dl=x(0),Gl=0;L=Fl=L-16|0,j(a);a:if((El=2147483647&(Gl=b[0]))>>>0<=1061752794)Dl=x(1),El>>>0<964689920||(Dl=ba(+a));else if(El>>>0<=1081824209)Hl=+a,Dl=1075235812<=El>>>0?x(-ba(((0|Gl)<0?3.141592653589793:-3.141592653589793)+Hl)):aa((0|Gl)<=-1?1.5707963267948966+Hl:1.5707963267948966-Hl);else if(El>>>0<=1088565717)Dl=1085271520<=El>>>0?ba(+a+((0|Gl)<0?6.283185307179586:-6.283185307179586)):aa((0|Gl)<=-1?-4.71238898038469-+a:+a-4.71238898038469);else if(Dl=x(a-a),!(2139095040<=El>>>0))if((El=3&Da(a,8+Fl|0))>>>0<=2){b:switch(El-1|0){default:Dl=ba(v[8+Fl>>3]);break a;case 0:Dl=aa(-v[8+Fl>>3]);break a;case 1:break b}Dl=x(-ba(v[8+Fl>>3]))}else Dl=aa(v[8+Fl>>3]);return L=16+Fl|0,a=Dl}(An=x(x(x(u[4+(q[a+168>>2]+w(Sm,12)|0)>>2]+u[zn+q[a+284>>2]>>2])*x(3.1415927410125732))/x(180))),Cn=u[zn+q[a+272>>2]>>2],Gn=q[zn+q[a+292>>2]>>2],An=function(a){var Vk,Al,Bl=0,Cl=0;L=Al=L-16|0,j(a);a:if((Vk=2147483647&(Cl=b[0]))>>>0<=1061752794)Vk>>>0<964689920||(a=aa(+a));else if(Vk>>>0<=1081824209)Bl=+a,a=Vk>>>0<=1075235811?(0|Cl)<=-1?x(-ba(Bl+1.5707963267948966)):ba(Bl+-1.5707963267948966):aa(-(((0|Cl)<0?3.141592653589793:-3.141592653589793)+Bl));else if(Vk>>>0<=1088565717)Bl=+a,a=Vk>>>0<=1085271519?(0|Cl)<=-1?ba(Bl+4.71238898038469):x(-ba(Bl+-4.71238898038469)):aa(((0|Cl)<0?6.283185307179586:-6.283185307179586)+Bl);else if(2139095040<=Vk>>>0)a=x(a-a);else if((Vk=3&Da(a,8+Al|0))>>>0<=2){b:switch(Vk-1|0){default:a=aa(v[8+Al>>3]);break a;case 0:a=ba(v[8+Al>>3]);break a;case 1:break b}a=aa(-v[8+Al>>3])}else a=x(-ba(v[8+Al>>3]));return L=16+Al|0,a}(An);if((Sm=0)<(0|yn))for(Bn=x(Cn*Bn),En=x(Gn?-1:1),Hn=x(Bn*En),Dn=q[zn+q[a+288>>2]>>2]?x(-1):x(1),In=x(x(Cn*An)*Dn),Bn=x(Bn*Dn),Cn=x(x(Cn*x(-An))*En),An=u[zn+q[a+280>>2]>>2],En=u[zn+q[a+276>>2]>>2];;)if(zn=(a=Sm<<3)+xn|0,Dn=u[(a=a+un|0)>>2],Fn=u[a+4>>2],u[zn+4>>2]=An+x(x(In*Dn)+x(Hn*Fn)),u[zn>>2]=En+x(x(Bn*Dn)+x(Cn*Fn)),(0|yn)==(0|(Sm=Sm+1|0)))break},n[4]=function(a,mh){a|=0,mh|=0;var yh,zh,Ah,Bh,Ch,nh,oh=0,ph=0,qh=0,rh=x(0),sh=0,th=0,uh=x(0),vh=0,wh=0,xh=0;if(x(0),x(0),x(0),x(0),L=nh=L+-64|0,vh=q[a+320>>2],wh=q[a+316>>2],ph=q[a+308>>2],-1==(0|(sh=q[(qh=ph+(mh<<5)|0)+8>>2])))oh=q[qh+16>>2]<<2,q[(ph=mh<<2)+wh>>2]=q[oh+q[a+268>>2]>>2],q[ph+vh>>2]=q[oh+q[a+272>>2]>>2];else{oh=q[qh+16>>2]<<2,xh=q[oh+q[a+276>>2]>>2],q[24+nh>>2]=xh,oh=q[oh+q[a+280>>2]>>2],q[28+nh>>2]=oh,q[16+nh>>2]=0,zh=1==q[(th=ph+(sh<<5)|0)+12>>2]?x(-10):x(-.10000000149011612),u[20+nh>>2]=zh,q[60+nh>>2]=oh,q[56+nh>>2]=xh,n[q[th+24>>2]](a,sh,56+nh|0,48+nh|0,1),rh=x(1),ph=9;b:{for(;;){if(oh=ph,uh=x(rh*x(0)),u[32+nh>>2]=uh+u[56+nh>>2],yh=x(zh*rh),u[36+nh>>2]=yh+u[60+nh>>2],n[q[th+24>>2]](a,sh,32+nh|0,40+nh|0,1),Ah=x(u[44+nh>>2]-u[52+nh>>2]),u[44+nh>>2]=Ah,Bh=x(u[40+nh>>2]-u[48+nh>>2]),u[40+nh>>2]=Bh,Ah!=x(0)||Bh!=x(0)){ph=q[44+nh>>2],q[8+nh>>2]=q[40+nh>>2],q[12+nh>>2]=ph;break b}if(u[32+nh>>2]=u[56+nh>>2]-uh,u[36+nh>>2]=u[60+nh>>2]-yh,n[q[th+24>>2]](a,sh,32+nh|0,40+nh|0,1),uh=x(u[40+nh>>2]-u[48+nh>>2]),u[40+nh>>2]=uh,yh=x(u[44+nh>>2]-u[52+nh>>2]),(u[44+nh>>2]=yh)!=x(0)||uh!=x(0)){u[12+nh>>2]=-yh,u[8+nh>>2]=-uh;break b}if(ph=oh+-1|0,rh=x(rh*x(.10000000149011612)),!oh)break}Y(3,1311,0)}rh=function(a,ji){var ki=x(0);if((ki=x(Ba(u[a+4>>2],u[a>>2])-Ba(u[ji+4>>2],u[ji>>2])))x(3.1415927410125732))for(;;)if(!((ki=x(ki+x(-6.2831854820251465)))>x(3.1415927410125732)))break;return ki}(16+nh|0,8+nh|0),n[q[th+24>>2]](a,q[qh+8>>2],24+nh|0,24+nh|0,1),ph=q[qh+16>>2]<<2,q[ph+q[a+276>>2]>>2]=q[24+nh>>2],q[ph+q[a+280>>2]>>2]=q[28+nh>>2],oh=ph+q[a+284>>2]|0,u[oh>>2]=u[oh>>2]+x(x(rh*x(-180))/x(3.1415927410125732)),qh=q[qh+8>>2]<<2,u[(oh=mh<<2)+wh>>2]=u[ph+q[a+268>>2]>>2]*u[qh+wh>>2],ph=ph+q[a+272>>2]|0,rh=x(u[ph>>2]*u[qh+vh>>2]),u[oh+vh>>2]=rh,u[ph>>2]=rh}4<=r[q[a>>2]+4|0]&&(oh=mh<<2,qh=q[a+308>>2]+(mh<<5)|0,sh=q[qh+16>>2]<<2,ph=q[a+328>>2],mh=q[a+324>>2],-1==(0|(th=q[qh+8>>2]))?(th=q[a+296>>2],q[(qh=oh<<2)+mh>>2]=q[th+(sh<<=2)>>2],q[(vh=4|qh)+mh>>2]=q[(wh=4|sh)+th>>2],q[(xh=8|qh)+mh>>2]=q[th+(Ch=8|sh)>>2],q[mh+((oh|=3)<<2)>>2]=1065353216,a=q[a+300>>2],q[ph+qh>>2]=q[a+sh>>2],q[ph+vh>>2]=q[a+wh>>2],q[ph+xh>>2]=q[a+Ch>>2]):(sh=(wh=sh<<2)+q[a+296>>2]|0,u[(qh=(vh=oh<<2)+mh|0)>>2]=u[sh>>2]*u[(th=(xh=th<<4)+mh|0)>>2],u[qh+4>>2]=u[sh+4>>2]*u[th+4>>2],u[qh+8>>2]=u[sh+8>>2]*u[th+8>>2],q[mh+((oh|=3)<<2)>>2]=1065353216,a=wh+q[a+300>>2]|0,rh=u[a>>2],uh=u[(qh=ph+xh|0)>>2],u[(mh=ph+vh|0)>>2]=x(rh+uh)-x(rh*uh),rh=u[a+4>>2],uh=u[qh+4>>2],u[mh+4>>2]=x(rh+uh)-x(rh*uh),rh=u[a+8>>2],uh=u[qh+8>>2],u[mh+8>>2]=x(rh+uh)-x(rh*uh)),q[ph+(oh<<2)>>2]=1065353216),L=nh+64|0},n[5]=function(a,Vk){return a|=0,Vk|=0,x(0),x(0),0|((a=u[a>>2])<(Vk=u[Vk>>2])?-1:Vk>2])))for(_j=q[a+12>>2],Zj=q[a+20>>2];;)if(u[(Wj=Vj<<2)+_j>>2]=u[vj+Wj>>2]*u[Wj+Zj>>2],!((0|(Vj=Vj+1|0))<(0|Yj)))break;if(!((0|(Yj=q[a>>2]))<1))if(_j=q[a+4>>2],yj)for(Wj=vj=0;;){if(q[yj>>2]){if((0|(Vj=q[(Zj=vj<<2)+q[a+16>>2]>>2]))<1)Xj=x(0);else for($j=Vj+Wj|0,ak=q[a+12>>2],Xj=x(0),Vj=Wj;;)if(Xj=x(Xj+u[ak+(Vj<<2)>>2]),!((0|(Vj=Vj+1|0))<(0|$j)))break;u[xj+Zj>>2]=Xj}if(yj=yj+4|0,Wj=q[_j+(vj<<2)>>2]+Wj|0,!((0|(vj=vj+1|0))<(0|Yj)))break}else for(Zj=q[a+16>>2],vj=yj=0;;){if((0|(Vj=q[(Wj=yj<<2)+Zj>>2]))<=0)Xj=x(0);else for($j=vj+Vj|0,ak=q[a+12>>2],Xj=x(0),Vj=vj;;)if(Xj=x(Xj+u[ak+(Vj<<2)>>2]),!((0|(Vj=Vj+1|0))<(0|$j)))break;if(u[xj+Wj>>2]=Xj,vj=q[Wj+_j>>2]+vj|0,!((0|(yj=yj+1|0))<(0|Yj)))break}},n[7]=function(a,vj,xj,yj){a|=0,vj|=0,xj|=0,yj|=0;var zj=0,Aj=x(0),Qj=0,Rj=0,Sj=0,Tj=0,Uj=0;if(1<=(0|(Tj=q[a+8>>2])))for(Rj=q[a+12>>2],Sj=q[a+20>>2];;)if(u[(Qj=zj<<2)+Rj>>2]=u[vj+Qj>>2]*u[Qj+Sj>>2],!((0|(zj=zj+1|0))<(0|Tj)))break;if(!((0|(zj=q[a>>2]))<1))if(Tj=q[a+4>>2],yj)for(Qj=vj=0;;){if(q[yj>>2]){if((0|(zj=q[(Rj=vj<<2)+q[a+16>>2]>>2]))<1)Aj=x(0);else for(Sj=zj+Qj|0,Uj=q[a+12>>2],Aj=x(0),zj=Qj;;)if(Aj=x(Aj+u[Uj+(zj<<2)>>2]),!((0|(zj=zj+1|0))<(0|Sj)))break;zj=xj+Rj|0,Aj=x(Aj+x(.0010000000474974513)),Rj=x(y(Aj))>2]=Rj,zj=q[a>>2]}if(yj=yj+4|0,Qj=q[Tj+(vj<<2)>>2]+Qj|0,!((0|(vj=vj+1|0))<(0|zj)))break}else for(Rj=q[a+16>>2],vj=yj=0;;){if((0|(zj=q[(Qj=yj<<2)+Rj>>2]))<=0)Aj=x(0);else for(Sj=vj+zj|0,Uj=q[a+12>>2],Aj=x(0),zj=vj;;)if(Aj=x(Aj+u[Uj+(zj<<2)>>2]),!((0|(zj=zj+1|0))<(0|Sj)))break;if(zj=xj+Qj|0,Aj=x(Aj+x(.0010000000474974513)),Sj=x(y(Aj))>2]=Sj,vj=q[Qj+Tj>>2]+vj|0,!((0|(yj=yj+1|0))>2]))break}},n[8]=function(a,vj,xj,yj,zj,Aj){a|=0,vj|=0,xj|=0,yj|=0,zj|=0,Aj|=0;var Oj,Pj,Bj=0,Cj=0,Dj=0,Ej=0,Fj=0,Gj=0,Hj=0,Ij=0,Kj=0,Lj=0,Mj=x(0),Nj=0,Jj=q[a>>2];if(!((0|Jj)<1))if(Oj=zj<<2,Pj=q[a+4>>2],Aj)for(;;){if(q[Aj>>2]&&(Dj=q[(Bj=Ej<<2)+q[a+16>>2]>>2],Hj=q[xj+Bj>>2],Cj=q[yj+Bj>>2],(Bj=(0|(Ij=w(Cj,zj)))<1)||ca(Hj,0,w(Cj,Oj)),!(Bj|(0|Dj)<1)))for(Kj=Dj+Gj|0,Lj=q[a+20>>2],Bj=Gj;;){for(Mj=u[(Cj=Bj<<2)+Lj>>2],Nj=q[vj+Cj>>2],Fj=0;;)if(u[(Cj=(Dj=Fj<<2)+Hj|0)>>2]=u[Cj>>2]+x(Mj*u[Dj+Nj>>2]),(0|Ij)==(0|(Fj=Fj+1|0)))break;if(!((0|(Bj=Bj+1|0))<(0|Kj)))break}if(Aj=Aj+4|0,Gj=q[(Ej<<2)+Pj>>2]+Gj|0,!((0|(Ej=Ej+1|0))<(0|Jj)))break}else for(Aj=0;;){if(Dj=q[(Ej=Aj<<2)+q[a+16>>2]>>2],Hj=q[xj+Ej>>2],Cj=q[yj+Ej>>2],(Bj=(0|(Ij=w(Cj,zj)))<1)||ca(Hj,0,w(Cj,Oj)),!(Bj|(0|Dj)<=0))for(Kj=Dj+Gj|0,Lj=q[a+20>>2],Bj=Gj;;){for(Mj=u[(Cj=Bj<<2)+Lj>>2],Nj=q[vj+Cj>>2],Fj=0;;)if(u[(Cj=(Dj=Fj<<2)+Hj|0)>>2]=u[Cj>>2]+x(Mj*u[Dj+Nj>>2]),(0|Ij)==(0|(Fj=Fj+1|0)))break;if(!((0|(Bj=Bj+1|0))<(0|Kj)))break}if(Gj=q[Ej+Pj>>2]+Gj|0,!((0|(Aj=Aj+1|0))<(0|Jj)))break}},n[9]=function(a){a|=0;var Me,Ne,Oe,Ie=0,Je=0,Ke=0,Le=0;if(!(q[a+648>>2]||(0|(Ie=q[a+332>>2]))<1))for(Ne=(Je=q[a+336>>2])+w(Ie,20)|0,Ie=q[a+424>>2],Le=q[a+444>>2];;){if(q[Ie>>2]&&!((0|(Ke=q[Je+16>>2]))<(a=1)))for(Ke<<=1,Oe=q[Le>>2];;)if(u[(Me=(a<<2)+Oe|0)>>2]=-u[Me>>2],!((0|(a=a+2|0))<(0|Ke)))break;if(Le=Le+4|0,Ie=Ie+4|0,!((Je=Je+20|0)>>>0>>0))break}},n[10]=function(a,Sm,un){var wn;return $(wn=q[(a|=0)+20>>2],Sm|=0,Sm=(un|=0)>>>0<(Sm=q[a+16>>2]-wn|0)>>>0?un:Sm),q[a+20>>2]=Sm+q[a+20>>2],0|un},n[11]=function(a,Il,Rm,Sm,Tm,Um){a|=0,Il=+Il,Rm|=0,Sm|=0,Tm|=0,Um|=0;var fn,qn,Zm,Vm=0,Wm=0,Xm=0,Ym=0,_m=0,$m=0,an=0,bn=0,cn=0,dn=0,en=0,gn=0,hn=0,jn=0,kn=0,mn=0;if(q[44+(L=Zm=L-560|0)>>2]=0,h(+Il),Vm=0|b[1],qn=4294967295>>0?0:1,kn=(0|Vm)<-1||((0|Vm)<=-1?qn:0)?(h(+(Il=-Il)),Vm=0|b[1],b[0],jn=1,3840):2048&Tm?(jn=1,3843):(jn=1&Tm)?3846:3841,2146435072==(2146435072&Vm))_(a,32,Rm,$m=jn+3|0,-65537&Tm),Z(a,kn,jn),Sm=Um>>>5&1,Z(a,Il!=Il?Sm?3867:3871:Sm?3859:3863,3);else if(Il=function Ja(a,ic){var kc,lc,jc=0;if(h(+a),jc=0|b[1],kc=0|b[0],2047!=(0|(jc=(lc=jc)>>>20&2047))){if(!jc)return jc=ic,ic=0==a?0:(a=Ja(0x10000000000000000*a,ic),q[ic>>2]+-64|0),q[jc>>2]=ic,a;q[ic>>2]=jc+-1022,f(0,0|kc),f(1,-2146435073&lc|1071644672),a=+g()}return a}(Il,44+Zm|0),0!=(Il+=Il)&&(q[44+Zm>>2]=q[44+Zm>>2]+-1),fn=16+Zm|0,97==(0|(qn=32|Um))){if(en=(dn=32&Um)?kn+9|0:kn,!(11>>0)&&(Vm=12-Sm|0)){for(gn=8;;)if(gn*=16,!(Vm=Vm+-1|0))break;Il=45==r[0|en]?-(gn+(-Il-gn)):Il+gn-gn}for((0|fn)==(0|(Vm=ga((Xm=(Vm=q[44+Zm>>2])>>31)^Vm+Xm,0,fn)))&&(o[15+Zm|0]=48,Vm=15+Zm|0),_m=2|jn,Xm=q[44+Zm>>2],o[0|(cn=Vm+-2|0)]=Um+15,o[Vm+-1|0]=(0|Xm)<0?45:43,Vm=8&Tm,Wm=16+Zm|0;;)if(Um=Wm,bn=dn,Xm=y(Il)<2147483648?~~Il:-2147483648,o[0|Wm]=bn|r[Xm+3824|0],1!=((Wm=Um+1|0)-(16+Zm|0)|0)|(0==(Il=16*(Il-(0|Xm)))?!(Vm|0<(0|Sm)):0)||(o[Um+1|0]=46,Wm=Um+2|0),0==Il)break;_(a,32,Rm,$m=(Um=!Sm|(0|Sm)<=((Wm-Zm|0)-18|0)?((fn-(16+Zm|0)|0)-cn|0)+Wm|0:2+((Sm+fn|0)-cn|0)|0)+_m|0,Tm),Z(a,en,_m),_(a,48,Rm,$m,65536^Tm),Z(a,16+Zm|0,Sm=Wm-(16+Zm|0)|0),_(a,48,Um-((Vm=Sm)+(Sm=fn-cn|0)|0)|0,0,0),Z(a,cn,Sm)}else{for(Vm=(0|Sm)<0,0==Il?Ym=q[44+Zm>>2]:(Ym=q[44+Zm>>2]+-28|0,q[44+Zm>>2]=Ym,Il*=268435456),an=Vm?6:Sm,Xm=dn=(0|Ym)<0?48+Zm|0:336+Zm|0;;)if(Xm=(Sm=Xm)+4|0,0==(Il=1e9*(Il-((q[Sm>>2]=Vm=Il<4294967296&0<=Il?~~Il>>>0:0)>>>0))))break;if((0|Ym)<1)Vm=Xm,Wm=dn;else for(Wm=dn;;){if(cn=(0|Ym)<29?Ym:29,!((Vm=Xm+-4|0)>>>0>>0)){for(Sm=cn,bn=0;;)if(mn=bn,bn=q[(en=Vm)>>2],_m=31&Sm,_m=32<=(63&Sm)>>>($m=0)?(Ym=bn<<_m,0):(Ym=(1<<_m)-1&bn>>>32-_m,bn<<_m),$m=Ym+$m|0,$m=(bn=mn+_m|0)>>>0<_m>>>0?$m+1|0:$m,mn=en,en=ad(bn=bd(_m=bn,$m,1e9),M,1e9),q[mn>>2]=_m-en,!(Wm>>>0<=(Vm=Vm+-4|0)>>>0))break;(Sm=bn)&&(q[(Wm=Wm+-4|0)>>2]=Sm)}for(;;)if(!(Wm>>>0<(Vm=Xm)>>>0)||q[(Xm=Vm+-4|0)>>2])break;if(Ym=q[44+Zm>>2]-cn|0,Xm=Vm,!(0<(0|(q[44+Zm>>2]=Ym))))break}if((0|Ym)<=-1)for(hn=1+((an+25|0)/9|0)|0,cn=102==(0|qn);;){if(bn=(0|Ym)<-9?9:0-Ym|0,Vm>>>0<=Wm>>>0)Wm=q[Wm>>2]?Wm:Wm+4|0;else{for(en=1e9>>>bn,_m=-1<>2],q[Xm>>2]=(Sm>>>bn)+Ym,Ym=w(en,Sm&_m),!((Xm=Xm+4|0)>>>0>>0))break;Wm=q[Wm>>2]?Wm:Wm+4|0,Ym&&(q[Vm>>2]=Ym,Vm=Vm+4|0)}if(Ym=bn+q[44+Zm>>2]|0,Vm=(0|hn)>2?Sm+(hn<<2)|0:Vm,!((0|(q[44+Zm>>2]=Ym))<0))break}if(!(Vm>>>(Xm=0)<=Wm>>>0||(Xm=w(dn-Wm>>2,9),(Sm=q[Wm>>2])>>>0<(Ym=10))))for(;;)if(Xm=Xm+1|0,!((Ym=w(Ym,10))>>>0<=Sm>>>0))break;if((0|(Sm=(an-(102==(0|qn)?0:Xm)|0)-(103==(0|qn)&0!=(0|an))|0))<(w(Vm-dn>>2,9)+-9|0)){if($m=(dn+((Sm=(0|(_m=Sm+9216|0))/9|0)<<2)|0)-4092|0,Ym=10,(0|(Sm=1+(_m-w(Sm,9)|0)|0))<=8)for(;;)if(Ym=w(Ym,10),9==(0|(Sm=Sm+1|0)))break;if(hn=$m+4|0,((cn=(en=q[$m>>2])-w(Ym,_m=(en>>>0)/(Ym>>>0)|0)|0)||(0|hn)!=(0|Vm))&&(gn=cn>>>0<(Sm=Ym>>>1)>>>0?.5:(0|Vm)==(0|hn)&&(0|Sm)==(0|cn)?1:1.5,Il=1&_m?9007199254740994:9007199254740992,!jn|45!=r[0|kn]||(gn=-gn,Il=-Il),q[$m>>2]=Sm=en-cn|0,Il+gn!=Il)){if(1e9<=(q[$m>>2]=Sm=Sm+Ym|0)>>>0)for(;;)if(($m=$m+-4|(q[$m>>2]=0))>>>0>>0&&(q[(Wm=Wm+-4|0)>>2]=0),Sm=q[$m>>2]+1|0,!(999999999<(q[$m>>2]=Sm)>>>0))break;if(Xm=w(dn-Wm>>2,9),!((Sm=q[Wm>>2])>>>0<(Ym=10)))for(;;)if(Xm=Xm+1|0,!((Ym=w(Ym,10))>>>0<=Sm>>>0))break}Vm=(Sm=$m+4|0)>>>0>>0?Sm:Vm}j:{for(;;){if((cn=Vm)>>>(en=0)<=Wm>>>0)break j;if(q[(Vm=cn+-4|0)>>2])break}en=1}if(103!=(0|qn))_m=8&Tm;else if(an=((Sm=(0|Xm)<(0|(Vm=an||1))&-5<(0|Xm))?-1^Xm:-1)+Vm|0,Um=(Sm?-1:-2)+Um|0,!(_m=8&Tm)){if(Vm=9,en&&(_m=q[cn+-4>>2])&&!((_m>>>(Vm=0))%(Sm=10)))for(;;)if(Vm=Vm+1|0,(_m>>>0)%((Sm=w(Sm,10))>>>0))break;Sm=w(cn-dn>>2,9)+-9|0,an=102==(32|Um)?((_m=0)|an)<(0|(Sm=0<(0|(Sm=Sm-Vm|0))?Sm:0))?an:Sm:((_m=0)|an)<(0|(Sm=0<(0|(Sm=(Sm+Xm|0)-Vm|0))?Sm:0))?an:Sm}if($m=0!=(0|(Ym=an|_m)),Sm=a,mn=Rm,Vm=0<(0|Xm)?Xm:0,102!=(0|(bn=32|Um))){if((fn-(Vm=ga((Vm=Xm>>31)+Xm^Vm,0,fn))|0)<=1)for(;;)if(o[0|(Vm=Vm+-1|0)]=48,!((fn-Vm|0)<2))break;o[0|(hn=Vm+-2|0)]=Um,o[Vm+-1|0]=(0|Xm)<0?45:43,Vm=fn-hn|0}if(_(Sm,32,mn,$m=1+(Vm+($m+(an+jn|0)|0)|0)|0,Tm),Z(a,kn,jn),_(a,48,Rm,$m,65536^Tm),102==(0|bn)){for(Sm=16+Zm|8,Xm=16+Zm|9,Wm=Um=dn>>>0>>0?dn:Wm;;){if(Vm=ga(q[Wm>>2],0,Xm),(0|Um)!=(0|Wm)){if(!(Vm>>>0<=16+Zm>>>0))for(;;)if(o[0|(Vm=Vm+-1|0)]=48,!(16+Zm>>>0>>0))break}else(0|Vm)==(0|Xm)&&(o[24+Zm|0]=48,Vm=Sm);if(Z(a,Vm,Xm-Vm|0),!((Wm=Wm+4|0)>>>0<=dn>>>0))break}Ym&&Z(a,3875,1);p:if(!((0|an)<1|cn>>>0<=Wm>>>0))for(;;){if(16+Zm>>>0<(Vm=ga(q[Wm>>2],0,Xm))>>>0)for(;;)if(o[0|(Vm=Vm+-1|0)]=48,!(16+Zm>>>0>>0))break;if(Z(a,Vm,(0|an)<9?an:9),an=an+-9|0,cn>>>0<=(Wm=Wm+4|0)>>>0)break p;if(!(0<(0|an)))break}_(a,48,an+9|0,9,0)}else{q:if(!((0|an)<0))for(Um=en?cn:Wm+4|0,Sm=16+Zm|8,dn=16+Zm|9,Xm=Wm;;){if((0|dn)==(0|(Vm=ga(q[Xm>>2],0,dn)))&&(o[24+Zm|0]=48,Vm=Sm),(0|Wm)!=(0|Xm)){if(!(Vm>>>0<=16+Zm>>>0))for(;;)if(o[0|(Vm=Vm+-1|0)]=48,!(16+Zm>>>0>>0))break}else Z(a,Vm,1),Vm=Vm+1|0,(0|an)<1&&!_m||Z(a,3875,1);if(Z(a,bn=Vm,(0|(Vm=dn-Vm|0))<(0|an)?Vm:an),an=an-Vm|0,Um>>>0<=(Xm=Xm+4|0)>>>0)break q;if(!(-1<(0|an)))break}_(a,48,an+18|0,18,0),Z(a,hn,fn-hn|0)}}return _(a,32,Rm,$m,8192^Tm),L=560+Zm|0,0|((0|$m)<(0|Rm)?Rm:$m)},n[12]=function(a,Il){a|=0;var tm=0,tm=Il|=0;Il=q[Il>>2]+15&-16,q[tm>>2]=Il+16,tm=a,a=Cc(q[Il>>2],q[Il+4>>2],q[Il+8>>2],q[Il+12>>2]),v[tm>>3]=a},n[13]=function(a){return 0},n[14]=function(a,Il,tm){Il|=0,tm|=0;var Om,Cm,Bm=0,Lm=0,Mm=0,Nm=0;for(L=Cm=L-32|0,Bm=q[(a|=0)+28>>2],q[16+Cm>>2]=Bm,Mm=q[a+20>>2],q[28+Cm>>2]=tm,q[24+Cm>>2]=Il,Mm=(q[20+Cm>>2]=Il=Mm-Bm|0)+tm|0,Nm=2,Il=16+Cm|0;;){a:{if((Lm=(Bm=0)|K(q[a+60>>2],0|Il,0|Nm,12+Cm|0))&&(q[2086]=Lm,Bm=-1),(0|(Bm=Bm?q[12+Cm>>2]=-1:q[12+Cm>>2]))==(0|Mm))Il=q[a+44>>2],q[a+28>>2]=Il,q[a+20>>2]=Il,q[a+16>>2]=Il+q[a+48>>2],a=tm;else{if(-1<(0|Bm))break a;q[a+28>>2]=0,q[a+16>>2]=0,q[a+20>>2]=0,q[a>>2]=32|q[a>>2],2!=((a=0)|Nm)&&(a=tm-q[Il+4>>2]|0)}return L=32+Cm|0,0|a}Lm=q[Il+4>>2],q[(Il=(Om=Lm>>>0>>0)?Il+8|0:Il)>>2]=(Lm=Bm-(Om?Lm:0)|0)+q[Il>>2],q[Il+4>>2]=q[Il+4>>2]-Lm,Mm=Mm-Bm|0,Nm=Nm-Om|0}},n[15]=function(a,Il,tm,Bm){return M=0},{d:function(){},e:function(){return 83886080},f:function(){return 5},g:function(a,vj){return vj|=0,L=vj=L-16|0,a=(a|=0)?sa(a)?(Y(4,2150,0),0):r[a+4|0]:(q[vj+4>>2]=1444,q[vj>>2]=2267,Y(4,1294,vj),0),L=vj+16|0,0|a},h:function(a,vj){var wj;return vj|=0,L=wj=L-48|0,a=(a|=0)?(a+63&-64)!=(0|a)?(q[36+wj>>2]=1522,q[32+wj>>2]=2284,Y(4,1294,32+wj|0),0):(vj+63&-64)==(0|vj)&&vj?function(a,Vk){var Wk=0,Xk=0,Yk=0,Zk=0,_k=0,$k=0,al=0,bl=0,cl=0,dl=0,el=0,fl=0,gl=0,hl=0,il=0,jl=0,kl=0,ll=0,ml=0,nl=0,ol=0,pl=0;L=_k=(pl=Xk=L)-704&-64;a:if(Vk>>>0<=1343)Y(4,1235,0);else if(sa(a))Y(4,1469,0);else if(Xk=r[0|(nl=a+4|0)]){if(!(6<=Xk>>>0)){(jl=1==(0|!r[a+5|0]))||(da(nl,1),X(a- -64|0,4,160)),ca(_k- -64|0,0,640),na(a,_k- -64|0),Xk=a+Vk|0,Vk=q[_k+64>>2];b:{c:{d:{if(5<=(il=r[a+4|0])>>>0){if(Vk>>>0>>0|Xk>>>0>>0)break c;if((Zk=Vk+256|0)>>>0>>0)break c;if(Zk>>>0<=Xk>>>0)break d;break c}if(Vk>>>0>>0|Xk>>>0>>0)break c;if((Zk=Vk+128|0)>>>0>>0|Xk>>>0>>0)break c}if(!((Yk=q[_k+68>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0)&&!((Yk=Yk- -64|0)>>>0>>0|Xk>>>0>>0||(0|(dl=q[Vk>>2]))<0||(Zk=q[_k+72>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=(Wk=Zk)+(Zk=dl<<2)|0)>>>0>>0|Xk>>>0>>0||(al=q[_k+76>>2])>>>0>>0|Xk>>>0>>0|al>>>0>>0||(Wk=(dl<<6)+al|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+80>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+84>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+88>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+92>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+96>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+100>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Yk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(0|(Wk=q[Vk+4>>2]))<0||(Zk=q[_k+104>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||($k=(Yk=Zk)+(Zk=Wk<<2)|0)>>>0>>0|Xk>>>0<$k>>>0||(Yk=q[_k+108>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0<$k>>>0||(Wk=Yk+(Wk<<6)|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+112>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+116>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+120>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+124>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+128>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+132>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+136>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Yk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(0|(Wk=q[Vk+8>>2]))<0||(Zk=q[_k+140>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=(el=Wk<<2)+Zk|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+144>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Zk+el|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+148>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Zk+el|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+156>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Zk+el|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+160>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Zk+el|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+164>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Zk+el|0)>>>0>>0|Xk>>>0>>0||(0|(Wk=q[Vk+12>>2]))<0||(Zk=q[_k+172>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=(fl=Wk<<2)+Zk|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+176>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Zk+fl|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+180>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Zk+fl|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+188>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Wk=Zk+fl|0)>>>0>>0|Xk>>>0>>0||(0|(Yk=q[Vk+16>>2]))<0||(Zk=q[_k+192>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||($k=(Wk=Zk)+(Zk=Yk<<2)|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+196>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Zk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+200>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Zk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+204>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Zk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+208>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+(Yk<<6)|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+212>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Zk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+216>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Zk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+220>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Zk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+228>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Zk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+232>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Zk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+236>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Zk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+240>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Zk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+244>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Zk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+248>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||(Wk=Wk+Yk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+252>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+256>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+260>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+264>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+268>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+272>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(0|($k=q[Vk+20>>2]))<0||(Yk=q[_k+276>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(gl=(Wk=Yk)+(Yk=$k<<2)|0)>>>0>>0|Xk>>>0>>0||(Wk=q[_k+280>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||($k=Wk+($k<<6)|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+284>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Yk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+288>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Yk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+292>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Yk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+296>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Yk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+300>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Yk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+308>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Yk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+312>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Yk|0)>>>0>>0|Xk>>>0<$k>>>0||(0|(gl=q[Vk+24>>2]))<0||(Wk=q[_k+336>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+(gl<<2)|0)>>>0>>0|Xk>>>0<$k>>>0||(0|(gl=q[Vk+28>>2]))<0||(Wk=q[_k+340>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=(ll=gl<<2)+Wk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+344>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+ll|0)>>>0>>0|Xk>>>0<$k>>>0||(0|(gl=q[Vk+32>>2]))<0||(Wk=q[_k+356>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||(gl=($k=gl<<2)+Wk|0)>>>0>>0|Xk>>>0>>0||(Wk=q[_k+360>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(gl=Wk+$k|0)>>>0>>0|Xk>>>0>>0||(Wk=q[_k+364>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(gl=Wk+$k|0)>>>0>>0|Xk>>>0>>0||(Wk=q[_k+368>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(gl=Wk+$k|0)>>>0>>0|Xk>>>0>>0||(Wk=q[_k+372>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(gl=Wk+$k|0)>>>0>>0|Xk>>>0>>0||(Wk=q[_k+376>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(gl=Wk+$k|0)>>>0>>0|Xk>>>0>>0||(Wk=q[_k+380>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(gl=Wk+$k|0)>>>0>>0|Xk>>>0>>0||(0|(bl=q[Vk+36>>2]))<0||(Wk=q[_k+392>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=(gl=bl<<2)+Wk|0)>>>0>>0|Xk>>>0>>0||(Wk=q[_k+396>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=Wk+gl|0)>>>0>>0|Xk>>>0>>0||(Wk=q[_k+400>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=Wk+gl|0)>>>0>>0|Xk>>>0>>0||(0|(cl=q[Vk+40>>2]))<0||(Wk=q[_k+412>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=Wk+(cl<<2)|0)>>>0>>0|Xk>>>0>>0||(0|(cl=q[Vk+44>>2]))<0||(Wk=q[_k+424>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=Wk+(cl<<2)|0)>>>0>>0|Xk>>>0>>0||(0|(cl=q[Vk+48>>2]))<0||(Wk=q[_k+428>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=(cl<<=2)+Wk|0)>>>0>>0|Xk>>>0>>0||(Wk=q[_k+432>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=Wk+cl|0)>>>0>>0|Xk>>>0>>0||(0|(cl=q[Vk+52>>2]))<0||(Wk=q[_k+416>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=(cl<<=2)+Wk|0)>>>0>>0|Xk>>>0>>0||(Wk=q[_k+420>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=Wk+cl|0)>>>0>>0|Xk>>>0>>0||(0|(cl=q[Vk+56>>2]))<0||(Wk=q[_k+552>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=Wk+(cl<<2)|0)>>>0>>0|Xk>>>0>>0||(0|(cl=q[Vk+60>>2]))<0||(Wk=q[_k+556>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=Wk+(cl<<2)|0)>>>0>>0|Xk>>>0>>0||(0|(cl=q[Vk+64>>2]))<0||(Wk=q[_k+560>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=Wk+(cl<<1)|0)>>>0>>0|Xk>>>0>>0||(0|(cl=q[Vk+68>>2]))<0||(Wk=q[_k+564>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=Wk+(cl<<2)|0)>>>0>>0|Xk>>>0>>0||(0|(cl=q[Vk+72>>2]))<0||(Wk=q[_k+568>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(cl=(bl=Wk)+(Wk=cl<<2)|0)>>>0>>0|Xk>>>0>>0||(bl=q[_k+572>>2])>>>0>>0|Xk>>>0>>0|bl>>>0>>0||(cl=Wk+bl|0)>>>0>>0|Xk>>>0>>0||(bl=q[_k+576>>2])>>>0>>0|Xk>>>0>>0|bl>>>0>>0||(cl=Wk+bl|0)>>>0>>0|Xk>>>0>>0||(bl=q[_k+580>>2])>>>0>>0|Xk>>>0>>0|bl>>>0>>0||(cl=Wk+bl|0)>>>0>>0|Xk>>>0>>0||(bl=q[_k+584>>2])>>>0>>0|Xk>>>0>>0|bl>>>0>>0||(bl=Wk+bl|0)>>>0>>0|Xk>>>0>>0||(0|(cl=q[Vk+76>>2]))<0||(Wk=q[_k+588>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(cl=(bl=cl<<2)+Wk|0)>>>0>>0|Xk>>>0>>0||(Wk=q[_k+592>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(cl=Wk+bl|0)>>>0>>0|Xk>>>0>>0||(Wk=q[_k+596>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=Wk+bl|0)>>>0>>0|Xk>>>0>>0||(0|(cl=q[Vk+80>>2]))<0||(Wk=q[_k+600>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(hl=(bl=Wk)+(Wk=cl<<2)|0)>>>0>>0|Xk>>>0>>0||(bl=q[_k+604>>2])>>>0>>0|Xk>>>0>>0|bl>>>0>>0||(cl=bl+(cl<<6)|0)>>>0>>0|Xk>>>0>>0||(bl=q[_k+608>>2])>>>0>>0|Xk>>>0>>0|bl>>>0>>0||(cl=Wk+bl|0)>>>0>>0|Xk>>>0>>0||(bl=q[_k+612>>2])>>>0>>0|Xk>>>0>>0|bl>>>0>>0||(cl=Wk+bl|0)>>>0>>0|Xk>>>0>>0||(bl=q[_k+616>>2])>>>0>>0|Xk>>>0>>0|bl>>>0>>0||(cl=Wk+bl|0)>>>0>>0|Xk>>>0>>0||(bl=q[_k+620>>2])>>>0>>0|Xk>>>0>>0|bl>>>0>>0||(cl=Wk+bl|0)>>>0>>0|Xk>>>0>>0||(bl=q[_k+624>>2])>>>0>>0|Xk>>>0>>0|bl>>>0>>0||(cl=Wk+bl|0)>>>0>>0|Xk>>>0>>0||(bl=q[_k+628>>2])>>>0>>0|Xk>>>0>>0|bl>>>0>>0||(cl=Wk+bl|0)>>>0>>0|Xk>>>0>>0||(bl=q[_k+632>>2])>>>0>>0|Xk>>>0>>0|bl>>>0>>0||(bl=Wk+bl|0)>>>0>>0|Xk>>>0>>0||(0|(cl=q[Vk+84>>2]))<0||(Wk=q[_k+636>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=Wk+(cl<<2)|0)>>>0>>0|Xk>>>0>>0||(Wk=q[_k+640>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=Wk+(cl<<1)|0)>>>0>>0|Xk>>>0>>0||(0|(cl=q[Vk+88>>2]))<0||(Wk=q[_k+644>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(Wk=Wk+(cl<<2)|0)>>>0>>0|Xk>>>0>>0)){if(!(il>>>0<2)){if((bl=q[_k+168>>2])>>>0>>0|Xk>>>0>>0|bl>>>0>>0)break c;if((Wk=bl+el|0)>>>0>>0|Xk>>>0>>0)break c;if(!(il>>>0<4)){if((bl=q[_k+324>>2])>>>0>>0|Xk>>>0>>0|bl>>>0>>0)break c;if((bl=Yk+bl|0)>>>0>>0|Xk>>>0>>0)break c;if((Wk=q[_k+328>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0)break c;if((bl=Wk+Yk|0)>>>0>>0|Xk>>>0>>0)break c;if((Wk=q[_k+332>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0)break c;if((bl=Wk+Yk|0)>>>0>>0|Xk>>>0>>0)break c;if((Wk=q[_k+152>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0)break c;if((el=Wk+el|0)>>>0>>0|Xk>>>0>>0)break c;if((Wk=q[_k+184>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0)break c;if((el=Wk+fl|0)>>>0>>0|Xk>>>0>>0)break c;if((Wk=q[_k+224>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0)break c;if((Wk=Wk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((0|(el=q[Vk+92>>2]))<0)break c;if((Zk=q[_k+648>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((el=(Wk=el<<2)+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+652>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((el=Wk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+656>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Wk=Wk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((0|(el=q[Vk+96>>2]))<0)break c;if((Zk=q[_k+660>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((el=(Wk=el<<2)+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+664>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((el=Wk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+668>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Wk=Wk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+304>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+316>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+320>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Yk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((0|(Wk=q[Vk+100>>2]))<0)break c;if((Zk=q[_k+436>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Wk=(Yk=Wk<<2)+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+440>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+444>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Yk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((0|(Wk=q[Vk+104>>2]))<0)break c;if((Zk=q[_k+448>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Wk=(Yk=Zk)+(Zk=Wk<<2)|0)>>>0>>0|Xk>>>0>>0)break c;if((Yk=q[_k+452>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0)break c;if((Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Yk=q[_k+456>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0)break c;if((Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Yk=q[_k+460>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0)break c;if((Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Yk=q[_k+464>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0)break c;if((Yk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((0|(Wk=q[Vk+108>>2]))<0)break c;if((Zk=q[_k+480>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Wk=(Yk=Wk<<2)+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+484>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+488>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Yk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((0|(Wk=q[Vk+112>>2]))<0)break c;if((Zk=q[_k+504>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Wk=(Yk=Wk<<2)+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+508>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+512>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Yk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((0|(Wk=q[Vk+116>>2]))<0)break c;if((Zk=q[_k+528>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Yk=Zk+(Wk<<2)|0)>>>0>>0|Xk>>>0>>0)break c;if((0|(Wk=q[Vk+120>>2]))<0)break c;if((Zk=q[_k+532>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Wk=(Yk=Wk<<2)+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+536>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+540>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Yk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((0|(Wk=q[Vk+124>>2]))<0)break c;if((Zk=q[_k+544>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Yk=(Wk<<=2)+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+548>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Wk=Wk+Zk|0)>>>0>>0|Xk>>>0>>0)break c}}if(il>>>0<5)break b;if(!((Zk=q[_k+348>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Zk+ll|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+352>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Zk+ll|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+384>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Zk+$k|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+388>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Zk+$k|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+404>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Zk+gl|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+408>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Zk+gl|0)>>>0>>0|Xk>>>0>>0||(0|(Wk=q[Vk+128>>2]))<0||(Zk=q[_k+468>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Wk=(Yk=Wk<<2)+Zk|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+472>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+476>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(0|(Wk=q[Vk+132>>2]))<0||(Zk=q[_k+492>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Wk=(Yk=Wk<<2)+Zk|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+496>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+500>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(0|(Wk=q[Vk+136>>2]))<0||(Zk=q[_k+516>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Wk=(Yk=Wk<<2)+Zk|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+520>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+524>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Zk=Yk+Zk|0)>>>0>>0||!(Zk>>>0<=Xk>>>0)))break b}}Y(4,1760,0),da(nl,1),X(a- -64|0,4,160);break a}jl||(ya(a),o[a+5|0]=0,Vk=q[_k+64>>2],dl=q[Vk>>2],al=q[_k+76>>2],il=r[a+4|0]);f:{if((a=0)<(0|dl)){for(;;){if(63>>0)break f;if((0|dl)==(0|(a=a+1|0)))break}if(Wk=Vk+48|0,(Xk=0)<(0|(a=q[Vk>>2]))){for(Zk=q[Vk+48>>2],Yk=q[_k+80>>2];;){if((0|(al=q[Yk+(Xk<<2)>>2]))<0|(0|Zk)<=(0|al))break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(gl=Vk+24|0,Zk=q[Vk+24>>2],$k=q[_k+88>>2],dl=q[_k+84>>2],Xk=0;;){if(Yk=q[(al=Xk<<2)+$k>>2]){if((0|Yk)<0|(0|Zk)<(0|Yk))break f;if((0|(al=q[al+dl>>2]))<0|(0|Zk)<=(0|al))break f;if((Yk=Yk+al|0)>>>31|(0|Zk)<(0|Yk))break f}if((0|a)==(0|(Xk=Xk+1|0)))break}for(Xk=0,Zk=q[_k+92>>2];;){if(1>2])break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Xk=0,Zk=q[_k+96>>2];;){if(1>2])break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Xk=0,Zk=q[_k+100>>2];;){if((0|(Yk=q[Zk+(Xk<<2)>>2]))<-1|(0|a)<=(0|Yk))break f;if((0|a)==(0|(Xk=Xk+1|0)))break}}else gl=Vk+24|0}else gl=Vk+24|0,Wk=Vk+48|0;if((a=0)<(0|(Xk=q[Vk+4>>2]))){for(Zk=q[_k+108>>2];;){if(63>>0)break f;if((0|Xk)==(0|(a=a+1|0)))break}if(Zk=q[Vk+48>>2],$k=Zk+-1|0,!(((Xk=0)|(a=q[Vk+4>>2]))<=0)){for(Yk=q[_k+112>>2];;){if((0|(al=q[Yk+(Xk<<2)>>2]))<0|(0|Zk)<=(0|al))break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Xk=0,Zk=q[_k+116>>2];;){if(1>2])break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Xk=0,Zk=q[_k+120>>2];;){if(1>2])break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Zk=q[Vk>>2],Xk=0,Yk=q[_k+124>>2];;){if((0|(al=q[Yk+(Xk<<2)>>2]))<-1|(0|Zk)<=(0|al))break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Xk=0,Zk=q[_k+128>>2];;){if((0|(Yk=q[Zk+(Xk<<2)>>2]))<-1|(0|a)<=(0|Yk))break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Xk=0,Zk=q[_k+132>>2];;){if(1>2])break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Yk=Vk+8|0,al=Vk+12|0,dl=q[_k+136>>2],Xk=0;;){if(1<(fl=q[(el=Xk<<2)+Zk>>2])>>>0)break f;if((0|(el=q[dl+el>>2]))<0|(0|el)>=q[(fl-1|0?Yk:al)>>2])break f;if((0|a)==(0|(Xk=Xk+1|0)))break}}}else $k=q[Wk>>2]+-1|0;if((a=0)<(0|(Xk=q[Vk+8>>2]))){for(Zk=q[_k+140>>2];;){if((0|(Yk=q[Zk+(a<<2)>>2]))<0|(0|$k)<(0|Yk))break f;if((0|Xk)==(0|(a=a+1|0)))break}for(ll=Vk+28|0,Zk=q[Vk+28>>2],dl=q[_k+148>>2],el=q[_k+144>>2],a=0;;){if(Yk=q[(al=a<<2)+dl>>2]){if((0|Yk)<0|(0|Zk)<(0|Yk))break f;if((0|(al=q[al+el>>2]))<0|(0|Zk)<=(0|al))break f;if((Yk=Yk+al|0)>>>31|(0|Zk)<(0|Yk))break f}if((0|Xk)==(0|(a=a+1|0)))break}for(a=0,Yk=q[_k+156>>2],al=q[_k+164>>2],dl=q[_k+160>>2];;){if((0|(el=q[(Zk=a<<2)+dl>>2]))<1)break f;if((0|(fl=q[Zk+al>>2]))<1)break f;if((0|(Zk=q[Yk+Zk>>2]))<1|(0|Zk)!=(0|w(fl+1|0,el+1|0)))break f;if((0|Xk)==(0|(a=a+1|0)))break}}else ll=Vk+28|0;if((a=0)<(0|(Yk=q[Vk+12>>2]))){for(Xk=q[_k+172>>2];;){if((0|(Zk=q[Xk+(a<<2)>>2]))<0|(0|$k)<(0|Zk))break f;if((0|Yk)==(0|(a=a+1|0)))break}for(bl=Vk+32|0,Xk=q[Vk+32>>2],$k=q[_k+180>>2],dl=q[_k+176>>2],a=0;;){if(Zk=q[(al=a<<2)+$k>>2]){if((0|Zk)<0|(0|Xk)<(0|Zk))break f;if((0|(al=q[al+dl>>2]))<0|(0|Xk)<=(0|al))break f;if((Zk=Zk+al|0)>>>31|(0|Xk)<(0|Zk))break f}if((0|Yk)==(0|(a=a+1|0)))break}}else bl=Vk+32|0;Zk=Vk+16|0,a=0;m:{n:{if(!((0|(Xk=q[Vk+16>>2]))<=0)){for(Yk=q[_k+208>>2];;){if(63>>0)break f;if((0|Xk)==(0|(a=a+1|0)))break}if(!(((Xk=0)|(a=q[Zk>>2]))<=0)){for(Yk=q[Wk>>2],al=q[_k+212>>2];;){if((0|($k=q[al+(Xk<<2)>>2]))<0|(0|Yk)<=(0|$k))break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(nl=Vk+36|0,Yk=q[Vk+36>>2],dl=q[_k+220>>2],el=q[_k+216>>2],Xk=0;;){if(al=q[($k=Xk<<2)+dl>>2]){if((0|al)<0|(0|Yk)<(0|al))break f;if((0|($k=q[$k+el>>2]))<0|(0|Yk)<=(0|$k))break f;if((al=al+$k|0)>>>31|(0|Yk)<(0|al))break f}if((0|a)==(0|(Xk=Xk+1|0)))break}for(Xk=0,Yk=q[_k+228>>2];;){if(1>2])break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Xk=0,Yk=q[_k+232>>2];;){if(1>2])break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Yk=q[Vk>>2],Xk=0,al=q[_k+236>>2];;){if((0|($k=q[al+(Xk<<2)>>2]))<-1|(0|Yk)<=(0|$k))break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Yk=q[Vk+4>>2],Xk=0,al=q[_k+240>>2];;){if((0|($k=q[al+(Xk<<2)>>2]))<-1|(0|Yk)<=(0|$k))break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Yk=q[_k+244>>2],Xk=0;;){if(q[Yk+(Xk<<2)>>2]<0)break f;if((0|a)==(0|(Xk=Xk+1|0)))break}break n}}al=Vk+68|0,nl=Vk+36|0;break m}for(Yk=q[_k+252>>2],Xk=0;;){if(q[Yk+(Xk<<2)>>2]<0)break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(al=q[Vk+60>>2],Xk=0,$k=q[_k+256>>2];;){if((dl=q[(dl=Xk<<2)+$k>>2]+(q[Yk+dl>>2]<<1)|0)>>>31|(0|al)<(0|dl))break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Yk=q[Vk+64>>2],dl=q[_k+264>>2],el=q[_k+260>>2],Xk=0;;){if(al=q[($k=Xk<<2)+dl>>2]){if((0|al)<0|(0|Yk)<(0|al))break f;if((0|($k=q[$k+el>>2]))<0|(0|Yk)<=(0|$k))break f;if((al=al+$k|0)>>>31|(0|Yk)<(0|al))break f}if((0|a)==(0|(Xk=Xk+1|0)))break}for(al=Vk+68|0,Yk=q[Vk+68>>2],el=q[_k+272>>2],fl=q[_k+268>>2],Xk=0;;){if($k=q[(dl=Xk<<2)+el>>2]){if((0|$k)<0|(0|Yk)<(0|$k))break f;if((0|(dl=q[dl+fl>>2]))<0|(0|Yk)<=(0|dl))break f;if(($k=$k+dl|0)>>>31|(0|Yk)<(0|$k))break f}if((0|a)==(0|(Xk=Xk+1|0)))break}}a=0;p:{q:{if(!((0|(Xk=q[Vk+20>>2]))<=0)){for(Yk=q[_k+280>>2];;){if(63>>0)break f;if((0|Xk)==(0|(a=a+1|0)))break}if(!(((a=0)|(Xk=q[Vk+20>>2]))<=0)){for(Yk=q[_k+296>>2];;){if(1>2])break f;if((0|Xk)==(0|(a=a+1|0)))break}for(Yk=q[_k+300>>2],a=0;;){if(q[Yk+(a<<2)>>2]<0)break f;if((0|Xk)==(0|(a=a+1|0)))break}break q}}a=q[Vk+52>>2];break p}for(a=q[Vk+52>>2],el=q[_k+312>>2],fl=q[_k+308>>2],$k=0;;){if(Yk=q[(dl=$k<<2)+el>>2]){if((0|Yk)<0|(0|a)<(0|Yk))break f;if((0|(dl=q[dl+fl>>2]))<0|(0|a)<=(0|dl))break f;if((Yk=Yk+dl|0)>>>31|(0|a)<(0|Yk))break f}if((0|Xk)==(0|($k=$k+1|0)))break}}if(Xk=0,Yk=q[Vk+40>>2],0<(0|($k=q[Vk+8>>2])))for(dl=q[_k+344>>2],el=q[_k+156>>2];;){if((fl=q[(fl=Xk<<2)+dl>>2]+(q[el+fl>>2]<<1)|0)>>>31|(0|Yk)<(0|fl))break f;if((0|$k)==(0|(Xk=Xk+1|0)))break}if((Xk=0)<(0|($k=q[bl>>2]))){for(dl=q[_k+376>>2];;){if(1>2])break f;if((0|$k)==(0|(Xk=Xk+1|0)))break}for(Xk=0,dl=q[_k+380>>2];;){if(1>2])break f;if((0|$k)==(0|(Xk=Xk+1|0)))break}}if((Xk=0)<(0|($k=q[Zk>>2])))for(dl=q[_k+400>>2],el=q[_k+252>>2];;){if((fl=q[(fl=Xk<<2)+dl>>2]+(q[el+fl>>2]<<1)|0)>>>31|(0|Yk)<(0|fl))break f;if((0|$k)==(0|(Xk=Xk+1|0)))break}if((Xk=0)<(0|(Yk=q[Vk+44>>2])))for(dl=q[_k+424>>2];;){if((0|(el=q[dl+(Xk<<2)>>2]))<0|(0|a)<=(0|el))break f;if((0|Yk)==(0|(Xk=Xk+1|0)))break}if(1<=(0|(el=q[Wk>>2])))for(Xk=0,fl=q[_k+432>>2],cl=q[_k+428>>2];;){if(Wk=q[(dl=Xk<<2)+fl>>2]){if((0|Wk)<0|(0|Yk)<(0|Wk))break f;if((0|(dl=q[cl+dl>>2]))<0|(0|Yk)<=(0|dl))break f;if((Wk=Wk+dl|0)>>>31|(0|Yk)<(0|Wk))break f}if((0|el)==(0|(Xk=Xk+1|0)))break}if(1<=(0|a))for(Yk=q[Vk+56>>2],Xk=0,el=q[_k+420>>2],fl=q[_k+416>>2];;){if(Wk=q[(dl=Xk<<2)+el>>2]){if((0|Wk)<0|(0|Yk)<(0|Wk))break f;if((0|(dl=q[dl+fl>>2]))<0|(0|Yk)<=(0|dl))break f;if((Wk=Wk+dl|0)>>>31|(0|Yk)<(0|Wk))break f}if((0|(Xk=Xk+1|0))==(0|a))break}if((a=0)<(0|(Xk=q[al>>2])))for(Yk=q[_k+564>>2];;){if((0|(al=q[Yk+(a<<2)>>2]))<-1|(0|$k)<=(0|al))break f;if((0|Xk)==(0|(a=a+1|0)))break}if(a=q[Vk+76>>2],1<=(0|(al=q[Vk+72>>2])))for(Xk=0,$k=q[_k+572>>2],dl=q[_k+568>>2];;){if(Yk=q[(Wk=Xk<<2)+$k>>2]){if((0|Yk)<0|(0|a)<(0|Yk))break f;if((0|(Wk=q[Wk+dl>>2]))<0|(0|a)<=(0|Wk))break f;if((Yk=Wk+Yk|0)>>>31|(0|a)<(0|Yk))break f}if((0|al)==(0|(Xk=Xk+1|0)))break}if((Xk=0)<(0|a)){for(Yk=q[_k+588>>2];;){if(1>2])break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Wk=q[_k+592>>2],Xk=0;;){if(1<(dl=q[($k=Xk<<2)+Yk>>2])>>>0)break f;if((0|($k=q[Wk+$k>>2]))<0|(0|$k)>=q[(dl-1|0?Zk:Vk)>>2])break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Xk=0,Yk=q[_k+596>>2];;){if((0|(Wk=q[Yk+(Xk<<2)>>2]))<-1|(0|al)<=(0|Wk))break f;if((0|a)==(0|(Xk=Xk+1|0)))break}}a=0;s:{if(!((0|($k=q[Vk+80>>2]))<=0)){for(Xk=q[_k+604>>2];;){if(63>>0)break f;if((0|$k)==(0|(a=a+1|0)))break}if(!(((a=0)|($k=q[Vk+80>>2]))<=0)){for(Xk=q[Vk+48>>2],Yk=q[_k+608>>2];;){if((0|(al=q[Yk+(a<<2)>>2]))<0|(0|Xk)<=(0|al))break f;if((0|$k)==(0|(a=a+1|0)))break}for(el=q[Vk+88>>2],al=q[_k+616>>2],Wk=q[_k+612>>2],a=0;;){if(Xk=q[(Yk=a<<2)+al>>2]){if((0|Xk)<0|(0|el)<(0|Xk))break f;if((0|(Yk=q[Wk+Yk>>2]))<0|(0|el)<=(0|Yk))break f;if((Xk=Xk+Yk|0)>>>31|(0|el)<(0|Xk))break f}if((0|$k)==(0|(a=a+1|0)))break}for(Zk=q[Zk>>2],al=q[_k+620>>2],a=0;;){if((0|(Xk=q[al+(a<<2)>>2]))<0|(0|Zk)<=(0|Xk))break f;if((0|$k)==(0|(a=a+1|0)))break}for(Wk=q[_k+624>>2],a=0;;){if((0|(Xk=q[Wk+(a<<2)>>2]))<0|(0|Zk)<=(0|Xk))break f;if((0|$k)==(0|(a=a+1|0)))break}for(Xk=q[Vk+84>>2],dl=q[_k+632>>2],fl=q[_k+628>>2],a=0;;){if(Yk=q[(cl=a<<2)+dl>>2]){if((0|Yk)<0|(0|Xk)<(0|Yk))break f;if((0|(cl=q[cl+fl>>2]))<0|(0|Xk)<=(0|cl))break f;if((Yk=Yk+cl|0)>>>31|(0|Xk)<(0|Yk))break f}if((0|$k)==(0|(a=a+1|0)))break}for(hl=q[_k+640>>2],Xk=q[_k+252>>2],Yk=0;;){if(0<(0|(jl=q[(a=Yk<<2)+dl>>2])))for(cl=hl+(q[a+fl>>2]<<1)|0,ol=q[Xk+(q[a+Wk>>2]<<2)>>2],kl=q[Xk+(q[a+al>>2]<<2)>>2],a=0;;){if((0|ol)<=s[cl+(2|(ml=a<<1))>>1]|(0|kl)<=s[cl+ml>>1])break f;if(!((0|(a=a+2|0))<(0|jl)))break}if((0|$k)==(0|(Yk=Yk+1|0)))break}break s}}Zk=q[Vk+16>>2],el=q[Vk+88>>2]}if(!((255&il)>>>0<2)){if((a=0)<(0|(dl=q[Vk+8>>2])))for(Xk=q[_k+168>>2];;){if(1>2])break f;if((0|dl)==(0|(a=a+1|0)))break}if(!((255&il)>>>0<4)){if(al=q[Vk+56>>2],1<=(0|(fl=q[Vk+20>>2])))for(Wk=q[_k+332>>2],cl=q[_k+328>>2],a=0;;){if(Xk=q[(Yk=a<<2)+Wk>>2]){if((0|Xk)<0|(0|al)<(0|Xk))break f;if((0|(Yk=q[Yk+cl>>2]))<0|(0|al)<=(0|Yk))break f;if((Xk=Xk+Yk|0)>>>31|(0|al)<(0|Xk))break f}if((0|fl)==(0|(a=a+1|0)))break}if((0|(a=q[Vk+92>>2]))!=q[Vk+96>>2])break f;if(1<=(0|dl))for(cl=q[_k+152>>2],Xk=0,hl=q[_k+148>>2];;){if(Yk=q[(Wk=Xk<<2)+hl>>2]){if((0|Yk)<0|(0|a)<(0|Yk))break f;if((0|(Wk=q[Wk+cl>>2]))<0|(0|a)<=(0|Wk))break f;if((Yk=Wk+Yk|0)>>>31|(0|a)<(0|Yk))break f}if((0|dl)==(0|(Xk=Xk+1|0)))break}if(1<=(0|(ol=q[Vk+12>>2])))for(cl=q[_k+184>>2],Xk=0,hl=q[_k+180>>2];;){if(Yk=q[(Wk=Xk<<2)+hl>>2]){if((0|Yk)<0|(0|a)<(0|Yk))break f;if((0|(Wk=q[Wk+cl>>2]))<0|(0|a)<=(0|Wk))break f;if((Yk=Wk+Yk|0)>>>31|(0|a)<(0|Yk))break f}if((0|ol)==(0|(Xk=Xk+1|0)))break}if(1<=(0|Zk))for(cl=q[_k+224>>2],Xk=0,hl=q[_k+220>>2];;){if(Yk=q[(Wk=Xk<<2)+hl>>2]){if((0|Yk)<0|(0|a)<(0|Yk))break f;if((0|(Wk=q[Wk+cl>>2]))<0|(0|a)<=(0|Wk))break f;if((Yk=Wk+Yk|0)>>>31|(0|a)<(0|Yk))break f}if((0|Zk)==(0|(Xk=Xk+1|0)))break}if((Xk=0)<(0|fl)){for(Yk=q[_k+304>>2];;){if(1>2])break f;if((0|fl)==(0|(Xk=Xk+1|0)))break}for(Yk=q[Vk+100>>2],hl=q[_k+320>>2],jl=q[_k+316>>2],Xk=0;;){if(Wk=q[(cl=Xk<<2)+hl>>2]){if((0|Wk)<0|(0|Yk)<(0|Wk))break f;if((0|(cl=q[cl+jl>>2]))<0|(0|Yk)<=(0|cl))break f;if((Wk=Wk+cl|0)>>>31|(0|Yk)<(0|Wk))break f}if((0|fl)==(0|(Xk=Xk+1|0)))break}}else Yk=q[Vk+100>>2];if(1<=(0|Yk)){for(cl=q[_k+440>>2],Xk=0,jl=q[_k+436>>2];;){if(Wk=q[(hl=Xk<<2)+cl>>2]){if((0|Wk)<0|(0|al)<(0|Wk))break f;if((0|(hl=q[hl+jl>>2]))<0|(0|al)<=(0|hl))break f;if((Wk=Wk+hl|0)>>>31|(0|al)<(0|Wk))break f}if((0|Yk)==(0|(Xk=Xk+1|0)))break}for(al=q[_k+444>>2],Xk=0;;){if((0|(hl=q[(Wk=Xk<<2)+al>>2]))<0|(0|hl)>=q[Wk+cl>>2])break f;if((0|Yk)==(0|(Xk=Xk+1|0)))break}}if((al=0)<(0|(Xk=q[Vk+104>>2]))){for(Wk=q[_k+448>>2];;){if((0|(cl=q[Wk+(al<<2)>>2]))<0|(0|Yk)<=(0|cl))break f;if((0|Xk)==(0|(al=al+1|0)))break}for(Wk=q[Vk+116>>2],hl=q[_k+464>>2],jl=q[_k+460>>2],Yk=0;;){if(al=q[(cl=Yk<<2)+hl>>2]){if((0|al)<0|(0|Wk)<(0|al))break f;if((0|(cl=q[cl+jl>>2]))<0|(0|Wk)<=(0|cl))break f;if((al=al+cl|0)>>>31|(0|Wk)<(0|al))break f}if((0|Xk)==(0|(Yk=Yk+1|0)))break}}else Wk=q[Vk+116>>2];if((Yk=0)<(0|(cl=q[Vk+108>>2]))){for(al=q[_k+480>>2];;){if((0|(hl=q[al+(Yk<<2)>>2]))<0|(0|dl)<=(0|hl))break f;if((0|cl)==(0|(Yk=Yk+1|0)))break}for(hl=q[_k+488>>2],kl=q[_k+484>>2],Yk=0;;){if(al=q[(dl=Yk<<2)+hl>>2]){if((0|al)<0|(0|Xk)<(0|al))break f;if((0|(dl=q[dl+kl>>2]))<0|(0|Xk)<=(0|dl))break f;if((al=al+dl|0)>>>31|(0|Xk)<(0|al))break f}if((0|cl)==(0|(Yk=Yk+1|0)))break}for(hl=q[ll>>2],Yk=q[_k+456>>2],dl=q[_k+452>>2],al=0;;){if(ml=q[kl+(al<<2)>>2]<<2,jl=q[ml+Yk>>2]){if((0|jl)<0|(0|hl)<(0|jl))break f;if((0|(ml=q[dl+ml>>2]))<0|(0|hl)<=(0|ml))break f;if((0|(jl=jl+ml|0))<0|(0|hl)<(0|jl))break f}if((0|cl)==(0|(al=al+1|0)))break}}else Yk=q[_k+456>>2],dl=q[_k+452>>2];if((al=0)<(0|(cl=q[Vk+112>>2]))){for(hl=q[_k+504>>2];;){if((0|(jl=q[hl+(al<<2)>>2]))<0|(0|Zk)<=(0|jl))break f;if((0|cl)==(0|(al=al+1|0)))break}for(kl=q[_k+512>>2],jl=q[_k+508>>2],Zk=0;;){if(al=q[(hl=Zk<<2)+kl>>2]){if((0|al)<0|(0|Xk)<(0|al))break f;if((0|(hl=q[hl+jl>>2]))<0|(0|Xk)<=(0|hl))break f;if((al=al+hl|0)>>>31|(0|Xk)<(0|al))break f}if((0|cl)==(0|(Zk=Zk+1|0)))break}for(al=q[nl>>2],Zk=0;;){if(kl=q[jl+(Zk<<2)>>2]<<2,hl=q[kl+Yk>>2]){if((0|hl)<0|(0|al)<(0|hl))break f;if((0|(kl=q[dl+kl>>2]))<0|(0|al)<=(0|kl))break f;if((0|(hl=hl+kl|0))<0|(0|al)<(0|hl))break f}if((0|cl)==(0|(Zk=Zk+1|0)))break}}if(Zk=0,al=q[Vk+120>>2],0<(0|Wk))for(cl=q[_k+528>>2];;){if((0|(hl=q[cl+(Zk<<2)>>2]))<0|(0|al)<=(0|hl))break f;if((0|(Zk=Zk+1|0))==(0|Wk))break}if((Zk=0)<(0|al)){for(Wk=q[_k+532>>2];;){if((0|(cl=q[Wk+(Zk<<2)>>2]))<-1|(0|fl)<=(0|cl))break f;if((0|al)==(0|(Zk=Zk+1|0)))break}for(Wk=q[Vk+124>>2],hl=q[_k+540>>2],jl=q[_k+536>>2],Zk=0;;){if(fl=q[(cl=Zk<<2)+hl>>2]){if((0|fl)<0|(0|Wk)<(0|fl))break f;if((0|(cl=q[cl+jl>>2]))<0|(0|Wk)<=(0|cl))break f;if((fl=cl+fl|0)>>>31|(0|Wk)<(0|fl))break f}if((0|al)==(0|(Zk=Zk+1|0)))break}}if(!((255&il)>>>0<5)){if((Zk=0)<(0|(il=q[ll>>2]))){for(al=q[_k+348>>2];;){if((0|(Wk=q[al+(Zk<<2)>>2]))<0|(0|a)<(0|Wk))break f;if((0|il)==(0|(Zk=Zk+1|0)))break}for(al=q[_k+352>>2],Zk=0;;){if((0|(Wk=q[al+(Zk<<2)>>2]))<0|(0|a)<(0|Wk))break f;if((0|il)==(0|(Zk=Zk+1|0)))break}}if((il=0)<(0|(Zk=q[bl>>2]))){for(al=q[_k+384>>2];;){if((0|(Wk=q[al+(il<<2)>>2]))<0|(0|a)<(0|Wk))break f;if((0|Zk)==(0|(il=il+1|0)))break}for(al=q[_k+388>>2],il=0;;){if((0|(Wk=q[al+(il<<2)>>2]))<0|(0|a)<(0|Wk))break f;if((0|Zk)==(0|(il=il+1|0)))break}}if((il=0)<(0|(al=q[nl>>2]))){for(Wk=q[_k+404>>2];;){if((0|(fl=q[Wk+(il<<2)>>2]))<0|(0|a)<(0|fl))break f;if((0|al)==(0|(il=il+1|0)))break}for(Wk=q[_k+408>>2],il=0;;){if((0|(fl=q[Wk+(il<<2)>>2]))<0|(0|a)<(0|fl))break f;if((0|al)==(0|(il=il+1|0)))break}}if((a=0)<(0|(il=q[Vk+128>>2]))){for(al=q[Vk>>2],Wk=q[_k+468>>2];;){if((0|(fl=q[Wk+(a<<2)>>2]))<0|(0|al)<=(0|fl))break f;if((0|il)==(0|(a=a+1|0)))break}for(ll=q[_k+476>>2],fl=q[_k+472>>2],a=0;;){if(al=q[(Wk=a<<2)+ll>>2]){if((0|al)<0|(0|Xk)<(0|al))break f;if((0|(Wk=q[Wk+fl>>2]))<0|(0|Xk)<=(0|Wk))break f;if((al=Wk+al|0)>>>31|(0|Xk)<(0|al))break f}if((0|il)==(0|(a=a+1|0)))break}for(al=q[gl>>2],a=0;;){if(gl=q[fl+(a<<2)>>2]<<2,Wk=q[gl+Yk>>2]){if((0|Wk)<0|(0|al)<(0|Wk))break f;if((0|(gl=q[dl+gl>>2]))<0|(0|al)<=(0|gl))break f;if((0|(Wk=Wk+gl|0))<0|(0|al)<(0|Wk))break f}if((0|il)==(0|(a=a+1|0)))break}}if((a=0)<(0|(il=q[Vk+132>>2]))){for(al=q[_k+492>>2];;){if((0|(Wk=q[al+(a<<2)>>2]))<0|(0|ol)<=(0|Wk))break f;if((0|il)==(0|(a=a+1|0)))break}for(gl=q[_k+500>>2],Wk=q[_k+496>>2],a=0;;){if(al=q[(fl=a<<2)+gl>>2]){if((0|al)<0|(0|Xk)<(0|al))break f;if((0|(fl=q[Wk+fl>>2]))<0|(0|Xk)<=(0|fl))break f;if((al=al+fl|0)>>>31|(0|Xk)<(0|al))break f}if((0|il)==(0|(a=a+1|0)))break}for(a=0;;){if(fl=q[Wk+(a<<2)>>2]<<2,al=q[fl+Yk>>2]){if((0|al)<0|(0|Zk)<(0|al))break f;if((0|(fl=q[dl+fl>>2]))<0|(0|Zk)<=(0|fl))break f;if((0|(al=al+fl|0))<0|(0|Zk)<(0|al))break f}if((0|il)==(0|(a=a+1|0)))break}}if(!(((a=0)|(Vk=q[Vk+136>>2]))<=0)){for(Zk=q[_k+516>>2];;){if((0|(il=q[Zk+(a<<2)>>2]))<0|(0|$k)<=(0|il))break f;if((0|Vk)==(0|(a=a+1|0)))break}for(al=q[_k+524>>2],Zk=q[_k+520>>2],a=0;;){if(_k=q[(il=a<<2)+al>>2]){if((0|_k)<0|(0|Xk)<(0|_k))break f;if((0|(il=q[Zk+il>>2]))<0|(0|Xk)<=(0|il))break f;if((_k=_k+il|0)>>>31|(0|Xk)<(0|_k))break f}if((0|Vk)==(0|(a=a+1|0)))break}for(a=0;;){if(_k=q[Zk+(a<<2)>>2]<<2,Xk=q[_k+Yk>>2]){if((0|Xk)<0|(0|el)<(0|Xk))break f;if((0|(_k=q[_k+dl>>2]))<0|(0|el)<=(0|_k))break f;if((0|(Xk=Xk+_k|0))<0|(0|el)<(0|Xk))break f}if((0|Vk)==(0|(a=a+1|0)))break}}}}}return L=pl,1}return Y(4,1846,0),L=pl,0}q[_k+52>>2]=Xk,q[_k+48>>2]=5,Y(4,1640,_k+48|0)}else q[_k+32>>2]=Xk,Y(4,1554,_k+32|0);return L=pl,0}(a,vj):(q[20+wj>>2]=1621,q[16+wj>>2]=2284,Y(4,1294,16+wj|0),0):(q[4+wj>>2]=1444,q[wj>>2]=2284,Y(4,1294,wj),0),L=48+wj|0,0|a},i:function(a){q[1805]=a|=0},j:function(a,ej){var fj;return ej|=0,L=fj=L-48|0,a=(a|=0)?(a+63&-64)!=(0|a)?(q[36+fj>>2]=1522,q[32+fj>>2]=2305,Y(4,1294,32+fj|0),0):(ej+63&-64)==(0|ej)&&ej?function(a){var Kk=0,Lk=0,Mk=0,Nk=0,Ok=0,Pk=0,Qk=0,Rk=0,Sk=0,Tk=0,Uk=0;q[24+(L=Qk=L-32|0)>>2]=0,q[16+Qk>>2]=5,q[20+Qk>>2]=0,function(a){var Uh;Ka(16+(L=Uh=L-272|0)|0,2227,q[12+Uh>>2]=a),Sa(16+Uh|0),L=272+Uh|0}(16+Qk|0);a:{if(sa(a))Y(4,1932,0);else{if(!(6<=(Mk=r[a+4|0])>>>0)){if(1!=(0|!r[a+5|0])?(da(a+4|0,1),X(a- -64|0,4,160),o[a+5|0]=0,na(a,a+704|0),ya(a)):na(a,a+704|0),r[7224]||(q[1807]=6,o[7224]=1,q[1808]=7,q[1809]=8,q[1810]=9),Lk=q[a+704>>2],1<=(0|(Mk=q[Lk+16>>2]))){for(Nk=q[a+912>>2],Sk=Nk+(Mk<<2)|0,Ok=q[a+908>>2];;){Rk=q[a+1204>>2]+(q[Ok>>2]<<2)|0,Lk=0,Mk=q[Nk>>2],Kk=Mk+-1|0;d:if(!((0|Kk)<1))e:for(;;){for(;;){if(q[(Pk=Rk+(Lk<<2)|0)>>2]<=-1){if(!function(a,Vk,ql){var rl=0,sl=0;a:if((0|a)!=(0|Vk)){if(!(a>>>0>>0&&Vk>>>0<(sl=a+ql|0)>>>0))return $(a,Vk,ql);if(rl=3&(a^Vk),a>>>0>>0){if(!rl){if(3&a)for(;;){if(!ql)break a;if(o[0|a]=r[0|Vk],Vk=Vk+1|0,ql=ql+-1|0,!(3&(a=a+1|0)))break}if(!(ql>>>0<=3)){for(rl=ql;;)if(q[a>>2]=q[Vk>>2],Vk=Vk+4|0,a=a+4|0,!(3<(rl=rl+-4|0)>>>0))break;ql&=3}}if(ql)for(;;)if(o[0|a]=r[0|Vk],a=a+1|0,Vk=Vk+1|0,!(ql=ql+-1|0))break}else{if(!rl){if(3&sl)for(;;){if(!ql)break a;if(o[0|(rl=(ql=ql+-1|0)+a|0)]=r[Vk+ql|0],!(3&rl))break}if(!(ql>>>0<=3))for(;;)if(q[(ql=ql+-4|0)+a>>2]=q[Vk+ql>>2],!(3>>0))break}if(ql)for(;;)if(o[(ql=ql+-1|0)+a|0]=r[Vk+ql|0],!ql)break}}}(Pk,Pk+4|0,(-1^Lk)+Mk<<2),(0|Lk)<(0|(Kk=(Mk=Kk)+-1|0)))continue e;break d}if(!((0|(Lk=Lk+1|0))<(0|Kk)))break}break}if(Lk=Nk,0<(0|Mk)&&(Mk=q[Rk+(Kk<<2)>>2]<0?Kk:Mk),q[Lk>>2]=Mk,Ok=Ok+4|0,!((Nk=Nk+4|0)>>>0>>0))break}Lk=q[a+704>>2]}if(1<=q[Lk>>2])for(Kk=0;;)if(q[q[a+712>>2]+(Kk<<2)>>2]=q[a+716>>2]+(Kk<<6),Kk=Kk+1|0,Lk=q[a+704>>2],!((0|Kk)>2]))break;if(1<=q[Lk+4>>2])for(Kk=0;;)if(q[q[a+744>>2]+(Kk<<2)>>2]=q[a+748>>2]+(Kk<<6),Kk=Kk+1|0,Lk=q[a+704>>2],!((0|Kk)>2]))break;if(1<=q[Lk+16>>2])for(Kk=0;;)if(q[(Mk=Kk<<2)+q[a+832>>2]>>2]=q[a+848>>2]+(Kk<<6),q[Mk+q[a+836>>2]>>2]=q[a+1196>>2]+(q[Mk+q[a+896>>2]>>2]<<2),q[Mk+q[a+840>>2]>>2]=q[a+1200>>2]+(q[Mk+q[a+900>>2]>>2]<<1),q[Mk+q[a+844>>2]>>2]=q[a+1204>>2]+(q[Mk+q[a+908>>2]>>2]<<2),Kk=Kk+1|0,Lk=q[a+704>>2],!((0|Kk)>2]))break;if(1<=q[Lk+20>>2])for(Kk=0;;)if(q[q[a+916>>2]+(Kk<<2)>>2]=q[a+920>>2]+(Kk<<6),Kk=Kk+1|0,Lk=q[a+704>>2],!((0|Kk)>2]))break;if(1<=q[Lk+80>>2])for(Kk=0;;)if(q[q[a+1240>>2]+(Kk<<2)>>2]=q[a+1244>>2]+(Kk<<6),Kk=Kk+1|0,Lk=q[a+704>>2],!((0|Kk)>2]))break;if(1&o[q[a+708>>2]+20|0])break a;if((0|(Nk=q[Lk+16>>2]))<1)break a;for(Kk=q[a+904>>2],Rk=q[a+900>>2],Pk=q[a+1200>>2],Ok=0;;){if(0<(0|(Sk=q[(Mk=Ok<<2)+Kk>>2]+-1|0)))for(Tk=Pk+(q[Mk+Rk>>2]<<1)|0,Lk=0;;)if(Uk=s[(Mk=Tk+(Lk<<1)|0)>>1],p[Mk>>1]=s[Mk+4>>1],p[Mk+4>>1]=Uk,!((0|(Lk=Lk+3|0))<(0|Sk)))break;if((0|Nk)==(0|(Ok=Ok+1|0)))break}for(Mk=q[a+892>>2],Ok=q[a+896>>2],Rk=q[a+1196>>2],Kk=0;;){if(1<=(0|(Pk=q[(Lk=Kk<<2)+Mk>>2])))for(Lk=Rk+(q[Lk+Ok>>2]<<2)|0,Pk=Lk+(Pk<<3)|0,Lk=Lk+4|0;;)if(u[Lk>>2]=x(1)-u[Lk>>2],!((Lk=Lk+8|0)>>>0>>0))break;if((0|Nk)==(0|(Kk=Kk+1|0)))break}break a}q[4+Qk>>2]=Mk,q[Qk>>2]=5,Y(4,2023,Qk)}a=0}return L=32+Qk|0,a}(a):(q[20+fj>>2]=1621,q[16+fj>>2]=2305,Y(4,1294,16+fj|0),0):(q[4+fj>>2]=1444,q[fj>>2]=2305,Y(4,1294,fj),0),L=48+fj|0,0|a},k:function(a,ej,fj,gj){var hj;ej|=0,fj|=0,gj|=0,L=hj=L+-64|0,(a|=0)?ej?fj?gj?(a=q[q[a>>2]+708>>2],q[ej>>2]=q[a+12>>2],q[ej+4>>2]=q[a+16>>2],q[fj>>2]=q[a+4>>2],q[fj+4>>2]=q[a+8>>2],q[gj>>2]=q[a>>2]):(q[52+hj>>2]=1995,q[48+hj>>2]=2325,Y(4,1294,48+hj|0)):(q[36+hj>>2]=1903,q[32+hj>>2]=2325,Y(4,1294,32+hj|0)):(q[20+hj>>2]=1819,q[16+hj>>2]=2325,Y(4,1294,16+hj|0)):(q[4+hj>>2]=1740,q[hj>>2]=2325,Y(4,1294,hj)),L=hj+64|0},l:xa,m:wa,n:function(a){var dj;L=dj=L-16|0,(a|=0)?ua(a):(q[4+dj>>2]=1740,q[dj>>2]=2387,Y(4,1294,dj)),L=16+dj|0},o:function(a){var cj;return L=cj=L-16|0,a=(a|=0)?q[a+540>>2]:(q[4+cj>>2]=1740,q[cj>>2]=2402,Y(4,1294,cj),-1),L=16+cj|0,0|a},p:function(a){var bj;return L=bj=L-16|0,a=(a|=0)?q[q[a>>2]+916>>2]:(q[4+bj>>2]=1740,q[bj>>2]=2423,Y(4,1294,bj),0),L=16+bj|0,0|a},q:function(a){var aj;return L=aj=L-16|0,a=(a|=0)?q[a+548>>2]:(q[4+aj>>2]=1740,q[aj>>2]=2442,Y(4,1294,aj),0),L=16+aj|0,0|a},r:function(a){var $i;return L=$i=L-16|0,a=(a|=0)?q[q[a>>2]+928>>2]:(q[4+$i>>2]=1740,q[$i>>2]=2463,Y(4,1294,$i),0),L=16+$i|0,0|a},s:function(a){var _i;return L=_i=L-16|0,a=(a|=0)?q[q[a>>2]+924>>2]:(q[4+_i>>2]=1740,q[_i>>2]=2492,Y(4,1294,_i),0),L=16+_i|0,0|a},t:function(a){var Zi;return L=Zi=L-16|0,a=(a|=0)?q[q[a>>2]+932>>2]:(q[4+Zi>>2]=1740,q[Zi>>2]=2521,Y(4,1294,Zi),0),L=16+Zi|0,0|a},u:function(a){var Yi;return L=Yi=L-16|0,a=(a|=0)?q[a+552>>2]:(q[4+Yi>>2]=1740,q[Yi>>2]=2550,Y(4,1294,Yi),0),L=16+Yi|0,0|a},v:function(a){var Xi;return L=Xi=L-16|0,a=(a|=0)?q[a+4>>2]:(q[4+Xi>>2]=1740,q[Xi>>2]=2572,Y(4,1294,Xi),-1),L=16+Xi|0,0|a},w:function(a){var Wi;return L=Wi=L-16|0,a=(a|=0)?q[q[a>>2]+712>>2]:(q[4+Wi>>2]=1740,q[Wi>>2]=2588,Y(4,1294,Wi),0),L=16+Wi|0,0|a},x:function(a){var Vi;return L=Vi=L-16|0,a=(a|=0)?q[a+52>>2]:(q[4+Vi>>2]=1740,q[Vi>>2]=2602,Y(4,1294,Vi),0),L=16+Vi|0,0|a},y:function(a){var Ui;return L=Ui=L-16|0,a=(a|=0)?q[q[a>>2]+740>>2]:(q[4+Ui>>2]=1740,q[Ui>>2]=2622,Y(4,1294,Ui),0),L=16+Ui|0,0|a},z:function(a){var Ti;return L=Ti=L-16|0,a=(a|=0)?q[a+332>>2]:(q[4+Ti>>2]=1740,q[Ti>>2]=2650,Y(4,1294,Ti),-1),L=16+Ti|0,0|a},A:function(a){var Si;return L=Si=L-16|0,a=(a|=0)?q[q[a>>2]+832>>2]:(q[4+Si>>2]=1740,q[Si>>2]=2670,Y(4,1294,Si),0),L=16+Si|0,0|a},B:function(a){var Ri;return L=Ri=L-16|0,a=(a|=0)?q[q[a>>2]+888>>2]:(q[4+Ri>>2]=1740,q[Ri>>2]=2688,Y(4,1294,Ri),0),L=16+Ri|0,0|a},C:function(a){var Qi;return L=Qi=L-16|0,a=(a|=0)?q[a+432>>2]:(q[4+Qi>>2]=1740,q[Qi>>2]=2716,Y(4,1294,Qi),0),L=16+Qi|0,0|a},D:function(a){var Pi;return L=Pi=L-16|0,a=(a|=0)?q[q[a>>2]+884>>2]:(q[4+Pi>>2]=1740,q[Pi>>2]=2743,Y(4,1294,Pi),0),L=16+Pi|0,0|a},E:function(a){var Oi;return L=Oi=L-16|0,a=(a|=0)?q[a+440>>2]:(q[4+Oi>>2]=1740,q[Oi>>2]=2772,Y(4,1294,Oi),0),L=16+Oi|0,0|a},F:function(a){var Ni;return L=Ni=L-16|0,a=(a|=0)?q[a+436>>2]:(q[4+Ni>>2]=1740,q[Ni>>2]=2797,Y(4,1294,Ni),0),L=16+Ni|0,0|a},G:function(a){var Mi;return L=Mi=L-16|0,a=(a|=0)?q[a+448>>2]:(q[4+Mi>>2]=1740,q[Mi>>2]=2824,Y(4,1294,Mi),0),L=16+Mi|0,0|a},H:function(a){var Li;return L=Li=L-16|0,a=(a|=0)?q[q[a>>2]+912>>2]:(q[4+Li>>2]=1740,q[Li>>2]=2848,Y(4,1294,Li),0),L=16+Li|0,0|a},I:function(a){var Ki;return L=Ki=L-16|0,a=(a|=0)?q[q[a>>2]+844>>2]:(q[4+Ki>>2]=1740,q[Ki>>2]=2873,Y(4,1294,Ki),0),L=16+Ki|0,0|a},J:function(a){var Ji;return L=Ji=L-16|0,a=(a|=0)?q[q[a>>2]+892>>2]:(q[4+Ji>>2]=1740,q[Ji>>2]=2893,Y(4,1294,Ji),0),L=16+Ji|0,0|a},K:function(a){var Ii;return L=Ii=L-16|0,a=(a|=0)?q[a+444>>2]:(q[4+Ii>>2]=1740,q[Ii>>2]=2920,Y(4,1294,Ii),0),L=16+Ii|0,0|a},L:function(a){var Hi;return L=Hi=L-16|0,a=(a|=0)?q[q[a>>2]+836>>2]:(q[4+Hi>>2]=1740,q[Hi>>2]=2950,Y(4,1294,Hi),0),L=16+Hi|0,0|a},M:function(a){var ri;return L=ri=L-16|0,a=(a|=0)?q[q[a>>2]+904>>2]:(q[4+ri>>2]=1740,q[ri>>2]=2974,Y(4,1294,ri),0),L=16+ri|0,0|a},N:function(a){var qi;return L=qi=L-16|0,a=(a|=0)?q[q[a>>2]+840>>2]:(q[4+qi>>2]=1740,q[qi>>2]=3e3,Y(4,1294,qi),0),L=16+qi|0,0|a},O:function(a){var pi;return L=pi=L-16|0,a=(a|=0)?q[a+452>>2]:(q[4+pi>>2]=1740,q[pi>>2]=3022,Y(4,1294,pi),0),L=16+pi|0,0|a},P:function(a){var oi;return L=oi=L-16|0,a=(a|=0)?q[a+456>>2]:(q[4+oi>>2]=1740,q[oi>>2]=3051,Y(4,1294,oi),0),L=16+oi|0,0|a},Q:function(a){var ni;return L=ni=L-16|0,a=(a|=0)?q[q[a>>2]+876>>2]:(q[4+ni>>2]=1740,q[ni>>2]=3078,Y(4,1294,ni),0),L=16+ni|0,0|a},R:function(a){var mi;L=mi=L-16|0,(a|=0)?q[a+428>>2]=1:(q[4+mi>>2]=1740,q[mi>>2]=3110,Y(4,1294,mi)),L=16+mi|0},S:function(a){var li;return L=li=L-16|0,a=(a|=0)?q[a+640>>2]:(q[4+li>>2]=1740,q[li>>2]=3139,Y(4,1294,li),0),L=16+li|0,0|a},T:function(a){var ji;return L=ji=L-16|0,a=(a|=0)?q[a+636>>2]:(q[4+ji>>2]=1740,q[ji>>2]=3164,Y(4,1294,ji),0),L=16+ji|0,0|a},U:function(a){var Fc;return oa(12+(L=Fc=L-16|0)|0,64,a|=0),L=16+Fc|0,q[12+Fc>>2]},V:function(a){var Ec,Cc,Dc=0;return L=Cc=L-16|0,!(a|=0)||oa(12+Cc|0,16,Ec=xa(a))||(Dc=wa(a,q[12+Cc>>2],Ec))||(pa(q[12+Cc>>2]),Dc=0),L=16+Cc|0,0|Dc},W:function(a){return 0|qa(a|=0)},X:function(a){pa(a|=0)},Y:function(a){var Sm;oa(12+(L=Sm=L-16|0)|0,64,a|=0),pa(q[12+Sm>>2]),L=16+Sm|0},Z:function(){return 0|L},_:function(a){return 0|(L=a=L-(a|=0)&-16)},$:function(a){L=a|=0},aa:function(a){return 0|function(pagesToAdd){pagesToAdd|=0;var P=0|N(),pagesToAdd=P+pagesToAdd|0;{var S;P>>0<(d=(e=a+b|0)-1|0)>>>0)for(;;)if(f=r[0|a],o[0|a]=r[0|d],o[0|d]=f,!((a=a+1|0)>>>0<(d=d+-1|0)>>>0))break;if(a=e,!c)break}}function Y(a,b,c){var g;L=g=L-272|0,t[1804]>a>>>0||(a=q[1805])&&(Ka(16+g|0,b,q[12+g>>2]=c),n[a](16+g|0)),L=272+g|0}function Z(a,b,c){32&r[0|a]||!function(a,Rm,Sm){var Tm=0,Um=0,tn=0;a:{if(!(Tm=q[Sm+16>>2])){if(function(a){var Rm=0;if(Rm=r[a+74|0],o[a+74|0]=Rm+-1|Rm,8&(Rm=q[a>>2]))return q[a>>2]=32|Rm,1;return q[a+4>>2]=0,q[a+8>>2]=0,Rm=q[a+44>>2],q[a+28>>2]=Rm,q[a+20>>2]=Rm,q[a+16>>2]=Rm+q[a+48>>2],0}(Sm))break a;Tm=q[Sm+16>>2]}if(tn=q[Sm+20>>2],Tm-tn>>>0>>0)return n[q[Sm+36>>2]](Sm,a,Rm);b:if(!(o[Sm+75|0]<0)){for(Tm=Rm;;){if(!(Um=Tm))break b;if(10==r[(Tm=Um+-1|0)+a|0])break}if(n[q[Sm+36>>2]](Sm,a,Um)>>>0>>0)break a;Rm=Rm-Um|0,a=a+Um|0,tn=q[Sm+20>>2]}$(tn,a,Rm),q[Sm+20>>2]=q[Sm+20>>2]+Rm}}(b,c,a)}function _(a,b,c,h,i){var k,l,j;if(L=j=L-256|0,!(73728&i|(0|c)<=(0|h))){if(ca(j,b,(k=(i=c-h|0)>>>0<256)?i:256),b=a,l=j,!k){for(c=c-h|0;;)if(Z(a,j,256),!(255<(i=i+-256|0)>>>0))break;i=255&c}Z(b,l,i)}L=256+j|0}function $(a,b,c){var h,i=0;if(8192<=c>>>0)I(0|a,0|b,0|c);else{if(h=a+c|0,3&(a^b)){if(h>>>0<4)c=a;else if((i=h-4|0)>>>0>>0)c=a;else for(c=a;;)if(o[0|c]=r[0|b],o[c+1|0]=r[b+1|0],o[c+2|0]=r[b+2|0],o[c+3|0]=r[b+3|0],b=b+4|0,!((c=c+4|0)>>>0<=i>>>0))break}else{b:if((0|c)<1)c=a;else if(3&a)for(c=a;;){if(o[0|c]=r[0|b],b=b+1|0,h>>>0<=(c=c+1|0)>>>0)break b;if(!(3&c))break}else c=a;if(!((a=-4&h)>>>0<64||(i=a+-64|0)>>>0>>0))for(;;)if(q[c>>2]=q[b>>2],q[c+4>>2]=q[b+4>>2],q[c+8>>2]=q[b+8>>2],q[c+12>>2]=q[b+12>>2],q[c+16>>2]=q[b+16>>2],q[c+20>>2]=q[b+20>>2],q[c+24>>2]=q[b+24>>2],q[c+28>>2]=q[b+28>>2],q[c+32>>2]=q[b+32>>2],q[c+36>>2]=q[b+36>>2],q[c+40>>2]=q[b+40>>2],q[c+44>>2]=q[b+44>>2],q[c+48>>2]=q[b+48>>2],q[c+52>>2]=q[b+52>>2],q[c+56>>2]=q[b+56>>2],q[c+60>>2]=q[b+60>>2],b=b- -64|0,!((c=c- -64|0)>>>0<=i>>>0))break;if(!(a>>>0<=c>>>0))for(;;)if(q[c>>2]=q[b>>2],b=b+4|0,!((c=c+4|0)>>>0>>0))break}if(c>>>0>>0)for(;;)if(o[0|c]=r[0|b],b=b+1|0,(0|h)==(0|(c=c+1|0)))break}}function aa(a){var b,c;return x((b=a*a)*b*(c=b*a)*(2718311493989822e-21*b-.00019839334836096632)+(c*(.008333329385889463*b-.16666666641626524)+a))}function ba(a){var m;return x(-.499999997251031*(a*=a)+1+.04166662332373906*(m=a*a)+a*m*(2439044879627741e-20*a-.001388676377460993))}function ca(a,n,p){var r,s,t,u;if(p&&(o[(r=a+p|0)-1|0]=n,o[0|a]=n,!(p>>>0<3||(o[r-2|0]=n,o[a+1|0]=n,o[r-3|0]=n,o[a+2|0]=n,p>>>0<7)||(o[r-4|0]=n,o[a+3|0]=n,p>>>0<9)||(s=(r=0-a&3)+a|0,n=w(255&n,16843009),q[s>>2]=n,q[(r=(p=p-r&-4)+s|0)-4>>2]=n,p>>>0<9)||(q[8+s>>2]=n,q[4+s>>2]=n,q[r-8>>2]=n,q[r-12>>2]=n,p>>>0<25)||(q[24+s>>2]=n,q[20+s>>2]=n,q[16+s>>2]=n,q[12+s>>2]=n,q[r-16>>2]=n,q[r-20>>2]=n,q[r-24>>2]=n,q[r-28>>2]=n,(p=p-(u=4&s|24)|0)>>>0<32))))for(t=r=n,n=s+u|0;;)if(q[n+24>>2]=t,q[n+28>>2]=r,q[n+16>>2]=t,q[n+20>>2]=r,q[n+8>>2]=t,q[n+12>>2]=r,q[n>>2]=t,q[n+4>>2]=r,n=n+32|0,!(31<(p=p+-32|0)>>>0))break;return a}function da(a,n){var p;if(a>>>0<(n=(a+n|0)-1|0)>>>0)for(;;)if(p=r[0|a],o[0|a]=r[0|n],o[0|n]=p,!((a=a+1|0)>>>0<(n=n+-1|0)>>>0))break}function ea(a){var n=0,o=N();return(a=(n=q[2216])+a|0)>>>0<=o<<16>>>0||J(0|a)?(q[2216]=a,n):(q[2086]=48,-1)}function fa(a,v,y,z,B,C,D){var H,I,K,N,Q,R,S,O,P,J,E=0,F=x(0),G=x(0),M=x(0);x(0),x(0),x(0),x(0);if(L=J=L-16|0,1<=(0|a))for(R=w(a,12)+v|0;;){if(1<=(0|(I=q[v+4>>2])))for(S=(a=q[v+8>>2])+w(I,48)|0,I=(H=q[v>>2]<<4)+D|0,K=(8|H)+D|0,H=(4|H)+D|0;;)if((E=q[a+8>>2])&&((O=E+-1|0)>>>0<=1?(P=(q[a+4>>2]<<2)+y|0,E=q[P+(q[a+12>>2]<<2)>>2]<<2,F=u[E+C>>2],Q=u[B+E>>2],G=u[z+E>>2],O-1?(M=G,G=u[a+20>>2],u[I>>2]=u[I>>2]+x(u[a+44>>2]*x(M*G)),u[H>>2]=u[H>>2]+x(x(Q*G)*u[a+44>>2]),u[K>>2]=u[K>>2]+x(x(F*G)*u[a+44>>2])):(E=q[(q[a+16>>2]<<2)+P>>2]<<2,O=u[E+C>>2],P=u[B+E>>2],M=G,G=u[a+20>>2],N=u[a+24>>2],u[I>>2]=u[I>>2]+x(u[a+44>>2]*x(x(M*G)+x(u[z+E>>2]*N))),u[H>>2]=u[H>>2]+x(x(x(Q*G)+x(P*N))*u[a+44>>2]),u[K>>2]=u[K>>2]+x(x(x(F*G)+x(O*N))*u[a+44>>2]))):(q[J>>2]=E,Y(4,1024,J))),!((a=a+48|0)>>>0>>0))break;if(a=(q[v>>2]<<4)+D|0,F=u[a>>2],u[a>>2]=F>2],u[a+4>>2]=F>2],u[a+8>>2]=F>>0>>0))break}L=16+J|0}function ga(a,q,v){var y,x=0,z=0;if(1==(0|q)&a>>>0<0|q>>>0<1)x=a;else for(;;)if(y=ad(x=bd(a,q,10),z=M,10),o[0|(v=v+-1|0)]=a-y|48,y=9==(0|q)&4294967295>>0|9>>0,a=x,q=z,!y)break;if(x)for(;;)if(o[0|(v=v+-1|0)]=x-w(a=(x>>>0)/10|0,10)|48,q=9>>0,x=a,!q)break;return v}function ha(a){return a+-48>>>0<10}function ia(a){var q;return(q=La(a,64))?q-a|0:64}function ja(a,v){var w=0;return 1024<=(0|v)?(a*=898846567431158e293,v=(0|(w=v+-1023|0))<1024?w:(a*=898846567431158e293,((0|v)<3069?v:3069)+-2046|0)):-1023<(0|v)||(a*=22250738585072014e-324,v=-1023<(0|(w=v+1022|0))?w:(a*=22250738585072014e-324,(-3066<(0|v)?v:-3066)+2044|0)),f(0,0),f(1,v+1023<<20),a*+g()}function ka(a,v){var A=0,B=0,C=a,B=v>>>0<=31?(A=q[a+4>>2],q[a>>2]):(A=q[a>>2],q[a+4>>2]=A,v=v+-32|(q[a>>2]=0),0);q[C>>2]=B<>2]=A<>>32-v}function la(a,v,D,V,W){var X,Y=0,Z=0,_=0;L=X=L-240|0,Y=q[v>>2],q[232+X>>2]=Y,v=q[v+4>>2],q[X>>2]=a,q[236+X>>2]=v,Z=1;a:{b:{c:{if((v||1!=(0|Y))&&(Y=a-q[(D<<2)+W>>2]|0,!((0|n[5](Y,a))<1))){for(_=!V;;){e:{if(v=Y,!(!_|(0|D)<2)){if(V=q[((D<<2)+W|0)-8>>2],-1<(0|n[5](Y=a+-4|0,v)))break e;if(-1<(0|n[5](Y-V|0,v)))break e}if(q[(Z<<2)+X>>2]=v,Z=Z+1|0,ma(232+X|0,a=Oa(232+X|0)),D=a+D|0,!q[236+X>>2]&&1==q[232+X>>2])break b;if(_=1,Y=(a=v)-q[(D<<2)+W>>2]|(V=0),0<(0|n[5](Y,q[X>>2])))continue;break c}break}v=a;break b}v=a}if(V)break a}Na(X,Z),ta(v,D,W)}L=240+X|0}function ma(a,v){var D=0,L=0,V=a,L=v>>>0<=31?(D=q[a>>2],q[a+4>>2]):(D=q[a+4>>2],q[a+4>>2]=0,q[a>>2]=D,v=v+-32|0,0);q[V+4>>2]=L>>>v,q[a>>2]=L<<32-v|D>>>v}function na(a,v){var W=r[a+4|0];q[v>>2]=q[a+64>>2]+a,q[v+4>>2]=q[a+68>>2]+a,q[v+8>>2]=q[a+72>>2]+a,q[v+12>>2]=q[a+76>>2]+a,q[v+16>>2]=q[a+80>>2]+a,q[v+20>>2]=q[a+84>>2]+a,q[v+24>>2]=q[a+88>>2]+a,q[v+28>>2]=q[a+92>>2]+a,q[v+32>>2]=q[a+96>>2]+a,q[v+36>>2]=q[a+100>>2]+a,q[v+40>>2]=q[a+104>>2]+a,q[v+44>>2]=q[a+108>>2]+a,q[v+48>>2]=q[a+112>>2]+a,q[v+52>>2]=q[a+116>>2]+a,q[v+56>>2]=q[a+120>>2]+a,q[v+60>>2]=q[a+124>>2]+a,q[v- -64>>2]=q[a+128>>2]+a,q[v+68>>2]=q[a+132>>2]+a,q[v+72>>2]=q[a+136>>2]+a,q[v+76>>2]=q[a+140>>2]+a,q[v+80>>2]=q[a+144>>2]+a,q[v+84>>2]=q[a+148>>2]+a,q[v+92>>2]=q[a+152>>2]+a,q[v+96>>2]=q[a+156>>2]+a,q[v+100>>2]=q[a+160>>2]+a,q[v+108>>2]=q[a+164>>2]+a,q[v+112>>2]=q[a+168>>2]+a,q[v+116>>2]=q[a+172>>2]+a,q[v+124>>2]=q[a+176>>2]+a,q[v+128>>2]=q[a+180>>2]+a,q[v+132>>2]=q[a+184>>2]+a,q[v+136>>2]=q[a+188>>2]+a,q[v+140>>2]=q[a+192>>2]+a,q[v+144>>2]=q[a+196>>2]+a,q[v+148>>2]=q[a+200>>2]+a,q[v+152>>2]=q[a+204>>2]+a,q[v+156>>2]=q[a+208>>2]+a,q[v+164>>2]=q[a+212>>2]+a,q[v+168>>2]=q[a+216>>2]+a,q[v+172>>2]=q[a+220>>2]+a,q[v+176>>2]=q[a+224>>2]+a,q[v+180>>2]=q[a+228>>2]+a,q[v+184>>2]=q[a+232>>2]+a,q[v+188>>2]=q[a+236>>2]+a,q[v+192>>2]=q[a+240>>2]+a,q[v+196>>2]=q[a+244>>2]+a,q[v+200>>2]=q[a+248>>2]+a,q[v+204>>2]=q[a+252>>2]+a,q[v+208>>2]=q[a+256>>2]+a,q[v+212>>2]=q[a+260>>2]+a,q[v+216>>2]=q[a+264>>2]+a,q[v+220>>2]=q[a+268>>2]+a,q[v+224>>2]=q[a+272>>2]+a,q[v+228>>2]=q[a+276>>2]+a,q[v+232>>2]=q[a+280>>2]+a,q[v+236>>2]=q[a+284>>2]+a,q[v+244>>2]=q[a+288>>2]+a,q[v+248>>2]=q[a+292>>2]+a,q[v+272>>2]=q[a+296>>2]+a,q[v+276>>2]=q[a+300>>2]+a,q[v+280>>2]=q[a+304>>2]+a,q[v+292>>2]=q[a+308>>2]+a,q[v+296>>2]=q[a+312>>2]+a,q[v+300>>2]=q[a+316>>2]+a,q[v+304>>2]=q[a+320>>2]+a,q[v+308>>2]=q[a+324>>2]+a,q[v+312>>2]=q[a+328>>2]+a,q[v+316>>2]=q[a+332>>2]+a,q[v+328>>2]=q[a+336>>2]+a,q[v+332>>2]=q[a+340>>2]+a,q[v+336>>2]=q[a+344>>2]+a,q[v+348>>2]=q[a+348>>2]+a,q[v+360>>2]=q[a+352>>2]+a,q[v+364>>2]=q[a+356>>2]+a,q[v+368>>2]=q[a+360>>2]+a,q[v+352>>2]=q[a+364>>2]+a,q[v+356>>2]=q[a+368>>2]+a,q[v+488>>2]=q[a+372>>2]+a,q[v+492>>2]=q[a+376>>2]+a,q[v+496>>2]=q[a+380>>2]+a,q[v+500>>2]=q[a+384>>2]+a,q[v+504>>2]=q[a+388>>2]+a,q[v+508>>2]=q[a+392>>2]+a,q[v+512>>2]=q[a+396>>2]+a,q[v+516>>2]=q[a+400>>2]+a,q[v+520>>2]=q[a+404>>2]+a,q[v+524>>2]=q[a+408>>2]+a,q[v+528>>2]=q[a+412>>2]+a,q[v+532>>2]=q[a+416>>2]+a,q[v+536>>2]=q[a+420>>2]+a,q[v+540>>2]=q[a+424>>2]+a,q[v+544>>2]=q[a+428>>2]+a,q[v+548>>2]=q[a+432>>2]+a,q[v+552>>2]=q[a+436>>2]+a,q[v+556>>2]=q[a+440>>2]+a,q[v+560>>2]=q[a+444>>2]+a,q[v+564>>2]=q[a+448>>2]+a,q[v+568>>2]=q[a+452>>2]+a,q[v+572>>2]=q[a+456>>2]+a,q[v+576>>2]=q[a+460>>2]+a,q[v+580>>2]=q[a+464>>2]+a,W>>>0<2||(q[v+104>>2]=q[a+468>>2]+a,W>>>0<4)||(q[v+260>>2]=q[a+472>>2]+a,q[v+264>>2]=q[a+476>>2]+a,q[v+268>>2]=q[a+480>>2]+a,q[v+88>>2]=q[a+484>>2]+a,q[v+120>>2]=q[a+488>>2]+a,q[v+160>>2]=q[a+492>>2]+a,q[v+584>>2]=q[a+496>>2]+a,q[v+588>>2]=q[a+500>>2]+a,q[v+592>>2]=q[a+504>>2]+a,q[v+596>>2]=q[a+508>>2]+a,q[v+600>>2]=q[a+512>>2]+a,q[v+604>>2]=q[a+516>>2]+a,q[v+240>>2]=q[a+520>>2]+a,q[v+252>>2]=q[a+524>>2]+a,q[v+256>>2]=q[a+528>>2]+a,q[v+372>>2]=q[a+532>>2]+a,q[v+376>>2]=q[a+536>>2]+a,q[v+380>>2]=q[a+540>>2]+a,q[v+384>>2]=q[a+544>>2]+a,q[v+388>>2]=q[a+548>>2]+a,q[v+392>>2]=q[a+552>>2]+a,q[v+396>>2]=q[a+556>>2]+a,q[v+400>>2]=q[a+560>>2]+a,q[v+416>>2]=q[a+564>>2]+a,q[v+420>>2]=q[a+568>>2]+a,q[v+424>>2]=q[a+572>>2]+a,q[v+440>>2]=q[a+576>>2]+a,q[v+444>>2]=q[a+580>>2]+a,q[v+448>>2]=q[a+584>>2]+a,q[v+464>>2]=q[a+588>>2]+a,q[v+468>>2]=q[a+592>>2]+a,q[v+472>>2]=q[a+596>>2]+a,q[v+476>>2]=q[a+600>>2]+a,q[v+480>>2]=q[a+604>>2]+a,q[v+484>>2]=q[a+608>>2]+a,4!=(0|W)&&(q[v+284>>2]=q[a+612>>2]+a,q[v+288>>2]=q[a+616>>2]+a,q[v+320>>2]=q[a+620>>2]+a,q[v+324>>2]=q[a+624>>2]+a,q[v+340>>2]=q[a+628>>2]+a,q[v+344>>2]=q[a+632>>2]+a,q[v+404>>2]=q[a+636>>2]+a,q[v+408>>2]=q[a+640>>2]+a,q[v+412>>2]=q[a+644>>2]+a,q[v+428>>2]=q[a+648>>2]+a,q[v+432>>2]=q[a+652>>2]+a,q[v+436>>2]=q[a+656>>2]+a,q[v+452>>2]=q[a+660>>2]+a,q[v+456>>2]=q[a+664>>2]+a,q[v+460>>2]=q[a+668>>2]+a))}function oa(a,v,$){var aa=0;a:{if(8==(0|v))v=qa($);else{if(aa=28,3&v|1!=(0|function(a){var $o=0,ap=0;for(;;){if(ap=$o,!a)break;a&=a-1,$o=$o+1|0}return ap}(v>>>2)))break a;if(aa=48,-64-v>>>0<$>>>0)break a;v=function(a,Vk){var ql=0,tl=0,ul=0,vl=0,wl=0;if((tl=a>>>0>(ql=16)?a:16)+-1&tl){for(;;)if(ql=(a=ql)<<1,!(a>>>0>>0))break}else a=tl;if(-64-a>>>0<=Vk>>>0)return q[2086]=48,0;if(!(ql=qa(12+((tl=Vk>>>0<11?16:Vk+11&-8)+a|0)|0)))return 0;Vk=ql+-8|0;ql&a+-1?(wl=q[(vl=ql+-4|0)>>2],ul=(-8&wl)-(ql=(a=15<(ql=((a+ql|0)-1&0-a)-8|0)-Vk>>>0?ql:a+ql|0)-Vk|0)|0,3&wl?(q[a+4>>2]=ul|1&q[a+4>>2]|2,q[4+(ul=a+ul|0)>>2]=1|q[4+ul>>2],q[vl>>2]=ql|1&q[vl>>2]|2,q[a+4>>2]=1|q[a+4>>2],za(Vk,ql)):(Vk=q[Vk>>2],q[a+4>>2]=ul,q[a>>2]=Vk+ql)):a=Vk;3&(Vk=q[a+4>>2])&&((ql=-8&Vk)>>>0<=tl+16>>>0||(q[a+4>>2]=tl|1&Vk|2,Vk=a+tl|0,tl=ql-tl|0,q[Vk+4>>2]=3|tl,q[(ql=a+ql|0)+4>>2]=1|q[ql+4>>2],za(Vk,tl)));return a+8|0}(16>>0?v:16,$)}if(!v)return 1;q[a>>2]=v,aa=0}return aa}function pa(a){var da,v=0,$=0,ba=0,ca=0,ea=0,fa=0,ha=0;a:if(a){da=(ba=a+-8|0)+(a=-8&($=q[a+-4>>2]))|0;b:if(!(1&$)){if(!(3&$))break a;if((ba=ba-($=q[ba>>2])|0)>>>0>>0<=255)ca=q[ba+8>>2],$>>>=3,(0|(v=q[ba+12>>2]))==(0|ca)?(ha=q[2087]&dd($),q[8348>>2]=ha):(q[ca+12>>2]=v,q[v+8>>2]=ca);else{if(fa=q[ba+24>>2],(0|ba)!=(0|($=q[ba+12>>2])))v=q[ba+8>>2],q[v+12>>2]=$,q[$+8>>2]=v;else if((v=q[(ca=ba+20|0)>>2])||(v=q[(ca=ba+16|0)>>2])){for(;;)if(ea=ca,!((v=q[(ca=($=v)+20|0)>>2])||(ca=$+16|0,v=q[$+16>>2])))break;q[ea>>2]=0}else $=0;if(fa){ca=q[ba+28>>2];e:{if(q[(v=8652+(ca<<2)|0)>>2]==(0|ba)){if(q[v>>2]=$)break e;ha=q[2088]&dd(ca),q[8352>>2]=ha;break b}if(!(q[fa+(q[fa+16>>2]==(0|ba)?16:20)>>2]=$))break b}q[$+24>>2]=fa,(v=q[ba+16>>2])&&(q[$+16>>2]=v,q[v+24>>2]=$),(v=q[ba+20>>2])&&(q[$+20>>2]=v,q[v+24>>2]=$)}}else if(3==(3&($=q[4+da>>2])))return q[2089]=a,q[4+da>>2]=-2&$,q[ba+4>>2]=1|a,void(q[a+ba>>2]=a)}if(!(da>>>0<=ba>>>0)&&1&($=q[4+da>>2])){f:{if(!(2&$)){if(q[2093]==(0|da)){if(q[2093]=ba,a=q[2090]+a|0,q[2090]=a,q[ba+4>>2]=1|a,q[2092]!=(0|ba))break a;return q[2089]=0,void(q[2092]=0)}if(q[2092]==(0|da))return q[2092]=ba,a=q[2089]+a|0,q[2089]=a,q[ba+4>>2]=1|a,void(q[a+ba>>2]=a);a=(-8&$)+a|0;g:if($>>>0<=255)$>>>=3,(0|(v=q[8+da>>2]))==(0|(ca=q[12+da>>2]))?(ha=q[2087]&dd($),q[8348>>2]=ha):(q[v+12>>2]=ca,q[ca+8>>2]=v);else{if(fa=q[24+da>>2],(0|da)!=(0|($=q[12+da>>2])))v=q[8+da>>2],q[v+12>>2]=$,q[$+8>>2]=v;else if((v=q[(ca=20+da|0)>>2])||(v=q[(ca=16+da|0)>>2])){for(;;)if(ea=ca,!((v=q[(ca=($=v)+20|0)>>2])||(ca=$+16|0,v=q[$+16>>2])))break;q[ea>>2]=0}else $=0;if(fa){ca=q[28+da>>2];j:{if(q[(v=8652+(ca<<2)|0)>>2]==(0|da)){if(q[v>>2]=$)break j;ha=q[2088]&dd(ca),q[8352>>2]=ha;break g}if(!(q[fa+(q[fa+16>>2]==(0|da)?16:20)>>2]=$))break g}q[$+24>>2]=fa,(v=q[16+da>>2])&&(q[$+16>>2]=v,q[v+24>>2]=$),(v=q[20+da>>2])&&(q[$+20>>2]=v,q[v+24>>2]=$)}}if(q[ba+4>>2]=1|a,q[a+ba>>2]=a,q[2092]!=(0|ba))break f;return void(q[2089]=a)}q[4+da>>2]=-2&$,q[ba+4>>2]=1|a,q[a+ba>>2]=a}if(a>>>0<=255)return $=8388+((a>>>=3)<<3)|0,a=(v=q[2087])&(a=1<>2]:(q[2087]=a|v,$),q[$+8>>2]=ba,q[a+12>>2]=ba,q[ba+12>>2]=$,void(q[ba+8>>2]=a);q[ba+16>>2]=0,v=q[ba+20>>2]=0,(ca=a>>>8)&&(v=31,16777215>>0||(v=ca,v=28+((v=((v=(v<<=ca=ca+1048320>>>16&8)<<(fa=v+520192>>>16&4))<<(ea=v+245760>>>16&2)>>>15)-(ea|ca|fa)|0)<<1|a>>>v+21&1)|0)),ea=8652+((q[($=ba)+28>>2]=v)<<2)|0;m:if((ca=q[2088])&($=1<>>1)|0),$=q[ea>>2];n:{for(;;){if((-8&q[(v=$)+4>>2])==(0|a))break n;if($=ca>>>29,ca<<=1,!($=q[(ea=v+(4&$)|0)+16>>2]))break}q[ea+16>>2]=ba,q[ba+12>>2]=ba,q[ba+24>>2]=v,q[ba+8>>2]=ba;break m}a=q[v+8>>2],q[a+12>>2]=ba,q[v+8>>2]=ba,q[ba+24>>2]=0,q[ba+12>>2]=v,q[ba+8>>2]=a}else q[2088]=$|ca,q[ea>>2]=ba,q[ba+12>>2]=ba,q[ba+24>>2]=ea,q[ba+8>>2]=ba;if(a=q[2095]+-1|0,!(q[2095]=a)){for(ba=8804;;)if(ba=(a=q[ba>>2])+8|0,!a)break;q[2095]=-1}}}}function qa(a){var sa,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,ua=0;L=sa=L-16|0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(a>>>0<=244){if(3&(ia=(ma=q[2087])>>>(a=(na=a>>>0<11?16:a+11&-8)>>>3))){a=(ia=q[(la=(ja=a+(1&(-1^ia))|0)<<3)+8396>>2])+8|0,(0|(ka=q[ia+8>>2]))==(0|(la=la+8388|0))?(ua=dd(ja)&ma,q[8348>>2]=ua):(q[ka+12>>2]=la,q[la+8>>2]=ka),q[ia+4>>2]=3|(ja<<=3),q[(ia=ia+ja|0)+4>>2]=1|q[ia+4>>2];break a}if(na>>>0<=(pa=q[2089])>>>0)break k;if(ia){ja=ia=(a=(0-(a=(0-(ja=2<>>12&16,ia=q[(ka=(ja=((ja=(ja|=ia=(a>>>=ia)>>>5&8)|(ia=(a>>>=ia)>>>2&4)|(ia=(a>>>=ia)>>>1&2))|(ia=(a>>>=ia)>>>1&1))+(a>>>ia)|0)<<3)+8396>>2],(0|(a=q[ia+8>>2]))==(0|(ka=ka+8388|0))?(ma=dd(ja)&ma,q[2087]=ma):(q[a+12>>2]=ka,q[ka+8>>2]=a),a=ia+8|0,q[ia+4>>2]=3|na,q[(oa=ia+na|0)+4>>2]=1|(la=(ja<<=3)-na|0),q[ia+ja>>2]=la,pa&&(ia=8388+((ja=pa>>>3)<<3)|0,ka=q[2092],ja=(ja=1<>2]:(q[2087]=ja|ma,ia),q[ia+8>>2]=ka,q[ja+12>>2]=ka,q[ka+12>>2]=ia,q[ka+8>>2]=ja),q[2092]=oa,q[2089]=la;break a}if(!(ra=q[2088]))break k;for(ja=ia=(a=(ra&0-ra)-1|0)>>>12&16,ia=q[8652+(((ja=(ja|=ia=(a>>>=ia)>>>5&8)|(ia=(a>>>=ia)>>>2&4)|(ia=(a>>>=ia)>>>1&2))|(ia=(a>>>=ia)>>>1&1))+(a>>>ia)<<2)>>2],ka=(-8&q[ia+4>>2])-na|0,ja=ia;;){if(!(a=(a=q[ja+16>>2])||q[ja+20>>2]))break;ka=(ja=(la=(-8&q[a+4>>2])-na|0)>>>0>>0)?la:ka,ia=ja?a:ia,ja=a}if(qa=q[ia+24>>2],(0|(la=q[ia+12>>2]))!=(0|ia)){a=q[ia+8>>2],q[a+12>>2]=la,q[la+8>>2]=a;break b}if(!(a=q[(ja=ia+20|0)>>2])){if(!(a=q[ia+16>>2]))break j;ja=ia+16|0}for(;;)if(oa=ja,!((a=q[(ja=(la=a)+20|0)>>2])||(ja=la+16|0,a=q[la+16>>2])))break;q[oa>>2]=0;break b}if(na=-1,!(4294967231>>0)&&(na=-8&(ia=a+11|0),pa=q[2088])){ja=0-na|0,ma=0,(ia>>>=8)&&(ma=31,16777215>>0||(ma=28+((a=((ma=(ia<<=ka=ia+1048320>>>16&8)<<(a=ia+520192>>>16&4))<<(ia=ma+245760>>>16&2)>>>15)-(ia|a|ka)|0)<<1|na>>>a+21&1)|0));q:{r:{if(ka=q[8652+(ma<<2)>>2])for(ia=na<<(31==(0|ma)?0:25-(ma>>>1)|0),a=0;;){if(!(ja>>>0<=(oa=(-8&q[ka+4>>2])-na|0)>>>0||(la=ka,ja=oa))){ja=0,a=ka;break r}if(oa=q[ka+20>>2],ka=q[16+((ia>>>29&4)+ka|0)>>2],a=!oa||(0|oa)==(0|ka)?a:oa,ia<<=0!=(0|ka),!ka)break}else a=0;if(!(a|la)){if(!(a=(0-(a=2<>>12&16,a=q[8652+(((ka=(ka|=ia=(a>>>=ia)>>>5&8)|(ia=(a>>>=ia)>>>2&4)|(ia=(a>>>=ia)>>>1&2))|(ia=(a>>>=ia)>>>1&1))+(a>>>ia)<<2)>>2]}if(!a)break q}for(;;)if(ja=(ia=(ka=(-8&q[a+4>>2])-na|0)>>>0>>0)?ka:ja,la=ia?a:la,!(a=(ia=q[a+16>>2])||q[a+20>>2]))break}if(!(!la|ja>>>0>=q[2089]-na>>>0)){if(oa=q[la+24>>2],(0|la)!=(0|(ia=q[la+12>>2]))){a=q[la+8>>2],q[a+12>>2]=ia,q[ia+8>>2]=a;break c}if(!(a=q[(ka=la+20|0)>>2])){if(!(a=q[la+16>>2]))break i;ka=la+16|0}for(;;)if(ma=ka,!((a=q[(ka=(ia=a)+20|0)>>2])||(ka=ia+16|0,a=q[ia+16>>2])))break;q[ma>>2]=0;break c}}}if(na>>>0<=(ia=q[2089])>>>0){a=q[2092],16<=(ja=ia-na|0)>>>0?(q[2089]=ja,q[2092]=ka=a+na|0,q[ka+4>>2]=1|ja,q[a+ia>>2]=ja,q[a+4>>2]=3|na):(q[2092]=0,q[2089]=0,q[a+4>>2]=3|ia,q[(ia=a+ia|0)+4>>2]=1|q[ia+4>>2]),a=a+8|0;break a}if(na>>>0<(ka=q[2090])>>>0){q[2090]=ia=ka-na|0,a=q[2093],q[2093]=ja=a+na|0,q[ja+4>>2]=1|ia,q[a+4>>2]=3|na,a=a+8|0;break a}if((ja=(ma=(ja=la=na+47|(a=0))+(ia=q[2205]?q[2207]:(q[2208]=-1,q[2209]=-1,q[2206]=4096,q[2207]=4096,q[2205]=12+sa&-16^1431655768,q[2210]=0,q[2198]=0,4096))|0)&(oa=0-ia|0))>>>0<=na>>>0)break a;if((ia=q[2197])&&(qa=(pa=q[2195])+ja|0)>>>0<=pa>>>0|ia>>>0>>0)break a;if(4&r[8792])break f;v:{w:{if(ia=q[2093])for(a=8796;;){if((pa=q[a>>2])+q[a+4>>2]>>>0>ia>>>0&&pa>>>0<=ia>>>0)break w;if(!(a=q[a+8>>2]))break}if(-1==(0|(ia=ea(0))))break g;if(ma=ja,(ma=(ka=(a=q[2206])+-1|0)&ia?(ja-ia|0)+(ia+ka&0-a)|0:ma)>>>0<=na>>>0|2147483646>>0)break g;if((a=q[2197])&&(oa=(ka=q[2195])+ma|0)>>>0<=ka>>>0|a>>>0>>0)break g;if((0|ia)!=(0|(a=ea(ma))))break v;break e}if(2147483646<(ma=oa&ma-ka)>>>0)break g;if((0|(ia=ea(ma)))==(q[a>>2]+q[a+4>>2]|0))break h;a=ia}if(!(na+48>>>0<=ma>>>0|2147483646>>0|-1==(0|(ia=a)))){if(2147483646<(a=(a=q[2207])+(la-ma|0)&0-a)>>>0)break e;if(-1!=(0|ea(a))){ma=a+ma|0;break e}ea(0-ma|0);break g}if(-1!=(0|ia))break e;break g}la=0;break b}ia=0;break c}if(-1!=(0|ia))break e}q[2198]=4|q[2198]}if(2147483646>>0)break d;if(ia=ea(ja),(a=ea(0))>>>0<=ia>>>0|-1==(0|ia)|-1==(0|a))break d;if((ma=a-ia|0)>>>0<=na+40>>>0)break d}a=q[2195]+ma|0,(q[2195]=a)>>>0>t[2196]&&(q[2196]=a);x:{y:{z:{if(ja=q[2093]){for(a=8796;;){if(((ka=q[a>>2])+(la=q[a+4>>2])|0)==(0|ia))break z;if(!(a=q[a+8>>2]))break}break y}for((a=q[2091])>>>0<=ia>>>0&&a||(q[2091]=ia),a=0,q[2200]=ma,q[2199]=ia,q[2095]=-1,q[2096]=q[2205],q[2202]=0;;)if(q[(ja=a<<3)+8396>>2]=ka=ja+8388|0,q[ja+8400>>2]=ka,32==(0|(a=a+1|0)))break;q[2090]=ka=(a=ma+-40|0)-(ja=ia+8&7?-8-ia&7:0)|0,q[2093]=ja=ia+ja|0,q[ja+4>>2]=1|ka,q[4+(a+ia|0)>>2]=40,q[2094]=q[2209];break x}if(!(8&r[a+12|0]|ia>>>0<=ja>>>0|ja>>>0>>0)){q[a+4>>2]=la+ma,q[2093]=ia=(a=ja+8&7?-8-ja&7:0)+ja|0,ka=q[2090]+ma|0,q[2090]=a=ka-a|0,q[ia+4>>2]=1|a,q[4+(ja+ka|0)>>2]=40,q[2094]=q[2209];break x}}ia>>>0<(la=q[2091])>>>0&&(q[2091]=ia,la=0),ka=ia+ma|0,a=8796;A:{B:{C:{D:{E:{F:{for(;;){if((0|ka)==q[a>>2])break;if(!(a=q[a+8>>2]))break F}if(!(8&r[a+12|0]))break E}for(a=8796;;){if((ka=q[a>>2])>>>0<=ja>>>0&&ja>>>0<(la=ka+q[a+4>>2]|0)>>>0)break D;a=q[a+8>>2]}}if(q[a>>2]=ia,q[a+4>>2]=q[a+4>>2]+ma,q[(qa=(ia+8&7?-8-ia&7:0)+ia|0)+4>>2]=3|na,a=((ia=ka+(ka+8&7?-8-ka&7:0)|0)-qa|0)-na|0,oa=na+qa|0,(0|ia)==(0|ja)){q[2093]=oa,a=q[2090]+a|0,q[2090]=a,q[oa+4>>2]=1|a;break B}if(q[2092]==(0|ia)){q[2092]=oa,a=q[2089]+a|0,q[2089]=a,q[oa+4>>2]=1|a,q[a+oa>>2]=a;break B}if(1==(3&(ja=q[ia+4>>2]))){ra=-8&ja;G:if(ja>>>0<=255)la=ja>>>3,ja=q[ia+8>>2],(0|(ka=q[ia+12>>2]))==(0|ja)?(ua=q[2087]&dd(la),q[8348>>2]=ua):(q[ja+12>>2]=ka,q[ka+8>>2]=ja);else{if(pa=q[ia+24>>2],(0|(ma=q[ia+12>>2]))!=(0|ia))ja=q[ia+8>>2],q[ja+12>>2]=ma,q[ma+8>>2]=ja;else if((na=q[(ka=ia+20|0)>>2])||(na=q[(ka=ia+16|0)>>2])){for(;;)if(ja=ka,!((na=q[(ka=(ma=na)+20|0)>>2])||(ka=ma+16|0,na=q[ma+16>>2])))break;q[ja>>2]=0}else ma=0;if(pa){ja=q[ia+28>>2];J:{if(q[(ka=8652+(ja<<2)|0)>>2]==(0|ia)){if(q[ka>>2]=ma)break J;ua=q[2088]&dd(ja),q[8352>>2]=ua;break G}if(!(q[pa+(q[pa+16>>2]==(0|ia)?16:20)>>2]=ma))break G}q[ma+24>>2]=pa,(ja=q[ia+16>>2])&&(q[ma+16>>2]=ja,q[ja+24>>2]=ma),(ja=q[ia+20>>2])&&(q[ma+20>>2]=ja,q[ja+24>>2]=ma)}}ia=ia+ra|0,a=a+ra|0}if(q[ia+4>>2]=-2&q[ia+4>>2],q[oa+4>>2]=1|a,(q[a+oa>>2]=a)>>>0<=255){a=8388+((ia=a>>>3)<<3)|0,ia=(ja=q[2087])&(ia=1<>2]:(q[2087]=ia|ja,a),q[a+8>>2]=oa,q[ia+12>>2]=oa,q[oa+12>>2]=a,q[oa+8>>2]=ia;break B}if(ia=0,(ka=a>>>8)&&(ia=31,16777215>>0||(ia=28+((ia=((na=(ka<<=la=ka+1048320>>>16&8)<<(ia=ka+520192>>>16&4))<<(ka=na+245760>>>16&2)>>>15)-(ka|ia|la)|0)<<1|a>>>ia+21&1)|0)),q[(ja=oa)+28>>2]=ia,q[oa+16>>2]=0,ja=8652+(ia<<2)|(q[oa+20>>2]=0),(ka=q[2088])&(la=1<>>1)|0),ia=q[ja>>2];;){if((-8&q[(ja=ia)+4>>2])==(0|a))break C;if(ia=ka>>>29,ka<<=1,!(ia=q[(la=(4&ia)+ja|0)+16>>2]))break}q[la+16>>2]=oa}else q[2088]=ka|la,q[ja>>2]=oa;q[oa+24>>2]=ja,q[oa+12>>2]=oa,q[oa+8>>2]=oa;break B}for(q[2090]=oa=(a=ma+-40|0)-(ka=ia+8&7?-8-ia&7:0)|0,q[2093]=ka=ia+ka|0,q[ka+4>>2]=1|oa,q[4+(a+ia|0)>>2]=40,q[2094]=q[2209],q[(ka=(a=(la+(la+-39&7?39-la&7:0)|0)-47|0)>>>0>>0?ja:a)+4>>2]=27,a=q[2202],q[ka+16>>2]=q[2201],q[ka+20>>2]=a,a=q[2200],q[ka+8>>2]=q[2199],q[ka+12>>2]=a,q[2201]=ka+8,q[2200]=ma,q[2199]=ia,a=ka+24|(q[2202]=0);;)if(q[a+4>>2]=7,ia=a+8|0,a=a+4|0,!(ia>>>0>>0))break;if((0|ja)==(0|ka))break x;if(q[ka+4>>2]=-2&q[ka+4>>2],q[ja+4>>2]=1|(la=ka-ja|0),(q[ka>>2]=la)>>>0<=255){a=8388+((ia=la>>>3)<<3)|0,ia=(ka=q[2087])&(ia=1<>2]:(q[2087]=ia|ka,a),q[a+8>>2]=ja,q[ia+12>>2]=ja,q[ja+12>>2]=a,q[ja+8>>2]=ia;break x}if(q[ja+16>>2]=0,a=q[ja+20>>2]=0,(ka=la>>>8)&&(a=31,16777215>>0||(a=28+((a=((oa=(ka<<=ma=ka+1048320>>>16&8)<<(a=ka+520192>>>16&4))<<(ka=oa+245760>>>16&2)>>>15)-(ka|a|ma)|0)<<1|la>>>a+21&1)|0)),ia=8652+((q[(ia=ja)+28>>2]=a)<<2)|0,(ka=q[2088])&(ma=1<>>1)|0),ia=q[ia>>2];;){if((0|la)==(-8&q[(ka=ia)+4>>2]))break A;if(ia=a>>>29,a<<=1,!(ia=q[(ma=ka+(4&ia)|0)+16>>2]))break}q[ma+16>>2]=ja,q[ja+24>>2]=ka}else q[2088]=ka|ma,q[ia>>2]=ja,q[ja+24>>2]=ia;q[ja+12>>2]=ja,q[ja+8>>2]=ja;break x}a=q[ja+8>>2],q[a+12>>2]=oa,q[ja+8>>2]=oa,q[oa+24>>2]=0,q[oa+12>>2]=ja,q[oa+8>>2]=a}a=qa+8|0;break a}a=q[ka+8>>2],q[a+12>>2]=ja,q[ka+8>>2]=ja,q[ja+24>>2]=0,q[ja+12>>2]=ka,q[ja+8>>2]=a}if(!((a=q[2090])>>>0<=na>>>0)){q[2090]=ia=a-na|0,a=q[2093],q[2093]=ja=a+na|0,q[ja+4>>2]=1|ia,q[a+4>>2]=3|na,a=a+8|0;break a}}q[2086]=48,a=0;break a}Q:if(oa){a=q[la+28>>2];R:{if(q[(ka=8652+(a<<2)|0)>>2]==(0|la)){if(q[ka>>2]=ia)break R;pa=dd(a)&pa,q[2088]=pa;break Q}if(!(q[oa+(q[oa+16>>2]==(0|la)?16:20)>>2]=ia))break Q}q[ia+24>>2]=oa,(a=q[la+16>>2])&&(q[ia+16>>2]=a,q[a+24>>2]=ia),(a=q[la+20>>2])&&(q[ia+20>>2]=a,q[a+24>>2]=ia)}S:if(ja>>>0<=15)q[la+4>>2]=3|(a=ja+na|0),q[(a=a+la|0)+4>>2]=1|q[a+4>>2];else if(q[la+4>>2]=3|na,q[(ka=la+na|0)+4>>2]=1|ja,(q[ja+ka>>2]=ja)>>>0<=255)a=8388+((ia=ja>>>3)<<3)|0,ia=(ja=q[2087])&(ia=1<>2]:(q[2087]=ia|ja,a),q[a+8>>2]=ka,q[ia+12>>2]=ka,q[ka+12>>2]=a,q[ka+8>>2]=ia;else{a=0,(na=ja>>>8)&&(a=31,16777215>>0||(a=28+((a=((oa=(na<<=ma=na+1048320>>>16&8)<<(a=na+520192>>>16&4))<<(na=oa+245760>>>16&2)>>>15)-(na|a|ma)|0)<<1|ja>>>a+21&1)|0)),q[(ia=ka)+28>>2]=a,q[ka+16>>2]=0,ia=8652+(a<<2)|(q[ka+20>>2]=0);V:{if((na=1<>>1)|0),na=q[ia>>2];;){if((-8&q[(ia=na)+4>>2])==(0|ja))break V;if(na=a>>>29,a<<=1,!(na=q[(ma=(4&na)+ia|0)+16>>2]))break}q[ma+16>>2]=ka}else q[2088]=na|pa,q[ia>>2]=ka;q[ka+24>>2]=ia,q[ka+12>>2]=ka,q[ka+8>>2]=ka;break S}a=q[ia+8>>2],q[a+12>>2]=ka,q[ia+8>>2]=ka,q[ka+24>>2]=0,q[ka+12>>2]=ia,q[ka+8>>2]=a}a=la+8|0;break a}X:if(qa){a=q[ia+28>>2];Y:{if(q[(ja=8652+(a<<2)|0)>>2]==(0|ia)){if(q[ja>>2]=la)break Y;ua=dd(a)&ra,q[8352>>2]=ua;break X}if(!(q[qa+(q[qa+16>>2]==(0|ia)?16:20)>>2]=la))break X}q[la+24>>2]=qa,(a=q[ia+16>>2])&&(q[la+16>>2]=a,q[a+24>>2]=la),(a=q[ia+20>>2])&&(q[la+20>>2]=a,q[a+24>>2]=la)}ka>>>0<=15?(q[ia+4>>2]=3|(a=ka+na|0),q[(a=a+ia|0)+4>>2]=1|q[a+4>>2]):(q[ia+4>>2]=3|na,q[(na=ia+na|0)+4>>2]=1|ka,q[ka+na>>2]=ka,pa&&(a=8388+((ja=pa>>>3)<<3)|0,la=q[2092],ja=(ja=1<>2]:(q[2087]=ja|ma,a),q[a+8>>2]=la,q[ja+12>>2]=la,q[la+12>>2]=a,q[la+8>>2]=ja),q[2092]=na,q[2089]=ka),a=ia+8|0}return L=16+sa|0,a}function ra(a,va,wa,xa,ya,za,Aa){var Qa,Ta,Ba,Ca=0,Da=0,Fa=0,Ia=0,Ja=0,Ka=0,Ma=0,Na=0,Oa=0,Pa=0,Ra=0,Sa=0;q[76+(L=Ba=L-80|0)>>2]=va,Ta=55+Ba|0,Qa=56+Ba|0,va=0;a:{b:{c:for(;;){(0|Oa)<0||(Oa=(2147483647-Oa|0)<(0|va)?(q[2086]=61,-1):va+Oa|0);e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{o:{p:{q:{if(Ia=q[76+Ba>>2],Fa=r[0|(va=Ia)]){for(;;){r:{s:{t:if(Ca=255&Fa){if(37!=(0|Ca))break s;for(Fa=va;;){if(37!=r[va+1|0])break t;if(q[76+Ba>>2]=Ca=va+2|0,Fa=Fa+1|0,Da=r[va+2|0],va=Ca,37!=(0|Da))break}}else Fa=va;if(va=Fa-Ia|0,a&&Z(a,Ia,va),va)continue c;Pa=-1,Ja=!ha(o[q[76+(Ca=Ba)>>2]+(Fa=1)|0]),va=q[76+Ba>>2],Ja|36!=r[va+2|0]||(Pa=o[va+1|0]+-48|0,Ra=1,Fa=3),q[Ca+76>>2]=va=Fa+va|0;u:if(31<(Da=(Ma=o[(Fa=0)|va])+-32|0)>>>0)Ca=va;else if(Ca=va,75913&(Da=1<>2]=Ca=va+1|0,Fa|=Da,31<(Da=(Ma=o[va+1|0])+-32|0)>>>0)break u;if(va=Ca,!(75913&(Da=1<>2],36==r[va+2|0]))q[((o[va+1|0]<<2)+ya|0)-192>>2]=10,Na=q[((o[va+1|0]<<3)+xa|0)-384>>2],Ra=1,va=va+3|0;else{if(Ra)break b;Na=Ra=0,a&&(va=q[wa>>2],q[wa>>2]=va+4,Na=q[va>>2]),va=q[76+Ba>>2]+1|0}q[Ja+76>>2]=va,-1<(0|Na)||(Na=0-Na|0,Fa|=8192)}else{if((0|(Na=Ha(76+Ba|0)))<0)break b;va=q[76+Ba>>2]}if(Da=-1,46==r[0|va])if(42==r[va+1|0])if(ha(o[va+2|0])&&(va=q[76+Ba>>2],36==r[va+3|0]))q[((o[va+2|0]<<2)+ya|0)-192>>2]=10,Da=q[((o[va+2|0]<<3)+xa|0)-384>>2],q[76+Ba>>2]=va=va+4|0;else{if(Ra)break b;Da=a?(va=q[wa>>2],q[wa>>2]=va+4,q[va>>2]):0,va=q[76+Ba>>2]+2|0,q[76+Ba>>2]=va}else q[76+Ba>>2]=va+1,Da=Ha(76+Ba|0),va=q[76+Ba>>2];for(Ca=0;;){if(Sa=Ca,Ka=-1,57>>0)break a;if(q[76+Ba>>2]=Ma=va+1|0,Ca=o[0|va],va=Ma,!((Ca=r[3295+(Ca+w(Sa,58)|0)|0])+-1>>>0<8))break}if(!Ca)break a;A:{B:{C:{if(19==(0|Ca)){if((0|Pa)<=-1)break C;break a}if((0|Pa)<0)break B;q[(Pa<<2)+ya>>2]=Ca,Ca=q[(va=(Pa<<3)+xa|0)+4>>2],q[64+Ba>>2]=q[va>>2],q[68+Ba>>2]=Ca}if(va=0,a)break A;continue c}if(!a)break e;Ga(Ba+64|0,Ca,wa,Aa),Ma=q[76+Ba>>2]}if(Ja=-65537&Fa,Fa=8192&Fa?Ja:Fa,Pa=3336,Ca=Qa,va=o[Ma+-1|(Ka=0)],(Ma=(va=Sa&&3==(15&va)?-33&va:va)+-88|0)>>>0<=32)break r;D:{E:{F:{G:{if(6<(Ja=va+-65|0)>>>0){if(83!=(0|va))break f;if(!Da)break G;Ca=q[64+Ba>>2];break E}switch(Ja-1|0){case 1:break F;case 0:case 2:break f;default:break q}}_(a,32,Na,va=0,Fa);break D}q[12+Ba>>2]=0,q[8+Ba>>2]=q[64+Ba>>2],q[64+Ba>>2]=8+Ba,Da=-1,Ca=8+Ba|0}va=0;H:{for(;;){if(!(Ia=q[Ca>>2]))break H;if((Ja=(0|(Ia=Ea(4+Ba|0,Ia)))<0)|Da-va>>>0>>0)break;if(Ca=Ca+4|0,!((va=va+Ia|0)>>>0>>0))break H}if(Ka=-1,Ja)break a}if(_(a,32,Na,va,Fa),va)for(Da=0,Ca=q[64+Ba>>2];;){if(!(Ia=q[Ca>>2]))break D;if((0|va)<(0|(Da=(Ia=Ea(4+Ba|0,Ia))+Da|0)))break D;if(Z(a,4+Ba|0,Ia),Ca=Ca+4|0,!(Da>>>0>>0))break}else va=0}_(a,32,Na,va,8192^Fa),va=(0|va)<(0|Na)?Na:va;continue c}q[76+Ba>>2]=Ca=va+1|0,Fa=r[va+1|0],va=Ca;continue}break}switch(Ma-1|0){case 28:break i;case 21:break j;case 23:break l;case 22:break m;case 11:case 16:break n;case 10:break o;case 26:break p;case 8:case 12:case 13:case 14:break q;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 9:case 15:case 17:case 18:case 19:case 20:case 24:case 25:case 27:case 29:case 30:break f;default:break k}}if(Ka=Oa,a)break a;if(!Ra)break e;for(va=1;;){if(a=q[(va<<2)+ya>>2]){if(Ga((va<<3)+xa|0,a,wa,Aa),10!=(0|(va=va+(Ka=1)|0)))continue;break a}break}if(Ka=1,9>>0)break a;if(Ka=-1,q[(va<<2)+ya>>2])break a;for(;;)if(q[((va=va+1|0)<<2)+ya>>2]||10==(0|va))break;Ka=va>>>0<10?-1:1;break a}va=0|n[za](a,v[64+Ba>>3],Na,Da,Fa,va);continue}Ca=(va=La(Ia=(va=q[64+Ba>>2])||3346,Da))||Da+Ia|0,Fa=Ja,Da=va?va-Ia|0:Da;break f}o[55+Ba|0]=q[64+Ba>>2],Da=1,Ia=Ta,Fa=Ja;break f}if(va=Ja=q[68+Ba>>2],Ia=q[64+Ba>>2],(0|va)<-1||(0|va)<=-1&&!(4294967295>>0)){va=0-(va+(0>>0)|0)|0,q[64+Ba>>2]=Ia=0-Ia|0,q[68+Ba>>2]=va,Ka=1,Pa=3336;break h}if(2048&Fa){Ka=1,Pa=3337;break h}Pa=(Ka=1&Fa)?3338:3336;break h}if(Ia=function(a,Il,Rm){if(a|Il)for(;;)if(o[0|(Rm=Rm+-1|0)]=7&a|48,!((a=(7&Il)<<29|a>>>3)|(Il>>>=3)))break;return Rm}(q[64+Ba>>2],q[68+Ba>>2],Qa),!(8&Fa))break g;Da=(0|(va=Qa-Ia|0))<(0|Da)?Da:va+1|0;break g}Da=8>>0?Da:8,Fa|=8,va=120}if(Ia=function(a,Il,Rm,Sm){if(a|Il)for(;;)if(o[0|(Rm=Rm+-1|0)]=r[3824+(15&a)|0]|Sm,!((a=(15&Il)<<28|a>>>4)|(Il>>>=4)))break;return Rm}(q[64+Ba>>2],q[68+Ba>>2],Qa,32&va),!(8&Fa)|!(q[64+Ba>>2]|q[68+Ba>>2]))break g;Pa=3336+(va>>>4)|0,Ka=2;break g}if(7<(Ca=255&Sa)>>>(va=0))continue;I:switch(Ca-1|0){default:case 0:q[q[64+Ba>>2]>>2]=Oa;continue;case 1:Ca=q[64+Ba>>2],q[Ca>>2]=Oa,q[Ca+4>>2]=Oa>>31;continue;case 2:p[q[64+Ba>>2]>>1]=Oa;continue;case 3:o[q[64+Ba>>2]]=Oa;continue;case 5:q[q[64+Ba>>2]>>2]=Oa;continue;case 4:continue;case 6:break I}Ca=q[64+Ba>>2],q[Ca>>2]=Oa,q[Ca+4>>2]=Oa>>31;continue}Ia=q[64+Ba>>2],va=q[68+Ba>>2],Pa=3336}Ia=ga(Ia,va,Qa)}Fa=-1<(0|Da)?-65537&Fa:Fa,Da=!!((Ja=va=q[68+Ba>>2])|(Ma=q[64+Ba>>2]))|Da?(0|(va=!(Ja|Ma)+(Qa-Ia|0)|0))<(0|Da)?Da:va:(Ia=Qa,0)}_(a,32,va=(0|Na)<(0|(Ca=(Da=(0|Da)<(0|(Ja=Ca-Ia|0))?Ja:Da)+Ka|0))?Ca:Na,Ca,Fa),Z(a,Pa,Ka),_(a,48,va,Ca,65536^Fa),_(a,48,Da,Ja,0),Z(a,Ia,Ja),_(a,32,va,Ca,8192^Fa);continue}break}Ka=0;break a}Ka=-1}return L=80+Ba|0,Ka}function sa(a){var ya,va=0,wa=0,xa=0,za=0,xa=4,wa=1439;a:if(va=r[0|a]){for(;;){if((0|(ya=r[0|wa]))!=(0|va)||!(xa=xa+-1|0)|!ya)break;if(wa=wa+1|0,va=r[a+1|0],a=a+1|0,!va)break a}za=va}return(255&za)-r[0|wa]|0}function ta(a,Aa,Ea){var La,Ga,Ha=0,Ua=0,Va=0;q[(L=Ga=L-240|0)>>2]=a,Ua=1;a:if(!((0|Aa)<2))for(Ha=a;;){if(Ha=(La=Ha+-4|0)-q[((Va=Aa+-2|0)<<2)+Ea>>2]|0,0<=(0|n[5](a,Ha))&&-1<(0|n[5](a,La)))break a;if(a=(Ua<<2)+Ga|0,0<=(0|n[5](Ha,La))?(q[a>>2]=Ha,Va=Aa+-1|0):Ha=q[a>>2]=La,Ua=Ua+1|0,(0|Va)<2)break a;a=q[Ga>>2],Aa=Va}Na(Ga,Ua),L=240+Ga|0}function ua(a){var Ea,ab,Aa=0;x(0);if(!function(a){var Vg=0,Wg=0;q[a+428>>2]&&(Wg=q[a+332>>2],Vg=Wg<<2,$(q[a+460>>2],q[a+436>>2],Vg),$(q[a+464>>2],q[a+440>>2],Vg),$(q[a+468>>2],q[a+448>>2],Vg),r[q[a>>2]+4|0]<4||(Vg=Wg<<4,$(q[a+472>>2],q[a+452>>2],Vg),$(q[a+476>>2],q[a+456>>2],Vg)))}(a),!function(a){var fe=0,ge=x(0),he=x(0),ie=0,je=x(0),ke=0,le=x(0),me=0,ne=x(0);if(1<=(0|(ie=q[a>>2])))for(fe=q[a+4>>2],me=fe+w(ie,52)|0,a=q[a+12>>2];;)if(ge=u[a>>2],ne=u[fe+44>>2],ke=q[fe+16>>2],ge=ke?(he=ge,ge=u[fe+4>>2],je=u[fe+12>>2],he=x(x(he-ge)/je),le=x(C(he)),ie=x(y(le))>2],he=u[fe+8>>2],ge>2]=ge,q[fe+48>>2]=1):q[fe+48>>2]=0,ke||(u[a>>2]=ge),a=a+4|0,!((fe=fe+52|0)>>>0>>0))break}(a+540|0),!function(a){var Rd=0,Sd=0,Td=x(0),Ud=0,Vd=x(0),Wd=x(0),Xd=x(0),Yd=0,Zd=x(0),_d=0,$d=0,ae=0,be=0,ce=x(0),de=0,ee=0;if(1<=(0|(Ud=q[a+540>>2])))for(Yd=q[a+544>>2],de=Yd+w(Ud,52)|0,ee=q[a+644>>2];;){a:if(!(q[Yd>>2]||(0|(Ud=q[Yd+32>>2]))<1))if(a=q[Yd+28>>2],ae=a+w(Ud,28)|0,ce=u[Yd+24>>2],Xd=u[Yd+20>>2],Wd=u[Yd+44>>2],ee)for(;;){Zd=x($d=0);h:{i:{j:{if((0|(Sd=q[a>>2]))<1)Rd=Ud=0;else if(_d=q[a+4>>2],Vd=u[_d>>2],Td=x(Vd-Xd),1==(0|Sd))Ud=Wd>2],!(Wd>2],Wd>2])break h;break i}Rd=Sd+-1|0,Ud=1}Vd=u[a+12>>2],_d=(Sd=Vd!=Zd)&(Zd==x(0)|Vd==x(0))|q[a+8>>2]!=(0|Rd),$d=Ud}if(q[a+20>>2]=_d,q[a+24>>2]=Sd,u[a+12>>2]=Zd,q[a+16>>2]=$d,q[a+8>>2]=Rd,!((a=a+28|0)>>>0>>0))break}else{if(!q[Yd+48>>2])for(;;)if(q[a+20>>2]=0,q[a+24>>2]=0,!((a=a+28|0)>>>0>>0))break a;for(;;){Zd=x($d=0),Rd=q[(_d=a)>>2],Sd=0;b:{c:{d:{e:if(!((0|Rd)<1)){if(Ud=q[a+4>>2],Vd=u[Ud>>2],Td=x(Vd-Xd),1!=(0|Rd)){if(!(Wd>2],!(Wd>2],Wd>2]))break b}$d=Ud,Vd=u[a+12>>2],be=(Sd=Vd!=Zd)&(Zd==x(0)|Vd==x(0))|q[a+8>>2]!=(0|Rd)}if(q[_d+20>>2]=be,q[a+24>>2]=Sd,u[a+12>>2]=Zd,q[a+16>>2]=$d,q[a+8>>2]=Rd,!((a=a+28|0)>>>0>>0))break}}if(!((Yd=Yd+52|0)>>>0>>0))break}}(a),!function(a){var kd=0,ld=x(0),md=0,nd=0,od=x(0),pd=0,qd=x(0),rd=x(0),sd=0,td=0,ud=0,vd=0;if(!(r[q[a>>2]+4|0]<4||(0|(kd=q[a+540>>2]))<1))for(pd=q[a+544>>2],ud=pd+w(kd,52)|0,vd=q[a+644>>2];;){b:if(1==q[pd>>2]&&!((0|(kd=q[pd+40>>2]))<1))if(a=q[pd+36>>2],sd=a+w(kd,28)|0,rd=u[pd+44>>2],vd)for(;;){qd=x(kd=0),nd=q[a>>2];d:if(!((0|nd)<2||(md=q[a+4>>2],ld=u[md>>2],rd<=ld))){kd=1;e:if(od=u[md+4>>2],!(rd>2],rd>2],u[a+16>>2]=qd,nd=q[a+12>>2],q[a+12>>2]=kd,md=ld!=qd,q[a+24>>2]=md,q[a+20>>2]=md&(qd==x(0)|ld==x(0))|(0|kd)!=(0|nd),!((a=a+28|0)>>>0>>0))break}else{if(!q[pd+48>>2])for(;;)if(q[a+20>>2]=0,q[a+24>>2]=0,!((a=a+28|0)>>>0>>0))break b;for(;;){qd=x(nd=0),td=q[a>>2];c:if(!((0|td)<2||(md=q[a+4>>2],ld=u[md>>2],rd<=ld))){if(kd=1,od=u[md+4>>2],!(rd>2],rd>2],u[a+16>>2]=qd,kd=q[a+12>>2],q[a+12>>2]=nd,md=ld!=qd,q[a+24>>2]=md,q[a+20>>2]=md&(qd==x(0)|ld==x(0))|(0|kd)!=(0|nd),!((a=a+28|0)>>>0>>0))break}}if(!((pd=pd+52|0)>>>0>>0))break}}(a),!function(a){var wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=x(0),Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0;if(1<=(0|(xd=q[a+564>>2])))for(Ad=q[a+568>>2],Pd=Ad+w(xd,36)|0,Nd=q[a+644>>2];;){yd=zd=xd=0,Jd=q[Ad+4>>2];a:{if(!(Bd=(0|Jd)<1))for(Ed=q[Ad>>2],a=Kd=0;;){if(wd=q[Ed+(a<<2)>>2],q[wd+16>>2]){wd=1,Ld=0;break a}if(yd=yd||q[wd+24>>2],xd=xd||q[wd+20>>2],zd=(u[wd+12>>2]!=x(0))+zd|0,(0|Jd)==(0|(a=a+1|0)))break}if(wd=0,(Kd=Nd?1:yd)|(Ld=Nd?1:xd)&&(Ed=1<>2]=Ed,31!=(0|zd))){for(xd=q[Ad+20>>2],Od=q[Ad>>2],a=q[Ad+16>>2],yd=a+(Cd=Ed<<2)|0,yd=ca(Fd=a,0,4+((Md=-1^a)+((a=a+4|0)>>>0>>0?yd:a)|0)&-4),Cd=xd+Cd|0,a=xd;;)if(q[a>>2]=1065353216,!((a=a+4|0)>>>0>>0))break;if(!Bd){if(Bd=0,Cd=wd=1,zd)for(;;){if(zd=q[(Bd<<2)+Od>>2],Gd=q[zd+8>>2],Hd=w(Gd,wd),a=0,(Dd=u[zd+12>>2])!=x(0)){for(q[yd>>2]=Hd+q[yd>>2],u[xd>>2]=x(x(1)-Dd)*u[xd>>2],Gd=w(Gd+(a=1)|0,wd);;)if(Dd=u[zd+12>>2],Qd=q[(Md=Fd=(Id=a<<2)+yd|0)>>2],Fd=a&Cd,q[Md>>2]=Qd+(Fd?Gd:Hd),u[(Id=xd+Id|0)>>2]=(Fd?Dd:x(x(1)-Dd))*u[Id>>2],(0|Ed)==(0|(a=a+1|0)))break;Cd<<=1}else for(;;)if(q[(Gd=yd+(a<<2)|0)>>2]=Hd+q[Gd>>2],(0|Ed)==(0|(a=a+1|0)))break;if(wd=w(q[zd>>2],wd),(0|Jd)==(0|(Bd=Bd+1|0)))break}else for(;;){if(zd=q[(Bd<<2)+Od>>2],Cd=w(q[zd+8>>2],wd),a=0,(Dd=u[zd+12>>2])!=x(0))q[yd>>2]=Cd+q[yd>>2],u[xd>>2]=x(x(1)-Dd)*u[xd>>2];else for(;;)if(q[(Hd=yd+(a<<2)|0)>>2]=Cd+q[Hd>>2],(0|Ed)==(0|(a=a+1|0)))break;if(wd=w(q[zd>>2],wd),(0|Jd)==(0|(Bd=Bd+1|0)))break}wd=0}}}if(q[Ad+32>>2]=wd,q[Ad+24>>2]=Ld,q[Ad+28>>2]=Kd,!((Ad=Ad+36|0)>>>0>>0))break}}(a),!function(a){var Wc=x(0),Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=x(0),bd=x(0),cd=x(0),dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0;if(!(r[q[a>>2]+4|0]<4||(0|(Xc=q[a+588>>2]))<1))for(Zc=q[a+592>>2],jd=Zc+w(Xc,48)|0,gd=q[a+644>>2];;){if(a=q[Zc>>2],ed=gd?1:q[a+20>>2],fd=gd?1:q[a+24>>2],ed|fd){c:{d:{$c=Zc,_c=q[a+8>>2],Xc=q[a+12>>2],Wc=u[a+16>>2],a=(0|_c)!=(0|Xc);e:{if(Wc!=x(0)){if(a=Xc+1|0,(0|Xc)==(0|_c)){ed=1,q[Zc+8>>2]=1,Wc=x(x(1)-Wc),fd=1;break e}a=(0|a)==(0|_c)?1:2}if(q[$c+8>>2]=a,!fd)break d;a=Xc}u[Zc+24>>2]=Wc,u[Zc+20>>2]=x(1)-Wc;break c}fd=0,a=Xc}ed?(q[Zc+12>>2]=a,q[Zc+16>>2]=a+1):ed=0}else ed=fd=0;g:if((0|(hd=q[Zc+36>>2]))<1)cd=x(1);else{if(id=q[Zc+40>>2],a=0,cd=x(1),!gd)for(;;){h:{i:{if(Xc=q[(a<<2)+id>>2],Yc=q[Xc>>2]){if(!q[Yc+48>>2]){Wc=u[Xc+16>>2];break h}if((0|(_c=q[Xc+12>>2]))<1){Wc=x(1),u[Xc+16>>2]=1;break h}if(dd=q[Xc+8>>2],1!=(0|_c)&&(ad=u[Yc+44>>2],$c=q[Xc+4>>2],bd=u[$c>>2],!(ad<=bd)))break i;Wc=u[dd>>2],u[Xc+16>>2]=Wc;break h}q[Xc+16>>2]=1065353216,Wc=x(1);break h}Yc=1;j:if(Wc=u[$c+4>>2],!(ad>2],ad>2],u[Xc+16>>2]=Wc;break h}$c=Xc,Wc=x(x(ad-bd)/x(Wc-bd)),Wc=x(x(Wc*u[(Xc=dd+(Yc<<2)|0)>>2])+x(u[Xc+-4>>2]*x(x(1)-Wc))),u[$c+16>>2]=Wc}if(cd=cd>2],Yc=q[Xc>>2],Wc=x(1);l:if(Yc&&(dd=q[Xc+12>>2],Wc=x(1),!((0|dd)<1))&&(_c=q[Xc+8>>2],Wc=u[_c>>2],1!=(0|dd))){m:{if(ad=u[Yc+44>>2],$c=q[Xc+4>>2],bd=u[$c>>2],ad<=bd){Wc=u[_c>>2];break l}if(Yc=1,Wc=u[$c+4>>2],!(ad>2],ad>2];break l}}Wc=x(x(ad-bd)/x(Wc-bd)),Wc=x(x(Wc*u[(Yc=_c+(Yc<<2)|0)>>2])+x(u[Yc+-4>>2]*x(x(1)-Wc)))}if(u[Xc+16>>2]=Wc,cd=cd>2]=fd,q[Zc+28>>2]=ed,u[Zc+44>>2]=cd,!((Zc=Zc+48|0)>>>0>>0))break}}(a),1<=(0|(Ea=q[a+4>>2])))for(Ea=(Aa=q[a+52>>2])+(Ea<<2)|0;;)if(ab=u[Aa>>2],u[Aa>>2]=ab>>0>>0))break;!function(a){var De=0,Ee=0,Fe=0,Ge=0,He=0;if(1<=(0|(Ee=q[a+4>>2])))for(De=q[a+8>>2],He=De+w(Ee,12)|0,Fe=q[a+40>>2],a=Fe;;)if(Ee=0,q[De+8>>2]&&(Ge=q[De+4>>2],!q[(Ge<<2)+Fe>>2]&&-1!=(0|Ge)||(Ee=!q[q[De>>2]+32>>2])),q[a>>2]=Ee,a=a+4|0,!((De=De+12|0)>>>0>>0))break}(a),function(a){var pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0,Ag=0;if(1<=(0|(vg=q[a+4>>2])))for(xg=q[a+8>>2],wg=q[a>>2],yg=q[wg+724>>2];;){if(rg=q[w(tg,12)+xg>>2],(q[rg+28>>2]||q[rg+24>>2])&&(q[(pg=tg<<2)+q[a+28>>2]>>2]=q[rg+12>>2],q[rg+24>>2])&&!((0|(sg=q[rg+12>>2]))<1))for(qg=q[rg+16>>2],sg=qg+(sg<<2)|0,zg=q[pg+yg>>2],pg=q[a+36>>2]+(ug<<2)|0,Ag=q[wg+976>>2];;)if(q[pg>>2]=q[(q[qg>>2]+zg<<2)+Ag>>2],pg=pg+4|0,!((qg=qg+4|0)>>>0>>0))break;if(q[rg+28>>2]&&!((0|(pg=q[rg+12>>2]))<1))for(qg=q[rg+20>>2],sg=qg+(pg<<2)|0,pg=q[a+32>>2]+(ug<<2)|0;;)if(q[pg>>2]=q[qg>>2],pg=pg+4|0,!((qg=qg+4|0)>>>0>>0))break;if(ug=q[rg+8>>2]+ug|0,(0|vg)==(0|(tg=tg+1|0)))break}}(a),n[q[1808]](a+12|0,q[a+36>>2],q[a+44>>2],q[a+40>>2]),function(a){var ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0;if(1<=(0|(we=q[a+304>>2])))for(ue=q[a+308>>2],ze=ue+(we<<5)|0,Ae=q[a+264>>2],Be=q[a+144>>2],Ce=q[a+40>>2],ye=q[a+312>>2],we=ye;;)if(xe=we,ve=0,a=ve=!q[ue+28>>2]||-1!=(0|(a=q[ue+4>>2]))&&(ve=0,!q[(a<<2)+Ce>>2])||-1!=(0|(a=q[ue+8>>2]))&&(ve=0,!q[(a<<2)+ye>>2])?ve:!q[q[ue>>2]+32>>2],q[xe>>2]=a,(xe=q[ue+12>>2])>>>0<=1?xe-1?q[(q[ue+16>>2]<<2)+Be>>2]=a:q[(q[ue+16>>2]<<2)+Ae>>2]=a:Y(4,1372,0),we=we+4|0,!((ue=ue+32|0)>>>0>>0))break}(a),function(a){var Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0,_f=0,$f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0,og=0;if(Yf=q[a>>2],1<=(0|($f=q[a+56>>2]))){for(ag=q[a+60>>2],bg=q[Yf+1052>>2],cg=q[Yf+784>>2];;){if(Uf=q[ag+w(Zf,24)>>2],(q[Uf+28>>2]||q[Uf+24>>2])&&(q[(Vf=Zf<<2)+q[a+80>>2]>>2]=q[Uf+12>>2],q[Uf+24>>2])&&!((0|(Xf=q[Uf+12>>2]))<1))for(Wf=q[Uf+16>>2],dg=Wf+(Xf<<2)|0,eg=q[Vf+cg>>2],Vf=(Xf=_f<<2)+q[a+92>>2]|0,Xf=Xf+q[a+88>>2]|0;;)if(fg=eg+q[Wf>>2]<<2,q[Vf>>2]=bg+(q[fg+q[Yf+984>>2]>>2]<<2),q[Xf>>2]=q[fg+q[Yf+980>>2]>>2],Xf=Xf+4|0,Vf=Vf+4|0,!((Wf=Wf+4|0)>>>0>>0))break;if(q[Uf+28>>2]&&!((0|(Vf=q[Uf+12>>2]))<1))for(Wf=q[Uf+20>>2],Xf=Wf+(Vf<<2)|0,Vf=q[a+84>>2]+(_f<<2)|0;;)if(q[Vf>>2]=q[Wf>>2],Vf=Vf+4|0,!((Wf=Wf+4|0)>>>0>>0))break;if(_f=q[Uf+8>>2]+_f|0,(0|$f)==(0|(Zf=Zf+1|0)))break}Yf=q[a>>2]}if(!(r[Yf+4|0]<4||(0|(eg=q[a+56>>2]))<1))for(fg=q[Yf+792>>2],gg=q[a+60>>2],Wf=_f=0;;){if(Zf=q[w(Wf,24)+gg>>2],q[Zf+24>>2]&&!((0|(Uf=q[Zf+12>>2]))<1))for(Vf=q[Zf+16>>2],hg=Vf+(Uf<<2)|0,ig=q[fg+(Wf<<2)>>2],Xf=(Uf=_f<<2)+q[a+96>>2]|0,$f=Uf+q[a+100>>2]|0,ag=Uf+q[a+104>>2]|0,bg=Uf+q[a+108>>2]|0,cg=Uf+q[a+112>>2]|0,dg=Uf+q[a+116>>2]|0,jg=q[Yf+1308>>2],kg=q[Yf+1304>>2],lg=q[Yf+1300>>2],mg=q[Yf+1296>>2],ng=q[Yf+1292>>2],og=q[Yf+1288>>2];;)if(Uf=q[Vf>>2]+ig<<2,q[Xf>>2]=q[Uf+og>>2],q[$f>>2]=q[Uf+ng>>2],q[ag>>2]=q[Uf+mg>>2],q[bg>>2]=q[Uf+lg>>2],q[cg>>2]=q[Uf+kg>>2],q[dg>>2]=q[Uf+jg>>2],dg=dg+4|0,cg=cg+4|0,bg=bg+4|0,ag=ag+4|0,$f=$f+4|0,Xf=Xf+4|0,!((Vf=Vf+4|0)>>>0>>0))break;if(_f=q[Zf+8>>2]+_f|0,(0|eg)==(0|(Wf=Wf+1|0)))break}}(a),function(a){var xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=0,Jf=0,Kf=0,Lf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=0;if(Tf=q[a+168>>2],zf=q[a>>2],1<=(0|(Kf=q[a+164>>2])))for(Mf=q[zf+816>>2];;){if(Af=q[w(Ef,12)+Tf>>2],(q[Af+28>>2]||q[Af+24>>2])&&(q[(Ff=Ef<<2)+q[a+188>>2]>>2]=q[Af+12>>2],q[Af+24>>2])){if(yf=q[Af+16>>2],Lf=q[Ff+Mf>>2],1<=(0|(xf=q[Af+12>>2])))for(Nf=yf+(xf<<2)|0,Bf=(xf=Df<<2)+q[a+200>>2]|0,Gf=xf+q[a+204>>2]|0,Hf=xf+q[a+208>>2]|0,If=xf+q[a+212>>2]|0,Jf=xf+q[a+196>>2]|0,Of=q[zf+996>>2],Pf=q[zf+1012>>2],Qf=q[zf+1008>>2],Rf=q[zf+1004>>2],Sf=q[zf+1e3>>2],xf=yf;;)if(Cf=Lf+q[xf>>2]<<2,q[Bf>>2]=q[Cf+Sf>>2],q[Gf>>2]=q[Cf+Rf>>2],q[Hf>>2]=q[Cf+Qf>>2],q[If>>2]=q[Cf+Pf>>2],q[Jf>>2]=q[Cf+Of>>2],Jf=Jf+4|0,If=If+4|0,Hf=Hf+4|0,Gf=Gf+4|0,Bf=Bf+4|0,!((xf=xf+4|0)>>>0>>0))break;xf=Lf+q[yf>>2]<<2,q[Ff+q[a+288>>2]>>2]=q[xf+q[zf+1016>>2]>>2],q[Ff+q[a+292>>2]>>2]=q[xf+q[zf+1020>>2]>>2]}if(q[Af+28>>2]&&!((0|(yf=q[Af+12>>2]))<1))for(xf=q[Af+20>>2],yf=xf+(yf<<2)|0,Bf=q[a+192>>2]+(Df<<2)|0;;)if(q[Bf>>2]=q[xf>>2],Bf=Bf+4|0,!((xf=xf+4|0)>>>0>>0))break;if(Df=q[Af+8>>2]+Df|0,(0|Kf)==(0|(Ef=Ef+1|0)))break}if(!(r[zf+4|0]<4||(0|(Ff=q[a+164>>2]))<1))for(Lf=q[zf+824>>2],Df=Af=0;;){if(Cf=q[w(Df,12)+Tf>>2],q[Cf+24>>2]&&!((0|(xf=q[Cf+12>>2]))<1))for(Bf=q[Cf+16>>2],Kf=Bf+(xf<<2)|0,Mf=q[Lf+(Df<<2)>>2],Gf=(yf=Af<<2)+q[a+216>>2]|0,Hf=yf+q[a+220>>2]|0,If=yf+q[a+224>>2]|0,Jf=yf+q[a+228>>2]|0,xf=yf+q[a+232>>2]|0,Ef=yf+q[a+236>>2]|0,Nf=q[zf+1308>>2],Of=q[zf+1304>>2],Pf=q[zf+1300>>2],Qf=q[zf+1296>>2],Rf=q[zf+1292>>2],Sf=q[zf+1288>>2];;)if(yf=Mf+q[Bf>>2]<<2,q[Gf>>2]=q[yf+Sf>>2],q[Hf>>2]=q[yf+Rf>>2],q[If>>2]=q[yf+Qf>>2],q[Jf>>2]=q[yf+Pf>>2],q[xf>>2]=q[yf+Of>>2],q[Ef>>2]=q[yf+Nf>>2],Ef=Ef+4|0,xf=xf+4|0,Jf=Jf+4|0,If=If+4|0,Hf=Hf+4|0,Gf=Gf+4|0,!((Bf=Bf+4|0)>>>0>>0))break;if(Af=q[Cf+8>>2]+Af|0,(0|Ff)==(0|(Df=Df+1|0)))break}}(a),function(a){var qk=0,rk=0,sk=0,tk=0,uk=0,vk=0,wk=0,xk=0,yk=0;qk=a- -64|0,n[q[1807]](qk,q[a+88>>2],q[a+148>>2],q[a+144>>2]),n[q[1809]](qk,q[a+92>>2],q[a+152>>2],q[q[a>>2]+796>>2],2,q[a+144>>2]);if(!(r[q[a>>2]+4|0]<4||(n[q[1807]](qk,q[a+96>>2],q[a+120>>2],q[a+144>>2]),n[q[1807]](qk,q[a+100>>2],q[a+124>>2],q[a+144>>2]),n[q[1807]](qk,q[a+104>>2],q[a+128>>2],q[a+144>>2]),n[q[1807]](qk,q[a+108>>2],q[a+132>>2],q[a+144>>2]),n[q[1807]](qk,q[a+112>>2],q[a+136>>2],q[a+144>>2]),n[q[1807]](qk,q[a+116>>2],q[a+140>>2],q[a+144>>2]),(0|(vk=q[a+56>>2]))<1))){for(wk=q[a+128>>2],xk=q[a+124>>2],yk=q[a+120>>2],rk=q[a+156>>2],qk=0;;)if(uk=qk<<2,q[(sk=tk<<2)+rk>>2]=q[uk+yk>>2],q[rk+(4|sk)>>2]=q[uk+xk>>2],q[rk+(8|sk)>>2]=q[uk+wk>>2],tk=tk+4|0,(0|vk)==(0|(qk=qk+1|0)))break;for(rk=q[a+160>>2],uk=q[a+140>>2],wk=q[a+136>>2],xk=q[a+132>>2],qk=a=0;;)if(sk=qk<<2,q[(tk=a<<2)+rk>>2]=q[sk+xk>>2],q[rk+(4|tk)>>2]=q[sk+wk>>2],q[rk+(8|tk)>>2]=q[sk+uk>>2],a=a+4|0,(0|vk)==(0|(qk=qk+1|0)))break}}(a),function(a){var hk=0,ik=0,jk=0,kk=0,lk=0,mk=0,nk=0,ok=0,pk=0;hk=a+172|0,n[q[1807]](hk,q[a+196>>2],q[a+268>>2],q[a+264>>2]),n[q[1807]](hk,q[a+200>>2],q[a+284>>2],q[a+264>>2]),n[q[1807]](hk,q[a+204>>2],q[a+276>>2],q[a+264>>2]),n[q[1807]](hk,q[a+208>>2],q[a+280>>2],q[a+264>>2]),n[q[1807]](hk,q[a+212>>2],q[a+272>>2],q[a+264>>2]);if(!(r[q[a>>2]+4|0]<4||(n[q[1807]](hk,q[a+216>>2],q[a+240>>2],q[a+264>>2]),n[q[1807]](hk,q[a+220>>2],q[a+244>>2],q[a+264>>2]),n[q[1807]](hk,q[a+224>>2],q[a+248>>2],q[a+264>>2]),n[q[1807]](hk,q[a+228>>2],q[a+252>>2],q[a+264>>2]),n[q[1807]](hk,q[a+232>>2],q[a+256>>2],q[a+264>>2]),n[q[1807]](hk,q[a+236>>2],q[a+260>>2],q[a+264>>2]),(0|(mk=q[a+164>>2]))<1))){for(nk=q[a+248>>2],ok=q[a+244>>2],pk=q[a+240>>2],ik=q[a+296>>2],hk=0;;)if(lk=hk<<2,q[(jk=kk<<2)+ik>>2]=q[lk+pk>>2],q[ik+(4|jk)>>2]=q[lk+ok>>2],q[ik+(8|jk)>>2]=q[lk+nk>>2],kk=kk+4|0,(0|mk)==(0|(hk=hk+1|0)))break;for(ik=q[a+300>>2],lk=q[a+260>>2],nk=q[a+256>>2],ok=q[a+252>>2],hk=a=0;;)if(jk=hk<<2,q[(kk=a<<2)+ik>>2]=q[jk+ok>>2],q[ik+(4|kk)>>2]=q[jk+nk>>2],q[ik+(8|kk)>>2]=q[jk+lk>>2],a=a+4|0,(0|mk)==(0|(hk=hk+1|0)))break}}(a),function(a){var oe=0,pe=0,qe=0,re=0,se=0,te=0;if(1<=(0|(pe=q[a+332>>2])))for(oe=q[a+336>>2],re=oe+w(pe,20)|0,se=q[a+312>>2],te=q[a+40>>2],a=q[a+424>>2];;)if(pe=0,q[oe+12>>2]&&(qe=q[oe+4>>2],q[(qe<<2)+te>>2]||-1==(0|qe))&&(qe=q[oe+8>>2],q[(qe<<2)+se>>2]||-1==(0|qe))&&(pe=!q[q[oe>>2]+32>>2]),q[a>>2]=pe,a=a+4|0,!((oe=oe+20|0)>>>0>>0))break}(a),function(a){var $e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0;if(cf=q[a>>2],1<=(0|(jf=q[a+332>>2]))){for(kf=q[a+336>>2],lf=q[cf+1052>>2],mf=q[cf+856>>2];;){if($e=q[kf+w(ff,20)>>2],(q[$e+28>>2]||q[$e+24>>2])&&(q[(af=ff<<2)+q[a+356>>2]>>2]=q[$e+12>>2],q[$e+24>>2])&&!((0|(df=q[$e+12>>2]))<1))for(bf=q[$e+16>>2],nf=bf+(df<<2)|0,of=q[af+mf>>2],af=(ef=gf<<2)+q[a+372>>2]|0,df=ef+q[a+364>>2]|0,ef=ef+q[a+368>>2]|0;;)if(hf=of+q[bf>>2]<<2,q[af>>2]=lf+(q[hf+q[cf+1040>>2]>>2]<<2),q[df>>2]=q[hf+q[cf+1032>>2]>>2],q[ef>>2]=q[hf+q[cf+1036>>2]>>2],ef=ef+4|0,df=df+4|0,af=af+4|0,!((bf=bf+4|0)>>>0>>0))break;if(q[$e+28>>2]&&!((0|(af=q[$e+12>>2]))<1))for(bf=q[$e+20>>2],df=bf+(af<<2)|0,af=q[a+360>>2]+(gf<<2)|0;;)if(q[af>>2]=q[bf>>2],af=af+4|0,!((bf=bf+4|0)>>>0>>0))break;if(gf=q[$e+8>>2]+gf|0,(0|jf)==(0|(ff=ff+1|0)))break}cf=q[a>>2]}if(!(r[cf+4|0]<4||(0|(mf=q[a+332>>2]))<1))for(nf=q[cf+864>>2],of=q[a+336>>2],bf=gf=0;;){if(ff=q[of+w(bf,20)>>2],q[ff+24>>2]&&!((0|($e=q[ff+12>>2]))<1))for(af=q[ff+16>>2],pf=af+($e<<2)|0,qf=q[nf+(bf<<2)>>2],df=($e=gf<<2)+q[a+376>>2]|0,ef=$e+q[a+380>>2]|0,hf=$e+q[a+384>>2]|0,jf=$e+q[a+388>>2]|0,kf=$e+q[a+392>>2]|0,lf=$e+q[a+396>>2]|0,rf=q[cf+1308>>2],sf=q[cf+1304>>2],tf=q[cf+1300>>2],uf=q[cf+1296>>2],vf=q[cf+1292>>2],wf=q[cf+1288>>2];;)if($e=q[af>>2]+qf<<2,q[df>>2]=q[$e+wf>>2],q[ef>>2]=q[$e+vf>>2],q[hf>>2]=q[$e+uf>>2],q[jf>>2]=q[$e+tf>>2],q[kf>>2]=q[$e+sf>>2],q[lf>>2]=q[$e+rf>>2],lf=lf+4|0,kf=kf+4|0,jf=jf+4|0,hf=hf+4|0,ef=ef+4|0,df=df+4|0,!((af=af+4|0)>>>0>>0))break;if(gf=q[ff+8>>2]+gf|0,(0|mf)==(0|(bf=bf+1|0)))break}}(a),function(a){var vj=0,xj=0,yj=0,bk=0,ck=0,dk=0,ek=0,fk=0,gk=0;vj=a+340|0,n[q[1807]](vj,q[a+364>>2],q[a+448>>2],q[a+424>>2]),n[q[1808]](vj,q[a+368>>2],q[a+440>>2],q[a+424>>2]),n[q[1809]](vj,q[a+372>>2],q[a+444>>2],q[q[a>>2]+892>>2],2,q[a+424>>2]);if(!(r[q[a>>2]+4|0]<4||(n[q[1807]](vj,q[a+376>>2],q[a+400>>2],q[a+424>>2]),n[q[1807]](vj,q[a+380>>2],q[a+404>>2],q[a+424>>2]),n[q[1807]](vj,q[a+384>>2],q[a+408>>2],q[a+424>>2]),n[q[1807]](vj,q[a+388>>2],q[a+412>>2],q[a+424>>2]),n[q[1807]](vj,q[a+392>>2],q[a+416>>2],q[a+424>>2]),n[q[1807]](vj,q[a+396>>2],q[a+420>>2],q[a+424>>2]),(0|(dk=q[a+332>>2]))<1))){for(ek=q[a+408>>2],fk=q[a+404>>2],gk=q[a+400>>2],xj=q[a+452>>2],vj=0;;)if(ck=vj<<2,q[(yj=bk<<2)+xj>>2]=q[ck+gk>>2],q[xj+(4|yj)>>2]=q[ck+fk>>2],q[xj+(8|yj)>>2]=q[ck+ek>>2],bk=bk+4|0,(0|dk)==(0|(vj=vj+1|0)))break;for(xj=q[a+456>>2],ck=q[a+420>>2],ek=q[a+416>>2],fk=q[a+412>>2],vj=a=0;;)if(yj=vj<<2,q[(bk=a<<2)+xj>>2]=q[yj+fk>>2],q[xj+(4|bk)>>2]=q[yj+ek>>2],q[xj+(8|bk)>>2]=q[yj+ck>>2],a=a+4|0,(0|dk)==(0|(vj=vj+1|0)))break}}(a),function(a){var Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0;if(1<=(0|(Ve=q[a+500>>2])))for(Xe=q[a+504>>2],We=q[a>>2],Ye=q[We+1252>>2];;){if(Re=q[w(Te,24)+Xe>>2],(q[Re+28>>2]||q[Re+24>>2])&&(q[(Pe=Te<<2)+q[a+524>>2]>>2]=q[Re+12>>2],q[Re+24>>2])&&!((0|(Se=q[Re+12>>2]))<1))for(Qe=q[Re+16>>2],Se=Qe+(Se<<2)|0,Ze=q[Pe+Ye>>2],Pe=q[a+532>>2]+(Ue<<2)|0,_e=q[We+1284>>2];;)if(q[Pe>>2]=q[(q[Qe>>2]+Ze<<2)+_e>>2],Pe=Pe+4|0,!((Qe=Qe+4|0)>>>0>>0))break;if(q[Re+28>>2]&&!((0|(Pe=q[Re+12>>2]))<1))for(Qe=q[Re+20>>2],Se=Qe+(Pe<<2)|0,Pe=q[a+528>>2]+(Ue<<2)|0;;)if(q[Pe>>2]=q[Qe>>2],Pe=Pe+4|0,!((Qe=Qe+4|0)>>>0>>0))break;if(Ue=q[Re+8>>2]+Ue|0,(0|Ve)==(0|(Te=Te+1|0)))break}}(a),n[q[1807]](a+508|0,q[a+532>>2],q[a+536>>2],0),function(a){var zk=x(0),Ak=0,Bk=0,Ck=0,Dk=0,Ek=0,Fk=0,Gk=x(0),Hk=0,Ik=0,Jk=0;L=Ek=L-16|0,Ck=q[a>>2];if(!(r[Ck+4|0]<5||(0|(Dk=q[a+596>>2]))<1))for(Bk=q[a+600>>2],Hk=Bk+w(Dk,12)|0,Ik=q[a+44>>2],Dk=q[Ck+976>>2];;){if(Ck=(q[Bk>>2]<<2)+Ik|0,zk=x(q[Ck>>2]),1<=(0|(Ak=q[Bk+4>>2])))for(a=q[Bk+8>>2],Jk=a+w(Ak,48)|0;;)if((Ak=q[a+8>>2])&&((Fk=Ak+-1|0)>>>0<=1?(Ak=q[a+4>>2],Gk=u[Dk+(Ak+q[a+12>>2]<<2)>>2],zk=x(Fk-1?zk+x(u[a+44>>2]*x(Gk*u[a+20>>2])):zk+x(u[a+44>>2]*x(x(Gk*u[a+20>>2])+x(u[Dk+(Ak+q[a+16>>2]<<2)>>2]*u[a+24>>2]))))):(q[Ek>>2]=Ak,Y(4,1024,Ek))),!((a=a+48|0)>>>0>>0))break;if(zk=(zk=x(zk+x(.0010000000474974513)))>2]=a,!((Bk=Bk+12|0)>>>0>>0))break}L=16+Ek|0}(a),function(a){var ej=0,gj=0,ij=0,jj=0,kj=0,lj=x(0),mj=0,nj=0,oj=0,pj=0,qj=0,rj=0,sj=0,tj=0,uj=0;L=mj=L-16|0,ej=q[a>>2];if(!(r[ej+4|0]<4||(va(a,q[a+604>>2],q[a+608>>2],q[ej+984>>2],q[a+152>>2],q[ej+796>>2]),gj=q[a>>2],r[gj+4|0]<5))){if(ij=q[a+608>>2],qj=q[gj+992>>2],rj=q[gj+988>>2],1<=(0|(ej=q[a+604>>2]))){for(sj=w(ej,12)+ij|0,tj=q[a+148>>2],nj=q[gj+980>>2];;){if(oj=(q[ij>>2]<<2)+tj|0,kj=q[oj>>2],1<=(0|(jj=q[ij+4>>2])))for(ej=q[ij+8>>2],uj=ej+w(jj,48)|0;;)if((jj=q[ej+8>>2])&&((pj=jj+-1|0)>>>0<=1?(jj=q[ej+4>>2],lj=u[(jj+q[ej+12>>2]<<2)+nj>>2],kj=(j(x(pj-1?x(u[ej+44>>2]*x(lj*u[ej+20>>2]))+(f(0,kj),k()):x(u[ej+44>>2]*x(x(lj*u[ej+20>>2])+x(u[(jj+q[ej+16>>2]<<2)+nj>>2]*u[ej+24>>2])))+(f(0,kj),k()))),b[0])):(q[mj>>2]=jj,Y(4,1024,mj))),!((ej=ej+48|0)>>>0>>0))break;if(f(0,kj),lj=k(),u[oj>>2]=lj>>0>>0))break}ij=q[a+608>>2],ej=q[a+604>>2]}fa(ej,ij,rj,q[gj+1288>>2],q[gj+1292>>2],q[gj+1296>>2],q[a+156>>2]),fa(q[a+604>>2],q[a+608>>2],qj,q[gj+1300>>2],q[gj+1304>>2],q[gj+1308>>2],q[a+160>>2])}L=16+mj|0}(a),function(a){var si=0,ti=0,ui=0,vi=0,wi=0,xi=x(0),yi=0,zi=0,Ai=0,Bi=0,Ci=0,Di=0,Ei=0,Fi=0,Gi=0;L=zi=L-80|0,wi=q[a>>2];if(!(r[wi+4|0]<5)){if(Ei=q[wi+1028>>2],Fi=q[wi+1024>>2],ti=q[a+616>>2],si=q[a+612>>2],ui=ti,!((0|si)<1)){for(Ai=w(si,12)+ti|0,Bi=q[a+276>>2],yi=q[wi+1004>>2];;){if(Ci=Bi+(q[ti>>2]<<2)|0,ui=q[Ci>>2],1<=(0|(vi=q[ti+4>>2])))for(si=q[ti+8>>2],Gi=si+w(vi,48)|0;;)if((vi=q[si+8>>2])&&((Di=vi+-1|0)>>>0<=1?(vi=q[si+4>>2],xi=u[yi+(vi+q[si+12>>2]<<2)>>2],ui=(j(x(Di-1?x(u[si+44>>2]*x(xi*u[si+20>>2]))+(f(0,ui),k()):x(u[si+44>>2]*x(x(xi*u[si+20>>2])+x(u[yi+(vi+q[si+16>>2]<<2)>>2]*u[si+24>>2])))+(f(0,ui),k()))),b[0])):(q[64+zi>>2]=vi,Y(4,1024,zi+64|0))),!((si=si+48|0)>>>0>>0))break;if(q[Ci>>2]=ui,!((ti=ti+12|0)>>>0>>0))break}if(ti=q[a+616>>2],si=q[a+612>>2],ui=ti,!((0|si)<1)){for(Ai=w(si,12)+ti|0,Bi=q[a+280>>2],yi=q[q[a>>2]+1008>>2];;){if(Ci=Bi+(q[ti>>2]<<2)|0,ui=q[Ci>>2],1<=(0|(vi=q[ti+4>>2])))for(si=q[ti+8>>2],Gi=si+w(vi,48)|0;;)if((vi=q[si+8>>2])&&((Di=vi+-1|0)>>>0<=1?(vi=q[si+4>>2],xi=u[yi+(vi+q[si+12>>2]<<2)>>2],ui=(j(x(Di-1?x(u[si+44>>2]*x(xi*u[si+20>>2]))+(f(0,ui),k()):x(u[si+44>>2]*x(x(xi*u[si+20>>2])+x(u[yi+(vi+q[si+16>>2]<<2)>>2]*u[si+24>>2])))+(f(0,ui),k()))),b[0])):(q[48+zi>>2]=vi,Y(4,1024,48+zi|0))),!((si=si+48|0)>>>0>>0))break;if(q[Ci>>2]=ui,!((ti=ti+12|0)>>>0>>0))break}if(ti=q[a+616>>2],si=q[a+612>>2],ui=ti,!((0|si)<1)){for(Ai=w(si,12)+ti|0,Bi=q[a+268>>2],yi=q[q[a>>2]+996>>2];;){if(Ci=Bi+(q[ti>>2]<<2)|0,ui=q[Ci>>2],1<=(0|(vi=q[ti+4>>2])))for(si=q[ti+8>>2],Gi=si+w(vi,48)|0;;)if((vi=q[si+8>>2])&&((Di=vi+-1|0)>>>0<=1?(vi=q[si+4>>2],xi=u[yi+(vi+q[si+12>>2]<<2)>>2],ui=(j(x(Di-1?x(u[si+44>>2]*x(xi*u[si+20>>2]))+(f(0,ui),k()):x(u[si+44>>2]*x(x(xi*u[si+20>>2])+x(u[yi+(vi+q[si+16>>2]<<2)>>2]*u[si+24>>2])))+(f(0,ui),k()))),b[0])):(q[32+zi>>2]=vi,Y(4,1024,32+zi|0))),!((si=si+48|0)>>>0>>0))break;if(f(0,ui),xi=k(),u[Ci>>2]=xi>>0>>0))break}si=q[a+612>>2],ui=q[a+616>>2]}}}if(fa(si,ui,Fi,q[wi+1288>>2],q[wi+1292>>2],q[wi+1296>>2],q[a+296>>2]),fa(q[a+612>>2],q[a+616>>2],Ei,q[wi+1300>>2],q[wi+1304>>2],q[wi+1308>>2],q[a+300>>2]),!((0|(si=q[a+612>>2]))<1)){for(ti=q[a+616>>2],vi=ti+w(si,12)|0,Ei=q[a+284>>2],wi=q[q[a>>2]+1e3>>2];;){if(Fi=Ei+(q[ti>>2]<<2)|0,ui=q[Fi>>2],1<=(0|(yi=q[ti+4>>2])))for(si=q[ti+8>>2],Ai=si+w(yi,48)|0;;)if((yi=q[si+8>>2])&&((Bi=yi+-1|0)>>>0<=1?(yi=q[si+4>>2],xi=u[wi+(yi+q[si+12>>2]<<2)>>2],ui=(j(x(Bi-1?x(u[si+44>>2]*x(xi*u[si+20>>2]))+(f(0,ui),k()):x(u[si+44>>2]*x(x(xi*u[si+20>>2])+x(u[wi+(yi+q[si+16>>2]<<2)>>2]*u[si+24>>2])))+(f(0,ui),k()))),b[0])):(q[16+zi>>2]=yi,Y(4,1024,16+zi|0))),!((si=si+48|0)>>>0>>0))break;if(f(0,ui),xi=k(),u[Fi>>2]=xi>>0>>0))break}if(!((0|(si=q[a+612>>2]))<1))for(ti=q[a+616>>2],yi=ti+w(si,12)|0,vi=q[a+272>>2],a=q[q[a>>2]+1012>>2];;){if(Ei=vi+(q[ti>>2]<<2)|0,ui=q[Ei>>2],1<=(0|(wi=q[ti+4>>2])))for(si=q[ti+8>>2],Fi=si+w(wi,48)|0;;)if((wi=q[si+8>>2])&&((Ai=wi+-1|0)>>>0<=1?(wi=q[si+4>>2],xi=u[a+(wi+q[si+12>>2]<<2)>>2],ui=(j(x(Ai-1?x(u[si+44>>2]*x(xi*u[si+20>>2]))+(f(0,ui),k()):x(u[si+44>>2]*x(x(xi*u[si+20>>2])+x(u[a+(wi+q[si+16>>2]<<2)>>2]*u[si+24>>2])))+(f(0,ui),k()))),b[0])):(q[zi>>2]=wi,Y(4,1024,zi))),!((si=si+48|0)>>>0>>0))break;if(f(0,ui),xi=k(),u[Ei>>2]=xi>>0>>0))break}}}L=80+zi|0}(a),function(a){var Vh=0,Wh=0,Xh=0,Yh=0,Zh=x(0),_h=0,$h=0,ai=0,bi=0,ci=0,di=0,ei=0,fi=x(0),gi=0,hi=0,ii=0;L=$h=L-32|0,Xh=q[a>>2];if(!(r[Xh+4|0]<4||(va(a,q[a+620>>2],q[a+624>>2],q[Xh+1040>>2],q[a+444>>2],q[Xh+892>>2]),_h=q[a>>2],r[_h+4|0]<5))){if(hi=q[_h+1048>>2],ii=q[_h+1044>>2],Yh=q[a+624>>2],Vh=q[a+620>>2],Xh=Yh,!((0|Vh)<1)){for(di=w(Vh,12)+Yh|0,ei=q[a+440>>2],ai=q[_h+1036>>2];;){if(Xh=ei+(q[Yh>>2]<<2)|0,Zh=x(q[Xh>>2]),1<=(0|(Wh=q[Yh+4>>2])))for(Vh=q[Yh+8>>2],bi=Vh+w(Wh,48)|0;;)if((Wh=q[Vh+8>>2])&&((ci=Wh+-1|0)>>>0<=1?(Wh=q[Vh+4>>2],fi=u[ai+(Wh+q[Vh+12>>2]<<2)>>2],Zh=x(ci-1?Zh+x(u[Vh+44>>2]*x(fi*u[Vh+20>>2])):Zh+x(u[Vh+44>>2]*x(x(fi*u[Vh+20>>2])+x(u[ai+(Wh+q[Vh+16>>2]<<2)>>2]*u[Vh+24>>2]))))):(q[16+$h>>2]=Wh,Y(4,1024,16+$h|0))),!((Vh=Vh+48|0)>>>0>>0))break;if(Zh=(Zh=x(Zh+x(.0010000000474974513)))>2]=Vh,!((Yh=Yh+12|0)>>>0>>0))break}if(Yh=q[a+624>>2],Vh=q[a+620>>2],Xh=Yh,!((0|Vh)<1)){for(di=w(Vh,12)+Yh|0,ei=q[a+448>>2],ai=q[q[a>>2]+1032>>2];;){if(bi=ei+(q[Yh>>2]<<2)|0,Xh=q[bi>>2],1<=(0|(Wh=q[Yh+4>>2])))for(Vh=q[Yh+8>>2],ci=Vh+w(Wh,48)|0;;)if((Wh=q[Vh+8>>2])&&((gi=Wh+-1|0)>>>0<=1?(Wh=q[Vh+4>>2],Zh=u[ai+(Wh+q[Vh+12>>2]<<2)>>2],Xh=(j(x(gi-1?x(u[Vh+44>>2]*x(Zh*u[Vh+20>>2]))+(f(0,Xh),k()):x(u[Vh+44>>2]*x(x(Zh*u[Vh+20>>2])+x(u[ai+(Wh+q[Vh+16>>2]<<2)>>2]*u[Vh+24>>2])))+(f(0,Xh),k()))),b[0])):(q[$h>>2]=Wh,Y(4,1024,$h))),!((Vh=Vh+48|0)>>>0>>0))break;if(f(0,Xh),Zh=k(),u[bi>>2]=Zh>>0>>0))break}Vh=q[a+620>>2],Xh=q[a+624>>2]}}fa(Vh,Xh,ii,q[_h+1288>>2],q[_h+1292>>2],q[_h+1296>>2],q[a+452>>2]),fa(q[a+620>>2],q[a+624>>2],hi,q[_h+1300>>2],q[_h+1304>>2],q[_h+1308>>2],q[a+456>>2])}L=32+$h|0}(a),function(a){var Bg=0,Cg=0,Dg=0,Eg=0,Fg=x(0),Gg=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0;L=Gg=L-16|0,Cg=q[a>>2];if(!(r[Cg+4|0]<5||(0|(Eg=q[a+628>>2]))<1))for(Dg=q[a+632>>2],Jg=Dg+w(Eg,12)|0,Kg=q[a+536>>2],Eg=q[Cg+1284>>2];;){if(Hg=(q[Dg>>2]<<2)+Kg|0,Cg=q[Hg>>2],1<=(0|(Bg=q[Dg+4>>2])))for(a=q[Dg+8>>2],Lg=a+w(Bg,48)|0;;)if((Bg=q[a+8>>2])&&((Ig=Bg+-1|0)>>>0<=1?(Bg=q[a+4>>2],Fg=u[Eg+(Bg+q[a+12>>2]<<2)>>2],Cg=(j(x(Ig-1?x(u[a+44>>2]*x(Fg*u[a+20>>2]))+(f(0,Cg),k()):x(u[a+44>>2]*x(x(Fg*u[a+20>>2])+x(u[Eg+(Bg+q[a+16>>2]<<2)>>2]*u[a+24>>2])))+(f(0,Cg),k()))),b[0])):(q[Gg>>2]=Bg,Y(4,1024,Gg))),!((a=a+48|0)>>>0>>0))break;if(f(0,Cg),Fg=k(),u[Hg>>2]=Fg>>0>>0))break}L=16+Gg|0}(a),function(a){var mh=0,Oh=0,Ph=0,Qh=0,Rh=x(0),Sh=0,Th=0;if(1<=(0|(mh=q[a+4>>2])))for(Oh=q[a+8>>2],Th=Oh+w(mh,12)|0,mh=q[a+40>>2],Ph=q[a+52>>2],Qh=q[a+48>>2],a=Qh;;)if(q[mh>>2]&&(Rh=u[Ph>>2],u[a>>2]=Rh,-1!=(0|(Sh=q[Oh+4>>2])))&&(u[a>>2]=Rh*u[(Sh<<2)+Qh>>2]),a=a+4|0,Ph=Ph+4|0,mh=mh+4|0,!((Oh=Oh+12|0)>>>0>>0))break}(a),function(a){var ih=0,jh=0,kh=0,lh=0;if(1<=(0|(lh=q[a+304>>2])))for(ih=q[a+308>>2],jh=q[a+312>>2];;)if(q[jh>>2]&&n[q[ih+20>>2]](a,kh),jh=jh+4|0,ih=ih+32|0,(0|lh)==(0|(kh=kh+1|0)))break}(a),function(a){var Xg=0,Yg=0,Zg=x(0),_g=x(0),$g=0,ah=0,bh=0,ch=x(0),dh=0,eh=0,fh=0,gh=0,hh=0;if(1<=(0|(Xg=q[a+332>>2])))for(Yg=q[a+336>>2],eh=Yg+w(Xg,20)|0,fh=q[a+308>>2],dh=q[a+316>>2],hh=q[a+48>>2],Xg=q[a+448>>2],$g=q[a+444>>2],bh=q[a+424>>2];;)if(q[bh>>2]&&(-1!=(0|(ah=q[Yg+4>>2]))&&(u[Xg>>2]=u[(ah<<2)+hh>>2]*u[Xg>>2]),-1!=(0|(ah=q[Yg+8>>2])))&&(u[Xg>>2]=u[dh+(ah<<2)>>2]*u[Xg>>2],gh=q[$g>>2],n[q[24+(fh+(ah<<5)|0)>>2]](a,ah,gh,gh,q[Yg+16>>2])),$g=$g+4|0,Xg=Xg+4|0,bh=bh+4|0,!((Yg=Yg+20|0)>>>0>>0))break;if(!(r[q[a>>2]+4|0]<4||(0|(Xg=q[a+332>>2]))<1))for($g=q[a+336>>2],ah=$g+w(Xg,20)|0,eh=q[a+328>>2],fh=q[a+324>>2],Yg=q[a+452>>2],Xg=q[a+456>>2],bh=q[a+424>>2];;)if(q[bh>>2]&&-1!=(0|(a=q[$g+8>>2]))&&(a=(dh=a<<4)+fh|0,Zg=x(u[Yg>>2]*u[a>>2]),u[Yg>>2]=Zg,_g=x(u[Yg+4>>2]*u[a+4>>2]),u[Yg+4>>2]=_g,ch=u[a+8>>2],q[Yg+12>>2]=1065353216,u[Yg+4>>2]=_g>2]=Zg>2]),u[Yg+8>>2]=Zg>2],_g=u[(a=eh+dh|0)>>2],Zg=x(x(Zg+_g)-x(Zg*_g)),u[Xg>>2]=Zg,_g=u[Xg+4>>2],ch=u[a+4>>2],_g=x(x(_g+ch)-x(_g*ch)),u[Xg+4>>2]=_g,ch=u[a+8>>2],q[Xg+12>>2]=1065353216,u[Xg+4>>2]=_g>2]=Zg>2],Zg=x(x(ch+Zg)-x(Zg*ch)),u[Xg+8>>2]=Zg>>0>>0))break}(a),function(a){var Ln=0,Mn=0,Nn=0,On=x(0),Ko=x(0),Lo=x(0),Mo=x(0),No=x(0),Oo=0,Po=0,Qo=0,Ro=0,So=0,To=0,Uo=0,Vo=x(0),Wo=0,Xo=0,Yo=x(0),Zo=0,_o=0;if(1<=(0|(Oo=q[a+500>>2])))for(Zo=q[a+536>>2],Po=q[a+444>>2],_o=q[a+504>>2];;){if(a=w(Nn,24)+_o|0,0<(0|(Qo=q[a+12>>2])))for(On=u[(Nn<<2)+Zo>>2],Ro=q[a+20>>2],So=q[a+16>>2],To=q[(q[a+4>>2]<<2)+Po>>2],Uo=q[(q[a+8>>2]<<2)+Po>>2],a=0;;)if(Vo=u[((Ln=1|a)<<2)+So>>2],Mn=s[(a<<1)+Ro>>1]<<3&262136,Ko=u[(Wo=(4|Mn)+To|0)>>2],Ln=s[(Ln<<1)+Ro>>1]<<3&262136,Lo=u[(Xo=(4|Ln)+Uo|0)>>2],Mo=u[(Mn=Mn+To|0)>>2],Yo=u[(a<<2)+So>>2],No=u[(Ln=Ln+Uo|0)>>2],u[Mn>>2]=Mo+x(On*x(Yo*x(No-Mo))),u[Wo>>2]=Ko+x(On*x(Yo*x(Lo-Ko))),u[Ln>>2]=No+x(On*x(Vo*x(Mo-No))),u[Xo>>2]=Lo+x(On*x(Vo*x(Ko-Lo))),!((0|(a=a+2|0))<(0|Qo)))break;if(!((0|(Nn=Nn+1|0))<(0|Oo)))break}}(a),n[q[1810]](a),function(a){var Gc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0;if(!((0|(Rc=q[a+480>>2]))<1)){for(Sc=q[a+484>>2],Kc=Sc+w(Rc,28)|0,Nc=q[a+424>>2],Oc=q[a+40>>2],Lc=q[a+44>>2],Tc=q[a+440>>2],Gc=Sc;;){if(1<=(0|(Mc=q[Gc+4>>2])))for(Qc=Gc+20|0,Pc=q[Gc+12>>2],Ic=0;;)if(Uc=q[(Jc=Pc+(Ic<<4)|0)+4>>2]<<2,Jc=1==q[(Vc=Jc)>>2],q[Vc+12>>2]=q[(q[(Jc?Oc:Nc)+Uc>>2]?(Jc?Lc:Tc)+Uc|0:Qc)>>2],!((0|(Ic=Ic+1|0))<(0|Mc)))break;if(!((Gc=Gc+28|0)>>>0>>0))break}if(!((0|Rc)<1))for(Tc=q[a+436>>2],Oc=0;;){if(Kc=w(Oc,28)+Sc|0,!(q[(Nc=Kc)+24>>2]<1)){for(Jc=q[a+488>>2],Ic=0;;)if(q[Jc+(Ic<<2)>>2]=-1,Ic=Ic+1|0,Gc=q[Nc+24>>2],!((0|Ic)<(0|Gc)))break;if(!((0|Gc)<1))for(Gc=q[a+496>>2],Ic=0;;)if(q[Gc+(Ic<<2)>>2]=-1,!((0|(Ic=Ic+1|0))>2]))break}if(!(q[Kc+4>>2]<1)){for(Lc=q[a+492>>2],Ic=0;;)if(q[Lc+(Ic<<2)>>2]=-1,Ic=Ic+1|0,Gc=q[Kc+4>>2],!((0|Ic)<(0|Gc)))break;if(!((0|Gc)<1))for(Mc=q[Kc+12>>2],Qc=q[a+496>>2],Ic=0;;)if(Pc=q[12+(Mc+(Ic<<4)|0)>>2]-q[Kc+20>>2]<<2,Gc=-1==(0|(Gc=q[(Jc=Pc+Qc|0)>>2]))?Pc+q[a+488>>2]|0:Lc+(Gc<<2)|0,q[Gc>>2]=Ic,!((0|(Ic=(q[Jc>>2]=Ic)+1|0))>2]))break}if(1<=(0|(Gc=q[Nc+24>>2])))for(Lc=q[Kc+8>>2],Qc=q[a+488>>2],Mc=0;;){if(-1!=(0|(Ic=q[Qc+(Mc<<2)>>2]))){for(Pc=q[a+492>>2],Jc=q[Kc+12>>2];;)if(Gc=1==q[(Gc=Jc+(Ic<<4)|0)>>2]?(Gc=w(q[Gc+8>>2],28)+Sc|0,q[Gc+8>>2]=Lc,q[Gc>>2]):(q[Tc+(q[Gc+4>>2]<<2)>>2]=Lc,1),Lc=Gc+Lc|0,Gc=q[Pc+(Ic<<2)>>2],!((0|Ic)<(0|Gc)&&-1!=(0|(Ic=Gc))))break;Gc=q[Nc+24>>2]}if(!((0|(Mc=Mc+1|0))<(0|Gc)))break}if((0|Rc)==(0|(Oc=Oc+1|0)))break}}}(a),function(a){var Mg=0,Ng=0,Og=0,Pg=0,Qg=0,Rg=0,Sg=x(0),Tg=0,Ug=0;Qg=q[a+332>>2];if(q[a+644>>2]){if(!(((q[a+428>>2]=0)|Qg)<1))for(;;)if(Mg=126,Tg=q[a+432>>2]+Og|0,!q[(Ng=Og<<2)+q[a+424>>2]>>2]|u[Ng+q[a+448>>2]>>2]==x(0)||(Mg=127),o[0|Tg]=Mg,(0|Qg)==(0|(Og=Og+1|0)))break}else if(q[a+428>>2]){if(Mg=r[q[a>>2]+4|0],!(((q[a+428>>2]=0)|Qg)<1))if(4<=Mg>>>0){for(;;)if(Sg=u[(Mg=Og<<2)+q[a+448>>2]>>2],Pg=q[Mg+q[a+424>>2]>>2],Ng=Sg!=x(0)&0!=(0|Pg),Tg=q[a+432>>2]+Og|0,Ng=(0|Ng)==(1&o[0|Tg])?Ng:2|Ng,Ng=Sg!=u[Mg+q[a+468>>2]>>2]?4|Ng:Ng,Ng=q[Mg+q[a+440>>2]>>2]==q[Mg+q[a+464>>2]>>2]?Ng:8|Ng,Mg=q[Mg+q[a+436>>2]>>2]==q[Mg+q[a+460>>2]>>2]?Ng:16|Ng,Mg=Pg?32|Mg:Mg,Pg=(Ng=Ug<<2)+q[a+452>>2]|0,Rg=Ng+q[a+472>>2]|0,(u[Pg>>2]!=u[Rg>>2]|u[Pg+4>>2]!=u[Rg+4>>2]|(u[Pg+8>>2]!=u[Rg+8>>2]|u[Pg+12>>2]!=u[Rg+12>>2])||(Pg=Ng+q[a+456>>2]|0,Ng=Ng+q[a+476>>2]|0,u[Pg>>2]!=u[Ng>>2]|u[Pg+4>>2]!=u[Ng+4>>2]|u[Pg+8>>2]!=u[Ng+8>>2])||u[Pg+12>>2]!=u[Ng+12>>2])&&(Mg|=64),o[0|Tg]=Mg,Ug=Ug+4|0,(0|Qg)==(0|(Og=Og+1|0)))break}else for(;;)if(Sg=u[(Mg=Og<<2)+q[a+448>>2]>>2],Pg=q[Mg+q[a+424>>2]>>2],Ng=Sg!=x(0)&0!=(0|Pg),Rg=q[a+432>>2]+Og|0,Ng=(0|Ng)==(1&o[0|Rg])?Ng:2|Ng,Ng=Sg!=u[Mg+q[a+468>>2]>>2]?4|Ng:Ng,Ng=q[Mg+q[a+440>>2]>>2]==q[Mg+q[a+464>>2]>>2]?Ng:8|Ng,Mg=q[Mg+q[a+436>>2]>>2]==q[Mg+q[a+460>>2]>>2]?Ng:16|Ng,o[0|Rg]=Pg?32|Mg:Mg,(0|Qg)==(0|(Og=Og+1|0)))break}else if(!((0|Qg)<1))for(;;)if(!q[(Mg=Og<<2)+q[a+424>>2]>>2]|u[Mg+q[a+448>>2]>>2]==x(0)?(Mg=q[a+432>>2]+Og|0,o[0|Mg]=254&r[0|Mg]):(Mg=q[a+432>>2]+Og|0,o[0|Mg]=1|r[0|Mg]),(0|Qg)==(0|(Og=Og+1|0)))break}(a),q[a+644>>2]=0}function va(a,Wa,Xa,Ya,Za,_a){var fb,gb,hb,jb,kb,cb,$a=0,bb=0,db=0,eb=0,ib=0;if(L=cb=L-32|0,1<=(0|Wa))for(kb=w(Wa,12)+Xa|0;;){if(!((0|($a=q[Xa+4>>2]))<1))if(fb=(Wa=q[Xa+8>>2])+w($a,48)|0,$a=q[Xa>>2]<<2,1<=(0|(db=q[$a+_a>>2])))for(db<<=1,gb=q[q[a>>2]+1052>>2],hb=q[Za+$a>>2];;){b:if($a=q[Wa+8>>2]){c:{if((bb=$a+-1|0)>>>0<=1){if($a=(q[Wa+4>>2]<<2)+Ya|0,ib=(q[$a+(q[Wa+12>>2]<<2)>>2]<<2)+gb|0,bb-1)break c;for(eb=(q[$a+(q[Wa+16>>2]<<2)>>2]<<2)+gb|0,$a=0;;)if(u[(jb=(bb=$a<<2)+hb|0)>>2]=u[jb>>2]+x(u[Wa+44>>2]*x(x(u[bb+ib>>2]*u[Wa+20>>2])+x(u[bb+eb>>2]*u[Wa+24>>2]))),(0|db)==(0|($a=$a+1|0)))break;break b}q[cb>>2]=$a,Y(4,1024,cb);break b}for($a=0;;)if(u[(eb=(bb=$a<<2)+hb|0)>>2]=u[eb>>2]+x(u[Wa+44>>2]*x(u[bb+ib>>2]*u[Wa+20>>2])),(0|db)==(0|($a=$a+1|0)))break}if(!((Wa=Wa+48|0)>>>0>>0))break}else for(;;)if(3<=($a=q[Wa+8>>2])>>>0&&(q[16+cb>>2]=$a,Y(4,1024,16+cb|0)),!((Wa=Wa+48|0)>>>0>>0))break;if(!((Xa=Xa+12|0)>>>0>>0))break}L=32+cb|0}function wa(a,Wa,Xa){Wa|=0,Xa|=0;var Ya;L=Ya=L+-64|0;a:{if(a|=0)if(Wa)if((Wa+15&-16)!=(0|Wa))q[52+Ya>>2]=1522,q[48+Ya>>2]=2361,Y(4,1294,48+Ya|0);else{if(Wa=function(a,Il,Jl){var $l=0,am=0,bm=0,cm=0,dm=0,em=0,fm=0,gm=0,hm=0,im=0,jm=0,km=0,lm=0,mm=0,nm=x(0),om=0,pm=0,qm=0,rm=0,sm=0;if(ca(16+(L=cm=L-576|0)|0,0,560),Fa(a,16+cm|0,12+cm|0),(dm=q[12+cm>>2])>>>0<=Jl>>>0){if(am=ca(Il,0,dm),$l=am+q[16+cm>>2]|0,q[$l+8>>2]=am+q[20+cm>>2],q[$l+40>>2]=am+q[24+cm>>2],q[$l+44>>2]=am+q[28+cm>>2],q[$l+48>>2]=am+q[32+cm>>2],q[$l+52>>2]=am+q[36+cm>>2],q[$l+16>>2]=am+q[40+cm>>2],q[$l+24>>2]=am+q[44+cm>>2],q[$l+28>>2]=am+q[48+cm>>2],q[$l+32>>2]=am+q[52+cm>>2],q[$l+36>>2]=am+q[56+cm>>2],Il=q[a+704>>2],q[$l+308>>2]=am+q[60+cm>>2],q[$l+312>>2]=am+q[64+cm>>2],q[$l+316>>2]=am+q[68+cm>>2],q[$l+320>>2]=am+q[72+cm>>2],q[$l+324>>2]=am+q[76+cm>>2],q[$l+328>>2]=am+q[80+cm>>2],q[$l+60>>2]=am+q[84+cm>>2],q[$l+144>>2]=am+q[88+cm>>2],q[$l+148>>2]=am+q[92+cm>>2],Jl=am+q[96+cm>>2]|0,q[$l+152>>2]=Jl,!((0|(dm=q[Il+8>>2]))<1)&&(Il=am+q[100+cm>>2]|0,q[Jl>>2]=Il,1!=(0|dm)))for(Jl=1;;)if(Il=(15+(q[q[a+796>>2]+(bm<<2)>>2]<<3)&-16)+Il|0,q[q[$l+152>>2]+(Jl<<2)>>2]=Il,(0|dm)==(0|(Jl=(bm=Jl)+1|0)))break;if(q[$l+156>>2]=am+q[104+cm>>2],q[$l+160>>2]=am+q[108+cm>>2],q[$l+68>>2]=am+q[112+cm>>2],q[$l+76>>2]=am+q[116+cm>>2],q[$l+80>>2]=am+q[120+cm>>2],q[$l+84>>2]=am+q[124+cm>>2],q[$l+88>>2]=am+q[128+cm>>2],q[$l+92>>2]=am+q[132+cm>>2],q[$l+96>>2]=am+q[136+cm>>2],q[$l+100>>2]=am+q[140+cm>>2],q[$l+104>>2]=am+q[144+cm>>2],q[$l+108>>2]=am+q[148+cm>>2],q[$l+112>>2]=am+q[152+cm>>2],q[$l+116>>2]=am+q[156+cm>>2],q[$l+120>>2]=am+q[160+cm>>2],q[$l+124>>2]=am+q[164+cm>>2],q[$l+128>>2]=am+q[168+cm>>2],q[$l+132>>2]=am+q[172+cm>>2],q[$l+136>>2]=am+q[176+cm>>2],q[$l+140>>2]=am+q[180+cm>>2],q[$l+168>>2]=am+q[184+cm>>2],q[$l+264>>2]=am+q[188+cm>>2],q[$l+268>>2]=am+q[192+cm>>2],q[$l+272>>2]=am+q[196+cm>>2],q[$l+276>>2]=am+q[200+cm>>2],q[$l+280>>2]=am+q[204+cm>>2],q[$l+284>>2]=am+q[208+cm>>2],q[$l+288>>2]=am+q[212+cm>>2],q[$l+292>>2]=am+q[216+cm>>2],q[$l+296>>2]=am+q[220+cm>>2],q[$l+300>>2]=am+q[224+cm>>2],q[$l+176>>2]=am+q[228+cm>>2],q[$l+184>>2]=am+q[232+cm>>2],q[$l+188>>2]=am+q[236+cm>>2],q[$l+192>>2]=am+q[240+cm>>2],q[$l+196>>2]=am+q[244+cm>>2],q[$l+200>>2]=am+q[248+cm>>2],q[$l+204>>2]=am+q[252+cm>>2],q[$l+208>>2]=am+q[256+cm>>2],q[$l+212>>2]=am+q[260+cm>>2],q[$l+216>>2]=am+q[264+cm>>2],q[$l+220>>2]=am+q[268+cm>>2],q[$l+224>>2]=am+q[272+cm>>2],q[$l+228>>2]=am+q[276+cm>>2],q[$l+232>>2]=am+q[280+cm>>2],q[$l+236>>2]=am+q[284+cm>>2],q[$l+240>>2]=am+q[288+cm>>2],q[$l+244>>2]=am+q[292+cm>>2],q[$l+248>>2]=am+q[296+cm>>2],q[$l+252>>2]=am+q[300+cm>>2],q[$l+256>>2]=am+q[304+cm>>2],q[$l+260>>2]=am+q[308+cm>>2],Il=q[a+704>>2],q[$l+336>>2]=am+q[312+cm>>2],q[$l+424>>2]=am+q[316+cm>>2],q[$l+432>>2]=am+q[320+cm>>2],q[$l+436>>2]=am+q[324+cm>>2],q[$l+440>>2]=am+q[328+cm>>2],Jl=am+q[332+cm>>2]|0,q[$l+444>>2]=Jl,!((0|(dm=q[Il+16>>2]))<1)&&(bm=am+q[336+cm>>2]|0,q[Jl>>2]=bm,(Jl=1)!=(0|dm)))for(Il=0;;)if(bm=(15+(q[q[a+892>>2]+(Il<<2)>>2]<<3)&-16)+bm|0,q[q[$l+444>>2]+(Jl<<2)>>2]=bm,(0|dm)==(0|(Jl=(Il=Jl)+1|0)))break;if(q[$l+448>>2]=am+q[340+cm>>2],q[$l+452>>2]=am+q[344+cm>>2],q[$l+456>>2]=am+q[348+cm>>2],q[$l+460>>2]=am+q[352+cm>>2],q[$l+464>>2]=am+q[356+cm>>2],q[$l+468>>2]=am+q[360+cm>>2],q[$l+472>>2]=am+q[364+cm>>2],q[$l+476>>2]=am+q[368+cm>>2],q[$l+344>>2]=am+q[372+cm>>2],q[$l+352>>2]=am+q[376+cm>>2],q[$l+356>>2]=am+q[380+cm>>2],q[$l+360>>2]=am+q[384+cm>>2],q[$l+364>>2]=am+q[388+cm>>2],q[$l+368>>2]=am+q[392+cm>>2],q[$l+372>>2]=am+q[396+cm>>2],q[$l+376>>2]=am+q[400+cm>>2],q[$l+380>>2]=am+q[404+cm>>2],q[$l+384>>2]=am+q[408+cm>>2],q[$l+388>>2]=am+q[412+cm>>2],q[$l+392>>2]=am+q[416+cm>>2],q[$l+396>>2]=am+q[420+cm>>2],q[$l+400>>2]=am+q[424+cm>>2],q[$l+404>>2]=am+q[428+cm>>2],q[$l+408>>2]=am+q[432+cm>>2],q[$l+412>>2]=am+q[436+cm>>2],q[$l+416>>2]=am+q[440+cm>>2],q[$l+420>>2]=am+q[444+cm>>2],Il=q[448+cm>>2],Jl=q[452+cm>>2],q[$l+552>>2]=am+q[456+cm>>2],q[$l+548>>2]=Jl+am,q[$l+544>>2]=Il+am,q[$l+560>>2]=am+q[460+cm>>2],Il=q[a+704>>2],gm=am+q[464+cm>>2]|0,q[$l+568>>2]=gm,1<=(0|(fm=q[Il+48>>2])))for(bm=am+q[468+cm>>2]|0,Il=am+q[472+cm>>2]|0,em=am+q[476+cm>>2]|0,hm=q[a+1072>>2],Jl=0;;)if(dm=gm+w(Jl,36)|0,q[dm+20>>2]=em,q[dm+16>>2]=Il,q[dm>>2]=bm,dm=q[hm+(Jl<<2)>>2],bm=(dm<<2)+bm|0,em=(dm=1<>2],dm=am+q[516+cm>>2]|0,q[$l+484>>2]=dm,1<=(0|(Il=q[Il+72>>2])))for(bm=am+q[520+cm>>2]|0,em=q[a+1212>>2],Jl=0;;)if(q[12+(dm+w(Jl,28)|0)>>2]=bm,bm=(q[em+(Jl<<2)>>2]<<4)+bm|0,(0|Il)==(0|(Jl=Jl+1|0)))break;q[$l+488>>2]=am+q[524+cm>>2],q[$l+492>>2]=am+q[528+cm>>2],q[$l+496>>2]=am+q[532+cm>>2],q[$l+504>>2]=am+q[536+cm>>2],q[$l+536>>2]=am+q[540+cm>>2],q[$l+512>>2]=am+q[544+cm>>2],q[$l+520>>2]=am+q[548+cm>>2],q[$l+524>>2]=am+q[552+cm>>2],q[$l+528>>2]=am+q[556+cm>>2],q[$l+532>>2]=am+q[560+cm>>2];c:{if(4<=(fm=r[a+4|0])>>>0){if(q[$l+576>>2]=am+q[480+cm>>2],q[$l+584>>2]=am+q[484+cm>>2],Il=q[a+704>>2],Jl=q[492+cm>>2],dm=am+q[488+cm>>2]|0,q[$l+592>>2]=dm,1<=(0|(Il=q[Il+104>>2])))for(bm=Jl+am|0,em=q[a+1104>>2],Jl=0;;)if(q[40+(dm+w(Jl,48)|0)>>2]=bm,bm=(q[em+(Jl<<2)>>2]<<2)+bm|0,(0|Il)==(0|(Jl=Jl+1|0)))break;q[$l+608>>2]=am+q[500+cm>>2],q[$l+624>>2]=am+q[508+cm>>2]}else{if(Il=q[572+cm>>2],Jl=q[568+cm>>2],q[$l+636>>2]=am+q[564+cm>>2],q[$l+640>>2]=Jl+am,q[q[a+704>>2]+20>>2]<1)break c;for(dm=Il+am|0,gm=0;;){e:{if((0|(bm=q[(Il=gm<<2)+q[a+952>>2]>>2]))<=0)Il=Il+q[$l+636>>2]|0;else{for(Jl=q[Il+q[a+948>>2]>>2],em=bm+Jl|0,hm=q[a+1060>>2],bm=0;;)if(bm=q[hm+(Jl<<2)>>2]+bm|0,!((0|(Jl=Jl+1|0))<(0|em)))break;if(Il=Il+q[$l+636>>2]|0,Jl=dm,bm)break e}Jl=bm=0}if(q[Il>>2]=Jl,dm=(bm<<2)+dm|0,!((0|(gm=gm+1|0))>2]+20>>2]))break}}fm>>>0<5||(q[$l+600>>2]=am+q[496+cm>>2],q[$l+616>>2]=am+q[504+cm>>2],q[$l+632>>2]=am+q[512+cm>>2])}q[$l+644>>2]=1,q[$l>>2]=a,q[$l+648>>2]=1&o[q[a+708>>2]+20|0],am=q[a+704>>2],gm=q[am+20>>2],q[$l+540>>2]=gm;g:if(!((0|gm)<1)){if(Il=gm+-1|0,hm=q[a+952>>2],im=q[a+940>>2],jm=q[a+932>>2],km=q[a+936>>2],lm=q[a+924>>2],mm=q[a+928>>2],om=q[$l+552>>2],qm=q[$l+544>>2],fm>>>0<4)for(;;)if(Jl=qm+w(Il,52)|0,q[Jl>>2]=0,bm=(dm=Il<<2)+mm|0,q[Jl+4>>2]=q[bm>>2],em=dm+lm|0,q[Jl+8>>2]=q[em>>2],u[Jl+12>>2]=u[em>>2]-u[bm>>2],q[Jl+16>>2]=q[dm+km>>2],bm=dm+jm|0,q[Jl+44>>2]=q[bm>>2],nm=Aa(x(q[dm+im>>2])),u[Jl+20>>2]=nm,u[Jl+24>>2]=nm*x(1.5),pm=q[dm+hm>>2],q[Jl+32>>2]=pm,em=0,em=pm?q[$l+560>>2]+w(q[dm+q[a+948>>2]>>2],28)|0:em,q[Jl+48>>2]=1,q[Jl+28>>2]=em,q[dm+om>>2]=q[bm>>2],Jl=0<(0|Il),Il=Il+-1|0,!Jl)break g;for(pm=q[a+960>>2],sm=q[a+944>>2];;)if(Jl=qm+w(Il,52)|0,bm=Il<<2,q[Jl>>2]=q[bm+sm>>2],dm=bm+mm|0,q[Jl+4>>2]=q[dm>>2],em=bm+lm|0,q[Jl+8>>2]=q[em>>2],u[Jl+12>>2]=u[em>>2]-u[dm>>2],q[Jl+16>>2]=q[bm+km>>2],rm=bm+jm|0,q[Jl+44>>2]=q[rm>>2],nm=Aa(x(q[bm+im>>2])),u[Jl+20>>2]=nm,u[Jl+24>>2]=nm*x(1.5),em=q[bm+hm>>2],q[Jl+32>>2]=em,q[Jl+28>>2]=em?q[$l+560>>2]+w(q[bm+q[a+948>>2]>>2],28)|0:0,dm=q[bm+pm>>2],dm=(q[Jl+40>>2]=dm)?q[$l+584>>2]+w(q[bm+q[a+956>>2]>>2],28)|0:0,q[Jl+48>>2]=1,q[Jl+36>>2]=dm,q[bm+om>>2]=q[rm>>2],Jl=0<(0|Il),Il=Il+-1|0,!Jl)break}if(4<=fm>>>0?(q[$l+548>>2]=q[a+944>>2],dm=a):(ca(q[$l+548>>2],0,gm<<2),dm=q[$l>>2],am=q[dm+704>>2]),bm=q[am+52>>2],1<=(0|(q[$l+556>>2]=bm)))for(Jl=q[dm+1056>>2],em=q[dm+1192>>2],gm=q[dm+1060>>2],fm=q[$l+560>>2];;)if(Il=fm+w(bm=bm+-1|0,28)|0,hm=bm<<2,q[Il>>2]=q[hm+gm>>2],hm=q[Jl+hm>>2],q[Il+24>>2]=1,q[Il+16>>2]=0,q[Il+20>>2]=1,q[Il+8>>2]=0,q[Il+12>>2]=0,q[Il+4>>2]=em+(hm<<2),!(0<(0|bm)))break;if(bm=q[am+48>>2],1<=(0|(q[$l+564>>2]=bm))){for(;;){if(bm=bm+-1|0,Il=q[$l+568>>2]+w(bm,36)|0,em=q[(am=bm<<2)+q[dm+1072>>2]>>2],1<=(0|(q[Il+4>>2]=em)))for(Jl=0;;)if(q[q[Il>>2]+(Jl<<2)>>2]=q[$l+560>>2]+w(q[q[dm+1064>>2]+(q[am+q[dm+1068>>2]>>2]+Jl<<2)>>2],28),(0|em)==(0|(Jl=Jl+1|0)))break;if(q[Il+24>>2]=1,q[Il+28>>2]=1,q[Il+8>>2]=1<>2],am=q[dm+704>>2]}if(Il=q[am>>2],(0|(q[$l+4>>2]=Il))<1)Jl=0;else{for(hm=q[dm+732>>2],im=q[dm+736>>2],jm=q[dm+740>>2],em=q[dm+720>>2],km=q[$l+52>>2],gm=q[$l+568>>2],lm=q[$l+8>>2],bm=Il;;)if(fm=lm+w(bm=bm+-1|0,12)|0,Jl=bm<<2,q[fm>>2]=gm+w(q[Jl+em>>2],36),q[fm+4>>2]=q[Jl+jm>>2],q[fm+8>>2]=q[Jl+im>>2],u[Jl+km>>2]=q[Jl+hm>>2]?x(1):x(0),!(0<(0|bm)))break;for(fm=q[$l+16>>2],Jl=0;;)if(bm=q[8+(gm+w(q[(hm=(Il=Il+-1|0)<<2)+em>>2],36)|0)>>2],q[fm+hm>>2]=bm,Jl=Jl+bm|0,!(0<(0|Il)))break;Il=q[$l+4>>2]}if(q[$l+12>>2]=Il,q[$l+20>>2]=Jl,Il=q[am+4>>2],1<=(0|(q[$l+304>>2]=Il))){for(;;)if(Il=Il+-1|0,Jl=q[$l+308>>2]+(Il<<5)|0,bm=Il<<2,q[Jl>>2]=q[$l+568>>2]+w(q[bm+q[dm+752>>2]>>2],36),q[Jl+4>>2]=q[bm+q[dm+764>>2]>>2],q[Jl+8>>2]=q[bm+q[dm+768>>2]>>2],em=q[bm+q[dm+772>>2]>>2],q[Jl+12>>2]=em,am=q[bm+q[dm+776>>2]>>2],q[Jl+16>>2]=am,q[Jl+28>>2]=q[bm+q[dm+760>>2]>>2],em>>>0<=1?em-1?(q[20+(q[$l+60>>2]+w(am,24)|0)>>2]=Il,q[Jl+24>>2]=1,q[Jl+20>>2]=2):(q[8+(q[$l+168>>2]+w(am,12)|0)>>2]=Il,q[Jl+24>>2]=3,q[Jl+20>>2]=4):Y(4,1179,0),!(0<(0|Il)))break;dm=q[$l>>2],am=q[dm+704>>2]}bm=q[am+8>>2],q[$l+56>>2]=bm;k:if(!((0|bm)<1)){if(Jl=bm+-1|0,gm=q[dm+796>>2],fm=q[dm+804>>2],hm=q[dm+800>>2],im=q[dm+780>>2],jm=q[$l+568>>2],km=q[$l+60>>2],r[dm+4|0]<2)for(;;)if(Il=km+w(Jl,24)|0,em=Jl<<2,q[Il>>2]=jm+w(q[em+im>>2],36),q[Il+4>>2]=q[em+hm>>2],q[Il+8>>2]=q[em+fm>>2],em=q[em+gm>>2],q[Il+12>>2]=0,q[Il+16>>2]=em,Il=0<(0|Jl),Jl=Jl+-1|0,!Il)break k;for(lm=q[dm+808>>2];;)if(Il=km+w(Jl,24)|0,em=Jl<<2,q[Il>>2]=jm+w(q[em+im>>2],36),q[Il+4>>2]=q[em+hm>>2],q[Il+8>>2]=q[em+fm>>2],q[Il+16>>2]=q[em+gm>>2],q[Il+12>>2]=q[em+lm>>2],Il=0<(0|Jl),Jl=Jl+-1|0,!Il)break}if(Jl=q[am+12>>2],1<=(0|(q[$l+164>>2]=Jl)))for(em=q[dm+828>>2],gm=q[dm+812>>2],fm=q[$l+568>>2],hm=q[$l+168>>2],Il=Jl;;)if(im=hm+w(Il=Il+-1|0,12)|0,jm=Il<<2,q[im>>2]=fm+w(q[jm+gm>>2],36),q[im+4>>2]=q[em+jm>>2],!(0<(0|Il)))break;if(((Il=0)|bm)<1)em=0;else{for(gm=q[$l+68>>2],fm=q[$l+60>>2],em=0;;)if(Jl=q[q[fm+w(bm=bm+-1|0,24)>>2]+8>>2],q[gm+(bm<<2)>>2]=Jl,em=Jl+em|0,!(0<(0|bm)))break;Jl=q[$l+164>>2],bm=q[$l+56>>2]}if(q[$l+64>>2]=bm,q[$l+72>>2]=em,bm=$l,1<=(0|Jl)){for(gm=q[$l+176>>2],fm=q[$l+168>>2];;)if(em=q[q[fm+w(Jl=Jl+-1|0,12)>>2]+8>>2],q[gm+(Jl<<2)>>2]=em,Il=Il+em|0,!(0<(0|Jl)))break;Jl=q[$l+164>>2]}if(q[bm+172>>2]=Jl,q[$l+180>>2]=Il,em=q[am+16>>2],1<=(0|(q[$l+332>>2]=em))){for(hm=q[dm+872>>2],im=q[dm+892>>2],jm=q[dm+880>>2],km=q[dm+876>>2],gm=q[dm+852>>2],fm=q[$l+568>>2],lm=q[$l+336>>2],Il=em;;)if(Jl=lm+w(Il=Il+-1|0,20)|0,bm=Il<<2,q[Jl>>2]=fm+w(q[bm+gm>>2],36),q[Jl+4>>2]=q[bm+km>>2],q[Jl+8>>2]=q[bm+jm>>2],q[Jl+16>>2]=q[bm+im>>2],q[Jl+12>>2]=q[bm+hm>>2],!(0<(0|Il)))break;for(bm=q[$l+344>>2],Jl=0;;)if(Il=q[8+(fm+w(q[(hm=(em=em+-1|0)<<2)+gm>>2],36)|0)>>2],q[bm+hm>>2]=Il,Jl=Il+Jl|0,!(0<(0|em)))break;if(q[$l+348>>2]=Jl,em=q[$l+332>>2],!((0|(q[$l+340>>2]=em))<1))for(Jl=em<<2,bm=q[$l+456>>2],gm=q[$l+452>>2];;)if(q[(fm=(Il=Jl+-4|0)<<2)+gm>>2]=1065353216,q[(hm=(Jl<<=2)+-4|0)+gm>>2]=1065353216,q[(im=(Jl=Jl+-12|0)+gm|0)>>2]=1065353216,q[im+4>>2]=1065353216,q[bm+fm>>2]=0,q[bm+hm>>2]=1065353216,q[(Jl=Jl+bm|0)>>2]=0,q[Jl+4>>2]=0,Jl=Il,!(0<(0|(em=em+-1|0))))break}else q[$l+340>>2]=em,q[$l+348>>2]=0;if(em=q[am+72>>2],1<=(0|(q[$l+480>>2]=em)))for(hm=q[dm+1208>>2],im=q[dm+1224>>2],jm=q[dm+1220>>2],km=q[dm+1216>>2],lm=q[dm+1212>>2],mm=q[$l+484>>2],bm=0;;){if(Il=mm+w(bm,28)|0,gm=q[(Jl=bm<<2)+lm>>2],q[Il+4>>2]=gm,q[Il>>2]=q[Jl+km>>2],fm=q[Jl+jm>>2],q[Il+16>>2]=fm,om=q[Jl+im>>2],q[Il+20>>2]=om,q[Il+8>>2]=0,q[Il+24>>2]=1+(fm-om|0),1<=(0|gm))for(om=q[Jl+hm>>2],qm=q[Il+12>>2],pm=q[dm+1236>>2],sm=q[dm+1228>>2],rm=q[dm+1232>>2],Jl=0;;)if(fm=Jl+om<<2,q[(Il=qm+(Jl<<4)|0)+4>>2]=q[fm+rm>>2],q[Il>>2]=q[fm+sm>>2],fm=q[fm+pm>>2],q[Il+12>>2]=0,q[Il+8>>2]=fm,(0|gm)==(0|(Jl=Jl+1|0)))break;if((0|em)==(0|(bm=bm+1|0)))break}if(Jl=q[am+80>>2],(0|(q[$l+500>>2]=Jl))<1)bm=0;else{for(fm=q[dm+1280>>2],hm=q[dm+1268>>2],im=q[dm+1276>>2],jm=q[dm+1272>>2],km=q[dm+1264>>2],lm=q[dm+1260>>2],em=q[dm+1248>>2],gm=q[$l+568>>2],mm=q[$l+504>>2];;)if(Il=mm+w(Jl=Jl+-1|0,24)|0,bm=Jl<<2,q[Il>>2]=gm+w(q[bm+em>>2],36),q[Il+4>>2]=q[bm+lm>>2],q[Il+8>>2]=q[bm+km>>2],q[Il+12>>2]=q[bm+jm>>2],bm=q[bm+hm>>2],q[Il+20>>2]=fm+(bm<<1),q[Il+16>>2]=im+(bm<<2),!(0<(0|Jl)))break;if((0|(Jl=q[$l+500>>2]))<1)bm=0;else{for(fm=q[$l+512>>2],bm=0;;)if(Il=q[8+(gm+w(q[(hm=(Jl=Jl+-1|0)<<2)+em>>2],36)|0)>>2],q[fm+hm>>2]=Il,bm=Il+bm|0,!(0<(0|Jl)))break;Jl=q[$l+500>>2]}}q[$l+508>>2]=Jl,q[$l+516>>2]=bm;o:if(4<=r[a+4|0]){if(!((em=r[dm+4|0])>>>0<4)){if(Jl=q[am+120>>2],1<=(0|(q[$l+572>>2]=Jl))){for(fm=q[dm+1172>>2],hm=q[$l+576>>2];;)if(am=q[(Il=(Jl=Jl+-1|0)<<2)+fm>>2],em=(0|am)<0?am=gm=bm=0:(em=q[Il+q[dm+1176>>2]>>2]<<2,bm=em+q[dm+1188>>2]|0,gm=q[Il+q[dm+1180>>2]>>2],am=q[$l+544>>2]+w(am,52)|0,em+q[dm+1184>>2]|0),Il=hm+w(Jl,20)|0,q[Il+12>>2]=gm,q[Il+8>>2]=bm,q[Il+4>>2]=em,q[Il>>2]=am,!(0<(0|Jl)))break;if(dm=q[$l>>2],(em=r[dm+4|0])>>>0<4)break o}if(am=q[dm+704>>2],bm=q[am+100>>2],1<=(0|(q[$l+580>>2]=bm)))for(gm=q[dm+1084>>2],fm=q[dm+1076>>2],hm=q[dm+1192>>2],im=q[dm+1080>>2],jm=q[$l+584>>2];;)if(Il=jm+w(bm=bm+-1|0,28)|0,Jl=bm<<2,q[Il>>2]=q[Jl+im>>2],q[Il+4>>2]=hm+(q[Jl+fm>>2]<<2),Jl=q[Jl+gm>>2],q[Il+20>>2]=1,q[Il+24>>2]=1,q[Il+12>>2]=0,q[Il+16>>2]=0,q[Il+8>>2]=Jl,!(0<(0|bm)))break;if(bm=q[am+104>>2],1<=(0|(q[$l+588>>2]=bm))){for(;;){if(bm=bm+-1|0,Il=q[$l+592>>2]+w(bm,48)|0,em=bm<<2,q[Il>>2]=q[$l+584>>2]+w(q[em+q[dm+1088>>2]>>2],28),Jl=q[em+q[dm+1092>>2]>>2],q[Il+28>>2]=1,q[Il+32>>2]=1,q[Il+8>>2]=0,q[Il+4>>2]=Jl,am=q[em+q[dm+1104>>2]>>2],1<=(0|(q[Il+36>>2]=am)))for(Jl=0;;)if(q[q[Il+40>>2]+(Jl<<2)>>2]=q[$l+576>>2]+w(q[q[dm+1168>>2]+(q[em+q[dm+1100>>2]>>2]+Jl<<2)>>2],20),(0|am)==(0|(Jl=Jl+1|0)))break;if(!(1<=(0|bm)))break}dm=q[$l>>2],em=r[dm+4|0]}if(!(em>>>0<4)){if(em=q[a+704>>2],Jl=q[em+108>>2],1<=(0|(q[$l+604>>2]=Jl)))for(am=q[a+1124>>2],gm=q[a+1128>>2],fm=q[a+1120>>2],hm=q[$l+592>>2],im=q[$l+608>>2];;)if(Il=im+w(Jl=Jl+-1|0,12)|0,bm=Jl<<2,q[Il>>2]=q[bm+fm>>2],q[Il+4>>2]=q[bm+gm>>2],q[Il+8>>2]=hm+w(q[am+bm>>2],48),!(0<(0|Jl)))break;if(Jl=q[em+112>>2],1<=(0|(q[$l+620>>2]=Jl)))for(em=q[a+1148>>2],am=q[a+1152>>2],gm=q[a+1144>>2],fm=q[$l+592>>2],hm=q[$l+624>>2];;)if(Il=hm+w(Jl=Jl+-1|0,12)|0,bm=Jl<<2,q[Il>>2]=q[bm+gm>>2],q[Il+4>>2]=q[am+bm>>2],q[Il+8>>2]=fm+w(q[bm+em>>2],48),!(0<(0|Jl)))break;if(bm=q[dm+1192>>2],Il=q[q[dm+704>>2]+20>>2],q[$l+640>>2]=q[dm+972>>2],em=q[dm+964>>2],q[$l+636>>2]=em,!((0|Il)<(Jl=1))&&(q[em>>2]=bm+(q[q[dm+968>>2]>>2]<<2),1!=(0|Il)))for(;;)if(q[(em=Jl<<2)+q[$l+636>>2]>>2]=bm+(q[em+q[dm+968>>2]>>2]<<2),(0|Il)==(0|(Jl=Jl+1|0)))break}}}else if(!(q[am+20>>2]<1))for(am=0;;){if(bm=q[(gm=am<<2)+q[$l+636>>2]>>2],1<=((Il=0)|(Jl=q[gm+q[dm+952>>2]>>2])))for(fm=q[gm+q[dm+948>>2]>>2],im=Jl+fm|0,jm=q[dm+1060>>2],km=q[dm+1056>>2];;){if(1<=(0|(hm=q[(Jl=fm<<2)+jm>>2])))for(em=q[Jl+km>>2],lm=hm+em|0,mm=q[dm+1192>>2];;){hm=bm+(Il<<2)|0,nm=u[mm+(em<<2)>>2],Jl=bm;q:{if(0<(0|Il))for(;;){if(u[Jl>>2]==nm)break q;if(!((Jl=Jl+4|0)>>>0>>0))break}u[hm>>2]=nm,Il=Il+1|0}if(!((0|(em=em+1|0))<(0|lm)))break}if(!((0|(fm=fm+1|0))<(0|im)))break}if(!function(a,Sm){var un=0,xn=0,yn=0,Jn=0,Kn=0;q[8+(L=un=L-208|0)>>2]=1,q[12+un>>2]=0;a:if(Kn=Sm<<2){for(q[16+un>>2]=4,q[20+un>>2]=4,Jn=Sm=4,xn=2;;)if(Sm=(Jn+4|0)+(yn=Sm)|0,q[(16+un|0)+(xn<<2)>>2]=Sm,xn=xn+1|0,Jn=yn,!(Sm>>>0>>0))break;if((yn=(a+Kn|0)-4|0)>>>0<=a>>>0)Sm=xn=1;else for(Sm=xn=1;;)if(Sm=3==(3&xn)?(ta(a,Sm,16+un|0),ma(8+un|0,2),Sm+2|0):(t[(16+un|0)+((Jn=Sm+-1|0)<<2)>>2]>=yn-a>>>0?la(a,8+un|0,Sm,0,16+un|0):ta(a,Sm,16+un|0),1==(0|Sm)?(ka(8+un|0,1),0):(ka(8+un|0,Jn),1)),xn=1|q[8+un>>2],q[8+un>>2]=xn,!((a=a+4|0)>>>0>>0))break;for(la(a,8+un|0,Sm,0,16+un|0);;){e:{f:{g:{if(!(1!=(0|Sm)|1!=(0|xn))){if(q[12+un>>2])break g;break a}if(1<(0|Sm))break f}yn=Oa(8+un|0),ma(8+un|0,yn),xn=q[8+un>>2],Sm=Sm+yn|0;break e}ka(8+un|0,2),q[8+un>>2]=7^q[8+un>>2],ma(8+un|0,1),la((Jn=a+-4|0)-q[(16+un|0)+((yn=Sm+-2|0)<<2)>>2]|0,8+un|0,Sm+-1|0,1,16+un|0),ka(8+un|0,1),xn=1|q[8+un>>2],q[8+un>>2]=xn,la(Jn,8+un|0,yn,1,16+un|0),Sm=yn}a=a+-4|0}}L=208+un|0}(bm,Il),q[gm+q[$l+640>>2]>>2]=Il,!((0|(am=am+1|0))>2]+20>>2]))break}if(!(r[a+4|0]<5|r[q[$l>>2]+4|0]<4)){if(Il=q[a+704>>2],Jl=q[Il+128>>2],1<=(0|(q[$l+596>>2]=Jl)))for(em=q[a+1112>>2],am=q[a+1116>>2],gm=q[a+1108>>2],fm=q[$l+592>>2],hm=q[$l+600>>2];;)if(dm=hm+w(Jl=Jl+-1|0,12)|0,bm=Jl<<2,q[dm>>2]=q[bm+gm>>2],q[dm+4>>2]=q[am+bm>>2],q[dm+8>>2]=fm+w(q[bm+em>>2],48),!(0<(0|Jl)))break;if(Jl=q[Il+132>>2],1<=(0|(q[$l+612>>2]=Jl)))for(em=q[a+1136>>2],am=q[a+1140>>2],gm=q[a+1132>>2],fm=q[$l+592>>2],hm=q[$l+616>>2];;)if(dm=hm+w(Jl=Jl+-1|0,12)|0,bm=Jl<<2,q[dm>>2]=q[bm+gm>>2],q[dm+4>>2]=q[am+bm>>2],q[dm+8>>2]=fm+w(q[bm+em>>2],48),!(0<(0|Jl)))break;if(Jl=q[Il+136>>2],!((0|(q[$l+628>>2]=Jl))<1))for(dm=q[a+1160>>2],bm=q[a+1164>>2],em=q[a+1156>>2],am=q[$l+592>>2],gm=q[$l+632>>2];;)if(a=gm+w(Jl=Jl+-1|0,12)|0,Il=Jl<<2,q[a>>2]=q[Il+em>>2],q[a+4>>2]=q[Il+bm>>2],q[a+8>>2]=am+w(q[Il+dm>>2],48),!(0<(0|Jl)))break}ua($l)}return L=576+cm|0,$l}(a,Wa,Xa))break a;q[36+Ya>>2]=2209,q[32+Ya>>2]=2361,Y(4,1294,32+Ya|0)}else q[20+Ya>>2]=1444,q[16+Ya>>2]=2361,Y(4,1294,16+Ya|0);else q[4+Ya>>2]=2132,q[Ya>>2]=2361,Y(4,1294,Ya);Wa=0}return L=Ya+64|0,0|Wa}function xa(a){var Wa;return L=Wa=L-16|0,a=(a|=0)?function(a){var Il=0;return ca(16+(L=Il=L-576|0)|0,0,560),Fa(a,16+Il|0,12+Il|0),L=576+Il|0,q[12+Il>>2]}(a):(q[4+Wa>>2]=2132,q[Wa>>2]=2343,Y(4,1294,Wa),0),L=16+Wa|0,0|a}function ya(a){var Xa=r[a+4|0];X(q[a+704>>2],4,64),da(q[a+708>>2],4),da(q[a+708>>2]+4|0,4),da(q[a+708>>2]+8|0,4),da(q[a+708>>2]+12|0,4),da(q[a+708>>2]+16|0,4),da(q[a+708>>2]+20|0,1),X(q[a+720>>2],4,q[q[a+704>>2]>>2]),X(q[a+724>>2],4,q[q[a+704>>2]>>2]),X(q[a+728>>2],4,q[q[a+704>>2]>>2]),X(q[a+732>>2],4,q[q[a+704>>2]>>2]),X(q[a+736>>2],4,q[q[a+704>>2]>>2]),X(q[a+740>>2],4,q[q[a+704>>2]>>2]),X(q[a+752>>2],4,q[q[a+704>>2]+4>>2]),X(q[a+756>>2],4,q[q[a+704>>2]+4>>2]),X(q[a+760>>2],4,q[q[a+704>>2]+4>>2]),X(q[a+764>>2],4,q[q[a+704>>2]+4>>2]),X(q[a+768>>2],4,q[q[a+704>>2]+4>>2]),X(q[a+772>>2],4,q[q[a+704>>2]+4>>2]),X(q[a+776>>2],4,q[q[a+704>>2]+4>>2]),X(q[a+780>>2],4,q[q[a+704>>2]+8>>2]),X(q[a+784>>2],4,q[q[a+704>>2]+8>>2]),X(q[a+788>>2],4,q[q[a+704>>2]+8>>2]),X(q[a+796>>2],4,q[q[a+704>>2]+8>>2]),X(q[a+800>>2],4,q[q[a+704>>2]+8>>2]),X(q[a+804>>2],4,q[q[a+704>>2]+8>>2]),X(q[a+812>>2],4,q[q[a+704>>2]+12>>2]),X(q[a+816>>2],4,q[q[a+704>>2]+12>>2]),X(q[a+820>>2],4,q[q[a+704>>2]+12>>2]),X(q[a+828>>2],4,q[q[a+704>>2]+12>>2]),X(q[a+852>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+856>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+860>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+868>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+872>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+876>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+880>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+884>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+888>>2],1,q[q[a+704>>2]+16>>2]),X(q[a+892>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+896>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+900>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+904>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+908>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+912>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+924>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+928>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+932>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+936>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+940>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+948>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+952>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+976>>2],4,q[q[a+704>>2]+24>>2]),X(q[a+980>>2],4,q[q[a+704>>2]+28>>2]),X(q[a+984>>2],4,q[q[a+704>>2]+28>>2]),X(q[a+996>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+1e3>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+1004>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+1008>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+1012>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+1016>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+1020>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+1032>>2],4,q[q[a+704>>2]+36>>2]),X(q[a+1036>>2],4,q[q[a+704>>2]+36>>2]),X(q[a+1040>>2],4,q[q[a+704>>2]+36>>2]),X(q[a+1052>>2],4,q[q[a+704>>2]+40>>2]),X(q[a+1064>>2],4,q[q[a+704>>2]+44>>2]),X(q[a+1068>>2],4,q[q[a+704>>2]+48>>2]),X(q[a+1072>>2],4,q[q[a+704>>2]+48>>2]),X(q[a+1056>>2],4,q[q[a+704>>2]+52>>2]),X(q[a+1060>>2],4,q[q[a+704>>2]+52>>2]),X(q[a+1192>>2],4,q[q[a+704>>2]+56>>2]),X(q[a+1196>>2],4,q[q[a+704>>2]+60>>2]),X(q[a+1200>>2],2,q[q[a+704>>2]+64>>2]),X(q[a+1204>>2],4,q[q[a+704>>2]+68>>2]),X(q[a+1208>>2],4,q[q[a+704>>2]+72>>2]),X(q[a+1212>>2],4,q[q[a+704>>2]+72>>2]),X(q[a+1216>>2],4,q[q[a+704>>2]+72>>2]),X(q[a+1220>>2],4,q[q[a+704>>2]+72>>2]),X(q[a+1224>>2],4,q[q[a+704>>2]+72>>2]),X(q[a+1228>>2],4,q[q[a+704>>2]+76>>2]),X(q[a+1232>>2],4,q[q[a+704>>2]+76>>2]),X(q[a+1236>>2],4,q[q[a+704>>2]+76>>2]),X(q[a+1248>>2],4,q[q[a+704>>2]+80>>2]),X(q[a+1252>>2],4,q[q[a+704>>2]+80>>2]),X(q[a+1256>>2],4,q[q[a+704>>2]+80>>2]),X(q[a+1260>>2],4,q[q[a+704>>2]+80>>2]),X(q[a+1264>>2],4,q[q[a+704>>2]+80>>2]),X(q[a+1268>>2],4,q[q[a+704>>2]+80>>2]),X(q[a+1272>>2],4,q[q[a+704>>2]+80>>2]),X(q[a+1276>>2],4,q[q[a+704>>2]+84>>2]),X(q[a+1280>>2],2,q[q[a+704>>2]+84>>2]),X(q[a+1284>>2],4,q[q[a+704>>2]+88>>2]),Xa>>>0<2||(X(q[a+808>>2],4,q[q[a+704>>2]+8>>2]),Xa>>>0<4)||(X(q[a+968>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+972>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+792>>2],4,q[q[a+704>>2]+8>>2]),X(q[a+824>>2],4,q[q[a+704>>2]+12>>2]),X(q[a+864>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+1288>>2],4,q[q[a+704>>2]+92>>2]),X(q[a+1292>>2],4,q[q[a+704>>2]+92>>2]),X(q[a+1296>>2],4,q[q[a+704>>2]+92>>2]),X(q[a+1300>>2],4,q[q[a+704>>2]+96>>2]),X(q[a+1304>>2],4,q[q[a+704>>2]+96>>2]),X(q[a+1308>>2],4,q[q[a+704>>2]+96>>2]),X(q[a+944>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+956>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+960>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+1076>>2],4,q[q[a+704>>2]+100>>2]),X(q[a+1080>>2],4,q[q[a+704>>2]+100>>2]),X(q[a+1084>>2],4,q[q[a+704>>2]+100>>2]),X(q[a+1088>>2],4,q[q[a+704>>2]+104>>2]),X(q[a+1092>>2],4,q[q[a+704>>2]+104>>2]),X(q[a+1096>>2],4,q[q[a+704>>2]+104>>2]),X(q[a+1100>>2],4,q[q[a+704>>2]+104>>2]),X(q[a+1104>>2],4,q[q[a+704>>2]+104>>2]),X(q[a+1120>>2],4,q[q[a+704>>2]+108>>2]),X(q[a+1124>>2],4,q[q[a+704>>2]+108>>2]),X(q[a+1128>>2],4,q[q[a+704>>2]+108>>2]),X(q[a+1144>>2],4,q[q[a+704>>2]+112>>2]),X(q[a+1148>>2],4,q[q[a+704>>2]+112>>2]),X(q[a+1152>>2],4,q[q[a+704>>2]+112>>2]),X(q[a+1168>>2],4,q[q[a+704>>2]+116>>2]),X(q[a+1172>>2],4,q[q[a+704>>2]+120>>2]),X(q[a+1176>>2],4,q[q[a+704>>2]+120>>2]),X(q[a+1180>>2],4,q[q[a+704>>2]+120>>2]),X(q[a+1184>>2],4,q[q[a+704>>2]+124>>2]),X(q[a+1188>>2],4,q[q[a+704>>2]+124>>2]),4!=(0|Xa)&&(X(q[a+988>>2],4,q[q[a+704>>2]+28>>2]),X(q[a+992>>2],4,q[q[a+704>>2]+28>>2]),X(q[a+1024>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+1028>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+1044>>2],4,q[q[a+704>>2]+36>>2]),X(q[a+1048>>2],4,q[q[a+704>>2]+36>>2]),X(q[a+1108>>2],4,q[q[a+704>>2]+128>>2]),X(q[a+1112>>2],4,q[q[a+704>>2]+128>>2]),X(q[a+1116>>2],4,q[q[a+704>>2]+128>>2]),X(q[a+1132>>2],4,q[q[a+704>>2]+132>>2]),X(q[a+1136>>2],4,q[q[a+704>>2]+132>>2]),X(q[a+1140>>2],4,q[q[a+704>>2]+132>>2]),X(q[a+1156>>2],4,q[q[a+704>>2]+136>>2]),X(q[a+1160>>2],4,q[q[a+704>>2]+136>>2]),X(q[a+1164>>2],4,q[q[a+704>>2]+136>>2])))}function za(a,Za){var _a=0,lb=0,mb=0,ob=0,pb=0,rb=0,nb=a+Za|0;a:{b:if(!(1&(_a=q[a+4>>2]))){if(!(3&_a))break a;if(Za=(_a=q[a>>2])+Za|0,(0|(a=a-_a|0))!=q[2092])if(_a>>>0<=255)mb=_a>>>3,_a=q[a+8>>2],(0|(lb=q[a+12>>2]))==(0|_a)?(rb=q[2087]&dd(mb),q[8348>>2]=rb):(q[_a+12>>2]=lb,q[lb+8>>2]=_a);else{if(pb=q[a+24>>2],(0|(_a=q[a+12>>2]))!=(0|a))lb=q[a+8>>2],q[lb+12>>2]=_a,q[_a+8>>2]=lb;else if((mb=q[(lb=a+20|0)>>2])||(mb=q[(lb=a+16|0)>>2])){for(;;)if(ob=lb,!((mb=q[(lb=(_a=mb)+20|0)>>2])||(lb=_a+16|0,mb=q[_a+16>>2])))break;q[ob>>2]=0}else _a=0;if(pb){lb=q[a+28>>2];e:{if(q[(mb=8652+(lb<<2)|0)>>2]==(0|a)){if(q[mb>>2]=_a)break e;rb=q[2088]&dd(lb),q[8352>>2]=rb;break b}if(!(q[pb+(q[pb+16>>2]==(0|a)?16:20)>>2]=_a))break b}q[_a+24>>2]=pb,(lb=q[a+16>>2])&&(q[_a+16>>2]=lb,q[lb+24>>2]=_a),(lb=q[a+20>>2])&&(q[_a+20>>2]=lb,q[lb+24>>2]=_a)}}else if(3==(3&(_a=q[4+nb>>2])))return q[2089]=Za,q[4+nb>>2]=-2&_a,q[a+4>>2]=1|Za,void(q[nb>>2]=Za)}f:{if(!(2&(_a=q[4+nb>>2]))){if(q[2093]==(0|nb)){if(q[2093]=a,Za=q[2090]+Za|0,q[2090]=Za,q[a+4>>2]=1|Za,q[2092]!=(0|a))break a;return q[2089]=0,void(q[2092]=0)}if(q[2092]==(0|nb))return q[2092]=a,Za=q[2089]+Za|0,q[2089]=Za,q[a+4>>2]=1|Za,void(q[a+Za>>2]=Za);Za=(-8&_a)+Za|0;g:if(_a>>>0<=255)mb=_a>>>3,_a=q[8+nb>>2],(0|(lb=q[12+nb>>2]))==(0|_a)?(rb=q[2087]&dd(mb),q[8348>>2]=rb):(q[_a+12>>2]=lb,q[lb+8>>2]=_a);else{if(pb=q[24+nb>>2],(0|nb)!=(0|(_a=q[12+nb>>2])))lb=q[8+nb>>2],q[lb+12>>2]=_a,q[_a+8>>2]=lb;else if((mb=q[(lb=20+nb|0)>>2])||(mb=q[(lb=16+nb|0)>>2])){for(;;)if(ob=lb,!((mb=q[(lb=(_a=mb)+20|0)>>2])||(lb=_a+16|0,mb=q[_a+16>>2])))break;q[ob>>2]=0}else _a=0;if(pb){lb=q[28+nb>>2];j:{if(q[(mb=8652+(lb<<2)|0)>>2]==(0|nb)){if(q[mb>>2]=_a)break j;rb=q[2088]&dd(lb),q[8352>>2]=rb;break g}if(!(q[pb+(q[pb+16>>2]==(0|nb)?16:20)>>2]=_a))break g}q[_a+24>>2]=pb,(lb=q[16+nb>>2])&&(q[_a+16>>2]=lb,q[lb+24>>2]=_a),(lb=q[20+nb>>2])&&(q[_a+20>>2]=lb,q[lb+24>>2]=_a)}}if(q[a+4>>2]=1|Za,q[a+Za>>2]=Za,q[2092]!=(0|a))break f;return void(q[2089]=Za)}q[4+nb>>2]=-2&_a,q[a+4>>2]=1|Za,q[a+Za>>2]=Za}if(Za>>>0<=255)return Za=8388+((_a=Za>>>3)<<3)|0,_a=(lb=q[2087])&(_a=1<<_a)?q[Za+8>>2]:(q[2087]=_a|lb,Za),q[Za+8>>2]=a,q[_a+12>>2]=a,q[a+12>>2]=Za,void(q[a+8>>2]=_a);q[a+16>>2]=0,_a=q[a+20>>2]=0,(mb=Za>>>8)&&(_a=31,16777215>>0||(_a=28+((_a=((nb=(mb<<=ob=mb+1048320>>>16&8)<<(_a=mb+520192>>>16&4))<<(mb=245760+nb>>>16&2)>>>15)-(mb|_a|ob)|0)<<1|Za>>>_a+21&1)|0)),mb=8652+((q[(lb=a)+28>>2]=_a)<<2)|0;m:{if((lb=q[2088])&(ob=1<<_a)){for(lb=Za<<(31==(0|_a)?0:25-(_a>>>1)|0),_a=q[mb>>2];;){if((-8&q[(mb=_a)+4>>2])==(0|Za))break m;if(_a=lb>>>29,lb<<=1,!(_a=q[(ob=mb+(4&_a)|0)+16>>2]))break}q[ob+16>>2]=a}else q[2088]=lb|ob,q[mb>>2]=a;return q[a+24>>2]=mb,q[a+12>>2]=a,void(q[a+8>>2]=a)}Za=q[mb+8>>2],q[Za+12>>2]=a,q[mb+8>>2]=a,q[a+24>>2]=0,q[a+12>>2]=mb,q[a+8>>2]=Za}}function Aa(a){var vb,xb,yb,Ab,Bb,Cb,Za=x(0),sb=x(0),tb=0,ub=0,wb=(x(0),x(0)),zb=(x(0),x(0),0);x(0),x(0);a:{b:{if(j(a),ub=2147483647&(tb=b[0])){if(!(ub>>>0<2139095041))return x(x(.10000000149011612)+a);if(1065353216==(0|ub))return x(-1<(0|tb)?.10000000149011612:10);if(2139095040==(0|ub))return x(-1<(0|tb)?0:-a);if(1073741824==(0|tb))return x(.010000000707805157);if(1056964608==(0|tb))return x(.3162277638912201);if(1291845633<=ub>>>0)return x((0|tb)<0?H:0);if(vb=u[1701],wb=x(x(1.600000023841858)-vb),xb=x(x(1)/x(vb+x(1.600000023841858))),f(0,-4096&(j(sb=x(wb*xb)),b[0])),Za=k(),yb=x(Za*Za),Bb=u[1705],vb=x(xb*x(x(wb-x((Ab=Za)*x(3.099609375)))-x(Za*x(x(1.600000023841858)-x(x(3.099609375)-vb))))),xb=x(x(sb+Za)*vb),Za=x(sb*sb),wb=x(xb+x(x(Za*Za)*x(x(Za*x(x(Za*x(x(Za*x(x(Za*x(x(Za*x(.20697501301765442))+x(.23066075146198273)))+x(.2727281153202057)))+x(.3333333432674408)))+x(.4285714328289032)))+x(.6000000238418579)))),f(0,-4096&(j(x(x(yb+x(3))+wb)),b[0])),Za=k(),xb=x(Ab*Za),sb=x(x(vb*Za)+x(sb*x(wb-x(x(Za+x(-3))-yb)))),f(0,-4096&(j(x(xb+sb)),b[0])),Za=k(),vb=x(Za*x(.9619140625)),yb=x(u[1703]+x(x(x(sb-x(Za-xb))*x(.9617967009544373))+x(Za*x(-.00011736857413779944)))),f(0,-4096&(j(x(x(Bb+x(vb+yb))+x(-4))),b[0])),sb=k(),f(0,-4096&tb),wb=k(),Za=x(sb*wb),a=x(x(x(yb-x(x(x(sb-x(-4))-Bb)-vb))*a)+x(x(a-wb)*sb)),j(sb=x(Za+a)),1124073473<=(0|(tb=b[0])))break b;d:{if((ub=1124073472)==(0|tb)){if(x(a+x(4.299566569443414e-8))>x(sb-Za))break b}else{if(ub=2147483647&tb,!(a<=x(sb-Za)^1|-1021968384!=(0|tb))|1125515265<=ub>>>0)break a;if(ub>>>0<1056964609)break d}zb=(8388607&(ub=(8388608>>>(ub>>>23)-126)+tb|0)|8388608)>>>150-(Cb=ub>>>23&255),zb=(0|tb)<0?0-zb|0:zb,Za=x(Za-(f(0,ub&-8388608>>Cb-127),k())),j(x(a+Za)),tb=b[0]}f(0,-32768&tb),sb=k(),vb=x(sb*x(.693145751953125)),sb=x(x(sb*x(14286065379565116e-22))+x(x(a-x(sb-Za))*x(.6931471824645996))),a=x(vb+sb),Za=x(a*a),Za=x(a-x(Za*x(x(Za*x(x(Za*x(x(Za*x(x(Za*x(4.138136944220605e-8))+x(-16533901998627698e-22)))+x(661375597701408e-19)))+x(-.0027777778450399637)))+x(.1666666716337204)))),Ab=x(x(a*Za)/x(Za+x(-2))),Za=x(sb-x(a-vb)),a=(0|(tb=0|(j(a=x(x(a-x(Ab-x(Za+x(a*Za))))+x(1))),b[0]+(zb<<23))))<=8388607?function(a,Vk){var zl=0;128<=(0|Vk)?(a=x(a*x(17014118346046923e22)),Vk=(0|(zl=Vk+-127|0))<128?zl:(a=x(a*x(17014118346046923e22)),((0|Vk)<381?Vk:381)+-254|0)):-127<(0|Vk)||(a=x(a*x(11754943508222875e-54)),Vk=-127<(0|(zl=Vk+126|0))?zl:(a=x(a*x(11754943508222875e-54)),(-378<(0|Vk)?Vk:-378)+252|0));return x(a*(f(0,1065353216+(Vk<<23)|0),k()))}(a,zb):(f(0,tb),k()),a=x(x(1)*a)}else a=x(1);return a}return x(H)}return x(0)}function Ba(a,Db){var Jb,Eb=0,Fb=0,Gb=0,Hb=0,Ib=x(0);if(j(Db),!((Gb=2147483647&(Eb=b[0]))>>>0<=2139095040&&(j(a),(Fb=2147483647&(Hb=b[0]))>>>0<2139095041)))return x(a+Db);if(1065353216==(0|Eb))return Ca(a);Eb=(Jb=Eb>>>30&2)|Hb>>>31;b:{c:{d:{e:{if(!Fb){f:switch(Eb-2|0){case 0:break e;case 1:break f;default:break d}return x(-3.1415927410125732)}if(2139095040!=(0|Gb)){if(!Gb|!(Fb>>>0<=Gb+218103808>>>0&&2139095040!=(0|Fb)))break b;if(a=Ib=Fb+218103808>>>0>>0&&(Ib=x(0),Jb)?Ib:Ca(x(y(x(a/Db)))),Eb>>>0<=2){h:switch(Eb-1|0){case 0:return x(-a);case 1:break h;default:break d}return x(x(3.1415927410125732)-x(a+x(8.742277657347586e-8)))}return x(x(a+x(8.742277657347586e-8))+x(-3.1415927410125732))}if(2139095040==(0|Fb))break c;return u[6784+(Eb<<2)>>2]}a=x(3.1415927410125732)}return a}return u[6768+(Eb<<2)>>2]}return x((0|Hb)<0?-1.5707963705062866:1.5707963705062866)}function Ca(a){var Kb,Nb,Ob,Db=0,Lb=(x(0),0),Mb=0;x(0),x(0);j(a);a:{if(1283457024<=(Db=2147483647&(Mb=b[0]))>>>0){if(2139095040>>0)break a;return x((0|Mb)<0?-1.570796251296997:1.570796251296997)}b:{if(Db>>>0<=1054867455){if(Lb=-1,964689920<=Db>>>0)break b;break a}a=x(y(a)),Db>>>0<=1066926079?Lb=Db>>>0<=1060110335?(a=x(x(x(a+a)+x(-1))/x(a+x(2))),0):(a=x(x(a+x(-1))/x(a+x(1))),1):Lb=Db>>>0<=1075576831?(a=x(x(a+x(-1.5))/x(x(a*x(1.5))+x(1))),2):(a=x(x(-1)/a),3)}if(Db=Lb,Nb=x(a*a),Kb=x(Nb*Nb),Ob=x(Kb*x(x(Kb*x(-.106480173766613))+x(-.19999158382415771))),Kb=x(Nb*x(x(Kb*x(x(Kb*x(.06168760731816292))+x(.14253635704517365)))+x(.333333283662796))),(0|Db)<=-1)return x(a-x(a*x(Ob+Kb)));a=x(u[6736+(Db<<=2)>>2]-x(x(x(a*x(Ob+Kb))-u[6752+Db>>2])-a)),a=(0|Mb)<0?x(-a):a}return a}function Da(a,Pb){var Ub,Sb,Qb=0,Rb=0,Tb=0;return L=Sb=L-16|0,j(a),(Qb=2147483647&(Tb=b[0]))>>>0<=1305022426?(v[Pb>>3]=(Ub=+a)+-1.5707963109016418*(Rb=.6366197723675814*Ub+6755399441055744-6755399441055744)+-1.5893254773528196e-8*Rb,Qb=y(Rb)<2147483648?~~Rb:-2147483648):2139095040<=Qb>>>0?(v[Pb>>3]=x(a-a),Qb=0):(Ub=Qb,v[8+Sb>>3]=(f(0,Ub-((Qb=(Qb>>>23)-150|0)<<23)|0),k()),Qb=function(a,Il,Jl){var Kl=0,Ll=0,Ml=0,Nl=0,Ol=0,Pl=0,Ql=0,Rl=0,Sl=0,Tl=0,Ul=0,Vl=0,Wl=0,Xl=0,Yl=0,Zl=0,_l=0;if(L=Nl=L-560|0,Rl=(Ll=Jl)+w(Wl=0<(0|(Jl=(Jl+-3|0)/24|0))?Jl:0,-24)|0,0<=(0|(Sl=q[972])))for(Ll=Sl+1|0,Jl=Wl;;)if(v[(320+Nl|0)+(Ml<<3)>>3]=(0|Jl)<0?0:+q[3904+(Jl<<2)>>2],Jl=Jl+1|0,(0|Ll)==(0|(Ml=Ml+1|0)))break;Pl=Rl+-24|0,Ll=0;for(;;){for(Kl=Jl=0;;)if(Kl+=v[(Jl<<3)+a>>3]*v[(320+Nl|0)+(Ll-Jl<<3)>>3],1==(0|(Jl=Jl+1|0)))break;if(v[(Ll<<3)+Nl>>3]=Kl,Jl=(0|Ll)<(0|Sl),Ll=Ll+1|0,!Jl)break}_l=23-Pl|0,Xl=24-Pl|0,Ll=Sl;a:{for(;;){if(Kl=v[(Ll<<3)+Nl>>3],!(Ul=((Jl=0)|(Ml=Ll))<1))for(;;)if(Ql=(480+Nl|0)+(Jl<<2)|0,Tl=Kl,Ol=y(Kl*=5.960464477539063e-8)<2147483648?~~Kl:-2147483648,Ol=y(Tl+=-16777216*(Kl=0|Ol))<2147483648?~~Tl:-2147483648,q[Ql>>2]=Ol,Kl=v[((Ml=Ml+-1|0)<<3)+Nl>>3]+Kl,(0|Ll)==(0|(Jl=Jl+1|0)))break;Kl=ja(Kl,Pl),Kl+=-8*C(.125*Kl),Ql=y(Kl)<2147483648?~~Kl:-2147483648,Kl-=0|Ql;e:{f:{g:{if(Yl=(0|Pl)<1){if(Pl)break g;Ol=q[476+((Ll<<2)+Nl|0)>>2]>>23}else Ol=q[(Ml=(Ll<<2)+Nl|0)+476>>2],Vl=Ml,Ml=Ol-((Jl=Ol>>Xl)<>2]=Ml,Ql=Jl+Ql|0,Ol=Ml>>_l;if((0|Ol)<1)break e;break f}if(Ol=2,!(.5<=Kl)){Ol=0;break e}}if(Ml=Jl=0,!Ul)for(;;){Ul=q[(Zl=(480+Nl|0)+(Jl<<2)|0)>>2],Vl=16777215;i:{j:{if(!Ml){if(!Ul)break j;Vl=16777216,Ml=1}q[Zl>>2]=Vl-Ul;break i}Ml=0}if((0|Ll)==(0|(Jl=Jl+1|0)))break}Yl||1<(Jl=Pl+-1|0)>>>0||(q[(Jl=(Ll<<2)+Nl|0)+476>>2]=Jl-1?8388607&q[Jl+476>>2]:4194303&q[Jl+476>>2]),Ql=Ql+1|0,2==(0|Ol)&&(Kl=1-Kl,Ol=2,Ml)&&(Kl-=ja(1,Pl))}if(0!=Kl)break;if(!(((Ml=0)|(Jl=Ll))<=(0|Sl))){for(;;)if(Ml=q[(480+Nl|0)+((Jl=Jl+-1|0)<<2)>>2]|Ml,!((0|Sl)<(0|Jl)))break;if(Ml){for(Rl=Pl;;)if(Rl=Rl+-24|0,q[(480+Nl|0)+((Ll=Ll+-1|0)<<2)>>2])break;break a}}for(Jl=1;;)if(Jl=(Ml=Jl)+1|0,q[(480+Nl|0)+(Sl-Ml<<2)>>2])break;for(Ml=Ll+Ml|0;;){for(Ll=Ql=Ll+1|0,v[(320+Nl|0)+(Ql<<3)>>3]=q[3904+(Wl+Ll<<2)>>2],Kl=Jl=0;;)if(Kl+=v[(Jl<<3)+a>>3]*v[(320+Nl|0)+(Ql-Jl<<3)>>3],1==(0|(Jl=Jl+1|0)))break;if(v[(Ll<<3)+Nl>>3]=Kl,!((0|Ll)<(0|Ml)))break}Ll=Ml}16777216<=(Kl=ja(Kl,0-Pl|0))?(a=(480+Nl|0)+(Ll<<2)|0,Tl=Kl,Jl=y(Kl*=5.960464477539063e-8)<2147483648?~~Kl:-2147483648,Ml=y(Kl=Tl+-16777216*(0|Jl))<2147483648?~~Kl:-2147483648,q[a>>2]=Ml,Ll=Ll+1|0):(Jl=y(Kl)<2147483648?~~Kl:-2147483648,Rl=Pl),q[(480+Nl|0)+(Ll<<2)>>2]=Jl}Kl=ja(1,Rl);if(!((0|Ll)<=-1)){for(Jl=Ll;;)if(v[(Jl<<3)+Nl>>3]=Kl*+q[(480+Nl|0)+(Jl<<2)>>2],Kl*=5.960464477539063e-8,a=0<(0|Jl),Jl=Jl+-1|0,!a)break;if(!((0|Ll)<=-1))for(Jl=Ll;;){for(Pl=Ll-(a=Jl)|0,Jl=Kl=0;;)if(Kl+=v[6672+(Jl<<3)>>3]*v[(a+Jl<<3)+Nl>>3],(0|Sl)<=(0|Jl)||(Rl=Jl>>>0>>0,Jl=Jl+1|0,!Rl))break;if(v[(160+Nl|0)+(Pl<<3)>>3]=Kl,Jl=a+-1|0,!(0<(0|a)))break}}if(0<=(Ll|(Kl=0)))for(;;)if(Kl+=v[(160+Nl|0)+(Ll<<3)>>3],a=0<(0|Ll),Ll=Ll+-1|0,!a)break;return v[Il>>3]=Ol?-Kl:Kl,L=560+Nl|0,7&Ql}(8+Sb|0,Sb,Qb),Rb=v[Sb>>3],(0|Tb)<=-1?(v[Pb>>3]=-Rb,Qb=0-Qb|0):v[Pb>>3]=Rb),L=16+Sb|0,Qb}function Ea(a,Pb){return a?function(a,Il){a:{if(a){if(Il>>>0<=127)break a;if(q[q[1789]>>2]){if(Il>>>0<=2047)return o[a+1|0]=63&Il|128,o[0|a]=Il>>>6|192,2;if(!(57344!=(-8192&Il)&&55296<=Il>>>0))return o[a+2|0]=63&Il|128,o[0|a]=Il>>>12|224,o[a+1|0]=Il>>>6&63|128,3;if(Il+-65536>>>0<=1048575)return o[a+3|0]=63&Il|128,o[0|a]=Il>>>18|240,o[a+2|0]=Il>>>6&63|128,o[a+1|0]=Il>>>12&63|128,4}else if(57216==(-128&Il))break a;q[2086]=25,a=-1}else a=1;return a}return o[0|a]=Il,1}(a,Pb):0}function Fa(a,Pb,Wb){var fc,gc,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=r[a+4|0];if(q[Pb>>2]=652,Yb=q[a+704>>2],1<=(0|(_b=q[Yb>>2]))){for($b=q[a+720>>2],bc=q[a+1072>>2];;)if(Zb=(1<>2]<<2)>>2])+Zb|0,(0|_b)==(0|(Xb=Xb+1|0)))break;Xb=Zb<<2}if(q[Pb+4>>2]=w(_b,12),q[Pb+8>>2]=q[Yb>>2]<<2,q[Pb+12>>2]=q[Yb>>2]<<2,q[Pb+16>>2]=q[Yb>>2]<<2,q[Pb+20>>2]=q[Yb>>2]<<2,Zb=q[Yb>>2],q[Pb+28>>2]=Xb,q[Pb+24>>2]=Zb<<2,Zb=q[Yb>>2],q[Pb+40>>2]=Xb,q[Pb+36>>2]=Xb,q[Pb+32>>2]=Zb<<2,q[Pb+44>>2]=q[Yb+4>>2]<<5,q[Pb+48>>2]=q[Yb+4>>2]<<2,q[Pb+52>>2]=q[Yb+4>>2]<<2,q[Pb+56>>2]=q[Yb+4>>2]<<2,q[Pb+60>>2]=q[Yb+4>>2]<<4,q[Pb+64>>2]=q[Yb+4>>2]<<4,1<=((Xb=0)|(_b=q[Yb+8>>2]))){for($b=q[a+780>>2],bc=q[a+1072>>2],dc=q[a+796>>2],Zb=0;;)if(ac=(15+(q[(cc=Xb<<2)+dc>>2]<<3)&-16)+ac|0,Zb=(1<>2]<<2)>>2])+Zb|0,(0|_b)==(0|(Xb=Xb+1|0)))break;Xb=Zb<<2}if(q[Pb+68>>2]=w(_b,24),q[Pb+72>>2]=q[Yb+8>>2]<<2,q[Pb+76>>2]=q[Yb+8>>2]<<2,Zb=q[Yb+8>>2],q[Pb+84>>2]=ac,q[Pb+80>>2]=Zb<<2,q[Pb+88>>2]=q[Yb+8>>2]<<4,q[Pb+92>>2]=q[Yb+8>>2]<<4,Zb=q[Yb+8>>2],q[Pb+100>>2]=Xb,q[Pb+96>>2]=Zb<<2,Zb=q[Yb+8>>2],q[Pb+140>>2]=Xb,q[Pb+136>>2]=Xb,q[Pb+132>>2]=Xb,q[Pb+128>>2]=Xb,q[Pb+124>>2]=Xb,q[Pb+120>>2]=Xb,q[Pb+116>>2]=Xb,q[Pb+112>>2]=Xb,q[Pb+108>>2]=Xb,q[Pb+104>>2]=Zb<<2,q[Pb+144>>2]=q[Yb+8>>2]<<2,q[Pb+148>>2]=q[Yb+8>>2]<<2,q[Pb+152>>2]=q[Yb+8>>2]<<2,q[Pb+156>>2]=q[Yb+8>>2]<<2,q[Pb+160>>2]=q[Yb+8>>2]<<2,q[Pb+164>>2]=q[Yb+8>>2]<<2,1<=((Xb=ac=0)|(_b=q[Yb+12>>2]))){for($b=q[a+812>>2],bc=q[a+1072>>2],Zb=0;;)if(Zb=(1<>2]<<2)>>2])+Zb|0,(0|_b)==(0|(Xb=Xb+1|0)))break;Xb=Zb<<2}if(q[Pb+168>>2]=w(_b,12),q[Pb+172>>2]=q[Yb+12>>2]<<2,q[Pb+176>>2]=q[Yb+12>>2]<<2,q[Pb+180>>2]=q[Yb+12>>2]<<2,q[Pb+184>>2]=q[Yb+12>>2]<<2,q[Pb+188>>2]=q[Yb+12>>2]<<2,q[Pb+192>>2]=q[Yb+12>>2]<<2,q[Pb+196>>2]=q[Yb+12>>2]<<2,q[Pb+200>>2]=q[Yb+12>>2]<<2,q[Pb+204>>2]=q[Yb+12>>2]<<4,q[Pb+208>>2]=q[Yb+12>>2]<<4,Zb=q[Yb+12>>2],q[Pb+216>>2]=Xb,q[Pb+212>>2]=Zb<<2,Zb=q[Yb+12>>2],q[Pb+268>>2]=Xb,q[Pb+264>>2]=Xb,q[Pb+260>>2]=Xb,q[Pb+256>>2]=Xb,q[Pb+252>>2]=Xb,q[Pb+248>>2]=Xb,q[Pb+244>>2]=Xb,q[Pb+240>>2]=Xb,q[Pb+236>>2]=Xb,q[Pb+232>>2]=Xb,q[Pb+228>>2]=Xb,q[Pb+224>>2]=Xb,q[Pb+220>>2]=Zb<<2,q[Pb+272>>2]=q[Yb+12>>2]<<2,q[Pb+276>>2]=q[Yb+12>>2]<<2,q[Pb+280>>2]=q[Yb+12>>2]<<2,q[Pb+284>>2]=q[Yb+12>>2]<<2,q[Pb+288>>2]=q[Yb+12>>2]<<2,q[Pb+292>>2]=q[Yb+12>>2]<<2,1<=((Xb=0)|(Zb=q[Yb+16>>2]))){for($b=q[a+852>>2],bc=q[a+1072>>2],dc=q[a+892>>2],_b=0;;)if(ac=(15+(q[(cc=Xb<<2)+dc>>2]<<3)&-16)+ac|0,_b=(1<>2]<<2)>>2])+_b|0,(0|Zb)==(0|(Xb=Xb+1|0)))break;Xb=_b<<2}if(q[Pb+296>>2]=w(Zb,20),q[Pb+300>>2]=q[Yb+16>>2]<<2,q[Pb+304>>2]=q[Yb+16>>2],q[Pb+308>>2]=q[Yb+16>>2]<<2,q[Pb+312>>2]=q[Yb+16>>2]<<2,Zb=q[Yb+16>>2],q[Pb+320>>2]=ac,q[Pb+316>>2]=Zb<<2,q[Pb+324>>2]=q[Yb+16>>2]<<2,q[Pb+328>>2]=q[Yb+16>>2]<<4,q[Pb+332>>2]=q[Yb+16>>2]<<4,q[Pb+336>>2]=q[Yb+16>>2]<<2,q[Pb+340>>2]=q[Yb+16>>2]<<2,q[Pb+344>>2]=q[Yb+16>>2]<<2,q[Pb+348>>2]=q[Yb+16>>2]<<4,q[Pb+352>>2]=q[Yb+16>>2]<<4,Zb=q[Yb+16>>2],q[Pb+360>>2]=Xb,q[Pb+356>>2]=Zb<<2,Zb=q[Yb+16>>2],q[Pb+404>>2]=Xb,q[Pb+400>>2]=Xb,q[Pb+396>>2]=Xb,q[Pb+392>>2]=Xb,q[Pb+388>>2]=Xb,q[Pb+384>>2]=Xb,q[Pb+380>>2]=Xb,q[Pb+376>>2]=Xb,q[Pb+372>>2]=Xb,q[Pb+368>>2]=Xb,q[Pb+364>>2]=Zb<<2,q[Pb+408>>2]=q[Yb+16>>2]<<2,q[Pb+412>>2]=q[Yb+16>>2]<<2,q[Pb+416>>2]=q[Yb+16>>2]<<2,q[Pb+420>>2]=q[Yb+16>>2]<<2,q[Pb+424>>2]=q[Yb+16>>2]<<2,q[Pb+428>>2]=q[Yb+16>>2]<<2,$b=q[a+704>>2],q[Pb+432>>2]=w(q[$b+20>>2],52),q[Pb+436>>2]=ec>>>(Xb=_b=0)<=3?q[$b+20>>2]<<2:0,q[Pb+440>>2]=q[$b+20>>2]<<2,q[Pb+444>>2]=w(q[$b+52>>2],28),1<=(0|(Yb=q[$b+48>>2]))){for(Zb=q[a+1072>>2],ac=0;;)if(ac=(bc=q[Zb+(Xb<<2)>>2])+ac|0,_b=(1<>2]=Xb,q[Pb+456>>2]=Xb,q[Pb+452>>2]=_b,q[Pb+448>>2]=w(Yb,36),q[Pb+500>>2]=w(q[$b+72>>2],28),1<=((ac=Xb=Zb=0)|(bc=q[$b+72>>2]))){for(dc=q[a+1224>>2],cc=q[a+1220>>2],gc=q[a+1212>>2],_b=0;;)if(_b=(0|(fc=q[(Yb=ac<<2)+cc>>2]-q[Yb+dc>>2]|0))<(0|_b)?_b:1+fc|0,Xb=(0|Xb)<(0|(Yb=q[Yb+gc>>2]))?Yb:Xb,(0|bc)==(0|(ac=ac+1|0)))break;ac=Xb<<2,Xb=_b<<2}if(Yb=q[$b+76>>2],q[Pb+516>>2]=Xb,q[Pb+512>>2]=ac,q[Pb+508>>2]=Xb,q[Pb+504>>2]=Yb<<4,1<=(0|(Yb=q[$b+80>>2]))){for(Zb=q[a+1248>>2],ac=q[a+1072>>2],_b=Xb=0;;)if(_b=(1<>2]<<2)>>2])+_b|0,(0|Yb)==(0|(Xb=Xb+1|0)))break;Zb=_b<<2}if(q[Pb+520>>2]=w(Yb,24),q[Pb+524>>2]=q[$b+80>>2]<<2,Yb=q[$b+80>>2],q[Pb+532>>2]=Zb,q[Pb+528>>2]=Yb<<2,Yb=q[$b+80>>2],q[Pb+544>>2]=Zb,q[Pb+540>>2]=Zb,q[Pb+536>>2]=Yb<<2,Yb=Pb,4<=ec>>>0){if(q[Pb+464>>2]=w(q[$b+120>>2],20),q[Pb+468>>2]=w(q[$b+100>>2],28),Zb=Pb,1<=((Xb=ac=0)|(bc=q[$b+104>>2]))){for(a=q[a+1104>>2],_b=0;;)if(_b=q[a+(Xb<<2)>>2]+_b|0,(0|bc)==(0|(Xb=Xb+1|0)))break;a=_b<<2}else a=0;q[Zb+476>>2]=a,q[Pb+472>>2]=w(bc,48),q[Pb+484>>2]=w(q[$b+108>>2],12),a=q[$b+112>>2],q[Pb+552>>2]=0,q[Pb+492>>2]=w(a,12),a=0}else{if((0|(ac=q[$b+20>>2]))<1)_b=0;else for(bc=q[a+1060>>2],dc=q[a+952>>2],a=q[a+948>>2],Zb=_b=0;;){if(1<=(0|(cc=q[(Xb=Zb<<2)+dc>>2])))for(cc=(Xb=bc+(q[a+Xb>>2]<<2)|0)+(cc<<2)|0;;)if(_b=q[Xb>>2]+_b|0,!((Xb=Xb+4|0)>>>0>>0))break;if((0|ac)==(0|(Zb=Zb+1|0)))break}q[Pb+552>>2]=ac<<2,ac=q[$b+20>>2]<<2,a=_b<<2}for(q[Yb+556>>2]=a,q[Pb+548>>2]=ac,4>>0&&(q[Pb+480>>2]=w(q[$b+128>>2],12),q[Pb+488>>2]=w(q[$b+132>>2],12),q[Pb+496>>2]=w(q[$b+136>>2],12)),Xb=_b=0;;)if(Xb=((Yb=q[(a=(_b<<2)+Pb|0)>>2])+15&-16)+(q[a>>2]=Xb)|0,140==(0|(_b=_b+1|0)))break;q[Wb>>2]=Xb}function Ga(a,Pb,Wb,hc){a:{if(!(20>>0||9<(Pb=Pb+-9|0)>>>0)){c:switch(Pb-1|0){default:return Pb=q[Wb>>2],q[Wb>>2]=Pb+4,void(q[a>>2]=q[Pb>>2]);case 0:return Pb=q[Wb>>2],q[Wb>>2]=Pb+4,Pb=q[Pb>>2],q[a>>2]=Pb,void(q[a+4>>2]=Pb>>31);case 1:return Pb=q[Wb>>2],q[Wb>>2]=Pb+4,q[a>>2]=q[Pb>>2],void(q[a+4>>2]=0);case 3:return Pb=q[Wb>>2],q[Wb>>2]=Pb+4,Pb=p[Pb>>1],q[a>>2]=Pb,void(q[a+4>>2]=Pb>>31);case 4:return Pb=q[Wb>>2],q[Wb>>2]=Pb+4,q[a>>2]=s[Pb>>1],void(q[a+4>>2]=0);case 5:return Pb=q[Wb>>2],q[Wb>>2]=Pb+4,Pb=o[0|Pb],q[a>>2]=Pb,void(q[a+4>>2]=Pb>>31);case 6:return Pb=q[Wb>>2],q[Wb>>2]=Pb+4,q[a>>2]=r[0|Pb],void(q[a+4>>2]=0);case 2:case 7:break a;case 8:break c}n[hc](a,Wb)}return}Pb=q[Wb>>2]+7&-8,q[Wb>>2]=Pb+8,Wb=q[Pb+4>>2],q[a>>2]=q[Pb>>2],q[a+4>>2]=Wb}function Ha(a){var Pb,hc,Wb=0;if(ha(o[q[a>>2]]))for(;;)if(Pb=q[a>>2],hc=o[0|Pb],q[a>>2]=Pb+1,Wb=(w(Wb,10)+hc|0)-48|0,!ha(o[Pb+1|0]))break;return Wb}function Ia(a,ic,jc,kc,lc){var oc,mc;q[204+(L=mc=L-208|0)>>2]=jc,ca(160+mc|(jc=0),0,40),q[200+mc>>2]=q[204+mc>>2],(0|ra(0,ic,200+mc|0,80+mc|0,160+mc|0,kc,lc))<0||(jc=0<=q[a+76>>2]?1:jc,jc=q[a>>2],o[a+74|0]<=0&&(q[a>>2]=-33&jc),oc=32&jc,q[a+48>>2]?ra(a,ic,200+mc|0,80+mc|0,160+mc|0,kc,lc):(q[a+48>>2]=80,q[a+16>>2]=80+mc,q[a+28>>2]=mc,q[a+20>>2]=mc,jc=q[a+44>>2],ra(a,ic,200+(q[a+44>>2]=mc)|0,80+mc|0,160+mc|0,kc,lc),jc&&(n[q[a+36>>2]](a,0,0),q[a+48>>2]=0,q[a+44>>2]=jc,q[a+28>>2]=0,q[a+16>>2]=0,q[a+20>>2]=0)),q[a>>2]=q[a>>2]|oc),L=208+mc|0}function Ka(a,ic,pc){var rc,qc;$(8+(L=qc=L-160|0)|0,3192,144),q[52+qc>>2]=a,q[28+qc>>2]=a,q[56+qc>>2]=rc=(rc=-2-a|0)>>>0<256?rc:256,q[36+qc>>2]=a=a+rc|0,q[24+qc>>2]=a,Ia(8+qc|0,ic,pc,11,12),rc&&(a=q[28+qc>>2],o[a-((0|a)==q[24+qc>>2])|0]=0),L=160+qc|0}function La(a,ic){var sc,tc,pc=0,pc=0!=(0|ic);a:{b:{c:{d:if(!(!ic|!(3&a)))for(;;){if(!r[0|a])break c;if(a=a+1|0,pc=0!=(0|(ic=ic+-1|0)),!ic)break d;if(!(3&a))break}if(!pc)break b}if(!r[0|a])break a;e:{if(4<=ic>>>0){for(pc=(pc=ic+-4|0)-(sc=-4&pc)|0,sc=4+(a+sc|0)|0;;){if((-1^(tc=q[a>>2]))&tc+-16843009&-2139062144)break e;if(a=a+4|0,!(3<(ic=ic+-4|0)>>>0))break}ic=pc,a=sc}if(!ic)break b}for(;;){if(!r[0|a])break a;if(a=a+1|0,!(ic=ic+-1|0))break}}return 0}return a}function Ma(a){var uc,ic=0;if(!a)return 32;if(!(1&a))for(;;)if(ic=ic+1|0,uc=2&a,a>>>=1,uc)break;return ic}function Na(a,vc){var zc,Ac,Bc,yc,wc=0,xc=0,xc=4;L=yc=L-256|0;a:if(!((0|vc)<2))for(wc=q[(Bc=(vc<<2)+a|0)>>2]=yc;;){for($(wc,q[a>>2],zc=xc>>>0<256?xc:256),wc=0;;)if($(q[(Ac=(wc<<2)+a|0)>>2],q[((wc=wc+1|0)<<2)+a>>2],zc),q[Ac>>2]=q[Ac>>2]+zc,(0|vc)==(0|wc))break;if(!(xc=xc-zc|0))break a;wc=q[Bc>>2]}L=256+yc|0}function Oa(a){var vc;return(vc=Ma(q[a>>2]+-1|0))||((a=Ma(q[a+4>>2]))?a+32|0:0)}function Sa(a){var Hc;q[(L=Hc=L-16|0)>>2]=a,function(a,Il){var Jl=0;q[12+(L=Jl=L-16|0)>>2]=Il,Ia(a,1432,Il,0,0),L=16+Jl|0}(q[970],Hc),L=16+Hc|0}function Cc(a,Il,Jl,tm){var zm,wm,um=0,vm=0,xm=0,ym=0;return L=wm=L-32|0,um=(ym=um=2147483647&tm)+-1006698496|0,vm=um=(zm=vm=xm=Jl)>>>0<0?um+1|0:um,um=ym+-1140785152|0,(0|(um=xm>>>0<0?um+1|0:um))==(0|vm)&zm>>>0>>0|vm>>>0>>0?(um=tm<<4|Jl>>>28,Jl=Jl<<4|Il>>>28,134217728==(0|(xm=Il&=268435455))&1<=a>>>0|134217728>>0?(um=um+1073741824|0,(a=Jl+1|0)>>>0<1&&(um=um+1|0),vm=a):(um=um-(((vm=Jl)>>>0<0)+-1073741824|0)|0,a|134217728^xm||((a=vm+(1&vm)|0)>>>0>>0&&(um=um+1|0),vm=a))):(!xm&2147418112==(0|ym)?!(a|Il):2147418112==(0|ym)&xm>>>0<0|ym>>>0<2147418112)?(um=2146435072,1140785151==((vm=0)|ym)&4294967295>>0|1140785151>>0||(xm=ym>>>16)>>>(um=0)<15249||(function(a,Il,Jl,tm,Bm,Cm){var Hm=0,Im=0,Jm=0,Km=0;a:if(64&Cm)Il=31&(Jl=Cm+-64|0),Il=32<=(63&Jl)>>>0?(Jl=0,Bm>>>Il):(Jl=Bm>>>Il,((1<>>Il),Bm=tm=0;else{if(!Cm)break a;Im=Bm,Jm=tm,Hm=31&(Km=64-Cm|0),Km=32<=(63&Km)>>>0?(Im=Jm<>>32-Hm|Im<>>0?(Hm=0,Jl>>>Il):(Hm=Jl>>>Il,((1<>>Il),Il|=Km,Jl=Hm|Im,Hm=tm,tm=31&Cm,tm=32<=(63&Cm)>>>0?(Im=0,Bm>>>tm):(Im=Bm>>>tm,((1<>>tm),Bm=Im}q[a>>2]=Il,q[a+4>>2]=Jl,q[a+8>>2]=tm,q[a+12>>2]=Bm}(wm,a,Il,Jl,um=65535&tm|65536,15361-xm|0),function(a,Il,Jl,tm,Bm,Cm){var Dm=0,Em=0,Fm=0,Gm=0;64&Cm?(tm=Il,Il=31&(Bm=Cm+-64|0),32<=(63&Bm)>>>0?(Bm=tm<>>32-Il|Jl<>>0?(Em=Dm<>>32-tm|Bm<>>0?(Cm=0,tm>>>=Bm):(Cm=tm>>>Bm,tm=((1<>>Bm),tm|=Gm,Bm=Cm|Em,Cm=Il,Il=31&Fm,Il=32<=(63&Fm)>>>0?(Em=Cm<>>32-Il|Jl<>2]=Il,q[a+4>>2]=Jl,q[a+8>>2]=tm,q[a+12>>2]=Bm}(16+wm|0,a,Il,Jl,um,xm+-15233|0),Jl=q[4+wm>>2],a=q[8+wm>>2],um=q[12+wm>>2]<<4|a>>>28,vm=a<<4|Jl>>>28,134217728==(0|(Jl=a=268435455&Jl))&1<=(Il=q[wm>>2]|(0!=(q[16+wm>>2]|q[24+wm>>2])|0!=(q[20+wm>>2]|q[28+wm>>2])))>>>0|134217728>>0?((a=vm+1|0)>>>0<1&&(um=um+1|0),vm=a):Il|134217728^Jl||((a=vm+(1&vm)|0)>>>0>>0&&(um=um+1|0),vm=a))):(vm=Jl<<4|Il>>>28,um=524287&(um=tm<<4|Jl>>>28)|2146959360),L=32+wm|0,f(0,0|vm),f(1,-2147483648&tm|um),+g()}function Zc(a,$o){a=0|a,$o=0|$o,b[0]=a,b[1]=$o}function ad(a,$o,ap){return function(a,$o,ap){var ep,cp,bp,dp,fp=w(cp=ap>>>16,bp=a>>>16);return a=(65535&(bp=((ep=w(dp=65535&ap,a&=65535))>>>16)+w(bp,dp)|0))+w(a,cp)|0,M=((fp+w($o,ap)|0)+(bp>>>16)|0)+(a>>>16)|0,65535&ep|a<<16}(a,$o,ap)}function bd(a,$o,ap){return function(a,$o,ap){var np,gp=0,hp=0,ip=0,jp=0,kp=0,lp=0,mp=0,op=0;a:{b:{c:{d:{e:{if(!(hp=$o))return Zc(($o=a)-w(a=(a>>>0)/(ap>>>0)|0,ap)|0,0),M=0,a;if(gp=ap){if(!((jp=gp+-1|0)&gp))break e;kp=0-(jp=(z(gp)+33|0)-z(hp)|0)|0;break c}if(!a)return Zc(0,hp-w(a=(hp>>>0)/0|0,0)|0),M=0,a;if((gp=32-z(hp)|0)>>>0<31)break d;break b}if(Zc(a&jp,0),1==(0|gp))break a;return ap=31&(gp=gp?31-z(gp+-1^gp)|0:32),a=32<=(63&gp)>>>0?(hp=0,$o>>>ap):(hp=$o>>>ap,((1<>>ap),M=hp,a}jp=gp+1|0,kp=63-gp|0}if(gp=$o,ip=31&(hp=63&jp),ip=32<=hp>>>0?(hp=0,gp>>>ip):(hp=gp>>>ip,((1<>>ip),gp=31&(kp&=63),32<=kp>>>0?($o=a<>>32-gp|$o<>>0<4294967295&&(gp=0);;)if(ip=(mp=lp=ip<<1|$o>>>31)-(np=ap&(lp=gp-((hp=hp<<1|ip>>>31)+(kp>>>0>>0)|0)>>31))|0,hp=hp-(mp>>>0>>0)|0,$o=$o<<1|a>>>31,a=op|a<<1,op=lp&=1,!(jp=jp+-1|0))break;return Zc(ip,hp),M=$o<<1|a>>>31,lp|a<<1}Zc(a,$o),$o=a=0}return M=$o,a}(a,$o,ap)}function dd(a){var pp;return(-1>>>(pp=31&a)&-2)<>>a}function N(){return buffer.byteLength/65536|0}}(H,I,J)}}l=null,b.wasmBinary&&(F=b.wasmBinary);var WebAssembly={},F=[];"object"!=typeof WebAssembly&&E("no native wasm support detected");var I,J=new function(a){var c=Array(16);return c.grow=function(){17<=c.length&&B("Unable to grow wasm table. Use a higher value for RESERVED_FUNCTION_POINTERS or set ALLOW_TABLE_GROWTH."),c.push(null)},c.set=function(a,e){c[a]=e},c.get=function(a){return c[a]},c},K=!1;function assert(a,c){a||B("Assertion failed: "+c)}var buffer,M,L,N,ha="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function ia(a,c,d){var e=c+d;for(d=c;a[d]&&!(e<=d);)++d;if(16>10,56320|1023&f)))):e+=String.fromCharCode(f)}return e}function ja(a,c){return a?ia(L,a,c):""}function ka(a){return 0>>16)*e+d*(c>>>16)<<16)|0}),Math.fround||(ra=new Float32Array(1),Math.fround=function(a){return ra[0]=a,ra[0]}),Math.clz32||(Math.clz32=function(a){var c=32,d=a>>16;return d&&(c-=16,a=d),(d=a>>8)&&(c-=8,a=d),(d=a>>4)&&(c-=4,a=d),(d=a>>2)&&(c-=2,a=d),a>>1?c-2:c-a}),Math.trunc||(Math.trunc=function(a){return a<0?Math.ceil(a):Math.floor(a)});var P=0,Q=null,U=null;function B(a){throw b.onAbort&&b.onAbort(a),D(a),E(a),K=!0,"abort("+a+"). Build with -s ASSERTIONS=1 for more info."}b.preloadedImages={},b.preloadedAudios={};var V="data:application/octet-stream;base64,";function W(a){return String.prototype.startsWith?a.startsWith(V):0===a.indexOf(V)}var X="_em_module.wasm";function ta(){try{if(F)return new Uint8Array(F);var a=z(X);if(a)return a;if(w)return w(X);throw"both async and sync fetching of the wasm failed"}catch(c){B(c)}}W(X)||(t=X,X=b.locateFile?b.locateFile(t,u):u+t),na.push({ea:function(){va()}});var wa=[null,[],[]],xa=!1;function C(a){for(var c=[],d=0;d>4,f=(15&f)<<4|g>>2,h=(3&g)<<6|m}while(c+=String.fromCharCode(e),64!==g&&(c+=String.fromCharCode(f)),64!==m&&(c+=String.fromCharCode(h)),d>16),la(I.buffer);var d=1;break a}catch(e){}d=void 0}return!!d},c:function(a,c,d,e){try{for(var f=0,g=0;g>2],h=N[c+(8*g+4)>>2],A=0;A>2]=f,0}catch(T){return"undefined"!=typeof FS&&T instanceof FS.fa||B(T),T.ga}},memory:I,table:J},u=function(){function a(a){b.asm=a.exports,P--,b.monitorRunDependencies&&b.monitorRunDependencies(P),0==P&&(null!==Q&&(clearInterval(Q),Q=null),U)&&(a=U,U=null,a())}function c(c){a(c.instance)}function d(a){return(F||!p&&!q||"function"!=typeof fetch?new Promise(function(a){a(ta())}):fetch(X,{credentials:"same-origin"}).then(function(a){if(a.ok)return a.arrayBuffer();throw"failed to load wasm binary file at '"+X+"'"}).catch(ta)).then(function(){return{then:function(a){a({instance:new da})}}}).then(a,function(a){E("failed to asynchronously prepare wasm: "+a),B(a)})}var e={env:H,wasi_unstable:H};if(P++,b.monitorRunDependencies&&b.monitorRunDependencies(P),b.instantiateWasm)try{return b.instantiateWasm(e,a)}catch(f){return E("Module.instantiateWasm callback failed with error: "+f),!1}return F||"function"!=typeof WebAssembly.instantiateStreaming||W(X)||"function"!=typeof fetch?d(c):fetch(X,{credentials:"same-origin"}).then(function(a){return WebAssembly.instantiateStreaming(a,e).then(c,function(a){E("wasm streaming compile failed: "+a),E("falling back to ArrayBuffer instantiation"),d(c)})}),{}}(),va=(b.asm=u,b.___wasm_call_ctors=function(){return b.asm.d.apply(null,arguments)}),Aa=(b._csmGetVersion=function(){return b.asm.e.apply(null,arguments)},b._csmGetLatestMocVersion=function(){return b.asm.f.apply(null,arguments)},b._csmGetMocVersion=function(){return b.asm.g.apply(null,arguments)},b._csmHasMocConsistency=function(){return b.asm.h.apply(null,arguments)},b._csmSetLogFunction=function(){return b.asm.i.apply(null,arguments)},b._csmReviveMocInPlace=function(){return b.asm.j.apply(null,arguments)},b._csmReadCanvasInfo=function(){return b.asm.k.apply(null,arguments)},b._csmGetSizeofModel=function(){return b.asm.l.apply(null,arguments)},b._csmInitializeModelInPlace=function(){return b.asm.m.apply(null,arguments)},b._csmUpdateModel=function(){return b.asm.n.apply(null,arguments)},b._csmGetParameterCount=function(){return b.asm.o.apply(null,arguments)},b._csmGetParameterIds=function(){return b.asm.p.apply(null,arguments)},b._csmGetParameterTypes=function(){return b.asm.q.apply(null,arguments)},b._csmGetParameterMinimumValues=function(){return b.asm.r.apply(null,arguments)},b._csmGetParameterMaximumValues=function(){return b.asm.s.apply(null,arguments)},b._csmGetParameterDefaultValues=function(){return b.asm.t.apply(null,arguments)},b._csmGetParameterValues=function(){return b.asm.u.apply(null,arguments)},b._csmGetPartCount=function(){return b.asm.v.apply(null,arguments)},b._csmGetPartIds=function(){return b.asm.w.apply(null,arguments)},b._csmGetPartOpacities=function(){return b.asm.x.apply(null,arguments)},b._csmGetPartParentPartIndices=function(){return b.asm.y.apply(null,arguments)},b._csmGetDrawableCount=function(){return b.asm.z.apply(null,arguments)},b._csmGetDrawableIds=function(){return b.asm.A.apply(null,arguments)},b._csmGetDrawableConstantFlags=function(){return b.asm.B.apply(null,arguments)},b._csmGetDrawableDynamicFlags=function(){return b.asm.C.apply(null,arguments)},b._csmGetDrawableTextureIndices=function(){return b.asm.D.apply(null,arguments)},b._csmGetDrawableDrawOrders=function(){return b.asm.E.apply(null,arguments)},b._csmGetDrawableRenderOrders=function(){return b.asm.F.apply(null,arguments)},b._csmGetDrawableOpacities=function(){return b.asm.G.apply(null,arguments)},b._csmGetDrawableMaskCounts=function(){return b.asm.H.apply(null,arguments)},b._csmGetDrawableMasks=function(){return b.asm.I.apply(null,arguments)},b._csmGetDrawableVertexCounts=function(){return b.asm.J.apply(null,arguments)},b._csmGetDrawableVertexPositions=function(){return b.asm.K.apply(null,arguments)},b._csmGetDrawableVertexUvs=function(){return b.asm.L.apply(null,arguments)},b._csmGetDrawableIndexCounts=function(){return b.asm.M.apply(null,arguments)},b._csmGetDrawableIndices=function(){return b.asm.N.apply(null,arguments)},b._csmGetDrawableMultiplyColors=function(){return b.asm.O.apply(null,arguments)},b._csmGetDrawableScreenColors=function(){return b.asm.P.apply(null,arguments)},b._csmGetDrawableParentPartIndices=function(){return b.asm.Q.apply(null,arguments)},b._csmResetDrawableDynamicFlags=function(){return b.asm.R.apply(null,arguments)},b._csmGetParameterKeyCounts=function(){return b.asm.S.apply(null,arguments)},b._csmGetParameterKeyValues=function(){return b.asm.T.apply(null,arguments)},b._csmMallocMoc=function(){return b.asm.U.apply(null,arguments)},b._csmMallocModelAndInitialize=function(){return b.asm.V.apply(null,arguments)},b._csmMalloc=function(){return b.asm.W.apply(null,arguments)},b._csmFree=function(){return b.asm.X.apply(null,arguments)},b._csmInitializeAmountOfMemory=function(){return b.asm.Y.apply(null,arguments)},b.stackSave=function(){return b.asm.Z.apply(null,arguments)}),Ba=b.stackAlloc=function(){return b.asm._.apply(null,arguments)},Ca=b.stackRestore=function(){return b.asm.$.apply(null,arguments)},ca=b.__growWasmMemory=function(){return b.asm.aa.apply(null,arguments)};function Z(){function a(){if(!Y&&(Y=!0,!K)){if(O(na),O(oa),b.onRuntimeInitialized&&b.onRuntimeInitialized(),b.postRun)for("function"==typeof b.postRun&&(b.postRun=[b.postRun]);b.postRun.length;){var a=b.postRun.shift();pa.unshift(a)}O(pa)}}if(!(0>6}else{if(k<=65535){if(d<=e+2)break;f[e++]=224|k>>12}else{if(d<=e+3)break;f[e++]=240|k>>18,f[e++]=128|k>>12&63}f[e++]=128|k>>6&63}f[e++]=128|63&k}}f[e]=0}}return c},array:function(a){var c=Ba(a.length);return M.set(a,c),c}},g=function(a){var c=b["_"+a];return assert(c,"Cannot call unknown function "+a+", make sure it is exported"),c}(a),m=[];if(a=0,e)for(var h=0;h>2]+(Ln<<5)|0)>>2],Pn=q[a+60>>2]+w(Wn,24)|0,Ln=(ko=q[Pn+8>>2])+-1|0,xo=(qo=q[Pn+4>>2])+-1|0,yo=uo=(Wn=q[q[a+152>>2]+(Wn<<2)>>2])+(ko<<3)|0,zo=vo=Wn+((to=w(qo,lo=ko+1|0))<<3)|0,Ao=wo=Wn+(ko+to<<3)|0,Io=q[Pn+12>>2],ro=x(0|qo),so=x(0|ko),a=0;Vn=u[4+(Pn=(oo=a<<3)+Mn|0)>>2],Rn=x(Vn*ro),Xn=u[Pn>>2],Qn=x(Xn*so),Pn=Vn>=x(1),Rn=!(Vn=x(1)|Xn>2],Bo=u[Wn+4>>2],Yn=x(ao-Bo),Co=u[4+yo>>2],Do=u[4+zo>>2],Zn=x(Co-Do),bo=x(x(Yn-Zn)*x(.5)),Eo=u[wo>>2],Fo=u[Wn>>2],_n=x(Eo-Fo),Go=u[uo>>2],Ho=u[vo>>2],$n=x(Go-Ho),co=x(x(_n-$n)*x(.5)),Zn=x(x(Zn+Yn)*x(.5)),$n=x(x($n+_n)*x(.5)),Jo=1,Yn=x(x(x(x(x(Bo+Co)+Do)+ao)*x(.25))-x(Yn*x(.5))),_n=x(x(x(x(x(Fo+Go)+Ho)+Eo)*x(.25))-x(_n*x(.5)))),Vnx(-2)^1|(Xnx(-2)^1)?(u[Nn+oo>>2]=x(Vn*co)+x(x(Xn*$n)+_n),Qn=x(Vn*bo),x(x(Xn*Zn)+Yn)):(Xn<=x(0)?Vn<=x(0)?(Un=x(x(Vn+x(2))*x(.5)),Tn=x(x(Xn+x(2))*x(.5)),Qn=x(bo+bo),mo=x(Yn-Qn),Rn=x(co+co),no=x(_n-Rn),io=x(Yn-x(Zn+Zn)),eo=x(io-Qn),jo=x(_n-x($n+$n)),fo=x(jo-Rn),go=u[Wn+4>>2],ho=u[Wn>>2]):Pn?(Qn=x(bo*x(3)),Rn=x(Yn-x(Zn+Zn)),io=x(Qn+Rn),eo=x(co*x(3)),fo=x(_n-x($n+$n)),jo=x(eo+fo),Un=x(x(Vn+x(-1))*x(.5)),Tn=x(x(Xn+x(2))*x(.5)),go=x(Qn+Yn),ho=x(eo+_n),eo=x(bo+Rn),fo=x(co+fo),mo=u[4+zo>>2],no=u[vo>>2]):(Qn=x(Yn-x(Zn+Zn)),Pn=xo,Sn=x(y(Rn))>2],no=u[Pn>>2],Pn=Wn+(w(Sn,lo)<<3)|0,go=u[Pn+4>>2],ho=u[Pn>>2]):Xn>=x(1)?Vn<=x(0)?(Un=x(x(Vn+x(2))*x(.5)),Tn=x(x(Xn+x(-1))*x(.5)),Qn=x(bo+bo),eo=x(x(Zn+Yn)-Qn),Rn=x(co+co),fo=x(x($n+_n)-Rn),go=x(x(Zn*x(3))+Yn),mo=x(go-Qn),ho=x(x($n*x(3))+_n),no=x(ho-Rn),io=u[4+yo>>2],jo=u[uo>>2]):Pn?(Qn=x(bo*x(3)),io=x(Qn+x(Zn+Yn)),Rn=x(co*x(3)),jo=x(Rn+x($n+_n)),ao=Qn,Qn=x(x(Zn*x(3))+Yn),go=x(ao+Qn),ao=Rn,Rn=x(x($n*x(3))+_n),ho=x(ao+Rn),Un=x(x(Vn+x(-1))*x(.5)),Tn=x(x(Xn+x(-1))*x(.5)),mo=x(bo+Qn),no=x(co+Rn),eo=u[4+Ao>>2],fo=u[wo>>2]):(Qn=x(x(Zn*x(3))+Yn),Pn=xo,Sn=x(y(Rn))>2],fo=u[Pn>>2],Pn=Wn+(w(Sn,lo)+ko<<3)|0,io=u[Pn+4>>2],jo=u[Pn>>2]):Vn<=x(0)?(Un=x(x(Vn+x(2))*x(.5)),Pn=Ln,Sn=x(y(Rn=Qn))>2],jo=u[Pn>>2],go=u[4+(Pn=Wn+(Sn<<3)|0)>>2],ho=u[Pn>>2]):Pn?(ao=Rn=x(bo*x(3)),Pn=Ln,Sn=x(y(Qn))>2],fo=u[Pn>>2],mo=u[4+(Pn=Wn+(Sn+to<<3)|0)>>2],no=u[Pn>>2]):(v[16+po>>3]=Vn,q[po>>2]=a,v[8+po>>3]=Xn,Y(4,1107,po)),x(Tn+Un)<=x(1)?(u[Nn+oo>>2]=x(fo+x(x(no-fo)*Tn))+x(x(jo-fo)*Un),Qn=x(eo+x(x(mo-eo)*Tn)),x(x(io-eo)*Un)):(Qn=x(x(1)-Tn),Rn=x(x(1)-Un),u[Nn+oo>>2]=x(ho+x(x(jo-ho)*Qn))+x(x(no-ho)*Rn),Qn=x(go+x(x(io-go)*Qn)),x(x(mo-go)*Rn)))):(Pn=x(y(ao=Rn))>2]=x(x(x(Qn*x(Rn*u[Sn>>2]))+x(Qn*x(Tn*u[Sn+8>>2])))+x(Un*x(Rn*u[Pn>>2])))+x(Un*x(Tn*u[Pn+8>>2])),Qn=x(x(x(Qn*x(Rn*u[Sn+4>>2]))+x(Qn*x(Tn*u[Sn+12>>2])))+x(Un*x(Rn*u[Pn+4>>2]))),x(Un*x(Tn*u[Pn+12>>2]))):x(Tn+Un)<=x(1)?(Qn=x(x(x(1)-Tn)-Un),Sn=Wn+(Pn<<3)|0,Pn=Wn+(Pn+lo<<3)|0,u[Nn+oo>>2]=x(x(Qn*u[Sn>>2])+x(Tn*u[Sn+8>>2]))+x(Un*u[Pn>>2]),Qn=x(x(Qn*u[Sn+4>>2])+x(Tn*u[Sn+12>>2])),x(Un*u[Pn+4>>2])):(Qn=x(x(Tn+x(-1))+Un),Sn=Wn+(Pn+lo<<3)|0,Rn=x(x(1)-Tn),Vn=x(x(1)-Un),Pn=Wn+(Pn<<3)|0,u[Nn+oo>>2]=x(x(Qn*u[Sn+8>>2])+x(Rn*u[Sn>>2]))+x(Vn*u[Pn+8>>2]),Qn=x(x(Qn*u[Sn+12>>2])+x(Rn*u[Sn+4>>2])),x(Vn*u[Pn+12>>2]))),u[4+(Nn+oo|0)>>2]=Qn+Rn,(0|On)!=(0|(a=a+1|0)););L=32+po|0},n[2]=function(a,mh){a|=0,mh|=0;var Dh=0,Eh=0,Fh=0,Gh=0,Hh=0,Ih=x(0),Jh=0,Kh=0,Mh=(x(0),0),Nh=0,Gh=q[a+320>>2],Dh=q[a+316>>2],Hh=q[a+308>>2];-1==(0|(Eh=q[8+(Fh=Hh+(mh<<5)|0)>>2]))?(q[(Nh=Dh)+(Dh=mh<<2)>>2]=q[q[a+148>>2]+(q[Fh+16>>2]<<2)>>2],q[Dh+Gh>>2]=1065353216):(Jh=q[Fh+16>>2],Kh=q[q[a+152>>2]+(Jh<<2)>>2],n[q[24+(Hh+(Eh<<5)|0)>>2]](a,Eh,Kh,Kh,q[16+(q[a+60>>2]+w(Jh,24)|0)>>2]),Ih=u[q[a+148>>2]+(q[Fh+16>>2]<<2)>>2],Fh=q[Fh+8>>2]<<2,u[(Eh=mh<<2)+Dh>>2]=Ih*u[Fh+Dh>>2],q[Eh+Gh>>2]=q[Fh+Gh>>2]),4<=r[q[a>>2]+4|0]&&(Gh=mh<<2,Dh=q[a+308>>2]+(mh<<5)|0,Eh=q[Dh+16>>2]<<2,Fh=q[a+328>>2],mh=q[a+324>>2],-1==(0|(Hh=q[Dh+8>>2]))?(Hh=q[a+156>>2],q[(Dh=Gh<<2)+mh>>2]=q[Hh+(Eh<<=2)>>2],q[(Jh=4|Dh)+mh>>2]=q[(Kh=4|Eh)+Hh>>2],q[(Mh=8|Dh)+mh>>2]=q[Hh+(Nh=8|Eh)>>2],q[mh+((Gh|=3)<<2)>>2]=1065353216,a=q[a+160>>2],q[Dh+Fh>>2]=q[a+Eh>>2],q[Fh+Jh>>2]=q[a+Kh>>2],q[Fh+Mh>>2]=q[a+Nh>>2]):(Eh=(Kh=Eh<<2)+q[a+156>>2]|0,u[(Dh=(Jh=Gh<<2)+mh|0)>>2]=u[Eh>>2]*u[(Hh=(Mh=Hh<<4)+mh|0)>>2],u[Dh+4>>2]=u[Eh+4>>2]*u[Hh+4>>2],u[Dh+8>>2]=u[Eh+8>>2]*u[Hh+8>>2],q[mh+((Gh|=3)<<2)>>2]=1065353216,a=Kh+q[a+160>>2]|0,Nh=u[a>>2],Ih=u[(Dh=Fh+Mh|0)>>2],u[(mh=Fh+Jh|0)>>2]=x(Nh+Ih)-x(Nh*Ih),Nh=u[a+4>>2],Ih=u[Dh+4>>2],u[mh+4>>2]=x(Nh+Ih)-x(Nh*Ih),Nh=u[a+8>>2],Ih=u[Dh+8>>2],u[mh+8>>2]=x(Nh+Ih)-x(Nh*Ih)),q[Fh+(Gh<<2)>>2]=1065353216)},n[3]=function(a,Sm,un,xn,yn){a|=0,Sm|=0,un|=0,xn|=0,yn|=0;var Dn,En,Fn,Hn,In,zn=0,zn=(x(0),x(0),x(0),x(0),x(0),x(0),x(0),x(0),(Sm=q[16+(q[a+308>>2]+(Sm<<5)|0)>>2])<<2),Bn=function(a){var El,Hl,Fl,Gl,Dl=x(0);L=Fl=L-16|0,j(a);a:if((El=2147483647&(Gl=b[0]))>>>0<=1061752794)Dl=x(1),El>>>0<964689920||(Dl=ba(+a));else if(El>>>0<=1081824209)Hl=+a,Dl=1075235812<=El>>>0?x(-ba(((0|Gl)<0?3.141592653589793:-3.141592653589793)+Hl)):aa((0|Gl)<=-1?1.5707963267948966+Hl:1.5707963267948966-Hl);else if(El>>>0<=1088565717)Dl=1085271520<=El>>>0?ba(+a+((0|Gl)<0?6.283185307179586:-6.283185307179586)):aa((0|Gl)<=-1?-4.71238898038469-+a:+a-4.71238898038469);else if(Dl=x(a-a),!(2139095040<=El>>>0))if((El=3&Da(a,8+Fl|0))>>>0<=2){switch(El-1|0){default:Dl=ba(v[8+Fl>>3]);break a;case 0:Dl=aa(-v[8+Fl>>3]);break a;case 1:}Dl=x(-ba(v[8+Fl>>3]))}else Dl=aa(v[8+Fl>>3]);return L=16+Fl|0,Dl}(An=x(x(x(u[4+(q[a+168>>2]+w(Sm,12)|0)>>2]+u[zn+q[a+284>>2]>>2])*x(3.1415927410125732))/x(180))),Cn=u[zn+q[a+272>>2]>>2],Gn=q[zn+q[a+292>>2]>>2],An=function(a){var Vk,Al,Cl,Bl=0;L=Al=L-16|0,j(a);a:if((Vk=2147483647&(Cl=b[0]))>>>0<=1061752794)Vk>>>0<964689920||(a=aa(+a));else if(Vk>>>0<=1081824209)Bl=+a,a=Vk>>>0<=1075235811?(0|Cl)<=-1?x(-ba(Bl+1.5707963267948966)):ba(Bl+-1.5707963267948966):aa(-(((0|Cl)<0?3.141592653589793:-3.141592653589793)+Bl));else if(Vk>>>0<=1088565717)Bl=+a,a=Vk>>>0<=1085271519?(0|Cl)<=-1?ba(Bl+4.71238898038469):x(-ba(Bl+-4.71238898038469)):aa(((0|Cl)<0?6.283185307179586:-6.283185307179586)+Bl);else if(2139095040<=Vk>>>0)a=x(a-a);else if((Vk=3&Da(a,8+Al|0))>>>0<=2){switch(Vk-1|0){default:a=aa(v[8+Al>>3]);break a;case 0:a=ba(v[8+Al>>3]);break a;case 1:}a=aa(-v[8+Al>>3])}else a=x(-ba(v[8+Al>>3]));return L=16+Al|0,a}(An);if((Sm=0)<(0|yn))for(Bn=x(Cn*Bn),En=x(Gn?-1:1),Hn=x(Bn*En),Dn=q[zn+q[a+288>>2]>>2]?x(-1):x(1),In=x(x(Cn*An)*Dn),Bn=x(Bn*Dn),Cn=x(x(Cn*x(-An))*En),An=u[zn+q[a+280>>2]>>2],En=u[zn+q[a+276>>2]>>2];zn=(a=Sm<<3)+xn|0,Dn=u[(a=a+un|0)>>2],Fn=u[a+4>>2],u[zn+4>>2]=An+x(x(In*Dn)+x(Hn*Fn)),u[zn>>2]=En+x(x(Bn*Dn)+x(Cn*Fn)),(0|yn)!=(0|(Sm=Sm+1|0)););},n[4]=function(a,mh){a|=0,mh|=0;var yh,zh,Ah,Bh,Ch,nh,oh=0,ph=0,qh=0,rh=x(0),sh=0,th=0,uh=x(0),vh=0,wh=0,xh=0;if(x(0),x(0),x(0),x(0),L=nh=L+-64|0,vh=q[a+320>>2],wh=q[a+316>>2],ph=q[a+308>>2],-1==(0|(sh=q[8+(qh=ph+(mh<<5)|0)>>2])))oh=q[qh+16>>2]<<2,q[(ph=mh<<2)+wh>>2]=q[oh+q[a+268>>2]>>2],q[ph+vh>>2]=q[oh+q[a+272>>2]>>2];else{oh=q[qh+16>>2]<<2,xh=q[oh+q[a+276>>2]>>2],q[24+nh>>2]=xh,oh=q[oh+q[a+280>>2]>>2],q[28+nh>>2]=oh,q[16+nh>>2]=0,zh=1==q[12+(th=ph+(sh<<5)|0)>>2]?x(-10):x(-.10000000149011612),u[20+nh>>2]=zh,q[60+nh>>2]=oh,q[56+nh>>2]=xh,n[q[th+24>>2]](a,sh,56+nh|0,48+nh|0,1),rh=x(1),ph=9;b:{for(;;){if(oh=ph,uh=x(rh*x(0)),u[32+nh>>2]=uh+u[56+nh>>2],yh=x(zh*rh),u[36+nh>>2]=yh+u[60+nh>>2],n[q[th+24>>2]](a,sh,32+nh|0,40+nh|0,1),Ah=x(u[44+nh>>2]-u[52+nh>>2]),u[44+nh>>2]=Ah,Bh=x(u[40+nh>>2]-u[48+nh>>2]),u[40+nh>>2]=Bh,Ah!=x(0)||Bh!=x(0)){ph=q[44+nh>>2],q[8+nh>>2]=q[40+nh>>2],q[12+nh>>2]=ph;break b}if(u[32+nh>>2]=u[56+nh>>2]-uh,u[36+nh>>2]=u[60+nh>>2]-yh,n[q[th+24>>2]](a,sh,32+nh|0,40+nh|0,1),uh=x(u[40+nh>>2]-u[48+nh>>2]),u[40+nh>>2]=uh,yh=x(u[44+nh>>2]-u[52+nh>>2]),(u[44+nh>>2]=yh)!=x(0)||uh!=x(0)){u[12+nh>>2]=-yh,u[8+nh>>2]=-uh;break b}if(ph=oh+-1|0,rh=x(rh*x(.10000000149011612)),!oh)break}Y(3,1311,0)}rh=function(a,ji){var ki=x(0);if((ki=x(Ba(u[4+a>>2],u[a>>2])-Ba(u[4+ji>>2],u[ji>>2])))x(3.1415927410125732))for(;(ki=x(ki+x(-6.2831854820251465)))>x(3.1415927410125732););return ki}(16+nh|0,8+nh|0),n[q[th+24>>2]](a,q[qh+8>>2],24+nh|0,24+nh|0,1),ph=q[qh+16>>2]<<2,q[ph+q[a+276>>2]>>2]=q[24+nh>>2],q[ph+q[a+280>>2]>>2]=q[28+nh>>2],oh=ph+q[a+284>>2]|0,u[oh>>2]=u[oh>>2]+x(x(rh*x(-180))/x(3.1415927410125732)),qh=q[qh+8>>2]<<2,u[(oh=mh<<2)+wh>>2]=u[ph+q[a+268>>2]>>2]*u[qh+wh>>2],ph=ph+q[a+272>>2]|0,rh=x(u[ph>>2]*u[qh+vh>>2]),u[oh+vh>>2]=rh,u[ph>>2]=rh}4<=r[q[a>>2]+4|0]&&(oh=mh<<2,qh=q[a+308>>2]+(mh<<5)|0,sh=q[qh+16>>2]<<2,ph=q[a+328>>2],mh=q[a+324>>2],-1==(0|(th=q[qh+8>>2]))?(th=q[a+296>>2],q[(qh=oh<<2)+mh>>2]=q[th+(sh<<=2)>>2],q[(vh=4|qh)+mh>>2]=q[(wh=4|sh)+th>>2],q[(xh=8|qh)+mh>>2]=q[th+(Ch=8|sh)>>2],q[mh+((oh|=3)<<2)>>2]=1065353216,a=q[a+300>>2],q[ph+qh>>2]=q[a+sh>>2],q[ph+vh>>2]=q[a+wh>>2],q[ph+xh>>2]=q[a+Ch>>2]):(sh=(wh=sh<<2)+q[a+296>>2]|0,u[(qh=(vh=oh<<2)+mh|0)>>2]=u[sh>>2]*u[(th=(xh=th<<4)+mh|0)>>2],u[qh+4>>2]=u[sh+4>>2]*u[th+4>>2],u[qh+8>>2]=u[sh+8>>2]*u[th+8>>2],q[mh+((oh|=3)<<2)>>2]=1065353216,a=wh+q[a+300>>2]|0,rh=u[a>>2],uh=u[(qh=ph+xh|0)>>2],u[(mh=ph+vh|0)>>2]=x(rh+uh)-x(rh*uh),rh=u[a+4>>2],uh=u[qh+4>>2],u[mh+4>>2]=x(rh+uh)-x(rh*uh),rh=u[a+8>>2],uh=u[qh+8>>2],u[mh+8>>2]=x(rh+uh)-x(rh*uh)),q[ph+(oh<<2)>>2]=1065353216),L=64+nh|0},n[5]=function(a,Vk){return a|=0,Vk|=0,x(0),x(0),0|((a=u[a>>2])<(Vk=u[Vk>>2])?-1:Vk>2])))for(_j=q[a+12>>2],Zj=q[a+20>>2];u[(Wj=Vj<<2)+_j>>2]=u[vj+Wj>>2]*u[Wj+Zj>>2],(0|(Vj=Vj+1|0))<(0|Yj););if(!((0|(Yj=q[a>>2]))<1))if(_j=q[a+4>>2],yj)for(Wj=vj=0;;){if(q[yj>>2]){if((0|(Vj=q[(Zj=vj<<2)+q[a+16>>2]>>2]))<1)Xj=x(0);else for($j=Vj+Wj|0,ak=q[a+12>>2],Xj=x(0),Vj=Wj;Xj=x(Xj+u[ak+(Vj<<2)>>2]),(0|(Vj=Vj+1|0))<(0|$j););u[xj+Zj>>2]=Xj}if(yj=yj+4|0,Wj=q[_j+(vj<<2)>>2]+Wj|0,!((0|(vj=vj+1|0))<(0|Yj)))break}else for(Zj=q[a+16>>2],vj=yj=0;;){if((0|(Vj=q[(Wj=yj<<2)+Zj>>2]))<=0)Xj=x(0);else for($j=vj+Vj|0,ak=q[a+12>>2],Xj=x(0),Vj=vj;Xj=x(Xj+u[ak+(Vj<<2)>>2]),(0|(Vj=Vj+1|0))<(0|$j););if(u[xj+Wj>>2]=Xj,vj=q[Wj+_j>>2]+vj|0,!((0|(yj=yj+1|0))<(0|Yj)))break}},n[7]=function(a,vj,xj,yj){a|=0,vj|=0,xj|=0,yj|=0;var zj=0,Aj=x(0),Qj=0,Rj=0,Sj=0,Tj=0,Uj=0;if(1<=(0|(Tj=q[a+8>>2])))for(Rj=q[a+12>>2],Sj=q[a+20>>2];u[(Qj=zj<<2)+Rj>>2]=u[vj+Qj>>2]*u[Qj+Sj>>2],(0|(zj=zj+1|0))<(0|Tj););if(!((0|(zj=q[a>>2]))<1))if(Tj=q[a+4>>2],yj)for(Qj=vj=0;;){if(q[yj>>2]){if((0|(zj=q[(Rj=vj<<2)+q[a+16>>2]>>2]))<1)Aj=x(0);else for(Sj=zj+Qj|0,Uj=q[a+12>>2],Aj=x(0),zj=Qj;Aj=x(Aj+u[Uj+(zj<<2)>>2]),(0|(zj=zj+1|0))<(0|Sj););zj=xj+Rj|0,Aj=x(Aj+x(.0010000000474974513)),Rj=x(y(Aj))>2]=Rj,zj=q[a>>2]}if(yj=yj+4|0,Qj=q[Tj+(vj<<2)>>2]+Qj|0,!((0|(vj=vj+1|0))<(0|zj)))break}else for(Rj=q[a+16>>2],vj=yj=0;;){if((0|(zj=q[(Qj=yj<<2)+Rj>>2]))<=0)Aj=x(0);else for(Sj=vj+zj|0,Uj=q[a+12>>2],Aj=x(0),zj=vj;Aj=x(Aj+u[Uj+(zj<<2)>>2]),(0|(zj=zj+1|0))<(0|Sj););if(zj=xj+Qj|0,Aj=x(Aj+x(.0010000000474974513)),Sj=x(y(Aj))>2]=Sj,vj=q[Qj+Tj>>2]+vj|0,!((0|(yj=yj+1|0))>2]))break}},n[8]=function(a,vj,xj,yj,zj,Aj){a|=0,vj|=0,xj|=0,yj|=0,zj|=0,Aj|=0;var Oj,Pj,Bj=0,Cj=0,Dj=0,Ej=0,Fj=0,Gj=0,Hj=0,Ij=0,Kj=0,Lj=0,Mj=x(0),Nj=0,Jj=q[a>>2];if(!((0|Jj)<1))if(Oj=zj<<2,Pj=q[a+4>>2],Aj)for(;;){if(q[Aj>>2]&&(Dj=q[(Bj=Ej<<2)+q[a+16>>2]>>2],Hj=q[xj+Bj>>2],Cj=q[yj+Bj>>2],(Bj=(0|(Ij=w(Cj,zj)))<1)||ca(Hj,0,w(Cj,Oj)),!(Bj|(0|Dj)<1)))for(Kj=Dj+Gj|0,Lj=q[a+20>>2],Bj=Gj;;){for(Mj=u[(Cj=Bj<<2)+Lj>>2],Nj=q[vj+Cj>>2],Fj=0;u[(Cj=(Dj=Fj<<2)+Hj|0)>>2]=u[Cj>>2]+x(Mj*u[Dj+Nj>>2]),(0|Ij)!=(0|(Fj=Fj+1|0)););if(!((0|(Bj=Bj+1|0))<(0|Kj)))break}if(Aj=Aj+4|0,Gj=q[(Ej<<2)+Pj>>2]+Gj|0,!((0|(Ej=Ej+1|0))<(0|Jj)))break}else for(Aj=0;;){if(Dj=q[(Ej=Aj<<2)+q[a+16>>2]>>2],Hj=q[xj+Ej>>2],Cj=q[yj+Ej>>2],(Bj=(0|(Ij=w(Cj,zj)))<1)||ca(Hj,0,w(Cj,Oj)),!(Bj|(0|Dj)<=0))for(Kj=Dj+Gj|0,Lj=q[a+20>>2],Bj=Gj;;){for(Mj=u[(Cj=Bj<<2)+Lj>>2],Nj=q[vj+Cj>>2],Fj=0;u[(Cj=(Dj=Fj<<2)+Hj|0)>>2]=u[Cj>>2]+x(Mj*u[Dj+Nj>>2]),(0|Ij)!=(0|(Fj=Fj+1|0)););if(!((0|(Bj=Bj+1|0))<(0|Kj)))break}if(Gj=q[Ej+Pj>>2]+Gj|0,!((0|(Aj=Aj+1|0))<(0|Jj)))break}},n[9]=function(a){var Me,Ne,Oe,Ie=0,Je=0,Ke=0,Le=0;if(!(q[(a|=0)+648>>2]||(0|(Ie=q[a+332>>2]))<1))for(Ne=(Je=q[a+336>>2])+w(Ie,20)|0,Ie=q[a+424>>2],Le=q[a+444>>2];;){if(q[Ie>>2]&&!((0|(Ke=q[Je+16>>2]))<(a=1)))for(Ke<<=1,Oe=q[Le>>2];u[(Me=(a<<2)+Oe|0)>>2]=-u[Me>>2],(0|(a=a+2|0))<(0|Ke););if(Le=Le+4|0,Ie=Ie+4|0,!((Je=Je+20|0)>>>0>>0))break}},n[10]=function(a,Sm,un){var wn;return $(wn=q[20+(a|=0)>>2],Sm|=0,Sm=(un|=0)>>>0<(Sm=q[a+16>>2]-wn|0)>>>0?un:Sm),q[a+20>>2]=Sm+q[a+20>>2],0|un},n[11]=function(a,Il,Rm,Sm,Tm,Um){a|=0,Il=+Il,Rm|=0,Sm|=0,Tm|=0,Um|=0;var fn,qn,Zm,kn,Vm=0,Wm=0,Xm=0,Ym=0,_m=0,$m=0,an=0,bn=0,cn=0,dn=0,en=0,gn=0,hn=0,jn=0,mn=0;if(q[44+(L=Zm=L-560|0)>>2]=0,h(+Il),Vm=0|b[1],qn=4294967295>>0?0:1,kn=(0|Vm)<-1||(0|Vm)<=-1&&qn?(h(Il=-Il),Vm=0|b[1],b[0],jn=1,3840):2048&Tm?(jn=1,3843):(jn=1&Tm)?3846:3841,2146435072==(2146435072&Vm))_(a,32,Rm,$m=jn+3|0,-65537&Tm),Z(a,kn,jn),Sm=Um>>>5&1,Z(a,Il!=Il?Sm?3867:3871:Sm?3859:3863,3);else if(Il=function Ja(a,ic){var kc,lc,jc=0;if(h(+a),jc=0|b[1],kc=0|b[0],2047!=(0|(jc=(lc=jc)>>>20&2047))){if(!jc)return jc=ic,ic=0==a?0:(a=Ja(0x10000000000000000*a,ic),q[ic>>2]+-64|0),q[jc>>2]=ic,a;q[ic>>2]=jc+-1022,f(0,0|kc),f(1,-2146435073&lc|1071644672),a=+g()}return a}(Il,44+Zm|0),0!=(Il+=Il)&&(q[44+Zm>>2]=q[44+Zm>>2]+-1),fn=16+Zm|0,97==(0|(qn=32|Um))){if(en=(dn=32&Um)?9+kn|0:kn,!(11>>0)&&(Vm=12-Sm|0)){for(gn=8;gn*=16,Vm=Vm+-1|0;);Il=45==r[0|en]?-(gn+(-Il-gn)):Il+gn-gn}for((0|fn)==(0|(Vm=ga((Xm=(Vm=q[44+Zm>>2])>>31)^Vm+Xm,0,fn)))&&(o[15+Zm|0]=48,Vm=15+Zm|0),_m=2|jn,Xm=q[44+Zm>>2],o[0|(cn=Vm+-2|0)]=Um+15,o[Vm+-1|0]=(0|Xm)<0?45:43,Vm=8&Tm,Wm=16+Zm|0;Um=Wm,bn=dn,Xm=y(Il)<2147483648?~~Il:-2147483648,o[0|Wm]=bn|r[Xm+3824|0],1!=((Wm=Um+1|0)-(16+Zm|0)|0)|(0==(Il=16*(Il-(0|Xm)))?!(Vm|0<(0|Sm)):0)||(o[Um+1|0]=46,Wm=Um+2|0),0!=Il;);_(a,32,Rm,$m=(Um=!Sm|(0|Sm)<=((Wm-Zm|0)-18|0)?((fn-(16+Zm|0)|0)-cn|0)+Wm|0:2+((Sm+fn|0)-cn|0)|0)+_m|0,Tm),Z(a,en,_m),_(a,48,Rm,$m,65536^Tm),Z(a,16+Zm|0,Sm=Wm-(16+Zm|0)|0),_(a,48,Um-((Vm=Sm)+(Sm=fn-cn|0)|0)|0,0,0),Z(a,cn,Sm)}else{for(Vm=(0|Sm)<0,0==Il?Ym=q[44+Zm>>2]:(Ym=q[44+Zm>>2]+-28|0,q[44+Zm>>2]=Ym,Il*=268435456),an=Vm?6:Sm,Xm=dn=(0|Ym)<0?48+Zm|0:336+Zm|0;Xm=(Sm=Xm)+4|0,0!=(Il=1e9*(Il-((q[Sm>>2]=Vm=Il<4294967296&0<=Il?~~Il>>>0:0)>>>0))););if((0|Ym)<1)Vm=Xm,Wm=dn;else for(Wm=dn;;){if(cn=(0|Ym)<29?Ym:29,!((Vm=Xm+-4|0)>>>0>>0)){for(Sm=cn,bn=0;mn=bn,bn=q[(en=Vm)>>2],_m=31&Sm,_m=32<=(63&Sm)>>>($m=0)?(Ym=bn<<_m,0):(Ym=(1<<_m)-1&bn>>>32-_m,bn<<_m),$m=Ym+$m|0,$m=(bn=mn+_m|0)>>>0<_m>>>0?$m+1|0:$m,mn=en,en=ad(bn=bd(_m=bn,$m,1e9),M,1e9),q[mn>>2]=_m-en,Wm>>>0<=(Vm=Vm+-4|0)>>>0;);(Sm=bn)&&(q[(Wm=Wm+-4|0)>>2]=Sm)}for(;Wm>>>0<(Vm=Xm)>>>0&&!q[(Xm=Vm+-4|0)>>2];);if(Ym=q[44+Zm>>2]-cn|0,Xm=Vm,!(0<(0|(q[44+Zm>>2]=Ym))))break}if((0|Ym)<=-1)for(hn=1+((an+25|0)/9|0)|0,cn=102==(0|qn);;){if(bn=(0|Ym)<-9?9:0-Ym|0,Vm>>>0<=Wm>>>0)Wm=q[Wm>>2]?Wm:Wm+4|0;else{for(en=1e9>>>bn,_m=-1<>2],q[Xm>>2]=(Sm>>>bn)+Ym,Ym=w(en,Sm&_m),(Xm=Xm+4|0)>>>0>>0;);Wm=q[Wm>>2]?Wm:Wm+4|0,Ym&&(q[Vm>>2]=Ym,Vm=Vm+4|0)}if(Ym=bn+q[44+Zm>>2]|0,Vm=(0|hn)>2?Sm+(hn<<2)|0:Vm,!((0|(q[44+Zm>>2]=Ym))<0))break}if(!(Vm>>>(Xm=0)<=Wm>>>0||(Xm=w(dn-Wm>>2,9),(Sm=q[Wm>>2])>>>0<(Ym=10))))for(;Xm=Xm+1|0,(Ym=w(Ym,10))>>>0<=Sm>>>0;);if((0|(Sm=(an-(102==(0|qn)?0:Xm)|0)-(103==(0|qn)&0!=(0|an))|0))<(w(Vm-dn>>2,9)+-9|0)){if($m=(dn+((Sm=(0|(_m=Sm+9216|0))/9|0)<<2)|0)-4092|0,Ym=10,(0|(Sm=1+(_m-w(Sm,9)|0)|0))<=8)for(;Ym=w(Ym,10),9!=(0|(Sm=Sm+1|0)););if(hn=$m+4|0,((cn=(en=q[$m>>2])-w(Ym,_m=(en>>>0)/(Ym>>>0)|0)|0)||(0|hn)!=(0|Vm))&&(gn=cn>>>0<(Sm=Ym>>>1)>>>0?.5:(0|Vm)==(0|hn)&&(0|Sm)==(0|cn)?1:1.5,Il=1&_m?9007199254740994:9007199254740992,!jn|45!=r[0|kn]||(gn=-gn,Il=-Il),q[$m>>2]=Sm=en-cn|0,Il+gn!=Il)){if(1e9<=(q[$m>>2]=Sm=Sm+Ym|0)>>>0)for(;($m=$m+-4|(q[$m>>2]=0))>>>0>>0&&(q[(Wm=Wm+-4|0)>>2]=0),Sm=q[$m>>2]+1|0,999999999<(q[$m>>2]=Sm)>>>0;);if(Xm=w(dn-Wm>>2,9),!((Sm=q[Wm>>2])>>>0<(Ym=10)))for(;Xm=Xm+1|0,(Ym=w(Ym,10))>>>0<=Sm>>>0;);}Vm=(Sm=$m+4|0)>>>0>>0?Sm:Vm}j:{for(;;){if((cn=Vm)>>>(en=0)<=Wm>>>0)break j;if(q[(Vm=cn+-4|0)>>2])break}en=1}if(103!=(0|qn))_m=8&Tm;else if(an=((Sm=(0|Xm)<(0|(Vm=an||1))&-5<(0|Xm))?-1^Xm:-1)+Vm|0,Um=(Sm?-1:-2)+Um|0,!(_m=8&Tm)){if(Vm=9,en&&(_m=q[cn+-4>>2])&&!((_m>>>(Vm=0))%(Sm=10)))for(;Vm=Vm+1|0,!((_m>>>0)%((Sm=w(Sm,10))>>>0)););Sm=w(cn-dn>>2,9)+-9|0,an=102==(32|Um)?((_m=0)|an)<(0|(Sm=0<(0|(Sm=Sm-Vm|0))?Sm:0))?an:Sm:((_m=0)|an)<(0|(Sm=0<(0|(Sm=(Sm+Xm|0)-Vm|0))?Sm:0))?an:Sm}if($m=0!=(0|(Ym=an|_m)),Sm=a,mn=Rm,Vm=0<(0|Xm)?Xm:0,102!=(0|(bn=32|Um))){if((fn-(Vm=ga((Vm=Xm>>31)+Xm^Vm,0,fn))|0)<=1)for(;o[0|(Vm=Vm+-1|0)]=48,(fn-Vm|0)<2;);o[0|(hn=Vm+-2|0)]=Um,o[Vm+-1|0]=(0|Xm)<0?45:43,Vm=fn-hn|0}if(_(Sm,32,mn,$m=1+(Vm+($m+(an+jn|0)|0)|0)|0,Tm),Z(a,kn,jn),_(a,48,Rm,$m,65536^Tm),102==(0|bn)){for(Sm=16+Zm|8,Xm=16+Zm|9,Wm=Um=dn>>>0>>0?dn:Wm;;){if(Vm=ga(q[Wm>>2],0,Xm),(0|Um)!=(0|Wm)){if(!(Vm>>>0<=16+Zm>>>0))for(;o[0|(Vm=Vm+-1|0)]=48,16+Zm>>>0>>0;);}else(0|Vm)==(0|Xm)&&(o[24+Zm|0]=48,Vm=Sm);if(Z(a,Vm,Xm-Vm|0),!((Wm=Wm+4|0)>>>0<=dn>>>0))break}Ym&&Z(a,3875,1);p:if(!((0|an)<1|cn>>>0<=Wm>>>0))for(;;){if(16+Zm>>>0<(Vm=ga(q[Wm>>2],0,Xm))>>>0)for(;o[0|(Vm=Vm+-1|0)]=48,16+Zm>>>0>>0;);if(Z(a,Vm,(0|an)<9?an:9),an=an+-9|0,cn>>>0<=(Wm=Wm+4|0)>>>0)break p;if(!(0<(0|an)))break}_(a,48,an+9|0,9,0)}else{q:if(!((0|an)<0))for(Um=en?cn:Wm+4|0,Sm=16+Zm|8,dn=16+Zm|9,Xm=Wm;;){if((0|dn)==(0|(Vm=ga(q[Xm>>2],0,dn)))&&(o[24+Zm|0]=48,Vm=Sm),(0|Wm)!=(0|Xm)){if(!(Vm>>>0<=16+Zm>>>0))for(;o[0|(Vm=Vm+-1|0)]=48,16+Zm>>>0>>0;);}else Z(a,Vm,1),Vm=Vm+1|0,(0|an)<1&&!_m||Z(a,3875,1);if(Z(a,bn=Vm,(0|(Vm=dn-Vm|0))<(0|an)?Vm:an),an=an-Vm|0,Um>>>0<=(Xm=Xm+4|0)>>>0)break q;if(!(-1<(0|an)))break}_(a,48,an+18|0,18,0),Z(a,hn,fn-hn|0)}}return _(a,32,Rm,$m,8192^Tm),L=560+Zm|0,0|((0|$m)<(0|Rm)?Rm:$m)},n[12]=function(a,Il){a|=0;var tm=Il|=0;Il=q[Il>>2]+15&-16,q[tm>>2]=Il+16,tm=a,a=function(a,Il,Jl,tm){var zm,wm,um=0,vm=0,xm=0,ym=0;return L=wm=L-32|0,um=(ym=um=2147483647&tm)-1006698496|0,vm=um=(zm=vm=xm=Jl)>>>0<0?um+1|0:um,um=ym-1140785152|0,(0|(um=xm>>>0<0?um+1|0:um))==(0|vm)&zm>>>0>>0|vm>>>0>>0?(um=tm<<4|Jl>>>28,Jl=Jl<<4|Il>>>28,134217728==(0|(xm=Il&=268435455))&1<=a>>>0|134217728>>0?(um=um+1073741824|0,(a=Jl+1|0)>>>0<1&&(um=um+1|0),vm=a):(um=um-(((vm=Jl)>>>0<0)+-1073741824|0)|0,a|134217728^xm||((a=vm+(1&vm)|0)>>>0>>0&&(um=um+1|0),vm=a))):(!xm&2147418112==(0|ym)?!(a|Il):2147418112==(0|ym)&xm>>>0<0|ym>>>0<2147418112)?(um=2146435072,1140785151==((vm=0)|ym)&4294967295>>0|1140785151>>0||(xm=ym>>>16)>>>(um=0)<15249||(function(a,Il,Jl,tm,Bm,Cm){var Jm,Km,Hm=0,Im=0;64&Cm?(Il=31&(Jl=Cm-64|0),Il=32<=(63&Jl)>>>0?(Jl=0,Bm>>>Il):(Jl=Bm>>>Il,((1<>>Il),Bm=tm=0):Cm&&(Im=Bm,Hm=31&(Km=64-Cm|0),Km=32<=(63&Km)>>>0?(Im=tm<>>32-Hm|Im<>>0?(Hm=0,Jl>>>Il):(Hm=Jl>>>Il,((1<>>Il),Il|=Km,Jl=Hm|Im,Hm=tm,tm=31&Cm,tm=32<=(63&Cm)>>>0?(Im=0,Bm>>>tm):(Im=Bm>>>tm,((1<>>tm),Bm=Im),q[a>>2]=Il,q[4+a>>2]=Jl,q[8+a>>2]=tm,q[12+a>>2]=Bm}(wm,a,Il,Jl,um=65535&tm|65536,15361-xm|0),function(a,Il,Jl,tm,Bm,Cm){var Fm,Dm,Em=0;64&Cm?(tm=Il,Il=31&(Bm=Cm+-64|0),32<=(63&Bm)>>>0?(Bm=tm<>>32-Il|Jl<>>0?(Em=Dm<>>32-tm|Bm<>>0?(Cm=0,tm>>>=Bm):(Cm=tm>>>Bm,tm=((1<>>Bm),tm|=Dm,Bm=Cm|Em,Cm=Il,Il=31&Fm,Il=32<=(63&Fm)>>>0?(Em=Cm<>>32-Il|Jl<>2]=Il,q[4+a>>2]=Jl,q[8+a>>2]=tm,q[12+a>>2]=Bm}(16+wm|0,a,Il,Jl,um,xm+-15233|0),Jl=q[4+wm>>2],a=q[8+wm>>2],um=q[12+wm>>2]<<4|a>>>28,vm=a<<4|Jl>>>28,134217728==(0|(Jl=a=268435455&Jl))&1<=(Il=q[wm>>2]|(0!=(q[16+wm>>2]|q[24+wm>>2])|0!=(q[20+wm>>2]|q[28+wm>>2])))>>>0|134217728>>0?((a=vm+1|0)>>>0<1&&(um=um+1|0),vm=a):Il|134217728^Jl||((a=vm+(1&vm)|0)>>>0>>0&&(um=um+1|0),vm=a))):(vm=Jl<<4|Il>>>28,um=524287&(um=tm<<4|Jl>>>28)|2146959360),L=32+wm|0,f(0,0|vm),f(1,-2147483648&tm|um),+g()}(q[Il>>2],q[Il+4>>2],q[Il+8>>2],q[Il+12>>2]),v[tm>>3]=a},n[13]=function(a){return 0},n[14]=function(a,Il,tm){Il|=0,tm|=0;var Om,Cm,Bm=0,Lm=0,Mm=0,Nm=0;for(L=Cm=L-32|0,Bm=q[28+(a|=0)>>2],q[16+Cm>>2]=Bm,Mm=q[a+20>>2],q[28+Cm>>2]=tm,q[24+Cm>>2]=Il,Mm=(q[20+Cm>>2]=Il=Mm-Bm|0)+tm|0,Nm=2,Il=16+Cm|0;;){a:{if((Lm=(Bm=0)|K(q[a+60>>2],0|Il,0|Nm,12+Cm|0))&&(q[2086]=Lm,Bm=-1),(0|(Bm=Bm?q[12+Cm>>2]=-1:q[12+Cm>>2]))==(0|Mm))Il=q[a+44>>2],q[a+28>>2]=Il,q[a+20>>2]=Il,q[a+16>>2]=Il+q[a+48>>2],a=tm;else{if(-1<(0|Bm))break a;q[a+28>>2]=0,q[a+16>>2]=0,q[a+20>>2]=0,q[a>>2]=32|q[a>>2],2!=((a=0)|Nm)&&(a=tm-q[Il+4>>2]|0)}return L=32+Cm|0,0|a}Lm=q[Il+4>>2],q[(Il=(Om=Lm>>>0>>0)?Il+8|0:Il)>>2]=(Lm=Bm-(Om?Lm:0)|0)+q[Il>>2],q[Il+4>>2]=q[Il+4>>2]-Lm,Mm=Mm-Bm|0,Nm=Nm-Om|0}},n[15]=function(a,Il,tm,Bm){return M=0},{d:function(){},e:function(){return 83886080},f:function(){return 5},g:function(a,vj){return vj|=0,L=vj=L-16|0,a=(a|=0)?sa(a)?(Y(4,2150,0),0):r[a+4|0]:(q[vj+4>>2]=1444,q[vj>>2]=2267,Y(4,1294,vj),0),L=vj+16|0,0|a},h:function(a,vj){var wj;return vj|=0,L=wj=L-48|0,a=(a|=0)?(a+63&-64)!=(0|a)?(q[36+wj>>2]=1522,q[32+wj>>2]=2284,Y(4,1294,32+wj|0),0):(vj+63&-64)==(0|vj)&&vj?function(a,Vk){var pl,Wk=0,Xk=0,Yk=0,Zk=0,_k=0,$k=0,al=0,bl=0,cl=0,dl=0,el=0,fl=0,gl=0,hl=0,il=0,jl=0,kl=0,ll=0,ml=0,nl=0,ol=0;L=_k=(pl=Xk=L)-704&-64;a:if(Vk>>>0<=1343)Y(4,1235,0);else if(sa(a))Y(4,1469,0);else if(Xk=r[0|(nl=a+4|0)]){if(!(6<=Xk>>>0)){(jl=1==(0|!r[a+5|0]))||(da(nl,1),X(a- -64|0,4,160)),ca(_k- -64|0,0,640),na(a,_k- -64|0),Xk=a+Vk|0,Vk=q[_k+64>>2];b:{c:{d:{if(5<=(il=r[a+4|0])>>>0){if(Vk>>>0>>0|Xk>>>0>>0)break c;if((Zk=Vk+256|0)>>>0>>0)break c;if(Zk>>>0<=Xk>>>0)break d;break c}if(Vk>>>0>>0|Xk>>>0>>0)break c;if((Zk=Vk+128|0)>>>0>>0|Xk>>>0>>0)break c}if(!((Yk=q[_k+68>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Yk=Yk- -64|0)>>>0>>0|Xk>>>0>>0||(0|(dl=q[Vk>>2]))<0||(Zk=q[_k+72>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=(Wk=Zk)+(Zk=dl<<2)|0)>>>0>>0|Xk>>>0>>0||(al=q[_k+76>>2])>>>0>>0|Xk>>>0>>0|al>>>0>>0||(Wk=(dl<<6)+al|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+80>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+84>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+88>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+92>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+96>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+100>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Yk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(0|(Wk=q[Vk+4>>2]))<0||(Zk=q[_k+104>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||($k=(Yk=Zk)+(Zk=Wk<<2)|0)>>>0>>0|Xk>>>0<$k>>>0||(Yk=q[_k+108>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0<$k>>>0||(Wk=Yk+(Wk<<6)|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+112>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+116>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+120>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+124>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+128>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+132>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+136>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Yk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(0|(Wk=q[Vk+8>>2]))<0||(Zk=q[_k+140>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=(el=Wk<<2)+Zk|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+144>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Zk+el|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+148>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Zk+el|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+156>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Zk+el|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+160>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Zk+el|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+164>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Zk+el|0)>>>0>>0|Xk>>>0>>0||(0|(Wk=q[Vk+12>>2]))<0||(Zk=q[_k+172>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=(fl=Wk<<2)+Zk|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+176>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Zk+fl|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+180>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Zk+fl|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+188>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Wk=Zk+fl|0)>>>0>>0|Xk>>>0>>0||(0|(Yk=q[Vk+16>>2]))<0||(Zk=q[_k+192>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||($k=(Wk=Zk)+(Zk=Yk<<2)|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+196>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Zk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+200>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Zk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+204>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Zk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+208>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+(Yk<<6)|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+212>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Zk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+216>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Zk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+220>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Zk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+228>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Zk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+232>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Zk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+236>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Zk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+240>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Zk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+244>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Zk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+248>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||(Wk=Wk+Yk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+252>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+256>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+260>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+264>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+268>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Yk=q[_k+272>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(0|($k=q[Vk+20>>2]))<0||(Yk=q[_k+276>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0||(gl=(Wk=Yk)+(Yk=$k<<2)|0)>>>0>>0|Xk>>>0>>0||(Wk=q[_k+280>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||($k=Wk+($k<<6)|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+284>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Yk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+288>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Yk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+292>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Yk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+296>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Yk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+300>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Yk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+308>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Yk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+312>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+Yk|0)>>>0>>0|Xk>>>0<$k>>>0||(0|(gl=q[Vk+24>>2]))<0||(Wk=q[_k+336>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+(gl<<2)|0)>>>0>>0|Xk>>>0<$k>>>0||(0|(gl=q[Vk+28>>2]))<0||(Wk=q[_k+340>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=(ll=gl<<2)+Wk|0)>>>0>>0|Xk>>>0<$k>>>0||(Wk=q[_k+344>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||($k=Wk+ll|0)>>>0>>0|Xk>>>0<$k>>>0||(0|(gl=q[Vk+32>>2]))<0||(Wk=q[_k+356>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0<$k>>>0||(gl=($k=gl<<2)+Wk|0)>>>0>>0|Xk>>>0>>0||(Wk=q[_k+360>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(gl=Wk+$k|0)>>>0>>0|Xk>>>0>>0||(Wk=q[_k+364>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(gl=Wk+$k|0)>>>0>>0|Xk>>>0>>0||(Wk=q[_k+368>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(gl=Wk+$k|0)>>>0>>0|Xk>>>0>>0||(Wk=q[_k+372>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(gl=Wk+$k|0)>>>0>>0|Xk>>>0>>0||(Wk=q[_k+376>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(gl=Wk+$k|0)>>>0>>0|Xk>>>0>>0||(Wk=q[_k+380>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(gl=Wk+$k|0)>>>0>>0|Xk>>>0>>0||(0|(bl=q[Vk+36>>2]))<0||(Wk=q[_k+392>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=(gl=bl<<2)+Wk|0)>>>0>>0|Xk>>>0>>0||(Wk=q[_k+396>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=Wk+gl|0)>>>0>>0|Xk>>>0>>0||(Wk=q[_k+400>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=Wk+gl|0)>>>0>>0|Xk>>>0>>0||(0|(cl=q[Vk+40>>2]))<0||(Wk=q[_k+412>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=Wk+(cl<<2)|0)>>>0>>0|Xk>>>0>>0||(0|(cl=q[Vk+44>>2]))<0||(Wk=q[_k+424>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=Wk+(cl<<2)|0)>>>0>>0|Xk>>>0>>0||(0|(cl=q[Vk+48>>2]))<0||(Wk=q[_k+428>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=(cl<<=2)+Wk|0)>>>0>>0|Xk>>>0>>0||(Wk=q[_k+432>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=Wk+cl|0)>>>0>>0|Xk>>>0>>0||(0|(cl=q[Vk+52>>2]))<0||(Wk=q[_k+416>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=(cl<<=2)+Wk|0)>>>0>>0|Xk>>>0>>0||(Wk=q[_k+420>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=Wk+cl|0)>>>0>>0|Xk>>>0>>0||(0|(cl=q[Vk+56>>2]))<0||(Wk=q[_k+552>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=Wk+(cl<<2)|0)>>>0>>0|Xk>>>0>>0||(0|(cl=q[Vk+60>>2]))<0||(Wk=q[_k+556>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=Wk+(cl<<2)|0)>>>0>>0|Xk>>>0>>0||(0|(cl=q[Vk+64>>2]))<0||(Wk=q[_k+560>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=Wk+(cl<<1)|0)>>>0>>0|Xk>>>0>>0||(0|(cl=q[Vk+68>>2]))<0||(Wk=q[_k+564>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=Wk+(cl<<2)|0)>>>0>>0|Xk>>>0>>0||(0|(cl=q[Vk+72>>2]))<0||(Wk=q[_k+568>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(cl=(bl=Wk)+(Wk=cl<<2)|0)>>>0>>0|Xk>>>0>>0||(bl=q[_k+572>>2])>>>0>>0|Xk>>>0>>0|bl>>>0>>0||(cl=Wk+bl|0)>>>0>>0|Xk>>>0>>0||(bl=q[_k+576>>2])>>>0>>0|Xk>>>0>>0|bl>>>0>>0||(cl=Wk+bl|0)>>>0>>0|Xk>>>0>>0||(bl=q[_k+580>>2])>>>0>>0|Xk>>>0>>0|bl>>>0>>0||(cl=Wk+bl|0)>>>0>>0|Xk>>>0>>0||(bl=q[_k+584>>2])>>>0>>0|Xk>>>0>>0|bl>>>0>>0||(bl=Wk+bl|0)>>>0>>0|Xk>>>0>>0||(0|(cl=q[Vk+76>>2]))<0||(Wk=q[_k+588>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(cl=(bl=cl<<2)+Wk|0)>>>0>>0|Xk>>>0>>0||(Wk=q[_k+592>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(cl=Wk+bl|0)>>>0>>0|Xk>>>0>>0||(Wk=q[_k+596>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=Wk+bl|0)>>>0>>0|Xk>>>0>>0||(0|(cl=q[Vk+80>>2]))<0||(Wk=q[_k+600>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(hl=(bl=Wk)+(Wk=cl<<2)|0)>>>0>>0|Xk>>>0>>0||(bl=q[_k+604>>2])>>>0>>0|Xk>>>0>>0|bl>>>0>>0||(cl=bl+(cl<<6)|0)>>>0>>0|Xk>>>0>>0||(bl=q[_k+608>>2])>>>0>>0|Xk>>>0>>0|bl>>>0>>0||(cl=Wk+bl|0)>>>0>>0|Xk>>>0>>0||(bl=q[_k+612>>2])>>>0>>0|Xk>>>0>>0|bl>>>0>>0||(cl=Wk+bl|0)>>>0>>0|Xk>>>0>>0||(bl=q[_k+616>>2])>>>0>>0|Xk>>>0>>0|bl>>>0>>0||(cl=Wk+bl|0)>>>0>>0|Xk>>>0>>0||(bl=q[_k+620>>2])>>>0>>0|Xk>>>0>>0|bl>>>0>>0||(cl=Wk+bl|0)>>>0>>0|Xk>>>0>>0||(bl=q[_k+624>>2])>>>0>>0|Xk>>>0>>0|bl>>>0>>0||(cl=Wk+bl|0)>>>0>>0|Xk>>>0>>0||(bl=q[_k+628>>2])>>>0>>0|Xk>>>0>>0|bl>>>0>>0||(cl=Wk+bl|0)>>>0>>0|Xk>>>0>>0||(bl=q[_k+632>>2])>>>0>>0|Xk>>>0>>0|bl>>>0>>0||(bl=Wk+bl|0)>>>0>>0|Xk>>>0>>0||(0|(cl=q[Vk+84>>2]))<0||(Wk=q[_k+636>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=Wk+(cl<<2)|0)>>>0>>0|Xk>>>0>>0||(Wk=q[_k+640>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(bl=Wk+(cl<<1)|0)>>>0>>0|Xk>>>0>>0||(0|(cl=q[Vk+88>>2]))<0||(Wk=q[_k+644>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0||(Wk=Wk+(cl<<2)|0)>>>0>>0|Xk>>>0>>0)){if(!(il>>>0<2)){if((bl=q[_k+168>>2])>>>0>>0|Xk>>>0>>0|bl>>>0>>0)break c;if((Wk=bl+el|0)>>>0>>0|Xk>>>0>>0)break c;if(!(il>>>0<4)){if((bl=q[_k+324>>2])>>>0>>0|Xk>>>0>>0|bl>>>0>>0)break c;if((bl=Yk+bl|0)>>>0>>0|Xk>>>0>>0)break c;if((Wk=q[_k+328>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0)break c;if((bl=Wk+Yk|0)>>>0>>0|Xk>>>0>>0)break c;if((Wk=q[_k+332>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0)break c;if((bl=Wk+Yk|0)>>>0>>0|Xk>>>0>>0)break c;if((Wk=q[_k+152>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0)break c;if((el=Wk+el|0)>>>0>>0|Xk>>>0>>0)break c;if((Wk=q[_k+184>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0)break c;if((el=Wk+fl|0)>>>0>>0|Xk>>>0>>0)break c;if((Wk=q[_k+224>>2])>>>0>>0|Xk>>>0>>0|Wk>>>0>>0)break c;if((Wk=Wk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((0|(el=q[Vk+92>>2]))<0)break c;if((Zk=q[_k+648>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((el=(Wk=el<<2)+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+652>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((el=Wk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+656>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Wk=Wk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((0|(el=q[Vk+96>>2]))<0)break c;if((Zk=q[_k+660>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((el=(Wk=el<<2)+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+664>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((el=Wk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+668>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Wk=Wk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+304>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+316>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+320>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Yk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((0|(Wk=q[Vk+100>>2]))<0)break c;if((Zk=q[_k+436>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Wk=(Yk=Wk<<2)+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+440>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+444>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Yk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((0|(Wk=q[Vk+104>>2]))<0)break c;if((Zk=q[_k+448>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Wk=(Yk=Zk)+(Zk=Wk<<2)|0)>>>0>>0|Xk>>>0>>0)break c;if((Yk=q[_k+452>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0)break c;if((Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Yk=q[_k+456>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0)break c;if((Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Yk=q[_k+460>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0)break c;if((Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Yk=q[_k+464>>2])>>>0>>0|Xk>>>0>>0|Yk>>>0>>0)break c;if((Yk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((0|(Wk=q[Vk+108>>2]))<0)break c;if((Zk=q[_k+480>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Wk=(Yk=Wk<<2)+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+484>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+488>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Yk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((0|(Wk=q[Vk+112>>2]))<0)break c;if((Zk=q[_k+504>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Wk=(Yk=Wk<<2)+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+508>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+512>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Yk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((0|(Wk=q[Vk+116>>2]))<0)break c;if((Zk=q[_k+528>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Yk=Zk+(Wk<<2)|0)>>>0>>0|Xk>>>0>>0)break c;if((0|(Wk=q[Vk+120>>2]))<0)break c;if((Zk=q[_k+532>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Wk=(Yk=Wk<<2)+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+536>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+540>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Yk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((0|(Wk=q[Vk+124>>2]))<0)break c;if((Zk=q[_k+544>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Yk=(Wk<<=2)+Zk|0)>>>0>>0|Xk>>>0>>0)break c;if((Zk=q[_k+548>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0)break c;if((Wk=Wk+Zk|0)>>>0>>0|Xk>>>0>>0)break c}}if(il>>>0<5)break b;if(!((Zk=q[_k+348>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Zk+ll|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+352>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Zk+ll|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+384>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Zk+$k|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+388>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Zk+$k|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+404>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Zk+gl|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+408>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Zk+gl|0)>>>0>>0|Xk>>>0>>0||(0|(Wk=q[Vk+128>>2]))<0||(Zk=q[_k+468>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Wk=(Yk=Wk<<2)+Zk|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+472>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+476>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(0|(Wk=q[Vk+132>>2]))<0||(Zk=q[_k+492>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Wk=(Yk=Wk<<2)+Zk|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+496>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+500>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Yk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(0|(Wk=q[Vk+136>>2]))<0||(Zk=q[_k+516>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Wk=(Yk=Wk<<2)+Zk|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+520>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Wk=Yk+Zk|0)>>>0>>0|Xk>>>0>>0||(Zk=q[_k+524>>2])>>>0>>0|Xk>>>0>>0|Zk>>>0>>0||(Zk=Yk+Zk|0)>>>0>>0)&&Zk>>>0<=Xk>>>0)break b}}Y(4,1760,0),da(nl,1),X(a- -64|0,4,160);break a}jl||(ya(a),o[a+5|0]=0,Vk=q[_k+64>>2],dl=q[Vk>>2],al=q[_k+76>>2],il=r[a+4|0]);f:{if((a=0)<(0|dl)){for(;;){if(63>>0)break f;if((0|dl)==(0|(a=a+1|0)))break}if(Wk=Vk+48|0,(Xk=0)<(0|(a=q[Vk>>2]))){for(Zk=q[Vk+48>>2],Yk=q[_k+80>>2];;){if((0|(al=q[Yk+(Xk<<2)>>2]))<0|(0|Zk)<=(0|al))break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(gl=Vk+24|0,Zk=q[Vk+24>>2],$k=q[_k+88>>2],dl=q[_k+84>>2],Xk=0;;){if(Yk=q[(al=Xk<<2)+$k>>2]){if((0|Yk)<0|(0|Zk)<(0|Yk))break f;if((0|(al=q[al+dl>>2]))<0|(0|Zk)<=(0|al))break f;if((Yk=Yk+al|0)>>>31|(0|Zk)<(0|Yk))break f}if((0|a)==(0|(Xk=Xk+1|0)))break}for(Xk=0,Zk=q[_k+92>>2];;){if(1>2])break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Xk=0,Zk=q[_k+96>>2];;){if(1>2])break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Xk=0,Zk=q[_k+100>>2];;){if((0|(Yk=q[Zk+(Xk<<2)>>2]))<-1|(0|a)<=(0|Yk))break f;if((0|a)==(0|(Xk=Xk+1|0)))break}}else gl=Vk+24|0}else gl=Vk+24|0,Wk=Vk+48|0;if((a=0)<(0|(Xk=q[Vk+4>>2]))){for(Zk=q[_k+108>>2];;){if(63>>0)break f;if((0|Xk)==(0|(a=a+1|0)))break}if($k=(Zk=q[Vk+48>>2])+-1|0,!(((Xk=0)|(a=q[Vk+4>>2]))<=0)){for(Yk=q[_k+112>>2];;){if((0|(al=q[Yk+(Xk<<2)>>2]))<0|(0|Zk)<=(0|al))break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Xk=0,Zk=q[_k+116>>2];;){if(1>2])break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Xk=0,Zk=q[_k+120>>2];;){if(1>2])break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Zk=q[Vk>>2],Xk=0,Yk=q[_k+124>>2];;){if((0|(al=q[Yk+(Xk<<2)>>2]))<-1|(0|Zk)<=(0|al))break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Xk=0,Zk=q[_k+128>>2];;){if((0|(Yk=q[Zk+(Xk<<2)>>2]))<-1|(0|a)<=(0|Yk))break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Xk=0,Zk=q[_k+132>>2];;){if(1>2])break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Yk=Vk+8|0,al=Vk+12|0,dl=q[_k+136>>2],Xk=0;;){if(1<(fl=q[(el=Xk<<2)+Zk>>2])>>>0)break f;if((0|(el=q[dl+el>>2]))<0|(0|el)>=q[(fl-1|0?Yk:al)>>2])break f;if((0|a)==(0|(Xk=Xk+1|0)))break}}}else $k=q[Wk>>2]+-1|0;if((a=0)<(0|(Xk=q[Vk+8>>2]))){for(Zk=q[_k+140>>2];;){if((0|(Yk=q[Zk+(a<<2)>>2]))<0|(0|$k)<(0|Yk))break f;if((0|Xk)==(0|(a=a+1|0)))break}for(ll=Vk+28|0,Zk=q[Vk+28>>2],dl=q[_k+148>>2],el=q[_k+144>>2],a=0;;){if(Yk=q[(al=a<<2)+dl>>2]){if((0|Yk)<0|(0|Zk)<(0|Yk))break f;if((0|(al=q[al+el>>2]))<0|(0|Zk)<=(0|al))break f;if((Yk=Yk+al|0)>>>31|(0|Zk)<(0|Yk))break f}if((0|Xk)==(0|(a=a+1|0)))break}for(a=0,Yk=q[_k+156>>2],al=q[_k+164>>2],dl=q[_k+160>>2];;){if((0|(el=q[(Zk=a<<2)+dl>>2]))<1)break f;if((0|(fl=q[Zk+al>>2]))<1)break f;if((0|(Zk=q[Yk+Zk>>2]))<1|(0|Zk)!=(0|w(fl+1|0,el+1|0)))break f;if((0|Xk)==(0|(a=a+1|0)))break}}else ll=Vk+28|0;if((a=0)<(0|(Yk=q[Vk+12>>2]))){for(Xk=q[_k+172>>2];;){if((0|(Zk=q[Xk+(a<<2)>>2]))<0|(0|$k)<(0|Zk))break f;if((0|Yk)==(0|(a=a+1|0)))break}for(bl=Vk+32|0,Xk=q[Vk+32>>2],$k=q[_k+180>>2],dl=q[_k+176>>2],a=0;;){if(Zk=q[(al=a<<2)+$k>>2]){if((0|Zk)<0|(0|Xk)<(0|Zk))break f;if((0|(al=q[al+dl>>2]))<0|(0|Xk)<=(0|al))break f;if((Zk=Zk+al|0)>>>31|(0|Xk)<(0|Zk))break f}if((0|Yk)==(0|(a=a+1|0)))break}}else bl=Vk+32|0;Zk=Vk+16|0;m:{n:{if(!(((a=0)|(Xk=q[Vk+16>>2]))<=0)){for(Yk=q[_k+208>>2];;){if(63>>0)break f;if((0|Xk)==(0|(a=a+1|0)))break}if(!(((Xk=0)|(a=q[Zk>>2]))<=0)){for(Yk=q[Wk>>2],al=q[_k+212>>2];;){if((0|($k=q[al+(Xk<<2)>>2]))<0|(0|Yk)<=(0|$k))break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(nl=Vk+36|0,Yk=q[Vk+36>>2],dl=q[_k+220>>2],el=q[_k+216>>2],Xk=0;;){if(al=q[($k=Xk<<2)+dl>>2]){if((0|al)<0|(0|Yk)<(0|al))break f;if((0|($k=q[$k+el>>2]))<0|(0|Yk)<=(0|$k))break f;if((al=al+$k|0)>>>31|(0|Yk)<(0|al))break f}if((0|a)==(0|(Xk=Xk+1|0)))break}for(Xk=0,Yk=q[_k+228>>2];;){if(1>2])break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Xk=0,Yk=q[_k+232>>2];;){if(1>2])break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Yk=q[Vk>>2],Xk=0,al=q[_k+236>>2];;){if((0|($k=q[al+(Xk<<2)>>2]))<-1|(0|Yk)<=(0|$k))break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Yk=q[Vk+4>>2],Xk=0,al=q[_k+240>>2];;){if((0|($k=q[al+(Xk<<2)>>2]))<-1|(0|Yk)<=(0|$k))break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Yk=q[_k+244>>2],Xk=0;;){if(q[Yk+(Xk<<2)>>2]<0)break f;if((0|a)==(0|(Xk=Xk+1|0)))break}break n}}al=Vk+68|0,nl=Vk+36|0;break m}for(Yk=q[_k+252>>2],Xk=0;;){if(q[Yk+(Xk<<2)>>2]<0)break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(al=q[Vk+60>>2],Xk=0,$k=q[_k+256>>2];;){if((dl=q[(dl=Xk<<2)+$k>>2]+(q[Yk+dl>>2]<<1)|0)>>>31|(0|al)<(0|dl))break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Yk=q[Vk+64>>2],dl=q[_k+264>>2],el=q[_k+260>>2],Xk=0;;){if(al=q[($k=Xk<<2)+dl>>2]){if((0|al)<0|(0|Yk)<(0|al))break f;if((0|($k=q[$k+el>>2]))<0|(0|Yk)<=(0|$k))break f;if((al=al+$k|0)>>>31|(0|Yk)<(0|al))break f}if((0|a)==(0|(Xk=Xk+1|0)))break}for(al=Vk+68|0,Yk=q[Vk+68>>2],el=q[_k+272>>2],fl=q[_k+268>>2],Xk=0;;){if($k=q[(dl=Xk<<2)+el>>2]){if((0|$k)<0|(0|Yk)<(0|$k))break f;if((0|(dl=q[dl+fl>>2]))<0|(0|Yk)<=(0|dl))break f;if(($k=$k+dl|0)>>>31|(0|Yk)<(0|$k))break f}if((0|a)==(0|(Xk=Xk+1|0)))break}}p:{q:{if(!(((a=0)|(Xk=q[Vk+20>>2]))<=0)){for(Yk=q[_k+280>>2];;){if(63>>0)break f;if((0|Xk)==(0|(a=a+1|0)))break}if(!(((a=0)|(Xk=q[Vk+20>>2]))<=0)){for(Yk=q[_k+296>>2];;){if(1>2])break f;if((0|Xk)==(0|(a=a+1|0)))break}for(Yk=q[_k+300>>2],a=0;;){if(q[Yk+(a<<2)>>2]<0)break f;if((0|Xk)==(0|(a=a+1|0)))break}break q}}a=q[Vk+52>>2];break p}for(a=q[Vk+52>>2],el=q[_k+312>>2],fl=q[_k+308>>2],$k=0;;){if(Yk=q[(dl=$k<<2)+el>>2]){if((0|Yk)<0|(0|a)<(0|Yk))break f;if((0|(dl=q[dl+fl>>2]))<0|(0|a)<=(0|dl))break f;if((Yk=Yk+dl|0)>>>31|(0|a)<(0|Yk))break f}if((0|Xk)==(0|($k=$k+1|0)))break}}if(Yk=q[Vk+40>>2],(Xk=0)<(0|($k=q[Vk+8>>2])))for(dl=q[_k+344>>2],el=q[_k+156>>2];;){if((fl=q[(fl=Xk<<2)+dl>>2]+(q[el+fl>>2]<<1)|0)>>>31|(0|Yk)<(0|fl))break f;if((0|$k)==(0|(Xk=Xk+1|0)))break}if((Xk=0)<(0|($k=q[bl>>2]))){for(dl=q[_k+376>>2];;){if(1>2])break f;if((0|$k)==(0|(Xk=Xk+1|0)))break}for(Xk=0,dl=q[_k+380>>2];;){if(1>2])break f;if((0|$k)==(0|(Xk=Xk+1|0)))break}}if((Xk=0)<(0|($k=q[Zk>>2])))for(dl=q[_k+400>>2],el=q[_k+252>>2];;){if((fl=q[(fl=Xk<<2)+dl>>2]+(q[el+fl>>2]<<1)|0)>>>31|(0|Yk)<(0|fl))break f;if((0|$k)==(0|(Xk=Xk+1|0)))break}if((Xk=0)<(0|(Yk=q[Vk+44>>2])))for(dl=q[_k+424>>2];;){if((0|(el=q[dl+(Xk<<2)>>2]))<0|(0|a)<=(0|el))break f;if((0|Yk)==(0|(Xk=Xk+1|0)))break}if(1<=(0|(el=q[Wk>>2])))for(Xk=0,fl=q[_k+432>>2],cl=q[_k+428>>2];;){if(Wk=q[(dl=Xk<<2)+fl>>2]){if((0|Wk)<0|(0|Yk)<(0|Wk))break f;if((0|(dl=q[cl+dl>>2]))<0|(0|Yk)<=(0|dl))break f;if((Wk=Wk+dl|0)>>>31|(0|Yk)<(0|Wk))break f}if((0|el)==(0|(Xk=Xk+1|0)))break}if(1<=(0|a))for(Yk=q[Vk+56>>2],Xk=0,el=q[_k+420>>2],fl=q[_k+416>>2];;){if(Wk=q[(dl=Xk<<2)+el>>2]){if((0|Wk)<0|(0|Yk)<(0|Wk))break f;if((0|(dl=q[dl+fl>>2]))<0|(0|Yk)<=(0|dl))break f;if((Wk=Wk+dl|0)>>>31|(0|Yk)<(0|Wk))break f}if((0|(Xk=Xk+1|0))==(0|a))break}if((a=0)<(0|(Xk=q[al>>2])))for(Yk=q[_k+564>>2];;){if((0|(al=q[Yk+(a<<2)>>2]))<-1|(0|$k)<=(0|al))break f;if((0|Xk)==(0|(a=a+1|0)))break}if(a=q[Vk+76>>2],1<=(0|(al=q[Vk+72>>2])))for(Xk=0,$k=q[_k+572>>2],dl=q[_k+568>>2];;){if(Yk=q[(Wk=Xk<<2)+$k>>2]){if((0|Yk)<0|(0|a)<(0|Yk))break f;if((0|(Wk=q[Wk+dl>>2]))<0|(0|a)<=(0|Wk))break f;if((Yk=Wk+Yk|0)>>>31|(0|a)<(0|Yk))break f}if((0|al)==(0|(Xk=Xk+1|0)))break}if((Xk=0)<(0|a)){for(Yk=q[_k+588>>2];;){if(1>2])break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Wk=q[_k+592>>2],Xk=0;;){if(1<(dl=q[($k=Xk<<2)+Yk>>2])>>>0)break f;if((0|($k=q[Wk+$k>>2]))<0|(0|$k)>=q[(dl-1|0?Zk:Vk)>>2])break f;if((0|a)==(0|(Xk=Xk+1|0)))break}for(Xk=0,Yk=q[_k+596>>2];;){if((0|(Wk=q[Yk+(Xk<<2)>>2]))<-1|(0|al)<=(0|Wk))break f;if((0|a)==(0|(Xk=Xk+1|0)))break}}s:{if(!(((a=0)|($k=q[Vk+80>>2]))<=0)){for(Xk=q[_k+604>>2];;){if(63>>0)break f;if((0|$k)==(0|(a=a+1|0)))break}if(!(((a=0)|($k=q[Vk+80>>2]))<=0)){for(Xk=q[Vk+48>>2],Yk=q[_k+608>>2];;){if((0|(al=q[Yk+(a<<2)>>2]))<0|(0|Xk)<=(0|al))break f;if((0|$k)==(0|(a=a+1|0)))break}for(el=q[Vk+88>>2],al=q[_k+616>>2],Wk=q[_k+612>>2],a=0;;){if(Xk=q[(Yk=a<<2)+al>>2]){if((0|Xk)<0|(0|el)<(0|Xk))break f;if((0|(Yk=q[Wk+Yk>>2]))<0|(0|el)<=(0|Yk))break f;if((Xk=Xk+Yk|0)>>>31|(0|el)<(0|Xk))break f}if((0|$k)==(0|(a=a+1|0)))break}for(Zk=q[Zk>>2],al=q[_k+620>>2],a=0;;){if((0|(Xk=q[al+(a<<2)>>2]))<0|(0|Zk)<=(0|Xk))break f;if((0|$k)==(0|(a=a+1|0)))break}for(Wk=q[_k+624>>2],a=0;;){if((0|(Xk=q[Wk+(a<<2)>>2]))<0|(0|Zk)<=(0|Xk))break f;if((0|$k)==(0|(a=a+1|0)))break}for(Xk=q[Vk+84>>2],dl=q[_k+632>>2],fl=q[_k+628>>2],a=0;;){if(Yk=q[(cl=a<<2)+dl>>2]){if((0|Yk)<0|(0|Xk)<(0|Yk))break f;if((0|(cl=q[cl+fl>>2]))<0|(0|Xk)<=(0|cl))break f;if((Yk=Yk+cl|0)>>>31|(0|Xk)<(0|Yk))break f}if((0|$k)==(0|(a=a+1|0)))break}for(hl=q[_k+640>>2],Xk=q[_k+252>>2],Yk=0;;){if(0<(0|(jl=q[(a=Yk<<2)+dl>>2])))for(cl=hl+(q[a+fl>>2]<<1)|0,ol=q[Xk+(q[a+Wk>>2]<<2)>>2],kl=q[Xk+(q[a+al>>2]<<2)>>2],a=0;;){if((0|ol)<=s[cl+(2|(ml=a<<1))>>1]|(0|kl)<=s[cl+ml>>1])break f;if(!((0|(a=a+2|0))<(0|jl)))break}if((0|$k)==(0|(Yk=Yk+1|0)))break}break s}}Zk=q[Vk+16>>2],el=q[Vk+88>>2]}if(!((255&il)>>>0<2)){if((a=0)<(0|(dl=q[Vk+8>>2])))for(Xk=q[_k+168>>2];;){if(1>2])break f;if((0|dl)==(0|(a=a+1|0)))break}if(!((255&il)>>>0<4)){if(al=q[Vk+56>>2],1<=(0|(fl=q[Vk+20>>2])))for(Wk=q[_k+332>>2],cl=q[_k+328>>2],a=0;;){if(Xk=q[(Yk=a<<2)+Wk>>2]){if((0|Xk)<0|(0|al)<(0|Xk))break f;if((0|(Yk=q[Yk+cl>>2]))<0|(0|al)<=(0|Yk))break f;if((Xk=Xk+Yk|0)>>>31|(0|al)<(0|Xk))break f}if((0|fl)==(0|(a=a+1|0)))break}if((0|(a=q[Vk+92>>2]))!=q[Vk+96>>2])break f;if(1<=(0|dl))for(cl=q[_k+152>>2],Xk=0,hl=q[_k+148>>2];;){if(Yk=q[(Wk=Xk<<2)+hl>>2]){if((0|Yk)<0|(0|a)<(0|Yk))break f;if((0|(Wk=q[Wk+cl>>2]))<0|(0|a)<=(0|Wk))break f;if((Yk=Wk+Yk|0)>>>31|(0|a)<(0|Yk))break f}if((0|dl)==(0|(Xk=Xk+1|0)))break}if(1<=(0|(ol=q[Vk+12>>2])))for(cl=q[_k+184>>2],Xk=0,hl=q[_k+180>>2];;){if(Yk=q[(Wk=Xk<<2)+hl>>2]){if((0|Yk)<0|(0|a)<(0|Yk))break f;if((0|(Wk=q[Wk+cl>>2]))<0|(0|a)<=(0|Wk))break f;if((Yk=Wk+Yk|0)>>>31|(0|a)<(0|Yk))break f}if((0|ol)==(0|(Xk=Xk+1|0)))break}if(1<=(0|Zk))for(cl=q[_k+224>>2],Xk=0,hl=q[_k+220>>2];;){if(Yk=q[(Wk=Xk<<2)+hl>>2]){if((0|Yk)<0|(0|a)<(0|Yk))break f;if((0|(Wk=q[Wk+cl>>2]))<0|(0|a)<=(0|Wk))break f;if((Yk=Wk+Yk|0)>>>31|(0|a)<(0|Yk))break f}if((0|Zk)==(0|(Xk=Xk+1|0)))break}if((Xk=0)<(0|fl)){for(Yk=q[_k+304>>2];;){if(1>2])break f;if((0|fl)==(0|(Xk=Xk+1|0)))break}for(Yk=q[Vk+100>>2],hl=q[_k+320>>2],jl=q[_k+316>>2],Xk=0;;){if(Wk=q[(cl=Xk<<2)+hl>>2]){if((0|Wk)<0|(0|Yk)<(0|Wk))break f;if((0|(cl=q[cl+jl>>2]))<0|(0|Yk)<=(0|cl))break f;if((Wk=Wk+cl|0)>>>31|(0|Yk)<(0|Wk))break f}if((0|fl)==(0|(Xk=Xk+1|0)))break}}else Yk=q[Vk+100>>2];if(1<=(0|Yk)){for(cl=q[_k+440>>2],Xk=0,jl=q[_k+436>>2];;){if(Wk=q[(hl=Xk<<2)+cl>>2]){if((0|Wk)<0|(0|al)<(0|Wk))break f;if((0|(hl=q[hl+jl>>2]))<0|(0|al)<=(0|hl))break f;if((Wk=Wk+hl|0)>>>31|(0|al)<(0|Wk))break f}if((0|Yk)==(0|(Xk=Xk+1|0)))break}for(al=q[_k+444>>2],Xk=0;;){if((0|(hl=q[(Wk=Xk<<2)+al>>2]))<0|(0|hl)>=q[Wk+cl>>2])break f;if((0|Yk)==(0|(Xk=Xk+1|0)))break}}if((al=0)<(0|(Xk=q[Vk+104>>2]))){for(Wk=q[_k+448>>2];;){if((0|(cl=q[Wk+(al<<2)>>2]))<0|(0|Yk)<=(0|cl))break f;if((0|Xk)==(0|(al=al+1|0)))break}for(Wk=q[Vk+116>>2],hl=q[_k+464>>2],jl=q[_k+460>>2],Yk=0;;){if(al=q[(cl=Yk<<2)+hl>>2]){if((0|al)<0|(0|Wk)<(0|al))break f;if((0|(cl=q[cl+jl>>2]))<0|(0|Wk)<=(0|cl))break f;if((al=al+cl|0)>>>31|(0|Wk)<(0|al))break f}if((0|Xk)==(0|(Yk=Yk+1|0)))break}}else Wk=q[Vk+116>>2];if((Yk=0)<(0|(cl=q[Vk+108>>2]))){for(al=q[_k+480>>2];;){if((0|(hl=q[al+(Yk<<2)>>2]))<0|(0|dl)<=(0|hl))break f;if((0|cl)==(0|(Yk=Yk+1|0)))break}for(hl=q[_k+488>>2],kl=q[_k+484>>2],Yk=0;;){if(al=q[(dl=Yk<<2)+hl>>2]){if((0|al)<0|(0|Xk)<(0|al))break f;if((0|(dl=q[dl+kl>>2]))<0|(0|Xk)<=(0|dl))break f;if((al=al+dl|0)>>>31|(0|Xk)<(0|al))break f}if((0|cl)==(0|(Yk=Yk+1|0)))break}for(hl=q[ll>>2],Yk=q[_k+456>>2],dl=q[_k+452>>2],al=0;;){if(ml=q[kl+(al<<2)>>2]<<2,jl=q[ml+Yk>>2]){if((0|jl)<0|(0|hl)<(0|jl))break f;if((0|(ml=q[dl+ml>>2]))<0|(0|hl)<=(0|ml))break f;if((0|(jl=jl+ml|0))<0|(0|hl)<(0|jl))break f}if((0|cl)==(0|(al=al+1|0)))break}}else Yk=q[_k+456>>2],dl=q[_k+452>>2];if((al=0)<(0|(cl=q[Vk+112>>2]))){for(hl=q[_k+504>>2];;){if((0|(jl=q[hl+(al<<2)>>2]))<0|(0|Zk)<=(0|jl))break f;if((0|cl)==(0|(al=al+1|0)))break}for(kl=q[_k+512>>2],jl=q[_k+508>>2],Zk=0;;){if(al=q[(hl=Zk<<2)+kl>>2]){if((0|al)<0|(0|Xk)<(0|al))break f;if((0|(hl=q[hl+jl>>2]))<0|(0|Xk)<=(0|hl))break f;if((al=al+hl|0)>>>31|(0|Xk)<(0|al))break f}if((0|cl)==(0|(Zk=Zk+1|0)))break}for(al=q[nl>>2],Zk=0;;){if(kl=q[jl+(Zk<<2)>>2]<<2,hl=q[kl+Yk>>2]){if((0|hl)<0|(0|al)<(0|hl))break f;if((0|(kl=q[dl+kl>>2]))<0|(0|al)<=(0|kl))break f;if((0|(hl=hl+kl|0))<0|(0|al)<(0|hl))break f}if((0|cl)==(0|(Zk=Zk+1|0)))break}}if(al=q[Vk+120>>2],(Zk=0)<(0|Wk))for(cl=q[_k+528>>2];;){if((0|(hl=q[cl+(Zk<<2)>>2]))<0|(0|al)<=(0|hl))break f;if((0|(Zk=Zk+1|0))==(0|Wk))break}if((Zk=0)<(0|al)){for(Wk=q[_k+532>>2];;){if((0|(cl=q[Wk+(Zk<<2)>>2]))<-1|(0|fl)<=(0|cl))break f;if((0|al)==(0|(Zk=Zk+1|0)))break}for(Wk=q[Vk+124>>2],hl=q[_k+540>>2],jl=q[_k+536>>2],Zk=0;;){if(fl=q[(cl=Zk<<2)+hl>>2]){if((0|fl)<0|(0|Wk)<(0|fl))break f;if((0|(cl=q[cl+jl>>2]))<0|(0|Wk)<=(0|cl))break f;if((fl=cl+fl|0)>>>31|(0|Wk)<(0|fl))break f}if((0|al)==(0|(Zk=Zk+1|0)))break}}if(!((255&il)>>>0<5)){if((Zk=0)<(0|(il=q[ll>>2]))){for(al=q[_k+348>>2];;){if((0|(Wk=q[al+(Zk<<2)>>2]))<0|(0|a)<(0|Wk))break f;if((0|il)==(0|(Zk=Zk+1|0)))break}for(al=q[_k+352>>2],Zk=0;;){if((0|(Wk=q[al+(Zk<<2)>>2]))<0|(0|a)<(0|Wk))break f;if((0|il)==(0|(Zk=Zk+1|0)))break}}if((il=0)<(0|(Zk=q[bl>>2]))){for(al=q[_k+384>>2];;){if((0|(Wk=q[al+(il<<2)>>2]))<0|(0|a)<(0|Wk))break f;if((0|Zk)==(0|(il=il+1|0)))break}for(al=q[_k+388>>2],il=0;;){if((0|(Wk=q[al+(il<<2)>>2]))<0|(0|a)<(0|Wk))break f;if((0|Zk)==(0|(il=il+1|0)))break}}if((il=0)<(0|(al=q[nl>>2]))){for(Wk=q[_k+404>>2];;){if((0|(fl=q[Wk+(il<<2)>>2]))<0|(0|a)<(0|fl))break f;if((0|al)==(0|(il=il+1|0)))break}for(Wk=q[_k+408>>2],il=0;;){if((0|(fl=q[Wk+(il<<2)>>2]))<0|(0|a)<(0|fl))break f;if((0|al)==(0|(il=il+1|0)))break}}if((a=0)<(0|(il=q[Vk+128>>2]))){for(al=q[Vk>>2],Wk=q[_k+468>>2];;){if((0|(fl=q[Wk+(a<<2)>>2]))<0|(0|al)<=(0|fl))break f;if((0|il)==(0|(a=a+1|0)))break}for(ll=q[_k+476>>2],fl=q[_k+472>>2],a=0;;){if(al=q[(Wk=a<<2)+ll>>2]){if((0|al)<0|(0|Xk)<(0|al))break f;if((0|(Wk=q[Wk+fl>>2]))<0|(0|Xk)<=(0|Wk))break f;if((al=Wk+al|0)>>>31|(0|Xk)<(0|al))break f}if((0|il)==(0|(a=a+1|0)))break}for(al=q[gl>>2],a=0;;){if(gl=q[fl+(a<<2)>>2]<<2,Wk=q[gl+Yk>>2]){if((0|Wk)<0|(0|al)<(0|Wk))break f;if((0|(gl=q[dl+gl>>2]))<0|(0|al)<=(0|gl))break f;if((0|(Wk=Wk+gl|0))<0|(0|al)<(0|Wk))break f}if((0|il)==(0|(a=a+1|0)))break}}if((a=0)<(0|(il=q[Vk+132>>2]))){for(al=q[_k+492>>2];;){if((0|(Wk=q[al+(a<<2)>>2]))<0|(0|ol)<=(0|Wk))break f;if((0|il)==(0|(a=a+1|0)))break}for(gl=q[_k+500>>2],Wk=q[_k+496>>2],a=0;;){if(al=q[(fl=a<<2)+gl>>2]){if((0|al)<0|(0|Xk)<(0|al))break f;if((0|(fl=q[Wk+fl>>2]))<0|(0|Xk)<=(0|fl))break f;if((al=al+fl|0)>>>31|(0|Xk)<(0|al))break f}if((0|il)==(0|(a=a+1|0)))break}for(a=0;;){if(fl=q[Wk+(a<<2)>>2]<<2,al=q[fl+Yk>>2]){if((0|al)<0|(0|Zk)<(0|al))break f;if((0|(fl=q[dl+fl>>2]))<0|(0|Zk)<=(0|fl))break f;if((0|(al=al+fl|0))<0|(0|Zk)<(0|al))break f}if((0|il)==(0|(a=a+1|0)))break}}if(!(((a=0)|(Vk=q[Vk+136>>2]))<=0)){for(Zk=q[_k+516>>2];;){if((0|(il=q[Zk+(a<<2)>>2]))<0|(0|$k)<=(0|il))break f;if((0|Vk)==(0|(a=a+1|0)))break}for(al=q[_k+524>>2],Zk=q[_k+520>>2],a=0;;){if(_k=q[(il=a<<2)+al>>2]){if((0|_k)<0|(0|Xk)<(0|_k))break f;if((0|(il=q[Zk+il>>2]))<0|(0|Xk)<=(0|il))break f;if((_k=_k+il|0)>>>31|(0|Xk)<(0|_k))break f}if((0|Vk)==(0|(a=a+1|0)))break}for(a=0;;){if(_k=q[Zk+(a<<2)>>2]<<2,Xk=q[_k+Yk>>2]){if((0|Xk)<0|(0|el)<(0|Xk))break f;if((0|(_k=q[_k+dl>>2]))<0|(0|el)<=(0|_k))break f;if((0|(Xk=Xk+_k|0))<0|(0|el)<(0|Xk))break f}if((0|Vk)==(0|(a=a+1|0)))break}}}}}return L=pl,1}return Y(4,1846,0),L=pl,0}q[_k+52>>2]=Xk,q[_k+48>>2]=5,Y(4,1640,_k+48|0)}else q[_k+32>>2]=Xk,Y(4,1554,_k+32|0);return L=pl,0}(a,vj):(q[20+wj>>2]=1621,q[16+wj>>2]=2284,Y(4,1294,16+wj|0),0):(q[4+wj>>2]=1444,q[wj>>2]=2284,Y(4,1294,wj),0),L=48+wj|0,0|a},i:function(a){q[1805]=a|=0},j:function(a,ej){var fj;return ej|=0,L=fj=L-48|0,a=(a|=0)?(a+63&-64)!=(0|a)?(q[36+fj>>2]=1522,q[32+fj>>2]=2305,Y(4,1294,32+fj|0),0):(ej+63&-64)==(0|ej)&&ej?function(a){var Qk,Tk,Uk,Uh,Kk=0,Lk=0,Mk=0,Nk=0,Ok=0,Pk=0,Rk=0,Sk=0;q[24+(L=Qk=L-32|0)>>2]=0,q[16+Qk>>2]=5,q[20+Qk>>2]=0,Ka(16+(L=Uh=L-272|0)|0,2227,q[12+Uh>>2]=16+Qk|0),function(a){var Hc;q[(L=Hc=L-16|0)>>2]=a,function(a,Il){var Jl;q[12+(L=Jl=L-16|0)>>2]=Il,Ia(a,1432,Il,0,0),L=16+Jl|0}(q[970],Hc),L=16+Hc|0}(16+Uh|0),L=272+Uh|0;a:{if(sa(a))Y(4,1932,0);else{if(!(6<=(Mk=r[a+4|0])>>>0)){if(1!=(0|!r[a+5|0])?(da(a+4|0,1),X(a- -64|0,4,160),na(a,a+704|(o[a+5|0]=0)),ya(a)):na(a,a+704|0),r[7224]||(q[1807]=6,o[7224]=1,q[1808]=7,q[1809]=8,q[1810]=9),Lk=q[a+704>>2],1<=(0|(Mk=q[Lk+16>>2]))){for(Sk=(Nk=q[a+912>>2])+(Mk<<2)|0,Ok=q[a+908>>2];;){Rk=q[a+1204>>2]+(q[Ok>>2]<<2)|0;d:if(!(((Lk=0)|(Kk=(Mk=q[Nk>>2])+-1|0))<1))e:for(;;){for(;;){if(q[(Pk=Rk+(Lk<<2)|0)>>2]<=-1){if(function(a,Vk,ql){var rl=0,sl=0;a:if((0|a)!=(0|Vk)){if(!(a>>>0>>0&&Vk>>>0<(sl=a+ql|0)>>>0))return $(a,Vk,ql);if(rl=3&(a^Vk),a>>>0>>0){if(!rl){if(3&a)for(;;){if(!ql)break a;if(o[0|a]=r[0|Vk],Vk=Vk+1|0,ql=ql+-1|0,!(3&(a=a+1|0)))break}if(!(ql>>>0<=3)){for(rl=ql;q[a>>2]=q[Vk>>2],Vk=Vk+4|0,a=a+4|0,3<(rl=rl+-4|0)>>>0;);ql&=3}}if(ql)for(;o[0|a]=r[0|Vk],a=a+1|0,Vk=Vk+1|0,ql=ql+-1|0;);}else{if(!rl){if(3&sl)for(;;){if(!ql)break a;if(o[0|(rl=(ql=ql+-1|0)+a|0)]=r[Vk+ql|0],!(3&rl))break}if(!(ql>>>0<=3))for(;q[(ql=ql+-4|0)+a>>2]=q[Vk+ql>>2],3>>0;);}if(ql)for(;o[(ql=ql+-1|0)+a|0]=r[Vk+ql|0],ql;);}}}(Pk,Pk+4|0,(-1^Lk)+Mk<<2),(0|Lk)<(0|(Kk=(Mk=Kk)+-1|0)))continue e;break d}if(!((0|(Lk=Lk+1|0))<(0|Kk)))break}break}if(Lk=Nk,0<(0|Mk)&&(Mk=q[Rk+(Kk<<2)>>2]<0?Kk:Mk),q[Lk>>2]=Mk,Ok=Ok+4|0,!((Nk=Nk+4|0)>>>0>>0))break}Lk=q[a+704>>2]}if(1<=q[Lk>>2])for(Kk=0;q[q[a+712>>2]+(Kk<<2)>>2]=q[a+716>>2]+(Kk<<6),Lk=q[a+704>>2],(0|(Kk=Kk+1|0))>2];);if(1<=q[Lk+4>>2])for(Kk=0;q[q[a+744>>2]+(Kk<<2)>>2]=q[a+748>>2]+(Kk<<6),Lk=q[a+704>>2],(0|(Kk=Kk+1|0))>2];);if(1<=q[Lk+16>>2])for(Kk=0;q[(Mk=Kk<<2)+q[a+832>>2]>>2]=q[a+848>>2]+(Kk<<6),q[Mk+q[a+836>>2]>>2]=q[a+1196>>2]+(q[Mk+q[a+896>>2]>>2]<<2),q[Mk+q[a+840>>2]>>2]=q[a+1200>>2]+(q[Mk+q[a+900>>2]>>2]<<1),q[Mk+q[a+844>>2]>>2]=q[a+1204>>2]+(q[Mk+q[a+908>>2]>>2]<<2),Lk=q[a+704>>2],(0|(Kk=Kk+1|0))>2];);if(1<=q[Lk+20>>2])for(Kk=0;q[q[a+916>>2]+(Kk<<2)>>2]=q[a+920>>2]+(Kk<<6),Lk=q[a+704>>2],(0|(Kk=Kk+1|0))>2];);if(1<=q[Lk+80>>2])for(Kk=0;q[q[a+1240>>2]+(Kk<<2)>>2]=q[a+1244>>2]+(Kk<<6),Lk=q[a+704>>2],(0|(Kk=Kk+1|0))>2];);if(1&o[q[a+708>>2]+20|0])break a;if((0|(Nk=q[Lk+16>>2]))<1)break a;for(Kk=q[a+904>>2],Rk=q[a+900>>2],Pk=q[a+1200>>2],Ok=0;;){if(0<(0|(Sk=q[(Mk=Ok<<2)+Kk>>2]+-1|0)))for(Tk=Pk+(q[Mk+Rk>>2]<<1)|0,Lk=0;Uk=s[(Mk=Tk+(Lk<<1)|0)>>1],p[Mk>>1]=s[Mk+4>>1],p[Mk+4>>1]=Uk,(0|(Lk=Lk+3|0))<(0|Sk););if((0|Nk)==(0|(Ok=Ok+1|0)))break}for(Mk=q[a+892>>2],Ok=q[a+896>>2],Rk=q[a+1196>>2],Kk=0;;){if(1<=(0|(Pk=q[(Lk=Kk<<2)+Mk>>2])))for(Pk=(Lk=Rk+(q[Lk+Ok>>2]<<2)|0)+(Pk<<3)|0,Lk=Lk+4|0;u[Lk>>2]=x(1)-u[Lk>>2],(Lk=Lk+8|0)>>>0>>0;);if((0|Nk)==(0|(Kk=Kk+1|0)))break}break a}q[4+Qk>>2]=Mk,q[Qk>>2]=5,Y(4,2023,Qk)}a=0}return L=32+Qk|0,a}(a):(q[20+fj>>2]=1621,q[16+fj>>2]=2305,Y(4,1294,16+fj|0),0):(q[4+fj>>2]=1444,q[fj>>2]=2305,Y(4,1294,fj),0),L=48+fj|0,0|a},k:function(a,ej,fj,gj){var hj;ej|=0,fj|=0,gj|=0,L=hj=L+-64|0,(a|=0)?ej?fj?gj?(a=q[q[a>>2]+708>>2],q[ej>>2]=q[a+12>>2],q[ej+4>>2]=q[a+16>>2],q[fj>>2]=q[a+4>>2],q[fj+4>>2]=q[a+8>>2],q[gj>>2]=q[a>>2]):(q[52+hj>>2]=1995,q[48+hj>>2]=2325,Y(4,1294,48+hj|0)):(q[36+hj>>2]=1903,q[32+hj>>2]=2325,Y(4,1294,32+hj|0)):(q[20+hj>>2]=1819,q[16+hj>>2]=2325,Y(4,1294,16+hj|0)):(q[4+hj>>2]=1740,q[hj>>2]=2325,Y(4,1294,hj)),L=64+hj|0},l:xa,m:wa,n:function(a){var dj;L=dj=L-16|0,(a|=0)?ua(a):(q[4+dj>>2]=1740,q[dj>>2]=2387,Y(4,1294,dj)),L=16+dj|0},o:function(a){var cj;return L=cj=L-16|0,a=(a|=0)?q[a+540>>2]:(q[4+cj>>2]=1740,q[cj>>2]=2402,Y(4,1294,cj),-1),L=16+cj|0,0|a},p:function(a){var bj;return L=bj=L-16|0,a=(a|=0)?q[q[a>>2]+916>>2]:(q[4+bj>>2]=1740,q[bj>>2]=2423,Y(4,1294,bj),0),L=16+bj|0,0|a},q:function(a){var aj;return L=aj=L-16|0,a=(a|=0)?q[a+548>>2]:(q[4+aj>>2]=1740,q[aj>>2]=2442,Y(4,1294,aj),0),L=16+aj|0,0|a},r:function(a){var $i;return L=$i=L-16|0,a=(a|=0)?q[q[a>>2]+928>>2]:(q[4+$i>>2]=1740,q[$i>>2]=2463,Y(4,1294,$i),0),L=16+$i|0,0|a},s:function(a){var _i;return L=_i=L-16|0,a=(a|=0)?q[q[a>>2]+924>>2]:(q[4+_i>>2]=1740,q[_i>>2]=2492,Y(4,1294,_i),0),L=16+_i|0,0|a},t:function(a){var Zi;return L=Zi=L-16|0,a=(a|=0)?q[q[a>>2]+932>>2]:(q[4+Zi>>2]=1740,q[Zi>>2]=2521,Y(4,1294,Zi),0),L=16+Zi|0,0|a},u:function(a){var Yi;return L=Yi=L-16|0,a=(a|=0)?q[a+552>>2]:(q[4+Yi>>2]=1740,q[Yi>>2]=2550,Y(4,1294,Yi),0),L=16+Yi|0,0|a},v:function(a){var Xi;return L=Xi=L-16|0,a=(a|=0)?q[a+4>>2]:(q[4+Xi>>2]=1740,q[Xi>>2]=2572,Y(4,1294,Xi),-1),L=16+Xi|0,0|a},w:function(a){var Wi;return L=Wi=L-16|0,a=(a|=0)?q[q[a>>2]+712>>2]:(q[4+Wi>>2]=1740,q[Wi>>2]=2588,Y(4,1294,Wi),0),L=16+Wi|0,0|a},x:function(a){var Vi;return L=Vi=L-16|0,a=(a|=0)?q[a+52>>2]:(q[4+Vi>>2]=1740,q[Vi>>2]=2602,Y(4,1294,Vi),0),L=16+Vi|0,0|a},y:function(a){var Ui;return L=Ui=L-16|0,a=(a|=0)?q[q[a>>2]+740>>2]:(q[4+Ui>>2]=1740,q[Ui>>2]=2622,Y(4,1294,Ui),0),L=16+Ui|0,0|a},z:function(a){var Ti;return L=Ti=L-16|0,a=(a|=0)?q[a+332>>2]:(q[4+Ti>>2]=1740,q[Ti>>2]=2650,Y(4,1294,Ti),-1),L=16+Ti|0,0|a},A:function(a){var Si;return L=Si=L-16|0,a=(a|=0)?q[q[a>>2]+832>>2]:(q[4+Si>>2]=1740,q[Si>>2]=2670,Y(4,1294,Si),0),L=16+Si|0,0|a},B:function(a){var Ri;return L=Ri=L-16|0,a=(a|=0)?q[q[a>>2]+888>>2]:(q[4+Ri>>2]=1740,q[Ri>>2]=2688,Y(4,1294,Ri),0),L=16+Ri|0,0|a},C:function(a){var Qi;return L=Qi=L-16|0,a=(a|=0)?q[a+432>>2]:(q[4+Qi>>2]=1740,q[Qi>>2]=2716,Y(4,1294,Qi),0),L=16+Qi|0,0|a},D:function(a){var Pi;return L=Pi=L-16|0,a=(a|=0)?q[q[a>>2]+884>>2]:(q[4+Pi>>2]=1740,q[Pi>>2]=2743,Y(4,1294,Pi),0),L=16+Pi|0,0|a},E:function(a){var Oi;return L=Oi=L-16|0,a=(a|=0)?q[a+440>>2]:(q[4+Oi>>2]=1740,q[Oi>>2]=2772,Y(4,1294,Oi),0),L=16+Oi|0,0|a},F:function(a){var Ni;return L=Ni=L-16|0,a=(a|=0)?q[a+436>>2]:(q[4+Ni>>2]=1740,q[Ni>>2]=2797,Y(4,1294,Ni),0),L=16+Ni|0,0|a},G:function(a){var Mi;return L=Mi=L-16|0,a=(a|=0)?q[a+448>>2]:(q[4+Mi>>2]=1740,q[Mi>>2]=2824,Y(4,1294,Mi),0),L=16+Mi|0,0|a},H:function(a){var Li;return L=Li=L-16|0,a=(a|=0)?q[q[a>>2]+912>>2]:(q[4+Li>>2]=1740,q[Li>>2]=2848,Y(4,1294,Li),0),L=16+Li|0,0|a},I:function(a){var Ki;return L=Ki=L-16|0,a=(a|=0)?q[q[a>>2]+844>>2]:(q[4+Ki>>2]=1740,q[Ki>>2]=2873,Y(4,1294,Ki),0),L=16+Ki|0,0|a},J:function(a){var Ji;return L=Ji=L-16|0,a=(a|=0)?q[q[a>>2]+892>>2]:(q[4+Ji>>2]=1740,q[Ji>>2]=2893,Y(4,1294,Ji),0),L=16+Ji|0,0|a},K:function(a){var Ii;return L=Ii=L-16|0,a=(a|=0)?q[a+444>>2]:(q[4+Ii>>2]=1740,q[Ii>>2]=2920,Y(4,1294,Ii),0),L=16+Ii|0,0|a},L:function(a){var Hi;return L=Hi=L-16|0,a=(a|=0)?q[q[a>>2]+836>>2]:(q[4+Hi>>2]=1740,q[Hi>>2]=2950,Y(4,1294,Hi),0),L=16+Hi|0,0|a},M:function(a){var ri;return L=ri=L-16|0,a=(a|=0)?q[q[a>>2]+904>>2]:(q[4+ri>>2]=1740,q[ri>>2]=2974,Y(4,1294,ri),0),L=16+ri|0,0|a},N:function(a){var qi;return L=qi=L-16|0,a=(a|=0)?q[q[a>>2]+840>>2]:(q[4+qi>>2]=1740,q[qi>>2]=3e3,Y(4,1294,qi),0),L=16+qi|0,0|a},O:function(a){var pi;return L=pi=L-16|0,a=(a|=0)?q[a+452>>2]:(q[4+pi>>2]=1740,q[pi>>2]=3022,Y(4,1294,pi),0),L=16+pi|0,0|a},P:function(a){var oi;return L=oi=L-16|0,a=(a|=0)?q[a+456>>2]:(q[4+oi>>2]=1740,q[oi>>2]=3051,Y(4,1294,oi),0),L=16+oi|0,0|a},Q:function(a){var ni;return L=ni=L-16|0,a=(a|=0)?q[q[a>>2]+876>>2]:(q[4+ni>>2]=1740,q[ni>>2]=3078,Y(4,1294,ni),0),L=16+ni|0,0|a},R:function(a){var mi;L=mi=L-16|0,(a|=0)?q[a+428>>2]=1:(q[4+mi>>2]=1740,q[mi>>2]=3110,Y(4,1294,mi)),L=16+mi|0},S:function(a){var li;return L=li=L-16|0,a=(a|=0)?q[a+640>>2]:(q[4+li>>2]=1740,q[li>>2]=3139,Y(4,1294,li),0),L=16+li|0,0|a},T:function(a){var ji;return L=ji=L-16|0,a=(a|=0)?q[a+636>>2]:(q[4+ji>>2]=1740,q[ji>>2]=3164,Y(4,1294,ji),0),L=16+ji|0,0|a},U:function(a){var Fc;return oa(12+(L=Fc=L-16|0)|0,64,a|=0),L=16+Fc|0,q[12+Fc>>2]},V:function(a){var Ec,Cc,Dc=0;return L=Cc=L-16|0,!(a|=0)||oa(12+Cc|0,16,Ec=xa(a))||(Dc=wa(a,q[12+Cc>>2],Ec))||(pa(q[12+Cc>>2]),Dc=0),L=16+Cc|0,0|Dc},W:function(a){return 0|qa(a|=0)},X:function(a){pa(a|=0)},Y:function(a){var Sm;oa(12+(L=Sm=L-16|0)|0,64,a|=0),pa(q[12+Sm>>2]),L=16+Sm|0},Z:function(){return 0|L},_:function(a){return 0|(L=L-(0|a)&-16)},$:function(a){L=0|a},aa:function(a){return 0|(a=0|(a|=0),(P=0|N())<(a=P+(a|=0)|0)&&a<65536&&(a=new ArrayBuffer(w(a,65536)),(S=new global.Int8Array(a)).set(o),o=S,o=new global.Int8Array(a),p=new global.Int16Array(a),q=new global.Int32Array(a),r=new global.Uint8Array(a),s=new global.Uint16Array(a),t=new global.Uint32Array(a),u=new global.Float32Array(a),v=new global.Float64Array(a),buffer=a,m.buffer=a),P);var S,P},ba:function(a,Vk){n[a|=0](Vk|=0)}};function X(a,b,c){var e,f,d=0;if(c)for(;;){if(c=c+-1|0,a>>>0<(d=(e=a+b|0)-1|0)>>>0)for(;f=r[0|a],o[0|a]=r[0|d],o[0|d]=f,(a=a+1|0)>>>0<(d=d+-1|0)>>>0;);if(a=e,!c)break}}function Y(a,b,c){var g;L=g=L-272|0,t[1804]>a>>>0||(a=q[1805])&&(Ka(16+g|0,b,q[12+g>>2]=c),n[a](16+g|0)),L=272+g|0}function Z(a,b,c){32&r[0|a]||!function(a,Rm,Sm){var Tm=0,Um=0,tn=0;a:{if(!(Tm=q[Sm+16>>2])){if(function(a){var Rm;return Rm=r[a+74|0],o[a+74|0]=Rm+-1|Rm,8&(Rm=q[a>>2])?(q[a>>2]=32|Rm,1):(q[a+4>>2]=0,q[a+8>>2]=0,Rm=q[a+44>>2],q[a+28>>2]=Rm,q[a+20>>2]=Rm,q[a+16>>2]=Rm+q[a+48>>2],0)}(Sm))break a;Tm=q[Sm+16>>2]}if(Tm-(tn=q[Sm+20>>2])>>>0>>0)return n[q[Sm+36>>2]](Sm,a,Rm);b:if(!(o[Sm+75|0]<0)){for(Tm=Rm;;){if(!(Um=Tm))break b;if(10==r[(Tm=Um+-1|0)+a|0])break}if(n[q[Sm+36>>2]](Sm,a,Um)>>>0>>0)break a;Rm=Rm-Um|0,a=a+Um|0,tn=q[Sm+20>>2]}$(tn,a,Rm),q[Sm+20>>2]=q[Sm+20>>2]+Rm}}(b,c,a)}function _(a,b,c,h,i){var k,l,j;if(L=j=L-256|0,!(73728&i|(0|c)<=(0|h))){if(ca(j,b,(k=(i=c-h|0)>>>0<256)?i:256),b=a,l=j,!k){for(c=c-h|0;Z(a,j,256),255<(i=i+-256|0)>>>0;);i=255&c}Z(b,l,i)}L=256+j|0}function $(a,b,c){var h,i=0;if(8192<=c>>>0)I(0|a,0|b,0|c);else{if(h=a+c|0,3&(a^b))if(h>>>0<4)c=a;else if((i=h-4|0)>>>0>>0)c=a;else for(c=a;o[0|c]=r[0|b],o[c+1|0]=r[b+1|0],o[c+2|0]=r[b+2|0],o[c+3|0]=r[b+3|0],b=b+4|0,(c=c+4|0)>>>0<=i>>>0;);else{b:if((0|c)<1)c=a;else if(3&a)for(c=a;;){if(o[0|c]=r[0|b],b=b+1|0,h>>>0<=(c=c+1|0)>>>0)break b;if(!(3&c))break}else c=a;if(!((a=-4&h)>>>0<64||(i=a+-64|0)>>>0>>0))for(;q[c>>2]=q[b>>2],q[c+4>>2]=q[b+4>>2],q[c+8>>2]=q[b+8>>2],q[c+12>>2]=q[b+12>>2],q[c+16>>2]=q[b+16>>2],q[c+20>>2]=q[b+20>>2],q[c+24>>2]=q[b+24>>2],q[c+28>>2]=q[b+28>>2],q[c+32>>2]=q[b+32>>2],q[c+36>>2]=q[b+36>>2],q[c+40>>2]=q[b+40>>2],q[c+44>>2]=q[b+44>>2],q[c+48>>2]=q[b+48>>2],q[c+52>>2]=q[b+52>>2],q[c+56>>2]=q[b+56>>2],q[c+60>>2]=q[b+60>>2],b=b- -64|0,(c=c- -64|0)>>>0<=i>>>0;);if(!(a>>>0<=c>>>0))for(;q[c>>2]=q[b>>2],b=b+4|0,(c=c+4|0)>>>0>>0;);}if(c>>>0>>0)for(;o[0|c]=r[0|b],b=b+1|0,(0|h)!=(0|(c=c+1|0)););}}function aa(a){var b,c;return x((b=a*a)*b*(c=b*a)*(2718311493989822e-21*b-.00019839334836096632)+(c*(.008333329385889463*b-.16666666641626524)+a))}function ba(a){var m;return x(-.499999997251031*(a*=a)+1+.04166662332373906*(m=a*a)+a*m*(2439044879627741e-20*a-.001388676377460993))}function ca(a,n,p){var r,s,t,u;if(p&&(o[(r=a+p|0)-1|0]=n,o[0|a]=n,!(p>>>0<3||(o[r-2|0]=n,o[a+1|0]=n,o[r-3|0]=n,o[a+2|0]=n,p>>>0<7)||(o[r-4|0]=n,o[a+3|0]=n,p>>>0<9)||(s=(r=0-a&3)+a|0,n=w(255&n,16843009),q[s>>2]=n,q[(r=(p=p-r&-4)+s|0)-4>>2]=n,p>>>0<9)||(q[8+s>>2]=n,q[4+s>>2]=n,q[r-8>>2]=n,q[r-12>>2]=n,p>>>0<25)||(q[24+s>>2]=n,q[20+s>>2]=n,q[16+s>>2]=n,q[12+s>>2]=n,q[r-16>>2]=n,q[r-20>>2]=n,q[r-24>>2]=n,q[r-28>>2]=n,(p=p-(u=4&s|24)|0)>>>0<32))))for(t=r=n,n=s+u|0;q[n+24>>2]=t,q[n+28>>2]=r,q[n+16>>2]=t,q[n+20>>2]=r,q[n+8>>2]=t,q[n+12>>2]=r,q[n>>2]=t,q[n+4>>2]=r,n=n+32|0,31<(p=p+-32|0)>>>0;);return a}function da(a,n){var p;if(a>>>0<(n=(a+n|0)-1|0)>>>0)for(;p=r[0|a],o[0|a]=r[0|n],o[0|n]=p,(a=a+1|0)>>>0<(n=n+-1|0)>>>0;);}function ea(a){var n,o=N();return(a=(n=q[2216])+a|0)>>>0<=o<<16>>>0||J(0|a)?(q[2216]=a,n):(q[2086]=48,-1)}function fa(a,v,y,z,B,C,D){var H,I,K,N,Q,R,S,O,P,J,E=0,F=x(0),G=x(0),M=x(0);if(x(0),x(0),x(0),x(0),L=J=L-16|0,1<=(0|a))for(R=w(a,12)+v|0;;){if(1<=(0|(I=q[v+4>>2])))for(S=(a=q[v+8>>2])+w(I,48)|0,I=(H=q[v>>2]<<4)+D|0,K=(8|H)+D|0,H=(4|H)+D|0;(E=q[a+8>>2])&&((O=E+-1|0)>>>0<=1?(P=(q[a+4>>2]<<2)+y|0,E=q[P+(q[a+12>>2]<<2)>>2]<<2,F=u[E+C>>2],Q=u[B+E>>2],G=u[z+E>>2],O-1?(M=G,G=u[a+20>>2],u[I>>2]=u[I>>2]+x(u[a+44>>2]*x(M*G)),u[H>>2]=u[H>>2]+x(x(Q*G)*u[a+44>>2]),u[K>>2]=u[K>>2]+x(x(F*G)*u[a+44>>2])):(E=q[(q[a+16>>2]<<2)+P>>2]<<2,O=u[E+C>>2],P=u[B+E>>2],M=G,G=u[a+20>>2],N=u[a+24>>2],u[I>>2]=u[I>>2]+x(u[a+44>>2]*x(x(M*G)+x(u[z+E>>2]*N))),u[H>>2]=u[H>>2]+x(x(x(Q*G)+x(P*N))*u[a+44>>2]),u[K>>2]=u[K>>2]+x(x(x(F*G)+x(O*N))*u[a+44>>2]))):(q[J>>2]=E,Y(4,1024,J))),(a=a+48|0)>>>0>>0;);if(a=(q[v>>2]<<4)+D|0,F=u[a>>2],u[a>>2]=F>2],u[a+4>>2]=F>2],u[a+8>>2]=F>>0>>0))break}L=16+J|0}function ga(a,q,v){var y,z,x=0;if(1==(0|q)&a>>>0<0|q>>>0<1)x=a;else for(;y=ad(x=bd(a,q,10),z=M,10),o[0|(v=v+-1|0)]=a-y|48,y=9==(0|q)&4294967295>>0|9>>0,a=x,q=z,y;);if(x)for(;o[0|(v=v+-1|0)]=x-w(a=(x>>>0)/10|0,10)|48,q=9>>0,x=a,q;);return v}function ha(a){return a+-48>>>0<10}function ia(a){var q;return(q=La(a,64))?q-a|0:64}function ja(a,v){var w=0;return 1024<=(0|v)?(a*=898846567431158e293,v=(0|(w=v+-1023|0))<1024?w:(a*=898846567431158e293,((0|v)<3069?v:3069)+-2046|0)):-1023<(0|v)||(a*=22250738585072014e-324,v=-1023<(0|(w=v+1022|0))?w:(a*=22250738585072014e-324,(-3066<(0|v)?v:-3066)+2044|0)),f(0,0),f(1,v+1023<<20),a*+g()}function ka(a,v){var A=0,C=a,B=v>>>0<=31?(A=q[a+4>>2],q[a>>2]):(A=q[a>>2],q[a+4>>2]=A,v=v+-32|(q[a>>2]=0),0);q[C>>2]=B<>2]=A<>>32-v}function la(a,v,D,V,W){var X,Y=0,Z=0,_=0;L=X=L-240|0,Y=q[v>>2],q[232+X>>2]=Y,v=q[v+4>>2],q[X>>2]=a,Z=1;a:{b:{c:{if(((q[236+X>>2]=v)||1!=(0|Y))&&(Y=a-q[(D<<2)+W>>2]|0,!((0|n[5](Y,a))<1))){for(_=!V;;){e:{if(v=Y,!(!_|(0|D)<2)){if(V=q[((D<<2)+W|0)-8>>2],-1<(0|n[5](Y=a+-4|0,v)))break e;if(-1<(0|n[5](Y-V|0,v)))break e}if(q[(Z<<2)+X>>2]=v,Z=Z+1|0,ma(232+X|0,a=Oa(232+X|0)),D=a+D|0,!q[236+X>>2]&&1==q[232+X>>2])break b;if(_=1,Y=(a=v)-q[(D<<2)+W>>2]|(V=0),0<(0|n[5](Y,q[X>>2])))continue;break c}break}v=a;break b}v=a}if(V)break a}Na(X,Z),ta(v,D,W)}L=240+X|0}function ma(a,v){var D=0,V=a,L=v>>>0<=31?(D=q[a>>2],q[a+4>>2]):(D=q[a+4>>2],q[a+4>>2]=0,q[a>>2]=D,v=v+-32|0,0);q[V+4>>2]=L>>>v,q[a>>2]=L<<32-v|D>>>v}function na(a,v){var W=r[a+4|0];q[v>>2]=q[a+64>>2]+a,q[v+4>>2]=q[a+68>>2]+a,q[v+8>>2]=q[a+72>>2]+a,q[v+12>>2]=q[a+76>>2]+a,q[v+16>>2]=q[a+80>>2]+a,q[v+20>>2]=q[a+84>>2]+a,q[v+24>>2]=q[a+88>>2]+a,q[v+28>>2]=q[a+92>>2]+a,q[v+32>>2]=q[a+96>>2]+a,q[v+36>>2]=q[a+100>>2]+a,q[v+40>>2]=q[a+104>>2]+a,q[v+44>>2]=q[a+108>>2]+a,q[v+48>>2]=q[a+112>>2]+a,q[v+52>>2]=q[a+116>>2]+a,q[v+56>>2]=q[a+120>>2]+a,q[v+60>>2]=q[a+124>>2]+a,q[v- -64>>2]=q[a+128>>2]+a,q[v+68>>2]=q[a+132>>2]+a,q[v+72>>2]=q[a+136>>2]+a,q[v+76>>2]=q[a+140>>2]+a,q[v+80>>2]=q[a+144>>2]+a,q[v+84>>2]=q[a+148>>2]+a,q[v+92>>2]=q[a+152>>2]+a,q[v+96>>2]=q[a+156>>2]+a,q[v+100>>2]=q[a+160>>2]+a,q[v+108>>2]=q[a+164>>2]+a,q[v+112>>2]=q[a+168>>2]+a,q[v+116>>2]=q[a+172>>2]+a,q[v+124>>2]=q[a+176>>2]+a,q[v+128>>2]=q[a+180>>2]+a,q[v+132>>2]=q[a+184>>2]+a,q[v+136>>2]=q[a+188>>2]+a,q[v+140>>2]=q[a+192>>2]+a,q[v+144>>2]=q[a+196>>2]+a,q[v+148>>2]=q[a+200>>2]+a,q[v+152>>2]=q[a+204>>2]+a,q[v+156>>2]=q[a+208>>2]+a,q[v+164>>2]=q[a+212>>2]+a,q[v+168>>2]=q[a+216>>2]+a,q[v+172>>2]=q[a+220>>2]+a,q[v+176>>2]=q[a+224>>2]+a,q[v+180>>2]=q[a+228>>2]+a,q[v+184>>2]=q[a+232>>2]+a,q[v+188>>2]=q[a+236>>2]+a,q[v+192>>2]=q[a+240>>2]+a,q[v+196>>2]=q[a+244>>2]+a,q[v+200>>2]=q[a+248>>2]+a,q[v+204>>2]=q[a+252>>2]+a,q[v+208>>2]=q[a+256>>2]+a,q[v+212>>2]=q[a+260>>2]+a,q[v+216>>2]=q[a+264>>2]+a,q[v+220>>2]=q[a+268>>2]+a,q[v+224>>2]=q[a+272>>2]+a,q[v+228>>2]=q[a+276>>2]+a,q[v+232>>2]=q[a+280>>2]+a,q[v+236>>2]=q[a+284>>2]+a,q[v+244>>2]=q[a+288>>2]+a,q[v+248>>2]=q[a+292>>2]+a,q[v+272>>2]=q[a+296>>2]+a,q[v+276>>2]=q[a+300>>2]+a,q[v+280>>2]=q[a+304>>2]+a,q[v+292>>2]=q[a+308>>2]+a,q[v+296>>2]=q[a+312>>2]+a,q[v+300>>2]=q[a+316>>2]+a,q[v+304>>2]=q[a+320>>2]+a,q[v+308>>2]=q[a+324>>2]+a,q[v+312>>2]=q[a+328>>2]+a,q[v+316>>2]=q[a+332>>2]+a,q[v+328>>2]=q[a+336>>2]+a,q[v+332>>2]=q[a+340>>2]+a,q[v+336>>2]=q[a+344>>2]+a,q[v+348>>2]=q[a+348>>2]+a,q[v+360>>2]=q[a+352>>2]+a,q[v+364>>2]=q[a+356>>2]+a,q[v+368>>2]=q[a+360>>2]+a,q[v+352>>2]=q[a+364>>2]+a,q[v+356>>2]=q[a+368>>2]+a,q[v+488>>2]=q[a+372>>2]+a,q[v+492>>2]=q[a+376>>2]+a,q[v+496>>2]=q[a+380>>2]+a,q[v+500>>2]=q[a+384>>2]+a,q[v+504>>2]=q[a+388>>2]+a,q[v+508>>2]=q[a+392>>2]+a,q[v+512>>2]=q[a+396>>2]+a,q[v+516>>2]=q[a+400>>2]+a,q[v+520>>2]=q[a+404>>2]+a,q[v+524>>2]=q[a+408>>2]+a,q[v+528>>2]=q[a+412>>2]+a,q[v+532>>2]=q[a+416>>2]+a,q[v+536>>2]=q[a+420>>2]+a,q[v+540>>2]=q[a+424>>2]+a,q[v+544>>2]=q[a+428>>2]+a,q[v+548>>2]=q[a+432>>2]+a,q[v+552>>2]=q[a+436>>2]+a,q[v+556>>2]=q[a+440>>2]+a,q[v+560>>2]=q[a+444>>2]+a,q[v+564>>2]=q[a+448>>2]+a,q[v+568>>2]=q[a+452>>2]+a,q[v+572>>2]=q[a+456>>2]+a,q[v+576>>2]=q[a+460>>2]+a,q[v+580>>2]=q[a+464>>2]+a,W>>>0<2||(q[v+104>>2]=q[a+468>>2]+a,W>>>0<4)||(q[v+260>>2]=q[a+472>>2]+a,q[v+264>>2]=q[a+476>>2]+a,q[v+268>>2]=q[a+480>>2]+a,q[v+88>>2]=q[a+484>>2]+a,q[v+120>>2]=q[a+488>>2]+a,q[v+160>>2]=q[a+492>>2]+a,q[v+584>>2]=q[a+496>>2]+a,q[v+588>>2]=q[a+500>>2]+a,q[v+592>>2]=q[a+504>>2]+a,q[v+596>>2]=q[a+508>>2]+a,q[v+600>>2]=q[a+512>>2]+a,q[v+604>>2]=q[a+516>>2]+a,q[v+240>>2]=q[a+520>>2]+a,q[v+252>>2]=q[a+524>>2]+a,q[v+256>>2]=q[a+528>>2]+a,q[v+372>>2]=q[a+532>>2]+a,q[v+376>>2]=q[a+536>>2]+a,q[v+380>>2]=q[a+540>>2]+a,q[v+384>>2]=q[a+544>>2]+a,q[v+388>>2]=q[a+548>>2]+a,q[v+392>>2]=q[a+552>>2]+a,q[v+396>>2]=q[a+556>>2]+a,q[v+400>>2]=q[a+560>>2]+a,q[v+416>>2]=q[a+564>>2]+a,q[v+420>>2]=q[a+568>>2]+a,q[v+424>>2]=q[a+572>>2]+a,q[v+440>>2]=q[a+576>>2]+a,q[v+444>>2]=q[a+580>>2]+a,q[v+448>>2]=q[a+584>>2]+a,q[v+464>>2]=q[a+588>>2]+a,q[v+468>>2]=q[a+592>>2]+a,q[v+472>>2]=q[a+596>>2]+a,q[v+476>>2]=q[a+600>>2]+a,q[v+480>>2]=q[a+604>>2]+a,q[v+484>>2]=q[a+608>>2]+a,4!=(0|W)&&(q[v+284>>2]=q[a+612>>2]+a,q[v+288>>2]=q[a+616>>2]+a,q[v+320>>2]=q[a+620>>2]+a,q[v+324>>2]=q[a+624>>2]+a,q[v+340>>2]=q[a+628>>2]+a,q[v+344>>2]=q[a+632>>2]+a,q[v+404>>2]=q[a+636>>2]+a,q[v+408>>2]=q[a+640>>2]+a,q[v+412>>2]=q[a+644>>2]+a,q[v+428>>2]=q[a+648>>2]+a,q[v+432>>2]=q[a+652>>2]+a,q[v+436>>2]=q[a+656>>2]+a,q[v+452>>2]=q[a+660>>2]+a,q[v+456>>2]=q[a+664>>2]+a,q[v+460>>2]=q[a+668>>2]+a))}function oa(a,v,$){var aa=0;a:{if(8==(0|v))v=qa($);else{if(aa=28,3&v|1!=(0|function(a){for(var $o=0,ap=0;ap=$o,a;)a&=a-1,$o=$o+1|0;return ap}(v>>>2)))break a;if(aa=48,-64-v>>>0<$>>>0)break a;v=function(a,Vk){var vl,wl,ql=0,tl=0,ul=0;if((tl=a>>>0>(ql=16)?a:16)+-1&tl)for(;ql=(a=ql)<<1,a>>>0>>0;);else a=tl;return-64-a>>>0<=Vk>>>0?(q[2086]=48,0):(ql=qa(12+((tl=Vk>>>0<11?16:Vk+11&-8)+a|0)|0))?(Vk=ql+-8|0,ql&a+-1?(ul=(-8&(wl=q[(vl=ql+-4|0)>>2]))-(ql=(a=15<(ql=((a+ql|0)-1&0-a)-8|0)-Vk>>>0?ql:a+ql|0)-Vk|0)|0,3&wl?(q[a+4>>2]=ul|1&q[a+4>>2]|2,q[4+(ul=a+ul|0)>>2]=1|q[4+ul>>2],q[vl>>2]=ql|1&q[vl>>2]|2,q[a+4>>2]=1|q[a+4>>2],za(Vk,ql)):(Vk=q[Vk>>2],q[a+4>>2]=ul,q[a>>2]=Vk+ql)):a=Vk,3&(Vk=q[a+4>>2])&&((ql=-8&Vk)>>>0<=tl+16>>>0||(q[a+4>>2]=tl|1&Vk|2,q[(Vk=a+tl|0)+4>>2]=3|(tl=ql-tl|0),q[4+(ql=a+ql|0)>>2]=1|q[ql+4>>2],za(Vk,tl))),a+8|0):0}(16>>0?v:16,$)}if(!v)return 1;q[a>>2]=v,aa=0}return aa}function pa(a){var da,v=0,$=0,ba=0,ca=0,ea=0,fa=0,ha=0;a:if(a){da=(ba=a+-8|0)+(a=-8&($=q[a+-4>>2]))|0;b:if(!(1&$)){if(!(3&$))break a;if((ba=ba-($=q[ba>>2])|0)>>>0>>0<=255)ca=q[ba+8>>2],$>>>=3,(0|(v=q[ba+12>>2]))==(0|ca)?(ha=q[2087]&dd($),q[2087]=ha):(q[ca+12>>2]=v,q[v+8>>2]=ca);else{if(fa=q[ba+24>>2],(0|ba)!=(0|($=q[ba+12>>2])))v=q[ba+8>>2],q[v+12>>2]=$,q[$+8>>2]=v;else if(v=(v=q[(ca=ba+20|0)>>2])||q[(ca=ba+16|0)>>2]){for(;ea=ca,(v=q[(ca=($=v)+20|0)>>2])||(ca=$+16|0,v=q[$+16>>2]););q[ea>>2]=0}else $=0;if(fa){ca=q[ba+28>>2];e:{if(q[(v=8652+(ca<<2)|0)>>2]==(0|ba)){if(q[v>>2]=$)break e;ha=q[2088]&dd(ca),q[2088]=ha;break b}if(!(q[fa+(q[fa+16>>2]==(0|ba)?16:20)>>2]=$))break b}q[$+24>>2]=fa,(v=q[ba+16>>2])&&(q[$+16>>2]=v,q[v+24>>2]=$),(v=q[ba+20>>2])&&(q[$+20>>2]=v,q[v+24>>2]=$)}}else if(3==(3&($=q[4+da>>2])))return q[2089]=a,q[4+da>>2]=-2&$,q[ba+4>>2]=1|a,q[a+ba>>2]=a}if(!(da>>>0<=ba>>>0)&&1&($=q[4+da>>2])){f:{if(!(2&$)){if(q[2093]==(0|da)){if(q[2093]=ba,a=q[2090]+a|0,q[2090]=a,q[ba+4>>2]=1|a,q[2092]!=(0|ba))break a;return q[2089]=0,q[2092]=0}if(q[2092]==(0|da))return q[2092]=ba,a=q[2089]+a|0,q[2089]=a,q[ba+4>>2]=1|a,q[a+ba>>2]=a;a=(-8&$)+a|0;g:if($>>>0<=255)$>>>=3,(0|(v=q[8+da>>2]))==(0|(ca=q[12+da>>2]))?(ha=q[2087]&dd($),q[2087]=ha):(q[v+12>>2]=ca,q[ca+8>>2]=v);else{if(fa=q[24+da>>2],(0|da)!=(0|($=q[12+da>>2])))v=q[8+da>>2],q[v+12>>2]=$,q[$+8>>2]=v;else if(v=(v=q[(ca=20+da|0)>>2])||q[(ca=16+da|0)>>2]){for(;ea=ca,(v=q[(ca=($=v)+20|0)>>2])||(ca=$+16|0,v=q[$+16>>2]););q[ea>>2]=0}else $=0;if(fa){ca=q[28+da>>2];j:{if(q[(v=8652+(ca<<2)|0)>>2]==(0|da)){if(q[v>>2]=$)break j;ha=q[2088]&dd(ca),q[2088]=ha;break g}if(!(q[fa+(q[fa+16>>2]==(0|da)?16:20)>>2]=$))break g}q[$+24>>2]=fa,(v=q[16+da>>2])&&(q[$+16>>2]=v,q[v+24>>2]=$),(v=q[20+da>>2])&&(q[$+20>>2]=v,q[v+24>>2]=$)}}if(q[ba+4>>2]=1|a,q[a+ba>>2]=a,q[2092]!=(0|ba))break f;return q[2089]=a}q[4+da>>2]=-2&$,q[ba+4>>2]=1|a,q[a+ba>>2]=a}if(a>>>0<=255)return $=8388+((a>>>=3)<<3)|0,a=(v=q[2087])&(a=1<>2]:(q[2087]=a|v,$),q[$+8>>2]=ba,q[a+12>>2]=ba,q[ba+12>>2]=$,q[ba+8>>2]=a;q[ba+16>>2]=0,v=q[ba+20>>2]=0,(ca=a>>>8)&&(v=31,16777215>>0||(v=ca,v=28+((v=((v=(v<<=ca=ca+1048320>>>16&8)<<(fa=v+520192>>>16&4))<<(ea=v+245760>>>16&2)>>>15)-(ea|ca|fa)|0)<<1|a>>>v+21&1)|0)),ea=8652+((q[($=ba)+28>>2]=v)<<2)|0;m:if((ca=q[2088])&($=1<>>1)|0),$=q[ea>>2];n:{for(;;){if((-8&q[(v=$)+4>>2])==(0|a))break n;if($=ca>>>29,ca<<=1,!($=q[16+(ea=v+(4&$)|0)>>2]))break}q[ea+16>>2]=ba,q[ba+12>>2]=ba,q[ba+24>>2]=v,q[ba+8>>2]=ba;break m}a=q[v+8>>2],q[a+12>>2]=ba,q[v+8>>2]=ba,q[ba+24>>2]=0,q[ba+12>>2]=v,q[ba+8>>2]=a}else q[2088]=$|ca,q[ea>>2]=ba,q[ba+12>>2]=ba,q[ba+24>>2]=ea,q[ba+8>>2]=ba;if(a=q[2095]+-1|0,!(q[2095]=a)){for(ba=8804;ba=(a=q[ba>>2])+8|0,a;);q[2095]=-1}}}}function qa(a){var sa,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,ua=0;L=sa=L-16|0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(a>>>0<=244){if(3&(ia=(ma=q[2087])>>>(a=(na=a>>>0<11?16:a+11&-8)>>>3))){a=(ia=q[8396+(la=(ja=a+(1&(-1^ia))|0)<<3)>>2])+8|0,(0|(ka=q[ia+8>>2]))==(0|(la=la+8388|0))?(ua=dd(ja)&ma,q[2087]=ua):(q[ka+12>>2]=la,q[la+8>>2]=ka),q[ia+4>>2]=3|(ja<<=3),q[4+(ia=ia+ja|0)>>2]=1|q[ia+4>>2];break a}if(na>>>0<=(pa=q[2089])>>>0)break k;if(ia){ja=ia=(a=(0-(a=(0-(ja=2<>>12&16,ia=q[8396+(ka=(ja=((ja=(ja|=ia=(a>>>=ia)>>>5&8)|(ia=(a>>>=ia)>>>2&4)|(ia=(a>>>=ia)>>>1&2))|(ia=(a>>>=ia)>>>1&1))+(a>>>ia)|0)<<3)>>2],(0|(a=q[ia+8>>2]))==(0|(ka=ka+8388|0))?(ma=dd(ja)&ma,q[2087]=ma):(q[a+12>>2]=ka,q[ka+8>>2]=a),a=ia+8|0,q[ia+4>>2]=3|na,q[4+(oa=ia+na|0)>>2]=1|(la=(ja<<=3)-na|0),q[ia+ja>>2]=la,pa&&(ia=8388+((ja=pa>>>3)<<3)|0,ka=q[2092],ja=(ja=1<>2]:(q[2087]=ja|ma,ia),q[ia+8>>2]=ka,q[ja+12>>2]=ka,q[ka+12>>2]=ia,q[ka+8>>2]=ja),q[2092]=oa,q[2089]=la;break a}if(!(ra=q[2088]))break k;for(ja=ia=(a=(ra&0-ra)-1|0)>>>12&16,ia=q[8652+(((ja=(ja|=ia=(a>>>=ia)>>>5&8)|(ia=(a>>>=ia)>>>2&4)|(ia=(a>>>=ia)>>>1&2))|(ia=(a>>>=ia)>>>1&1))+(a>>>ia)<<2)>>2],ka=(-8&q[ia+4>>2])-na|0,ja=ia;a=(a=q[ja+16>>2])||q[ja+20>>2];)ka=(ja=(la=(-8&q[a+4>>2])-na|0)>>>0>>0)?la:ka,ia=ja?a:ia,ja=a;if(qa=q[ia+24>>2],(0|(la=q[ia+12>>2]))!=(0|ia)){a=q[ia+8>>2],q[a+12>>2]=la,q[la+8>>2]=a;break b}if(!(a=q[(ja=ia+20|0)>>2])){if(!(a=q[ia+16>>2]))break j;ja=ia+16|0}for(;oa=ja,(a=q[(ja=(la=a)+20|0)>>2])||(ja=la+16|0,a=q[la+16>>2]););q[oa>>2]=0;break b}if(na=-1,!(4294967231>>0)&&(na=-8&(ia=a+11|0),pa=q[2088])){ja=0-na|0,ma=0,(ia>>>=8)&&(ma=31,16777215>>0||(ma=28+((a=((ma=(ia<<=ka=ia+1048320>>>16&8)<<(a=ia+520192>>>16&4))<<(ia=ma+245760>>>16&2)>>>15)-(ia|a|ka)|0)<<1|na>>>a+21&1)|0));q:{r:{if(ka=q[8652+(ma<<2)>>2])for(ia=na<<(31==(0|ma)?0:25-(ma>>>1)|0),a=0;;){if(!(ja>>>0<=(oa=(-8&q[ka+4>>2])-na|0)>>>0||(la=ka,ja=oa))){ja=0,a=ka;break r}if(oa=q[ka+20>>2],ka=q[16+((ia>>>29&4)+ka|0)>>2],a=oa&&(0|oa)!=(0|ka)?oa:a,ia<<=0!=(0|ka),!ka)break}else a=0;if(!(a|la)){if(!(a=(0-(a=2<>>12&16,a=q[8652+(((ka=(ka|=ia=(a>>>=ia)>>>5&8)|(ia=(a>>>=ia)>>>2&4)|(ia=(a>>>=ia)>>>1&2))|(ia=(a>>>=ia)>>>1&1))+(a>>>ia)<<2)>>2]}if(!a)break q}for(;ja=(ia=(ka=(-8&q[a+4>>2])-na|0)>>>0>>0)?ka:ja,la=ia?a:la,a=(ia=q[a+16>>2])||q[a+20>>2];);}if(!(!la|ja>>>0>=q[2089]-na>>>0)){if(oa=q[la+24>>2],(0|la)!=(0|(ia=q[la+12>>2]))){a=q[la+8>>2],q[a+12>>2]=ia,q[ia+8>>2]=a;break c}if(!(a=q[(ka=la+20|0)>>2])){if(!(a=q[la+16>>2]))break i;ka=la+16|0}for(;ma=ka,(a=q[(ka=(ia=a)+20|0)>>2])||(ka=ia+16|0,a=q[ia+16>>2]););q[ma>>2]=0;break c}}}if(na>>>0<=(ia=q[2089])>>>0){a=q[2092],16<=(ja=ia-na|0)>>>0?(q[2089]=ja,q[2092]=ka=a+na|0,q[ka+4>>2]=1|ja,q[a+ia>>2]=ja,q[a+4>>2]=3|na):(q[2092]=0,q[2089]=0,q[a+4>>2]=3|ia,q[4+(ia=a+ia|0)>>2]=1|q[ia+4>>2]),a=a+8|0;break a}if(na>>>0<(ka=q[2090])>>>0){q[2090]=ia=ka-na|0,a=q[2093],q[2093]=ja=a+na|0,q[ja+4>>2]=1|ia,q[a+4>>2]=3|na,a=a+8|0;break a}if((ja=(ma=(ja=la=na+47|(a=0))+(ia=q[2205]?q[2207]:(q[2208]=-1,q[2209]=-1,q[2206]=4096,q[2207]=4096,q[2205]=12+sa&-16^1431655768,q[2210]=0,q[2198]=0,4096))|0)&(oa=0-ia|0))>>>0<=na>>>0)break a;if((ia=q[2197])&&(qa=(pa=q[2195])+ja|0)>>>0<=pa>>>0|ia>>>0>>0)break a;if(4&r[8792])break f;v:{w:{if(ia=q[2093])for(a=8796;;){if((pa=q[a>>2])+q[a+4>>2]>>>0>ia>>>0&&pa>>>0<=ia>>>0)break w;if(!(a=q[a+8>>2]))break}if(-1==(0|(ia=ea(0))))break g;if(ma=ja,(ma=(ka=(a=q[2206])+-1|0)&ia?(ja-ia|0)+(ia+ka&0-a)|0:ma)>>>0<=na>>>0|2147483646>>0)break g;if((a=q[2197])&&(oa=(ka=q[2195])+ma|0)>>>0<=ka>>>0|a>>>0>>0)break g;if((0|ia)!=(0|(a=ea(ma))))break v;break e}if(2147483646<(ma=oa&ma-ka)>>>0)break g;if((0|(ia=ea(ma)))==(q[a>>2]+q[a+4>>2]|0))break h;a=ia}if(!(na+48>>>0<=ma>>>0|2147483646>>0|-1==(0|(ia=a)))){if(2147483646<(a=(a=q[2207])+(la-ma|0)&0-a)>>>0)break e;if(-1!=(0|ea(a))){ma=a+ma|0;break e}ea(0-ma|0);break g}if(-1!=(0|ia))break e;break g}la=0;break b}ia=0;break c}if(-1!=(0|ia))break e}q[2198]=4|q[2198]}if(2147483646>>0)break d;if(ia=ea(ja),(a=ea(0))>>>0<=ia>>>0|-1==(0|ia)|-1==(0|a))break d;if((ma=a-ia|0)>>>0<=na+40>>>0)break d}a=q[2195]+ma|0,(q[2195]=a)>>>0>t[2196]&&(q[2196]=a);x:{y:{z:{if(ja=q[2093]){for(a=8796;;){if(((ka=q[a>>2])+(la=q[a+4>>2])|0)==(0|ia))break z;if(!(a=q[a+8>>2]))break}break y}for((a=q[2091])>>>0<=ia>>>0&&a||(q[2091]=ia),a=0,q[2200]=ma,q[2199]=ia,q[2095]=-1,q[2096]=q[2205],q[2202]=0;q[8396+(ja=a<<3)>>2]=ka=ja+8388|0,q[ja+8400>>2]=ka,32!=(0|(a=a+1|0)););q[2090]=ka=(a=ma+-40|0)-(ja=ia+8&7?-8-ia&7:0)|0,q[2093]=ja=ia+ja|0,q[ja+4>>2]=1|ka,q[4+(a+ia|0)>>2]=40,q[2094]=q[2209];break x}if(!(8&r[a+12|0]|ia>>>0<=ja>>>0|ja>>>0>>0)){q[a+4>>2]=la+ma,q[2093]=ia=(a=ja+8&7?-8-ja&7:0)+ja|0,ka=q[2090]+ma|0,q[2090]=a=ka-a|0,q[ia+4>>2]=1|a,q[4+(ja+ka|0)>>2]=40,q[2094]=q[2209];break x}}ia>>>0<(la=q[2091])>>>0&&(q[2091]=ia,la=0),ka=ia+ma|0,a=8796;A:{B:{C:{D:{E:{F:{for(;(0|ka)!=q[a>>2];)if(!(a=q[a+8>>2]))break F;if(!(8&r[a+12|0]))break E}for(a=8796;;){if((ka=q[a>>2])>>>0<=ja>>>0&&ja>>>0<(la=ka+q[a+4>>2]|0)>>>0)break D;a=q[a+8>>2]}}if(q[a>>2]=ia,q[a+4>>2]=q[a+4>>2]+ma,q[4+(qa=(ia+8&7?-8-ia&7:0)+ia|0)>>2]=3|na,a=((ia=ka+(ka+8&7?-8-ka&7:0)|0)-qa|0)-na|0,oa=na+qa|0,(0|ia)==(0|ja)){q[2093]=oa,a=q[2090]+a|0,q[2090]=a,q[oa+4>>2]=1|a;break B}if(q[2092]==(0|ia)){q[2092]=oa,a=q[2089]+a|0,q[2089]=a,q[oa+4>>2]=1|a,q[a+oa>>2]=a;break B}if(1==(3&(ja=q[ia+4>>2]))){ra=-8&ja;G:if(ja>>>0<=255)la=ja>>>3,ja=q[ia+8>>2],(0|(ka=q[ia+12>>2]))==(0|ja)?(ua=q[2087]&dd(la),q[2087]=ua):(q[ja+12>>2]=ka,q[ka+8>>2]=ja);else{if(pa=q[ia+24>>2],(0|(ma=q[ia+12>>2]))!=(0|ia))ja=q[ia+8>>2],q[ja+12>>2]=ma,q[ma+8>>2]=ja;else if(na=(na=q[(ka=ia+20|0)>>2])||q[(ka=ia+16|0)>>2]){for(;ja=ka,(na=q[(ka=(ma=na)+20|0)>>2])||(ka=ma+16|0,na=q[ma+16>>2]););q[ja>>2]=0}else ma=0;if(pa){ja=q[ia+28>>2];J:{if(q[(ka=8652+(ja<<2)|0)>>2]==(0|ia)){if(q[ka>>2]=ma)break J;ua=q[2088]&dd(ja),q[2088]=ua;break G}if(!(q[pa+(q[pa+16>>2]==(0|ia)?16:20)>>2]=ma))break G}q[ma+24>>2]=pa,(ja=q[ia+16>>2])&&(q[ma+16>>2]=ja,q[ja+24>>2]=ma),(ja=q[ia+20>>2])&&(q[ma+20>>2]=ja,q[ja+24>>2]=ma)}}ia=ia+ra|0,a=a+ra|0}if(q[ia+4>>2]=-2&q[ia+4>>2],q[oa+4>>2]=1|a,(q[a+oa>>2]=a)>>>0<=255){a=8388+((ia=a>>>3)<<3)|0,ia=(ja=q[2087])&(ia=1<>2]:(q[2087]=ia|ja,a),q[a+8>>2]=oa,q[ia+12>>2]=oa,q[oa+12>>2]=a,q[oa+8>>2]=ia;break B}if(ia=0,(ka=a>>>8)&&(ia=31,16777215>>0||(ia=28+((ia=((na=(ka<<=la=ka+1048320>>>16&8)<<(ia=ka+520192>>>16&4))<<(ka=na+245760>>>16&2)>>>15)-(ka|ia|la)|0)<<1|a>>>ia+21&1)|0)),q[(ja=oa)+28>>2]=ia,q[oa+16>>2]=0,ja=8652+(ia<<2)|(q[oa+20>>2]=0),(ka=q[2088])&(la=1<>>1)|0),ia=q[ja>>2];;){if((-8&q[(ja=ia)+4>>2])==(0|a))break C;if(ia=ka>>>29,ka<<=1,!(ia=q[16+(la=(4&ia)+ja|0)>>2]))break}q[la+16>>2]=oa}else q[2088]=ka|la,q[ja>>2]=oa;q[oa+24>>2]=ja,q[oa+12>>2]=oa,q[oa+8>>2]=oa;break B}for(q[2090]=oa=(a=ma+-40|0)-(ka=ia+8&7?-8-ia&7:0)|0,q[2093]=ka=ia+ka|0,q[ka+4>>2]=1|oa,q[4+(a+ia|0)>>2]=40,q[2094]=q[2209],q[(ka=(a=(la+(la+-39&7?39-la&7:0)|0)-47|0)>>>0>>0?ja:a)+4>>2]=27,a=q[2202],q[ka+16>>2]=q[2201],q[ka+20>>2]=a,a=q[2200],q[ka+8>>2]=q[2199],q[ka+12>>2]=a,q[2201]=ka+8,q[2200]=ma,q[2199]=ia,a=ka+24|(q[2202]=0);q[a+4>>2]=7,ia=a+8|0,a=a+4|0,ia>>>0>>0;);if((0|ja)==(0|ka))break x;if(q[ka+4>>2]=-2&q[ka+4>>2],q[ja+4>>2]=1|(la=ka-ja|0),(q[ka>>2]=la)>>>0<=255){a=8388+((ia=la>>>3)<<3)|0,ia=(ka=q[2087])&(ia=1<>2]:(q[2087]=ia|ka,a),q[a+8>>2]=ja,q[ia+12>>2]=ja,q[ja+12>>2]=a,q[ja+8>>2]=ia;break x}if(q[ja+16>>2]=0,a=q[ja+20>>2]=0,(ka=la>>>8)&&(a=31,16777215>>0||(a=28+((a=((oa=(ka<<=ma=ka+1048320>>>16&8)<<(a=ka+520192>>>16&4))<<(ka=oa+245760>>>16&2)>>>15)-(ka|a|ma)|0)<<1|la>>>a+21&1)|0)),ia=8652+((q[(ia=ja)+28>>2]=a)<<2)|0,(ka=q[2088])&(ma=1<>>1)|0),ia=q[ia>>2];;){if((0|la)==(-8&q[(ka=ia)+4>>2]))break A;if(ia=a>>>29,a<<=1,!(ia=q[16+(ma=ka+(4&ia)|0)>>2]))break}q[ma+16>>2]=ja,q[ja+24>>2]=ka}else q[2088]=ka|ma,q[ia>>2]=ja,q[ja+24>>2]=ia;q[ja+12>>2]=ja,q[ja+8>>2]=ja;break x}a=q[ja+8>>2],q[a+12>>2]=oa,q[ja+8>>2]=oa,q[oa+24>>2]=0,q[oa+12>>2]=ja,q[oa+8>>2]=a}a=qa+8|0;break a}a=q[ka+8>>2],q[a+12>>2]=ja,q[ka+8>>2]=ja,q[ja+24>>2]=0,q[ja+12>>2]=ka,q[ja+8>>2]=a}if(!((a=q[2090])>>>0<=na>>>0)){q[2090]=ia=a-na|0,a=q[2093],q[2093]=ja=a+na|0,q[ja+4>>2]=1|ia,q[a+4>>2]=3|na,a=a+8|0;break a}}q[2086]=48,a=0;break a}Q:if(oa){a=q[la+28>>2];R:{if(q[(ka=8652+(a<<2)|0)>>2]==(0|la)){if(q[ka>>2]=ia)break R;pa=dd(a)&pa,q[2088]=pa;break Q}if(!(q[oa+(q[oa+16>>2]==(0|la)?16:20)>>2]=ia))break Q}q[ia+24>>2]=oa,(a=q[la+16>>2])&&(q[ia+16>>2]=a,q[a+24>>2]=ia),(a=q[la+20>>2])&&(q[ia+20>>2]=a,q[a+24>>2]=ia)}S:if(ja>>>0<=15)q[la+4>>2]=3|(a=ja+na|0),q[4+(a=a+la|0)>>2]=1|q[a+4>>2];else if(q[la+4>>2]=3|na,q[4+(ka=la+na|0)>>2]=1|ja,(q[ja+ka>>2]=ja)>>>0<=255)a=8388+((ia=ja>>>3)<<3)|0,ia=(ja=q[2087])&(ia=1<>2]:(q[2087]=ia|ja,a),q[a+8>>2]=ka,q[ia+12>>2]=ka,q[ka+12>>2]=a,q[ka+8>>2]=ia;else{a=0,(na=ja>>>8)&&(a=31,16777215>>0||(a=28+((a=((oa=(na<<=ma=na+1048320>>>16&8)<<(a=na+520192>>>16&4))<<(na=oa+245760>>>16&2)>>>15)-(na|a|ma)|0)<<1|ja>>>a+21&1)|0)),q[(ia=ka)+28>>2]=a,q[ka+16>>2]=0,ia=8652+(a<<2)|(q[ka+20>>2]=0);V:{if((na=1<>>1)|0),na=q[ia>>2];;){if((-8&q[(ia=na)+4>>2])==(0|ja))break V;if(na=a>>>29,a<<=1,!(na=q[16+(ma=(4&na)+ia|0)>>2]))break}q[ma+16>>2]=ka}else q[2088]=na|pa,q[ia>>2]=ka;q[ka+24>>2]=ia,q[ka+12>>2]=ka,q[ka+8>>2]=ka;break S}a=q[ia+8>>2],q[a+12>>2]=ka,q[ia+8>>2]=ka,q[ka+24>>2]=0,q[ka+12>>2]=ia,q[ka+8>>2]=a}a=la+8|0;break a}X:if(qa){a=q[ia+28>>2];Y:{if(q[(ja=8652+(a<<2)|0)>>2]==(0|ia)){if(q[ja>>2]=la)break Y;ua=dd(a)&ra,q[2088]=ua;break X}if(!(q[qa+(q[qa+16>>2]==(0|ia)?16:20)>>2]=la))break X}q[la+24>>2]=qa,(a=q[ia+16>>2])&&(q[la+16>>2]=a,q[a+24>>2]=la),(a=q[ia+20>>2])&&(q[la+20>>2]=a,q[a+24>>2]=la)}ka>>>0<=15?(q[ia+4>>2]=3|(a=ka+na|0),q[4+(a=a+ia|0)>>2]=1|q[a+4>>2]):(q[ia+4>>2]=3|na,q[4+(na=ia+na|0)>>2]=1|ka,q[ka+na>>2]=ka,pa&&(a=8388+((ja=pa>>>3)<<3)|0,la=q[2092],ja=(ja=1<>2]:(q[2087]=ja|ma,a),q[a+8>>2]=la,q[ja+12>>2]=la,q[la+12>>2]=a,q[la+8>>2]=ja),q[2092]=na,q[2089]=ka),a=ia+8|0}return L=16+sa|0,a}function ra(a,va,wa,xa,ya,za,Aa){var Qa,Ta,Ba,Ca=0,Da=0,Fa=0,Ia=0,Ja=0,Ka=0,Ma=0,Na=0,Oa=0,Pa=0,Ra=0,Sa=0;q[76+(L=Ba=L-80|0)>>2]=va,Ta=55+Ba|0,Qa=56+Ba|0,va=0;a:{b:{c:for(;;){(0|Oa)<0||(Oa=(2147483647-Oa|0)<(0|va)?(q[2086]=61,-1):va+Oa|0);e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{o:{p:{q:{if(Ia=q[76+Ba>>2],Fa=r[0|(va=Ia)]){for(;;){r:{s:{t:if(Ca=255&Fa){if(37!=(0|Ca))break s;for(Fa=va;;){if(37!=r[va+1|0])break t;if(q[76+Ba>>2]=Ca=va+2|0,Fa=Fa+1|0,Da=r[va+2|0],va=Ca,37!=(0|Da))break}}else Fa=va;if(va=Fa-Ia|0,a&&Z(a,Ia,va),va)continue c;Pa=-1,Ja=!ha(o[q[76+(Ca=Ba)>>2]+(Fa=1)|0]),va=q[76+Ba>>2],Ja|36!=r[va+2|0]||(Pa=o[va+1|0]+-48|0,Ra=1,Fa=3),q[Ca+76>>2]=va=Fa+va|0;u:if(31<(Da=(Ma=o[(Fa=0)|va])+-32|0)>>>0)Ca=va;else if(Ca=va,75913&(Da=1<>2]=Ca=va+1|0,Fa|=Da,31<(Da=(Ma=o[va+1|0])+-32|0)>>>0)break u;if(va=Ca,!(75913&(Da=1<>2],36==r[va+2|0]))q[((o[va+1|0]<<2)+ya|0)-192>>2]=10,Na=q[((o[va+1|0]<<3)+xa|0)-384>>2],Ra=1,va=va+3|0;else{if(Ra)break b;Na=Ra=0,a&&(va=q[wa>>2],q[wa>>2]=va+4,Na=q[va>>2]),va=q[76+Ba>>2]+1|0}q[Ja+76>>2]=va,-1<(0|Na)||(Na=0-Na|0,Fa|=8192)}else{if((0|(Na=Ha(76+Ba|0)))<0)break b;va=q[76+Ba>>2]}if(Da=-1,46==r[0|va])if(42==r[va+1|0])if(ha(o[va+2|0])&&(va=q[76+Ba>>2],36==r[va+3|0]))q[((o[va+2|0]<<2)+ya|0)-192>>2]=10,Da=q[((o[va+2|0]<<3)+xa|0)-384>>2],q[76+Ba>>2]=va=va+4|0;else{if(Ra)break b;Da=a?(va=q[wa>>2],q[wa>>2]=va+4,q[va>>2]):0,va=q[76+Ba>>2]+2|0,q[76+Ba>>2]=va}else q[76+Ba>>2]=va+1,Da=Ha(76+Ba|0),va=q[76+Ba>>2];for(Ca=0;;){if(Sa=Ca,Ka=-1,57>>0)break a;if(q[76+Ba>>2]=Ma=va+1|0,Ca=o[0|va],va=Ma,!((Ca=r[3295+(Ca+w(Sa,58)|0)|0])+-1>>>0<8))break}if(!Ca)break a;A:{B:{C:{if(19==(0|Ca)){if((0|Pa)<=-1)break C;break a}if((0|Pa)<0)break B;q[(Pa<<2)+ya>>2]=Ca,Ca=q[4+(va=(Pa<<3)+xa|0)>>2],q[64+Ba>>2]=q[va>>2],q[68+Ba>>2]=Ca}if(va=0,a)break A;continue c}if(!a)break e;Ga(64+Ba|0,Ca,wa,Aa),Ma=q[76+Ba>>2]}if(Ja=-65537&Fa,Fa=8192&Fa?Ja:Fa,Pa=3336,Ca=Qa,va=o[Ma+-1|(Ka=0)],(Ma=(va=Sa&&3==(15&va)?-33&va:va)+-88|0)>>>0<=32)break r;D:{E:{F:{G:{if(6<(Ja=va+-65|0)>>>0){if(83!=(0|va))break f;if(!Da)break G;Ca=q[64+Ba>>2];break E}switch(Ja-1|0){case 1:break F;case 0:case 2:break f;default:break q}}_(a,32,Na,va=0,Fa);break D}q[12+Ba>>2]=0,q[8+Ba>>2]=q[64+Ba>>2],q[64+Ba>>2]=8+Ba,Da=-1,Ca=8+Ba|0}va=0;H:{for(;;){if(!(Ia=q[Ca>>2]))break H;if((Ja=(0|(Ia=Ea(4+Ba|0,Ia)))<0)|Da-va>>>0>>0)break;if(Ca=Ca+4|0,!((va=va+Ia|0)>>>0>>0))break H}if(Ka=-1,Ja)break a}if(_(a,32,Na,va,Fa),va)for(Da=0,Ca=q[64+Ba>>2];;){if(!(Ia=q[Ca>>2]))break D;if((0|va)<(0|(Da=(Ia=Ea(4+Ba|0,Ia))+Da|0)))break D;if(Z(a,4+Ba|0,Ia),Ca=Ca+4|0,!(Da>>>0>>0))break}else va=0}_(a,32,Na,va,8192^Fa),va=(0|va)<(0|Na)?Na:va;continue c}q[76+Ba>>2]=Ca=va+1|0,Fa=r[va+1|0],va=Ca;continue}break}switch(Ma-1|0){case 28:break i;case 21:break j;case 23:break l;case 22:break m;case 11:case 16:break n;case 10:break o;case 26:break p;case 8:case 12:case 13:case 14:break q;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 9:case 15:case 17:case 18:case 19:case 20:case 24:case 25:case 27:case 29:case 30:break f;default:break k}}if(Ka=Oa,a)break a;if(!Ra)break e;for(va=1;;){if(a=q[(va<<2)+ya>>2]){if(Ga((va<<3)+xa|0,a,wa,Aa),10!=(0|(va=va+(Ka=1)|0)))continue;break a}break}if(Ka=1,9>>0)break a;if(Ka=-1,q[(va<<2)+ya>>2])break a;for(;!q[((va=va+1|0)<<2)+ya>>2]&&10!=(0|va););Ka=va>>>0<10?-1:1;break a}va=0|n[za](a,v[64+Ba>>3],Na,Da,Fa,va);continue}Ca=(va=La(Ia=(va=q[64+Ba>>2])||3346,Da))||Da+Ia|0,Fa=Ja,Da=va?va-Ia|0:Da;break f}o[55+Ba|0]=q[64+Ba>>2],Da=1,Ia=Ta,Fa=Ja;break f}if(va=Ja=q[68+Ba>>2],Ia=q[64+Ba>>2],(0|va)<-1||(0|va)<=-1&&!(4294967295>>0)){va=0-(va+(0>>0)|0)|0,q[64+Ba>>2]=Ia=0-Ia|0,q[68+Ba>>2]=va,Ka=1,Pa=3336;break h}if(2048&Fa){Ka=1,Pa=3337;break h}Pa=(Ka=1&Fa)?3338:3336;break h}if(Ia=function(a,Il,Rm){if(a|Il)for(;o[0|(Rm=Rm+-1|0)]=7&a|48,(a=(7&Il)<<29|a>>>3)|(Il>>>=3););return Rm}(q[64+Ba>>2],q[68+Ba>>2],Qa),!(8&Fa))break g;Da=(0|(va=Qa-Ia|0))<(0|Da)?Da:va+1|0;break g}Da=8>>0?Da:8,Fa|=8,va=120}if(Ia=function(a,Il,Rm,Sm){if(a|Il)for(;o[0|(Rm=Rm+-1|0)]=r[3824+(15&a)|0]|Sm,(a=(15&Il)<<28|a>>>4)|(Il>>>=4););return Rm}(q[64+Ba>>2],q[68+Ba>>2],Qa,32&va),!(8&Fa)|!(q[64+Ba>>2]|q[68+Ba>>2]))break g;Pa=3336+(va>>>4)|0,Ka=2;break g}if(7<(Ca=255&Sa)>>>(va=0))continue;switch(Ca-1|0){default:case 0:q[q[64+Ba>>2]>>2]=Oa;continue;case 1:Ca=q[64+Ba>>2],q[Ca>>2]=Oa,q[Ca+4>>2]=Oa>>31;continue;case 2:p[q[64+Ba>>2]>>1]=Oa;continue;case 3:o[q[64+Ba>>2]]=Oa;continue;case 5:q[q[64+Ba>>2]>>2]=Oa;continue;case 4:continue;case 6:}Ca=q[64+Ba>>2],q[Ca>>2]=Oa,q[Ca+4>>2]=Oa>>31;continue}Ia=q[64+Ba>>2],va=q[68+Ba>>2],Pa=3336}Ia=ga(Ia,va,Qa)}Fa=-1<(0|Da)?-65537&Fa:Fa,Da=!!((Ja=va=q[68+Ba>>2])|(Ma=q[64+Ba>>2]))|Da?(0|(va=!(Ja|Ma)+(Qa-Ia|0)|0))<(0|Da)?Da:va:(Ia=Qa,0)}_(a,32,va=(0|Na)<(0|(Ca=(Da=(0|Da)<(0|(Ja=Ca-Ia|0))?Ja:Da)+Ka|0))?Ca:Na,Ca,Fa),Z(a,Pa,Ka),_(a,48,va,Ca,65536^Fa),_(a,48,Da,Ja,0),Z(a,Ia,Ja),_(a,32,va,Ca,8192^Fa);continue}break}Ka=0;break a}Ka=-1}return L=80+Ba|0,Ka}function sa(a){var ya,va=0,wa=0,xa=0,za=0,xa=4,wa=1439;a:if(va=r[0|a]){for(;!((0|(ya=r[0|wa]))!=(0|va)||!(xa=xa+-1|0)|!ya);)if(wa=wa+1|0,va=r[a+1|0],a=a+1|0,!va)break a;za=va}return(255&za)-r[0|wa]|0}function ta(a,Aa,Ea){var La,Ga,Ha=0,Ua=0,Va=0;q[(L=Ga=L-240|0)>>2]=a,Ua=1;a:if(!((0|Aa)<2))for(Ha=a;;){if(Ha=(La=Ha+-4|0)-q[((Va=Aa+-2|0)<<2)+Ea>>2]|0,0<=(0|n[5](a,Ha))&&-1<(0|n[5](a,La)))break a;if(a=(Ua<<2)+Ga|0,0<=(0|n[5](Ha,La))?(q[a>>2]=Ha,Va=Aa+-1|0):Ha=q[a>>2]=La,Ua=Ua+1|0,(0|Va)<2)break a;a=q[Ga>>2],Aa=Va}Na(Ga,Ua),L=240+Ga|0}function ua(a){var Ea,ab,Aa=0;if(x(0),function(a){var Vg,Wg;q[a+428>>2]&&(Wg=q[a+332>>2],$(q[a+460>>2],q[a+436>>2],Vg=Wg<<2),$(q[a+464>>2],q[a+440>>2],Vg),$(q[a+468>>2],q[a+448>>2],Vg),r[q[a>>2]+4|0]<4||($(q[a+472>>2],q[a+452>>2],Vg=Wg<<4),$(q[a+476>>2],q[a+456>>2],Vg)))}(a),function(a){var ke,le,me,fe=0,ge=x(0),he=x(0),ie=0,je=x(0);x(0),x(0);if(1<=(0|(ie=q[a>>2])))for(me=(fe=q[a+4>>2])+w(ie,52)|0,a=q[a+12>>2];ge=u[a>>2],u[fe+44>>2]!=(ge=(ke=q[fe+16>>2])?(he=ge,ge=u[fe+4>>2],je=u[fe+12>>2],he=x(x(he-ge)/je),le=x(C(he)),ie=x(y(le))>2],he=u[fe+8>>2],ge>2]=ge,q[fe+48>>2]=1):q[fe+48>>2]=0,ke||(u[a>>2]=ge),a=a+4|0,(fe=fe+52|0)>>>0>>0;);}(a+540|0),function(a){var Wd,Xd,ae,ce,de,ee,Rd=0,Sd=0,Td=x(0),Ud=0,Vd=x(0),Yd=(x(0),x(0),0),Zd=x(0),_d=0,$d=0,be=0;x(0);if(1<=(0|(Ud=q[a+540>>2])))for(de=(Yd=q[a+544>>2])+w(Ud,52)|0,ee=q[a+644>>2];;){a:if(!(q[Yd>>2]||(0|(Ud=q[Yd+32>>2]))<1))if(ae=(a=q[Yd+28>>2])+w(Ud,28)|0,ce=u[Yd+24>>2],Xd=u[Yd+20>>2],Wd=u[Yd+44>>2],ee)for(;;){Zd=x($d=0);h:{i:{j:{if((0|(Sd=q[a>>2]))<1)Rd=Ud=0;else if(_d=q[a+4>>2],Vd=u[_d>>2],Td=x(Vd-Xd),1==(0|Sd))Ud=Wd>2],!(Wd>2],Wd>2])break h;break i}Rd=Sd+-1|0,Ud=1}_d=(Sd=(Vd=u[a+12>>2])!=Zd)&(Zd==x(0)|Vd==x(0))|q[a+8>>2]!=(0|Rd),$d=Ud}if(q[a+20>>2]=_d,q[a+24>>2]=Sd,u[a+12>>2]=Zd,q[a+16>>2]=$d,q[a+8>>2]=Rd,!((a=a+28|0)>>>0>>0))break}else{if(!q[Yd+48>>2])for(;;)if(q[a+20>>2]=0,!((a=a+28|(q[a+24>>2]=0))>>>0>>0))break a;for(;;){Zd=x($d=0);b:{c:{d:{e:if(!(((Sd=0)|(Rd=q[(_d=a)>>2]))<1)){if(Ud=q[a+4>>2],Vd=u[Ud>>2],Td=x(Vd-Xd),1!=(0|Rd)){if(!(Wd>2],!(Wd>2],Wd>2]))break b}$d=Ud,be=(Sd=(Vd=u[a+12>>2])!=Zd)&(Zd==x(0)|Vd==x(0))|q[a+8>>2]!=(0|Rd)}if(q[_d+20>>2]=be,q[a+24>>2]=Sd,u[a+12>>2]=Zd,q[a+16>>2]=$d,q[a+8>>2]=Rd,!((a=a+28|0)>>>0>>0))break}}if(!((Yd=Yd+52|0)>>>0>>0))break}}(a),function(a){var rd,sd,td,ud,vd,kd=0,ld=x(0),md=0,nd=0,od=x(0),pd=0,qd=x(0);x(0);if(!(r[q[a>>2]+4|0]<4||(0|(kd=q[a+540>>2]))<1))for(ud=(pd=q[a+544>>2])+w(kd,52)|0,vd=q[a+644>>2];;){b:if(1==q[pd>>2]&&!((0|(kd=q[pd+40>>2]))<1))if(sd=(a=q[pd+36>>2])+w(kd,28)|0,rd=u[pd+44>>2],vd)for(;;){qd=x(kd=0);d:if(!((0|(nd=q[a>>2]))<2||(md=q[a+4>>2],rd<=(ld=u[md>>2])))){kd=1;e:if(!(rd<(od=u[md+4>>2]))){for(;ld=od,(0|nd)!=(0|(kd=kd+1|0));)if(rd<(od=u[md+(kd<<2)>>2]))break e;kd=nd+-1|0;break d}qd=x(x(rd-ld)/x(od-ld)),kd=kd+-1|0}if(ld=u[a+16>>2],u[a+16>>2]=qd,nd=q[a+12>>2],q[a+12>>2]=kd,q[a+24>>2]=md=ld!=qd,q[a+20>>2]=md&(qd==x(0)|ld==x(0))|(0|kd)!=(0|nd),!((a=a+28|0)>>>0>>0))break}else{if(!q[pd+48>>2])for(;;)if(q[a+20>>2]=0,!((a=a+28|(q[a+24>>2]=0))>>>0>>0))break b;for(;;){qd=x(nd=0);c:if(!((0|(td=q[a>>2]))<2||(md=q[a+4>>2],rd<=(ld=u[md>>2])))){if(kd=1,!(rd<(od=u[md+4>>2])))for(nd=td+-1|0;;){if(ld=od,(0|kd)==(0|nd))break c;if(rd<(od=u[md+((kd=kd+1|0)<<2)>>2]))break}qd=x(x(rd-ld)/x(od-ld)),nd=kd+-1|0}if(ld=u[a+16>>2],u[a+16>>2]=qd,kd=q[a+12>>2],q[a+12>>2]=nd,q[a+24>>2]=md=ld!=qd,q[a+20>>2]=md&(qd==x(0)|ld==x(0))|(0|kd)!=(0|nd),!((a=a+28|0)>>>0>>0))break}}if(!((pd=pd+52|0)>>>0>>0))break}}(a),function(a){var Id,Jd,Md,Nd,Od,Pd,Qd,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=x(0),Ed=0,Gd=0,Hd=0,Kd=0,Ld=0;if(1<=(0|(xd=q[a+564>>2])))for(Pd=(Ad=q[a+568>>2])+w(xd,36)|0,Nd=q[a+644>>2];;){a:{if(!(Bd=((yd=zd=xd=0)|(Jd=q[Ad+4>>2]))<1))for(Ed=q[Ad>>2],a=Kd=0;;){if(wd=q[Ed+(a<<2)>>2],q[wd+16>>2]){wd=1,Ld=0;break a}if(yd=yd||q[wd+24>>2],xd=xd||q[wd+20>>2],zd=(u[wd+12>>2]!=x(0))+zd|0,(0|Jd)==(0|(a=a+1|0)))break}if(wd=0,(Kd=Nd?1:yd)|(Ld=Nd?1:xd)&&(q[Ad+12>>2]=Ed=1<>2],Od=q[Ad>>2],yd=(a=q[Ad+16>>2])+(Cd=Ed<<2)|0,yd=ca(a,0,4+((-1^a)+((a=a+4|0)>>>0>>0?yd:a)|0)&-4),Cd=xd+Cd|0,a=xd;q[a>>2]=1065353216,(a=a+4|0)>>>0>>0;);if(!Bd){if(Bd=0,Cd=wd=1,zd)for(;;){if(zd=q[(Bd<<2)+Od>>2],Gd=q[zd+8>>2],Hd=w(Gd,wd),(Dd=u[zd+12>>2])!=x(a=0)){for(q[yd>>2]=Hd+q[yd>>2],u[xd>>2]=x(x(1)-Dd)*u[xd>>2],Gd=w(Gd+(a=1)|0,wd);Dd=u[zd+12>>2],Qd=q[(Md=(Id=a<<2)+yd|0)>>2],q[Md>>2]=Qd+((Md=a&Cd)?Gd:Hd),u[(Id=xd+Id|0)>>2]=(Md?Dd:x(x(1)-Dd))*u[Id>>2],(0|Ed)!=(0|(a=a+1|0)););Cd<<=1}else for(;q[(Gd=yd+(a<<2)|0)>>2]=Hd+q[Gd>>2],(0|Ed)!=(0|(a=a+1|0)););if(wd=w(q[zd>>2],wd),(0|Jd)==(0|(Bd=Bd+1|0)))break}else for(;;){if(zd=q[(Bd<<2)+Od>>2],Cd=w(q[zd+8>>2],wd),(Dd=u[zd+12>>2])!=x(a=0))q[yd>>2]=Cd+q[yd>>2],u[xd>>2]=x(x(1)-Dd)*u[xd>>2];else for(;q[(Hd=yd+(a<<2)|0)>>2]=Cd+q[Hd>>2],(0|Ed)!=(0|(a=a+1|0)););if(wd=w(q[zd>>2],wd),(0|Jd)==(0|(Bd=Bd+1|0)))break}wd=0}}}if(q[Ad+32>>2]=wd,q[Ad+24>>2]=Ld,q[Ad+28>>2]=Kd,!((Ad=Ad+36|0)>>>0>>0))break}}(a),function(a){var gd,hd,id,jd,Wc=x(0),Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=x(0),bd=x(0),cd=x(0),dd=0,ed=0,fd=0;if(!(r[q[a>>2]+4|0]<4||(0|(Xc=q[a+588>>2]))<1))for(jd=(Zc=q[a+592>>2])+w(Xc,48)|0,gd=q[a+644>>2];;){if(a=q[Zc>>2],(ed=gd?1:q[a+20>>2])|(fd=gd?1:q[a+24>>2])){c:{d:{$c=Zc,_c=q[a+8>>2],Xc=q[a+12>>2],Wc=u[a+16>>2],a=(0|_c)!=(0|Xc);e:{if(Wc!=x(0)){if(a=Xc+1|0,(0|Xc)==(0|_c)){q[Zc+8>>2]=ed=1,Wc=x(x(1)-Wc),fd=1;break e}a=(0|a)==(0|_c)?1:2}if(q[$c+8>>2]=a,!fd)break d;a=Xc}u[Zc+24>>2]=Wc,u[Zc+20>>2]=x(1)-Wc;break c}fd=0,a=Xc}ed?(q[Zc+12>>2]=a,q[Zc+16>>2]=a+1):ed=0}else ed=fd=0;g:if((0|(hd=q[Zc+36>>2]))<1)cd=x(1);else{if(id=q[Zc+40>>2],a=0,cd=x(1),!gd)for(;;){h:{i:{if(Xc=q[(a<<2)+id>>2],Yc=q[Xc>>2]){if(!q[Yc+48>>2]){Wc=u[Xc+16>>2];break h}if((0|(_c=q[Xc+12>>2]))<1){Wc=x(1),u[Xc+16>>2]=1;break h}if(dd=q[Xc+8>>2],1!=(0|_c)&&(ad=u[Yc+44>>2],$c=q[Xc+4>>2],!(ad<=(bd=u[$c>>2]))))break i;Wc=u[dd>>2],u[Xc+16>>2]=Wc;break h}q[Xc+16>>2]=1065353216,Wc=x(1);break h}Yc=1;j:if(!(ad<(Wc=u[$c+4>>2]))){for(;bd=Wc,(0|_c)!=(0|(Yc=Yc+1|0));)if(ad<(Wc=u[$c+(Yc<<2)>>2]))break j;Wc=u[(dd+(_c<<2)|0)-4>>2],u[Xc+16>>2]=Wc;break h}$c=Xc,Wc=x(x(ad-bd)/x(Wc-bd)),Wc=x(x(Wc*u[(Xc=dd+(Yc<<2)|0)>>2])+x(u[Xc+-4>>2]*x(x(1)-Wc))),u[$c+16>>2]=Wc}if(cd=cd>2],Yc=q[Xc>>2],Wc=x(1);l:if(Yc&&(dd=q[Xc+12>>2],Wc=x(1),!((0|dd)<1))&&(_c=q[Xc+8>>2],Wc=u[_c>>2],1!=(0|dd))){m:{if(ad=u[Yc+44>>2],$c=q[Xc+4>>2],ad<=(bd=u[$c>>2])){Wc=u[_c>>2];break l}if(Yc=1,!(ad<(Wc=u[$c+4>>2]))){for(;bd=Wc,(0|dd)!=(0|(Yc=Yc+1|0));)if(ad<(Wc=u[$c+(Yc<<2)>>2]))break m;Wc=u[(_c+(dd<<2)|0)-4>>2];break l}}Wc=x(x(ad-bd)/x(Wc-bd)),Wc=x(x(Wc*u[(Yc=_c+(Yc<<2)|0)>>2])+x(u[Yc+-4>>2]*x(x(1)-Wc)))}if(cd=cd<(u[Xc+16>>2]=Wc)?cd:Wc,(0|hd)==(0|(a=a+1|0)))break}}if(q[Zc+32>>2]=fd,q[Zc+28>>2]=ed,u[Zc+44>>2]=cd,!((Zc=Zc+48|0)>>>0>>0))break}}(a),1<=(0|(Ea=q[a+4>>2])))for(Ea=(Aa=q[a+52>>2])+(Ea<<2)|0;ab=u[Aa>>2],u[Aa>>2]=ab>>0>>0;);!function(a){var Fe,Ge,He,De=0,Ee=0;if(1<=(0|(Ee=q[a+4>>2])))for(He=(De=q[a+8>>2])+w(Ee,12)|0,a=Fe=q[a+40>>2];Ee=0,q[De+8>>2]&&(Ge=q[De+4>>2],!q[(Ge<<2)+Fe>>2]&&-1!=(0|Ge)||(Ee=!q[q[De>>2]+32>>2])),q[a>>2]=Ee,a=a+4|0,(De=De+12|0)>>>0>>0;);}(a),function(a){var rg,vg,wg,xg,yg,zg,Ag,pg=0,qg=0,sg=0,tg=0,ug=0;if(1<=(0|(vg=q[a+4>>2])))for(xg=q[a+8>>2],wg=q[a>>2],yg=q[wg+724>>2];;){if(rg=q[w(tg,12)+xg>>2],(q[rg+28>>2]||q[rg+24>>2])&&(q[(pg=tg<<2)+q[a+28>>2]>>2]=q[rg+12>>2],q[rg+24>>2])&&!((0|(sg=q[rg+12>>2]))<1))for(sg=(qg=q[rg+16>>2])+(sg<<2)|0,zg=q[pg+yg>>2],pg=q[a+36>>2]+(ug<<2)|0,Ag=q[wg+976>>2];q[pg>>2]=q[(q[qg>>2]+zg<<2)+Ag>>2],pg=pg+4|0,(qg=qg+4|0)>>>0>>0;);if(q[rg+28>>2]&&!((0|(pg=q[rg+12>>2]))<1))for(sg=(qg=q[rg+20>>2])+(pg<<2)|0,pg=q[a+32>>2]+(ug<<2)|0;q[pg>>2]=q[qg>>2],pg=pg+4|0,(qg=qg+4|0)>>>0>>0;);if(ug=q[rg+8>>2]+ug|0,(0|vg)==(0|(tg=tg+1|0)))break}}(a),n[q[1808]](a+12|0,q[a+36>>2],q[a+44>>2],q[a+40>>2]),function(a){var xe,ye,ze,Ae,Be,Ce,ue=0,ve=0,we=0;if(1<=(0|(we=q[a+304>>2])))for(ze=(ue=q[a+308>>2])+(we<<5)|0,Ae=q[a+264>>2],Be=q[a+144>>2],Ce=q[a+40>>2],we=ye=q[a+312>>2];xe=we,ve=0,a=ve=!q[ue+28>>2]||-1!=(0|(a=q[ue+4>>2]))&&(ve=0,!q[(a<<2)+Ce>>2])||-1!=(0|(a=q[ue+8>>2]))&&(ve=0,!q[(a<<2)+ye>>2])?ve:!q[q[ue>>2]+32>>2],q[xe>>2]=a,(xe=q[ue+12>>2])>>>0<=1?xe-1?q[(q[ue+16>>2]<<2)+Be>>2]=a:q[(q[ue+16>>2]<<2)+Ae>>2]=a:Y(4,1372,0),we=we+4|0,(ue=ue+32|0)>>>0>>0;);}(a),function(a){var gg,hg,ig,jg,kg,lg,mg,ng,og,Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0,_f=0,$f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,Yf=q[a>>2];if(1<=(0|($f=q[a+56>>2]))){for(ag=q[a+60>>2],bg=q[Yf+1052>>2],cg=q[Yf+784>>2];;){if(Uf=q[ag+w(Zf,24)>>2],(q[Uf+28>>2]||q[Uf+24>>2])&&(q[(Vf=Zf<<2)+q[a+80>>2]>>2]=q[Uf+12>>2],q[Uf+24>>2])&&!((0|(Xf=q[Uf+12>>2]))<1))for(dg=(Wf=q[Uf+16>>2])+(Xf<<2)|0,eg=q[Vf+cg>>2],Vf=(Xf=_f<<2)+q[a+92>>2]|0,Xf=Xf+q[a+88>>2]|0;fg=eg+q[Wf>>2]<<2,q[Vf>>2]=bg+(q[fg+q[Yf+984>>2]>>2]<<2),q[Xf>>2]=q[fg+q[Yf+980>>2]>>2],Xf=Xf+4|0,Vf=Vf+4|0,(Wf=Wf+4|0)>>>0>>0;);if(q[Uf+28>>2]&&!((0|(Vf=q[Uf+12>>2]))<1))for(Xf=(Wf=q[Uf+20>>2])+(Vf<<2)|0,Vf=q[a+84>>2]+(_f<<2)|0;q[Vf>>2]=q[Wf>>2],Vf=Vf+4|0,(Wf=Wf+4|0)>>>0>>0;);if(_f=q[Uf+8>>2]+_f|0,(0|$f)==(0|(Zf=Zf+1|0)))break}Yf=q[a>>2]}if(!(r[Yf+4|0]<4||(0|(eg=q[a+56>>2]))<1))for(fg=q[Yf+792>>2],gg=q[a+60>>2],Wf=_f=0;;){if(Zf=q[w(Wf,24)+gg>>2],q[Zf+24>>2]&&!((0|(Uf=q[Zf+12>>2]))<1))for(hg=(Vf=q[Zf+16>>2])+(Uf<<2)|0,ig=q[fg+(Wf<<2)>>2],Xf=(Uf=_f<<2)+q[a+96>>2]|0,$f=Uf+q[a+100>>2]|0,ag=Uf+q[a+104>>2]|0,bg=Uf+q[a+108>>2]|0,cg=Uf+q[a+112>>2]|0,dg=Uf+q[a+116>>2]|0,jg=q[Yf+1308>>2],kg=q[Yf+1304>>2],lg=q[Yf+1300>>2],mg=q[Yf+1296>>2],ng=q[Yf+1292>>2],og=q[Yf+1288>>2];Uf=q[Vf>>2]+ig<<2,q[Xf>>2]=q[Uf+og>>2],q[$f>>2]=q[Uf+ng>>2],q[ag>>2]=q[Uf+mg>>2],q[bg>>2]=q[Uf+lg>>2],q[cg>>2]=q[Uf+kg>>2],q[dg>>2]=q[Uf+jg>>2],dg=dg+4|0,cg=cg+4|0,bg=bg+4|0,ag=ag+4|0,$f=$f+4|0,Xf=Xf+4|0,(Vf=Vf+4|0)>>>0>>0;);if(_f=q[Zf+8>>2]+_f|0,(0|eg)==(0|(Wf=Wf+1|0)))break}}(a),function(a){var xf=0,yf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=0,Jf=0,Kf=0,Lf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=q[a+168>>2],zf=q[a>>2];if(1<=(0|(Kf=q[a+164>>2])))for(Mf=q[zf+816>>2];;){if(Af=q[w(Ef,12)+Tf>>2],(q[Af+28>>2]||q[Af+24>>2])&&(q[(Ff=Ef<<2)+q[a+188>>2]>>2]=q[Af+12>>2],q[Af+24>>2])){if(yf=q[Af+16>>2],Lf=q[Ff+Mf>>2],1<=(0|(xf=q[Af+12>>2])))for(Nf=yf+(xf<<2)|0,Bf=(xf=Df<<2)+q[a+200>>2]|0,Gf=xf+q[a+204>>2]|0,Hf=xf+q[a+208>>2]|0,If=xf+q[a+212>>2]|0,Jf=xf+q[a+196>>2]|0,Of=q[zf+996>>2],Pf=q[zf+1012>>2],Qf=q[zf+1008>>2],Rf=q[zf+1004>>2],Sf=q[zf+1e3>>2],xf=yf;Cf=Lf+q[xf>>2]<<2,q[Bf>>2]=q[Cf+Sf>>2],q[Gf>>2]=q[Cf+Rf>>2],q[Hf>>2]=q[Cf+Qf>>2],q[If>>2]=q[Cf+Pf>>2],q[Jf>>2]=q[Cf+Of>>2],Jf=Jf+4|0,If=If+4|0,Hf=Hf+4|0,Gf=Gf+4|0,Bf=Bf+4|0,(xf=xf+4|0)>>>0>>0;);xf=Lf+q[yf>>2]<<2,q[Ff+q[a+288>>2]>>2]=q[xf+q[zf+1016>>2]>>2],q[Ff+q[a+292>>2]>>2]=q[xf+q[zf+1020>>2]>>2]}if(q[Af+28>>2]&&!((0|(yf=q[Af+12>>2]))<1))for(yf=(xf=q[Af+20>>2])+(yf<<2)|0,Bf=q[a+192>>2]+(Df<<2)|0;q[Bf>>2]=q[xf>>2],Bf=Bf+4|0,(xf=xf+4|0)>>>0>>0;);if(Df=q[Af+8>>2]+Df|0,(0|Kf)==(0|(Ef=Ef+1|0)))break}if(!(r[zf+4|0]<4||(0|(Ff=q[a+164>>2]))<1))for(Lf=q[zf+824>>2],Df=Af=0;;){if(Cf=q[w(Df,12)+Tf>>2],q[Cf+24>>2]&&!((0|(xf=q[Cf+12>>2]))<1))for(Kf=(Bf=q[Cf+16>>2])+(xf<<2)|0,Mf=q[Lf+(Df<<2)>>2],Gf=(yf=Af<<2)+q[a+216>>2]|0,Hf=yf+q[a+220>>2]|0,If=yf+q[a+224>>2]|0,Jf=yf+q[a+228>>2]|0,xf=yf+q[a+232>>2]|0,Ef=yf+q[a+236>>2]|0,Nf=q[zf+1308>>2],Of=q[zf+1304>>2],Pf=q[zf+1300>>2],Qf=q[zf+1296>>2],Rf=q[zf+1292>>2],Sf=q[zf+1288>>2];yf=Mf+q[Bf>>2]<<2,q[Gf>>2]=q[yf+Sf>>2],q[Hf>>2]=q[yf+Rf>>2],q[If>>2]=q[yf+Qf>>2],q[Jf>>2]=q[yf+Pf>>2],q[xf>>2]=q[yf+Of>>2],q[Ef>>2]=q[yf+Nf>>2],Ef=Ef+4|0,xf=xf+4|0,Jf=Jf+4|0,If=If+4|0,Hf=Hf+4|0,Gf=Gf+4|0,(Bf=Bf+4|0)>>>0>>0;);if(Af=q[Cf+8>>2]+Af|0,(0|Ff)==(0|(Df=Df+1|0)))break}}(a),function(a){var yk,qk=0,rk=0,sk=0,tk=0,uk=0,vk=0,wk=0,xk=0,qk=a- -64|0;if(n[q[1807]](qk,q[a+88>>2],q[a+148>>2],q[a+144>>2]),n[q[1809]](qk,q[a+92>>2],q[a+152>>2],q[q[a>>2]+796>>2],2,q[a+144>>2]),!(r[q[a>>2]+4|0]<4||(n[q[1807]](qk,q[a+96>>2],q[a+120>>2],q[a+144>>2]),n[q[1807]](qk,q[a+100>>2],q[a+124>>2],q[a+144>>2]),n[q[1807]](qk,q[a+104>>2],q[a+128>>2],q[a+144>>2]),n[q[1807]](qk,q[a+108>>2],q[a+132>>2],q[a+144>>2]),n[q[1807]](qk,q[a+112>>2],q[a+136>>2],q[a+144>>2]),n[q[1807]](qk,q[a+116>>2],q[a+140>>2],q[a+144>>2]),(0|(vk=q[a+56>>2]))<1))){for(wk=q[a+128>>2],xk=q[a+124>>2],yk=q[a+120>>2],rk=q[a+156>>2],qk=0;q[(sk=tk<<2)+rk>>2]=q[(uk=qk<<2)+yk>>2],q[rk+(4|sk)>>2]=q[uk+xk>>2],q[rk+(8|sk)>>2]=q[uk+wk>>2],tk=tk+4|0,(0|vk)!=(0|(qk=qk+1|0)););for(rk=q[a+160>>2],uk=q[a+140>>2],wk=q[a+136>>2],xk=q[a+132>>2],qk=a=0;q[(tk=a<<2)+rk>>2]=q[(sk=qk<<2)+xk>>2],q[rk+(4|tk)>>2]=q[sk+wk>>2],q[rk+(8|tk)>>2]=q[sk+uk>>2],a=a+4|0,(0|vk)!=(0|(qk=qk+1|0)););}}(a),function(a){var pk,hk=0,ik=0,jk=0,kk=0,lk=0,mk=0,nk=0,ok=0,hk=a+172|0;if(n[q[1807]](hk,q[a+196>>2],q[a+268>>2],q[a+264>>2]),n[q[1807]](hk,q[a+200>>2],q[a+284>>2],q[a+264>>2]),n[q[1807]](hk,q[a+204>>2],q[a+276>>2],q[a+264>>2]),n[q[1807]](hk,q[a+208>>2],q[a+280>>2],q[a+264>>2]),n[q[1807]](hk,q[a+212>>2],q[a+272>>2],q[a+264>>2]),!(r[q[a>>2]+4|0]<4||(n[q[1807]](hk,q[a+216>>2],q[a+240>>2],q[a+264>>2]),n[q[1807]](hk,q[a+220>>2],q[a+244>>2],q[a+264>>2]),n[q[1807]](hk,q[a+224>>2],q[a+248>>2],q[a+264>>2]),n[q[1807]](hk,q[a+228>>2],q[a+252>>2],q[a+264>>2]),n[q[1807]](hk,q[a+232>>2],q[a+256>>2],q[a+264>>2]),n[q[1807]](hk,q[a+236>>2],q[a+260>>2],q[a+264>>2]),(0|(mk=q[a+164>>2]))<1))){for(nk=q[a+248>>2],ok=q[a+244>>2],pk=q[a+240>>2],ik=q[a+296>>2],hk=0;q[(jk=kk<<2)+ik>>2]=q[(lk=hk<<2)+pk>>2],q[ik+(4|jk)>>2]=q[lk+ok>>2],q[ik+(8|jk)>>2]=q[lk+nk>>2],kk=kk+4|0,(0|mk)!=(0|(hk=hk+1|0)););for(ik=q[a+300>>2],lk=q[a+260>>2],nk=q[a+256>>2],ok=q[a+252>>2],hk=a=0;q[(kk=a<<2)+ik>>2]=q[(jk=hk<<2)+ok>>2],q[ik+(4|kk)>>2]=q[jk+nk>>2],q[ik+(8|kk)>>2]=q[jk+lk>>2],a=a+4|0,(0|mk)!=(0|(hk=hk+1|0)););}}(a),function(a){var re,se,te,oe=0,pe=0,qe=0;if(1<=(0|(pe=q[a+332>>2])))for(re=(oe=q[a+336>>2])+w(pe,20)|0,se=q[a+312>>2],te=q[a+40>>2],a=q[a+424>>2];pe=0,q[oe+12>>2]&&(qe=q[oe+4>>2],q[(qe<<2)+te>>2]||-1==(0|qe))&&(qe=q[oe+8>>2],q[(qe<<2)+se>>2]||-1==(0|qe))&&(pe=!q[q[oe>>2]+32>>2]),q[a>>2]=pe,a=a+4|0,(oe=oe+20|0)>>>0>>0;);}(a),function(a){var pf,qf,rf,sf,tf,uf,vf,wf,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,cf=q[a>>2];if(1<=(0|(jf=q[a+332>>2]))){for(kf=q[a+336>>2],lf=q[cf+1052>>2],mf=q[cf+856>>2];;){if($e=q[kf+w(ff,20)>>2],(q[$e+28>>2]||q[$e+24>>2])&&(q[(af=ff<<2)+q[a+356>>2]>>2]=q[$e+12>>2],q[$e+24>>2])&&!((0|(df=q[$e+12>>2]))<1))for(nf=(bf=q[$e+16>>2])+(df<<2)|0,of=q[af+mf>>2],af=(ef=gf<<2)+q[a+372>>2]|0,df=ef+q[a+364>>2]|0,ef=ef+q[a+368>>2]|0;hf=of+q[bf>>2]<<2,q[af>>2]=lf+(q[hf+q[cf+1040>>2]>>2]<<2),q[df>>2]=q[hf+q[cf+1032>>2]>>2],q[ef>>2]=q[hf+q[cf+1036>>2]>>2],ef=ef+4|0,df=df+4|0,af=af+4|0,(bf=bf+4|0)>>>0>>0;);if(q[$e+28>>2]&&!((0|(af=q[$e+12>>2]))<1))for(df=(bf=q[$e+20>>2])+(af<<2)|0,af=q[a+360>>2]+(gf<<2)|0;q[af>>2]=q[bf>>2],af=af+4|0,(bf=bf+4|0)>>>0>>0;);if(gf=q[$e+8>>2]+gf|0,(0|jf)==(0|(ff=ff+1|0)))break}cf=q[a>>2]}if(!(r[cf+4|0]<4||(0|(mf=q[a+332>>2]))<1))for(nf=q[cf+864>>2],of=q[a+336>>2],bf=gf=0;;){if(ff=q[of+w(bf,20)>>2],q[ff+24>>2]&&!((0|($e=q[ff+12>>2]))<1))for(pf=(af=q[ff+16>>2])+($e<<2)|0,qf=q[nf+(bf<<2)>>2],df=($e=gf<<2)+q[a+376>>2]|0,ef=$e+q[a+380>>2]|0,hf=$e+q[a+384>>2]|0,jf=$e+q[a+388>>2]|0,kf=$e+q[a+392>>2]|0,lf=$e+q[a+396>>2]|0,rf=q[cf+1308>>2],sf=q[cf+1304>>2],tf=q[cf+1300>>2],uf=q[cf+1296>>2],vf=q[cf+1292>>2],wf=q[cf+1288>>2];$e=q[af>>2]+qf<<2,q[df>>2]=q[$e+wf>>2],q[ef>>2]=q[$e+vf>>2],q[hf>>2]=q[$e+uf>>2],q[jf>>2]=q[$e+tf>>2],q[kf>>2]=q[$e+sf>>2],q[lf>>2]=q[$e+rf>>2],lf=lf+4|0,kf=kf+4|0,jf=jf+4|0,hf=hf+4|0,ef=ef+4|0,df=df+4|0,(af=af+4|0)>>>0>>0;);if(gf=q[ff+8>>2]+gf|0,(0|mf)==(0|(bf=bf+1|0)))break}}(a),function(a){var gk,vj=0,xj=0,yj=0,bk=0,ck=0,dk=0,ek=0,fk=0,vj=a+340|0;if(n[q[1807]](vj,q[a+364>>2],q[a+448>>2],q[a+424>>2]),n[q[1808]](vj,q[a+368>>2],q[a+440>>2],q[a+424>>2]),n[q[1809]](vj,q[a+372>>2],q[a+444>>2],q[q[a>>2]+892>>2],2,q[a+424>>2]),!(r[q[a>>2]+4|0]<4||(n[q[1807]](vj,q[a+376>>2],q[a+400>>2],q[a+424>>2]),n[q[1807]](vj,q[a+380>>2],q[a+404>>2],q[a+424>>2]),n[q[1807]](vj,q[a+384>>2],q[a+408>>2],q[a+424>>2]),n[q[1807]](vj,q[a+388>>2],q[a+412>>2],q[a+424>>2]),n[q[1807]](vj,q[a+392>>2],q[a+416>>2],q[a+424>>2]),n[q[1807]](vj,q[a+396>>2],q[a+420>>2],q[a+424>>2]),(0|(dk=q[a+332>>2]))<1))){for(ek=q[a+408>>2],fk=q[a+404>>2],gk=q[a+400>>2],xj=q[a+452>>2],vj=0;q[(yj=bk<<2)+xj>>2]=q[(ck=vj<<2)+gk>>2],q[xj+(4|yj)>>2]=q[ck+fk>>2],q[xj+(8|yj)>>2]=q[ck+ek>>2],bk=bk+4|0,(0|dk)!=(0|(vj=vj+1|0)););for(xj=q[a+456>>2],ck=q[a+420>>2],ek=q[a+416>>2],fk=q[a+412>>2],vj=a=0;q[(bk=a<<2)+xj>>2]=q[(yj=vj<<2)+fk>>2],q[xj+(4|bk)>>2]=q[yj+ek>>2],q[xj+(8|bk)>>2]=q[yj+ck>>2],a=a+4|0,(0|dk)!=(0|(vj=vj+1|0)););}}(a),function(a){var Re,Ve,We,Xe,Ye,Ze,_e,Pe=0,Qe=0,Se=0,Te=0,Ue=0;if(1<=(0|(Ve=q[a+500>>2])))for(Xe=q[a+504>>2],We=q[a>>2],Ye=q[We+1252>>2];;){if(Re=q[w(Te,24)+Xe>>2],(q[Re+28>>2]||q[Re+24>>2])&&(q[(Pe=Te<<2)+q[a+524>>2]>>2]=q[Re+12>>2],q[Re+24>>2])&&!((0|(Se=q[Re+12>>2]))<1))for(Se=(Qe=q[Re+16>>2])+(Se<<2)|0,Ze=q[Pe+Ye>>2],Pe=q[a+532>>2]+(Ue<<2)|0,_e=q[We+1284>>2];q[Pe>>2]=q[(q[Qe>>2]+Ze<<2)+_e>>2],Pe=Pe+4|0,(Qe=Qe+4|0)>>>0>>0;);if(q[Re+28>>2]&&!((0|(Pe=q[Re+12>>2]))<1))for(Se=(Qe=q[Re+20>>2])+(Pe<<2)|0,Pe=q[a+528>>2]+(Ue<<2)|0;q[Pe>>2]=q[Qe>>2],Pe=Pe+4|0,(Qe=Qe+4|0)>>>0>>0;);if(Ue=q[Re+8>>2]+Ue|0,(0|Ve)==(0|(Te=Te+1|0)))break}}(a),n[q[1807]](a+508|0,q[a+532>>2],q[a+536>>2],0),function(a){var Ek,Fk,Gk,Hk,Ik,Jk,zk=x(0),Ak=0,Bk=0,Ck=0,Dk=0;x(0);if(L=Ek=L-16|0,Ck=q[a>>2],!(r[Ck+4|0]<5||(0|(Dk=q[a+596>>2]))<1))for(Hk=(Bk=q[a+600>>2])+w(Dk,12)|0,Ik=q[a+44>>2],Dk=q[Ck+976>>2];;){if(Ck=(q[Bk>>2]<<2)+Ik|0,zk=x(q[Ck>>2]),1<=(0|(Ak=q[Bk+4>>2])))for(Jk=(a=q[Bk+8>>2])+w(Ak,48)|0;(Ak=q[a+8>>2])&&((Fk=Ak+-1|0)>>>0<=1?(Ak=q[a+4>>2],Gk=u[Dk+(Ak+q[a+12>>2]<<2)>>2],zk=x(Fk-1?zk+x(u[a+44>>2]*x(Gk*u[a+20>>2])):zk+x(u[a+44>>2]*x(x(Gk*u[a+20>>2])+x(u[Dk+(Ak+q[a+16>>2]<<2)>>2]*u[a+24>>2]))))):(q[Ek>>2]=Ak,Y(4,1024,Ek))),(a=a+48|0)>>>0>>0;);if(zk=(zk=x(zk+x(.0010000000474974513)))>2]=a,!((Bk=Bk+12|0)>>>0>>0))break}L=16+Ek|0}(a),function(a){var mj,nj,oj,pj,qj,rj,sj,tj,uj,ej=0,gj=0,ij=0,jj=0,kj=0,lj=x(0);if(L=mj=L-16|0,ej=q[a>>2],!(r[ej+4|0]<4||(va(a,q[a+604>>2],q[a+608>>2],q[ej+984>>2],q[a+152>>2],q[ej+796>>2]),gj=q[a>>2],r[gj+4|0]<5))){if(ij=q[a+608>>2],qj=q[gj+992>>2],rj=q[gj+988>>2],1<=(0|(ej=q[a+604>>2]))){for(sj=w(ej,12)+ij|0,tj=q[a+148>>2],nj=q[gj+980>>2];;){if(oj=(q[ij>>2]<<2)+tj|0,kj=q[oj>>2],1<=(0|(jj=q[ij+4>>2])))for(uj=(ej=q[ij+8>>2])+w(jj,48)|0;(jj=q[ej+8>>2])&&((pj=jj+-1|0)>>>0<=1?(jj=q[ej+4>>2],lj=u[(jj+q[ej+12>>2]<<2)+nj>>2],j(x(pj-1?x(u[ej+44>>2]*x(lj*u[ej+20>>2]))+(f(0,kj),k()):x(u[ej+44>>2]*x(x(lj*u[ej+20>>2])+x(u[(jj+q[ej+16>>2]<<2)+nj>>2]*u[ej+24>>2])))+(f(0,kj),k()))),kj=b[0]):(q[mj>>2]=jj,Y(4,1024,mj))),(ej=ej+48|0)>>>0>>0;);if(f(0,kj),lj=k(),u[oj>>2]=lj>>0>>0))break}ij=q[a+608>>2],ej=q[a+604>>2]}fa(ej,ij,rj,q[gj+1288>>2],q[gj+1292>>2],q[gj+1296>>2],q[a+156>>2]),fa(q[a+604>>2],q[a+608>>2],qj,q[gj+1300>>2],q[gj+1304>>2],q[gj+1308>>2],q[a+160>>2])}L=16+mj|0}(a),function(a){var zi,si=0,ti=0,ui=0,vi=0,wi=0,xi=x(0),yi=0,Ai=0,Bi=0,Ci=0,Di=0,Ei=0,Fi=0,Gi=0;if(L=zi=L-80|0,wi=q[a>>2],!(r[wi+4|0]<5)){if(Ei=q[wi+1028>>2],Fi=q[wi+1024>>2],ui=ti=q[a+616>>2],!((0|(si=q[a+612>>2]))<1)){for(Ai=w(si,12)+ti|0,Bi=q[a+276>>2],yi=q[wi+1004>>2];;){if(Ci=Bi+(q[ti>>2]<<2)|0,ui=q[Ci>>2],1<=(0|(vi=q[ti+4>>2])))for(Gi=(si=q[ti+8>>2])+w(vi,48)|0;(vi=q[si+8>>2])&&((Di=vi+-1|0)>>>0<=1?(vi=q[si+4>>2],xi=u[yi+(vi+q[si+12>>2]<<2)>>2],j(x(Di-1?x(u[si+44>>2]*x(xi*u[si+20>>2]))+(f(0,ui),k()):x(u[si+44>>2]*x(x(xi*u[si+20>>2])+x(u[yi+(vi+q[si+16>>2]<<2)>>2]*u[si+24>>2])))+(f(0,ui),k()))),ui=b[0]):(q[64+zi>>2]=vi,Y(4,1024,64+zi|0))),(si=si+48|0)>>>0>>0;);if(q[Ci>>2]=ui,!((ti=ti+12|0)>>>0>>0))break}if(ui=ti=q[a+616>>2],!((0|(si=q[a+612>>2]))<1)){for(Ai=w(si,12)+ti|0,Bi=q[a+280>>2],yi=q[q[a>>2]+1008>>2];;){if(Ci=Bi+(q[ti>>2]<<2)|0,ui=q[Ci>>2],1<=(0|(vi=q[ti+4>>2])))for(Gi=(si=q[ti+8>>2])+w(vi,48)|0;(vi=q[si+8>>2])&&((Di=vi+-1|0)>>>0<=1?(vi=q[si+4>>2],xi=u[yi+(vi+q[si+12>>2]<<2)>>2],j(x(Di-1?x(u[si+44>>2]*x(xi*u[si+20>>2]))+(f(0,ui),k()):x(u[si+44>>2]*x(x(xi*u[si+20>>2])+x(u[yi+(vi+q[si+16>>2]<<2)>>2]*u[si+24>>2])))+(f(0,ui),k()))),ui=b[0]):(q[48+zi>>2]=vi,Y(4,1024,48+zi|0))),(si=si+48|0)>>>0>>0;);if(q[Ci>>2]=ui,!((ti=ti+12|0)>>>0>>0))break}if(ui=ti=q[a+616>>2],!((0|(si=q[a+612>>2]))<1)){for(Ai=w(si,12)+ti|0,Bi=q[a+268>>2],yi=q[q[a>>2]+996>>2];;){if(Ci=Bi+(q[ti>>2]<<2)|0,ui=q[Ci>>2],1<=(0|(vi=q[ti+4>>2])))for(Gi=(si=q[ti+8>>2])+w(vi,48)|0;(vi=q[si+8>>2])&&((Di=vi+-1|0)>>>0<=1?(vi=q[si+4>>2],xi=u[yi+(vi+q[si+12>>2]<<2)>>2],j(x(Di-1?x(u[si+44>>2]*x(xi*u[si+20>>2]))+(f(0,ui),k()):x(u[si+44>>2]*x(x(xi*u[si+20>>2])+x(u[yi+(vi+q[si+16>>2]<<2)>>2]*u[si+24>>2])))+(f(0,ui),k()))),ui=b[0]):(q[32+zi>>2]=vi,Y(4,1024,32+zi|0))),(si=si+48|0)>>>0>>0;);if(f(0,ui),xi=k(),u[Ci>>2]=xi>>0>>0))break}si=q[a+612>>2],ui=q[a+616>>2]}}}if(fa(si,ui,Fi,q[wi+1288>>2],q[wi+1292>>2],q[wi+1296>>2],q[a+296>>2]),fa(q[a+612>>2],q[a+616>>2],Ei,q[wi+1300>>2],q[wi+1304>>2],q[wi+1308>>2],q[a+300>>2]),!((0|(si=q[a+612>>2]))<1)){for(vi=(ti=q[a+616>>2])+w(si,12)|0,Ei=q[a+284>>2],wi=q[q[a>>2]+1e3>>2];;){if(Fi=Ei+(q[ti>>2]<<2)|0,ui=q[Fi>>2],1<=(0|(yi=q[ti+4>>2])))for(Ai=(si=q[ti+8>>2])+w(yi,48)|0;(yi=q[si+8>>2])&&((Bi=yi+-1|0)>>>0<=1?(yi=q[si+4>>2],xi=u[wi+(yi+q[si+12>>2]<<2)>>2],j(x(Bi-1?x(u[si+44>>2]*x(xi*u[si+20>>2]))+(f(0,ui),k()):x(u[si+44>>2]*x(x(xi*u[si+20>>2])+x(u[wi+(yi+q[si+16>>2]<<2)>>2]*u[si+24>>2])))+(f(0,ui),k()))),ui=b[0]):(q[16+zi>>2]=yi,Y(4,1024,16+zi|0))),(si=si+48|0)>>>0>>0;);if(f(0,ui),xi=k(),u[Fi>>2]=xi>>0>>0))break}if(!((0|(si=q[a+612>>2]))<1))for(yi=(ti=q[a+616>>2])+w(si,12)|0,vi=q[a+272>>2],a=q[q[a>>2]+1012>>2];;){if(Ei=vi+(q[ti>>2]<<2)|0,ui=q[Ei>>2],1<=(0|(wi=q[ti+4>>2])))for(Fi=(si=q[ti+8>>2])+w(wi,48)|0;(wi=q[si+8>>2])&&((Ai=wi+-1|0)>>>0<=1?(wi=q[si+4>>2],xi=u[a+(wi+q[si+12>>2]<<2)>>2],j(x(Ai-1?x(u[si+44>>2]*x(xi*u[si+20>>2]))+(f(0,ui),k()):x(u[si+44>>2]*x(x(xi*u[si+20>>2])+x(u[a+(wi+q[si+16>>2]<<2)>>2]*u[si+24>>2])))+(f(0,ui),k()))),ui=b[0]):(q[zi>>2]=wi,Y(4,1024,zi))),(si=si+48|0)>>>0>>0;);if(f(0,ui),xi=k(),u[Ei>>2]=xi>>0>>0))break}}}L=80+zi|0}(a),function(a){var $h,fi,gi,hi,ii,Vh=0,Wh=0,Xh=0,Yh=0,Zh=x(0),_h=0,ai=0,bi=0,ci=0,di=0,ei=0;x(0);if(L=$h=L-32|0,Xh=q[a>>2],!(r[Xh+4|0]<4||(va(a,q[a+620>>2],q[a+624>>2],q[Xh+1040>>2],q[a+444>>2],q[Xh+892>>2]),_h=q[a>>2],r[_h+4|0]<5))){if(hi=q[_h+1048>>2],ii=q[_h+1044>>2],Xh=Yh=q[a+624>>2],!((0|(Vh=q[a+620>>2]))<1)){for(di=w(Vh,12)+Yh|0,ei=q[a+440>>2],ai=q[_h+1036>>2];;){if(Xh=ei+(q[Yh>>2]<<2)|0,Zh=x(q[Xh>>2]),1<=(0|(Wh=q[Yh+4>>2])))for(bi=(Vh=q[Yh+8>>2])+w(Wh,48)|0;(Wh=q[Vh+8>>2])&&((ci=Wh+-1|0)>>>0<=1?(Wh=q[Vh+4>>2],fi=u[ai+(Wh+q[Vh+12>>2]<<2)>>2],Zh=x(ci-1?Zh+x(u[Vh+44>>2]*x(fi*u[Vh+20>>2])):Zh+x(u[Vh+44>>2]*x(x(fi*u[Vh+20>>2])+x(u[ai+(Wh+q[Vh+16>>2]<<2)>>2]*u[Vh+24>>2]))))):(q[16+$h>>2]=Wh,Y(4,1024,16+$h|0))),(Vh=Vh+48|0)>>>0>>0;);if(Zh=(Zh=x(Zh+x(.0010000000474974513)))>2]=Vh,!((Yh=Yh+12|0)>>>0>>0))break}if(Xh=Yh=q[a+624>>2],!((0|(Vh=q[a+620>>2]))<1)){for(di=w(Vh,12)+Yh|0,ei=q[a+448>>2],ai=q[q[a>>2]+1032>>2];;){if(bi=ei+(q[Yh>>2]<<2)|0,Xh=q[bi>>2],1<=(0|(Wh=q[Yh+4>>2])))for(ci=(Vh=q[Yh+8>>2])+w(Wh,48)|0;(Wh=q[Vh+8>>2])&&((gi=Wh+-1|0)>>>0<=1?(Wh=q[Vh+4>>2],Zh=u[ai+(Wh+q[Vh+12>>2]<<2)>>2],j(x(gi-1?x(u[Vh+44>>2]*x(Zh*u[Vh+20>>2]))+(f(0,Xh),k()):x(u[Vh+44>>2]*x(x(Zh*u[Vh+20>>2])+x(u[ai+(Wh+q[Vh+16>>2]<<2)>>2]*u[Vh+24>>2])))+(f(0,Xh),k()))),Xh=b[0]):(q[$h>>2]=Wh,Y(4,1024,$h))),(Vh=Vh+48|0)>>>0>>0;);if(f(0,Xh),Zh=k(),u[bi>>2]=Zh>>0>>0))break}Vh=q[a+620>>2],Xh=q[a+624>>2]}}fa(Vh,Xh,ii,q[_h+1288>>2],q[_h+1292>>2],q[_h+1296>>2],q[a+452>>2]),fa(q[a+620>>2],q[a+624>>2],hi,q[_h+1300>>2],q[_h+1304>>2],q[_h+1308>>2],q[a+456>>2])}L=32+$h|0}(a),function(a){var Gg,Hg,Ig,Jg,Kg,Lg,Bg=0,Cg=0,Dg=0,Eg=0,Fg=x(0);if(L=Gg=L-16|0,Cg=q[a>>2],!(r[Cg+4|0]<5||(0|(Eg=q[a+628>>2]))<1))for(Jg=(Dg=q[a+632>>2])+w(Eg,12)|0,Kg=q[a+536>>2],Eg=q[Cg+1284>>2];;){if(Hg=(q[Dg>>2]<<2)+Kg|0,Cg=q[Hg>>2],1<=(0|(Bg=q[Dg+4>>2])))for(Lg=(a=q[Dg+8>>2])+w(Bg,48)|0;(Bg=q[a+8>>2])&&((Ig=Bg+-1|0)>>>0<=1?(Bg=q[a+4>>2],Fg=u[Eg+(Bg+q[a+12>>2]<<2)>>2],j(x(Ig-1?x(u[a+44>>2]*x(Fg*u[a+20>>2]))+(f(0,Cg),k()):x(u[a+44>>2]*x(x(Fg*u[a+20>>2])+x(u[Eg+(Bg+q[a+16>>2]<<2)>>2]*u[a+24>>2])))+(f(0,Cg),k()))),Cg=b[0]):(q[Gg>>2]=Bg,Y(4,1024,Gg))),(a=a+48|0)>>>0>>0;);if(f(0,Cg),Fg=k(),u[Hg>>2]=Fg>>0>>0))break}L=16+Gg|0}(a),function(a){var Qh,Th,mh=0,Oh=0,Ph=0,Rh=x(0),Sh=0;if(1<=(0|(mh=q[a+4>>2])))for(Th=(Oh=q[a+8>>2])+w(mh,12)|0,mh=q[a+40>>2],Ph=q[a+52>>2],a=Qh=q[a+48>>2];q[mh>>2]&&(Rh=u[Ph>>2],u[a>>2]=Rh,-1!=(0|(Sh=q[Oh+4>>2])))&&(u[a>>2]=Rh*u[(Sh<<2)+Qh>>2]),a=a+4|0,Ph=Ph+4|0,mh=mh+4|0,(Oh=Oh+12|0)>>>0>>0;);}(a),function(a){var lh,ih=0,jh=0,kh=0;if(1<=(0|(lh=q[a+304>>2])))for(ih=q[a+308>>2],jh=q[a+312>>2];q[jh>>2]&&n[q[ih+20>>2]](a,kh),jh=jh+4|0,ih=ih+32|0,(0|lh)!=(0|(kh=kh+1|0)););}(a),function(a){var Zg,_g,ch,gh,hh,Xg=0,Yg=0,$g=(x(0),x(0),0),ah=0,bh=0,dh=(x(0),0),eh=0,fh=0;if(1<=(0|(Xg=q[a+332>>2])))for(eh=(Yg=q[a+336>>2])+w(Xg,20)|0,fh=q[a+308>>2],dh=q[a+316>>2],hh=q[a+48>>2],Xg=q[a+448>>2],$g=q[a+444>>2],bh=q[a+424>>2];q[bh>>2]&&(-1!=(0|(ah=q[Yg+4>>2]))&&(u[Xg>>2]=u[(ah<<2)+hh>>2]*u[Xg>>2]),-1!=(0|(ah=q[Yg+8>>2])))&&(u[Xg>>2]=u[dh+(ah<<2)>>2]*u[Xg>>2],gh=q[$g>>2],n[q[24+(fh+(ah<<5)|0)>>2]](a,ah,gh,gh,q[Yg+16>>2])),$g=$g+4|0,Xg=Xg+4|0,bh=bh+4|0,(Yg=Yg+20|0)>>>0>>0;);if(!(r[q[a>>2]+4|0]<4||(0|(Xg=q[a+332>>2]))<1))for(ah=($g=q[a+336>>2])+w(Xg,20)|0,eh=q[a+328>>2],fh=q[a+324>>2],Yg=q[a+452>>2],Xg=q[a+456>>2],bh=q[a+424>>2];q[bh>>2]&&-1!=(0|(a=q[$g+8>>2]))&&(a=(dh=a<<4)+fh|0,Zg=x(u[Yg>>2]*u[a>>2]),u[Yg>>2]=Zg,_g=x(u[Yg+4>>2]*u[a+4>>2]),u[Yg+4>>2]=_g,ch=u[a+8>>2],q[Yg+12>>2]=1065353216,u[Yg+4>>2]=_g>2]=Zg>2]),u[Yg+8>>2]=Zg>2],_g=u[(a=eh+dh|0)>>2],Zg=x(x(Zg+_g)-x(Zg*_g)),u[Xg>>2]=Zg,_g=u[Xg+4>>2],ch=u[a+4>>2],_g=x(x(_g+ch)-x(_g*ch)),u[Xg+4>>2]=_g,ch=u[a+8>>2],q[Xg+12>>2]=1065353216,u[Xg+4>>2]=_g>2]=Zg>2],Zg=x(x(ch+Zg)-x(Zg*ch)),u[Xg+8>>2]=Zg>>0>>0;);}(a),function(a){var Ln,Mn,On,Ko,Lo,Mo,No,Oo,Po,Qo,Ro,So,To,Uo,Vo,Wo,Xo,Yo,Zo,_o,Nn=0;x(0),x(0),x(0),x(0),x(0),x(0),x(0);if(1<=(0|(Oo=q[a+500>>2])))for(Zo=q[a+536>>2],Po=q[a+444>>2],_o=q[a+504>>2];;){if(a=w(Nn,24)+_o|0,0<(0|(Qo=q[a+12>>2])))for(On=u[(Nn<<2)+Zo>>2],Ro=q[a+20>>2],So=q[a+16>>2],To=q[(q[a+4>>2]<<2)+Po>>2],Uo=q[(q[a+8>>2]<<2)+Po>>2],a=0;Vo=u[((Ln=1|a)<<2)+So>>2],Mn=s[(a<<1)+Ro>>1]<<3&262136,Ko=u[(Wo=(4|Mn)+To|0)>>2],Ln=s[(Ln<<1)+Ro>>1]<<3&262136,Lo=u[(Xo=(4|Ln)+Uo|0)>>2],Mo=u[(Mn=Mn+To|0)>>2],Yo=u[(a<<2)+So>>2],No=u[(Ln=Ln+Uo|0)>>2],u[Mn>>2]=Mo+x(On*x(Yo*x(No-Mo))),u[Wo>>2]=Ko+x(On*x(Yo*x(Lo-Ko))),u[Ln>>2]=No+x(On*x(Vo*x(Mo-No))),u[Xo>>2]=Lo+x(On*x(Vo*x(Ko-Lo))),(0|(a=a+2|0))<(0|Qo););if(!((0|(Nn=Nn+1|0))<(0|Oo)))break}}(a),n[q[1810]](a),function(a){var Rc,Sc,Uc,Vc,Gc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Tc=0;if(!((0|(Rc=q[a+480>>2]))<1)){for(Kc=(Sc=q[a+484>>2])+w(Rc,28)|0,Nc=q[a+424>>2],Oc=q[a+40>>2],Lc=q[a+44>>2],Tc=q[a+440>>2],Gc=Sc;;){if(1<=(0|(Mc=q[Gc+4>>2])))for(Qc=Gc+20|0,Pc=q[Gc+12>>2],Ic=0;Uc=q[4+(Jc=Pc+(Ic<<4)|0)>>2]<<2,Jc=1==q[(Vc=Jc)>>2],q[Vc+12>>2]=q[(q[(Jc?Oc:Nc)+Uc>>2]?(Jc?Lc:Tc)+Uc|0:Qc)>>2],(0|(Ic=Ic+1|0))<(0|Mc););if(!((Gc=Gc+28|0)>>>0>>0))break}if(!((0|Rc)<1))for(Tc=q[a+436>>2],Oc=0;;){if(Kc=w(Oc,28)+Sc|0,!(q[(Nc=Kc)+24>>2]<1)){for(Jc=q[a+488>>2],Ic=0;q[Jc+(Ic<<2)>>2]=-1,(0|(Ic=Ic+1|0))<(0|(Gc=q[Nc+24>>2])););if(!((0|Gc)<1))for(Gc=q[a+496>>2],Ic=0;q[Gc+(Ic<<2)>>2]=-1,(0|(Ic=Ic+1|0))>2];);}if(!(q[Kc+4>>2]<1)){for(Lc=q[a+492>>2],Ic=0;q[Lc+(Ic<<2)>>2]=-1,(0|(Ic=Ic+1|0))<(0|(Gc=q[Kc+4>>2])););if(!((0|Gc)<1))for(Mc=q[Kc+12>>2],Qc=q[a+496>>2],Ic=0;Pc=q[12+(Mc+(Ic<<4)|0)>>2]-q[Kc+20>>2]<<2,Gc=-1==(0|(Gc=q[(Jc=Pc+Qc|0)>>2]))?Pc+q[a+488>>2]|0:Lc+(Gc<<2)|0,q[Gc>>2]=Ic,(0|(Ic=(q[Jc>>2]=Ic)+1|0))>2];);}if(1<=(0|(Gc=q[Nc+24>>2])))for(Lc=q[Kc+8>>2],Qc=q[a+488>>2],Mc=0;;){if(-1!=(0|(Ic=q[Qc+(Mc<<2)>>2]))){for(Pc=q[a+492>>2],Jc=q[Kc+12>>2];Lc=(Gc=1==q[(Gc=Jc+(Ic<<4)|0)>>2]?(Gc=w(q[Gc+8>>2],28)+Sc|0,q[Gc+8>>2]=Lc,q[Gc>>2]):(q[Tc+(q[Gc+4>>2]<<2)>>2]=Lc,1))+Lc|0,(0|Ic)<(0|(Gc=q[Pc+(Ic<<2)>>2]))&&-1!=(0|(Ic=Gc)););Gc=q[Nc+24>>2]}if(!((0|(Mc=Mc+1|0))<(0|Gc)))break}if((0|Rc)==(0|(Oc=Oc+1|0)))break}}}(a),function(a){var Mg=0,Ng=0,Og=0,Pg=0,Rg=0,Sg=x(0),Tg=0,Ug=0,Qg=q[a+332>>2];if(q[a+644>>2]){if(!(((q[a+428>>2]=0)|Qg)<1))for(;Mg=126,Tg=q[a+432>>2]+Og|0,!q[(Ng=Og<<2)+q[a+424>>2]>>2]|u[Ng+q[a+448>>2]>>2]==x(0)||(Mg=127),o[0|Tg]=Mg,(0|Qg)!=(0|(Og=Og+1|0)););}else if(q[a+428>>2]){if(Mg=r[q[a>>2]+4|0],!(((q[a+428>>2]=0)|Qg)<1))if(4<=Mg>>>0)for(;Sg=u[(Mg=Og<<2)+q[a+448>>2]>>2],Pg=q[Mg+q[a+424>>2]>>2],Ng=Sg!=x(0)&0!=(0|Pg),Tg=q[a+432>>2]+Og|0,Ng=(0|Ng)==(1&o[0|Tg])?Ng:2|Ng,Ng=Sg!=u[Mg+q[a+468>>2]>>2]?4|Ng:Ng,Ng=q[Mg+q[a+440>>2]>>2]==q[Mg+q[a+464>>2]>>2]?Ng:8|Ng,Mg=q[Mg+q[a+436>>2]>>2]==q[Mg+q[a+460>>2]>>2]?Ng:16|Ng,Mg=Pg?32|Mg:Mg,Pg=(Ng=Ug<<2)+q[a+452>>2]|0,Rg=Ng+q[a+472>>2]|0,(u[Pg>>2]!=u[Rg>>2]|u[Pg+4>>2]!=u[Rg+4>>2]|(u[Pg+8>>2]!=u[Rg+8>>2]|u[Pg+12>>2]!=u[Rg+12>>2])||(Pg=Ng+q[a+456>>2]|0,Ng=Ng+q[a+476>>2]|0,u[Pg>>2]!=u[Ng>>2]|u[Pg+4>>2]!=u[Ng+4>>2]|u[Pg+8>>2]!=u[Ng+8>>2])||u[Pg+12>>2]!=u[Ng+12>>2])&&(Mg|=64),o[0|Tg]=Mg,Ug=Ug+4|0,(0|Qg)!=(0|(Og=Og+1|0)););else for(;Sg=u[(Mg=Og<<2)+q[a+448>>2]>>2],Pg=q[Mg+q[a+424>>2]>>2],Ng=Sg!=x(0)&0!=(0|Pg),Rg=q[a+432>>2]+Og|0,Ng=(0|Ng)==(1&o[0|Rg])?Ng:2|Ng,Ng=Sg!=u[Mg+q[a+468>>2]>>2]?4|Ng:Ng,Ng=q[Mg+q[a+440>>2]>>2]==q[Mg+q[a+464>>2]>>2]?Ng:8|Ng,Mg=q[Mg+q[a+436>>2]>>2]==q[Mg+q[a+460>>2]>>2]?Ng:16|Ng,o[0|Rg]=Pg?32|Mg:Mg,(0|Qg)!=(0|(Og=Og+1|0)););}else if(!((0|Qg)<1))for(;!q[(Mg=Og<<2)+q[a+424>>2]>>2]|u[Mg+q[a+448>>2]>>2]==x(0)?(Mg=q[a+432>>2]+Og|0,o[0|Mg]=254&r[0|Mg]):(Mg=q[a+432>>2]+Og|0,o[0|Mg]=1|r[0|Mg]),(0|Qg)!=(0|(Og=Og+1|0)););}(a),q[a+644>>2]=0}function va(a,Wa,Xa,Ya,Za,_a){var fb,gb,hb,jb,kb,cb,db,$a=0,bb=0,eb=0,ib=0;if(L=cb=L-32|0,1<=(0|Wa))for(kb=w(Wa,12)+Xa|0;;){if(!((0|($a=q[Xa+4>>2]))<1))if(fb=(Wa=q[Xa+8>>2])+w($a,48)|0,$a=q[Xa>>2]<<2,1<=(0|(db=q[$a+_a>>2])))for(db<<=1,gb=q[q[a>>2]+1052>>2],hb=q[Za+$a>>2];;){b:if($a=q[Wa+8>>2]){c:{if((bb=$a+-1|0)>>>0<=1){if($a=(q[Wa+4>>2]<<2)+Ya|0,ib=(q[$a+(q[Wa+12>>2]<<2)>>2]<<2)+gb|0,bb-1)break c;for(eb=(q[$a+(q[Wa+16>>2]<<2)>>2]<<2)+gb|0,$a=0;u[(jb=(bb=$a<<2)+hb|0)>>2]=u[jb>>2]+x(u[Wa+44>>2]*x(x(u[bb+ib>>2]*u[Wa+20>>2])+x(u[bb+eb>>2]*u[Wa+24>>2]))),(0|db)!=(0|($a=$a+1|0)););break b}q[cb>>2]=$a,Y(4,1024,cb);break b}for($a=0;u[(eb=(bb=$a<<2)+hb|0)>>2]=u[eb>>2]+x(u[Wa+44>>2]*x(u[bb+ib>>2]*u[Wa+20>>2])),(0|db)!=(0|($a=$a+1|0)););}if(!((Wa=Wa+48|0)>>>0>>0))break}else for(;3<=($a=q[Wa+8>>2])>>>0&&(q[16+cb>>2]=$a,Y(4,1024,16+cb|0)),(Wa=Wa+48|0)>>>0>>0;);if(!((Xa=Xa+12|0)>>>0>>0))break}L=32+cb|0}function wa(a,Wa,Xa){var Ya;Wa|=0,Xa|=0,L=Ya=L+-64|0;a:{if(a|=0)if(Wa)if((Wa+15&-16)!=(0|Wa))q[52+Ya>>2]=1522,q[48+Ya>>2]=2361,Y(4,1294,48+Ya|0);else{if(Wa=function(a,Il,Jl){var cm,$l=0,am=0,bm=0,dm=0,em=0,fm=0,gm=0,hm=0,im=0,jm=0,km=0,lm=0,mm=0,nm=x(0),om=0,pm=0,qm=0,rm=0,sm=0;if(ca(16+(L=cm=L-576|0)|0,0,560),Fa(a,16+cm|0,12+cm|0),(dm=q[12+cm>>2])>>>0<=Jl>>>0){if($l=(am=ca(Il,0,dm))+q[16+cm>>2]|0,q[$l+8>>2]=am+q[20+cm>>2],q[$l+40>>2]=am+q[24+cm>>2],q[$l+44>>2]=am+q[28+cm>>2],q[$l+48>>2]=am+q[32+cm>>2],q[$l+52>>2]=am+q[36+cm>>2],q[$l+16>>2]=am+q[40+cm>>2],q[$l+24>>2]=am+q[44+cm>>2],q[$l+28>>2]=am+q[48+cm>>2],q[$l+32>>2]=am+q[52+cm>>2],q[$l+36>>2]=am+q[56+cm>>2],Il=q[a+704>>2],q[$l+308>>2]=am+q[60+cm>>2],q[$l+312>>2]=am+q[64+cm>>2],q[$l+316>>2]=am+q[68+cm>>2],q[$l+320>>2]=am+q[72+cm>>2],q[$l+324>>2]=am+q[76+cm>>2],q[$l+328>>2]=am+q[80+cm>>2],q[$l+60>>2]=am+q[84+cm>>2],q[$l+144>>2]=am+q[88+cm>>2],q[$l+148>>2]=am+q[92+cm>>2],Jl=am+q[96+cm>>2]|0,q[$l+152>>2]=Jl,!((0|(dm=q[Il+8>>2]))<1)&&(Il=am+q[100+cm>>2]|0,q[Jl>>2]=Il,1!=(0|dm)))for(Jl=1;Il=(15+(q[q[a+796>>2]+(bm<<2)>>2]<<3)&-16)+Il|0,q[q[$l+152>>2]+(Jl<<2)>>2]=Il,(0|dm)!=(0|(Jl=(bm=Jl)+1|0)););if(q[$l+156>>2]=am+q[104+cm>>2],q[$l+160>>2]=am+q[108+cm>>2],q[$l+68>>2]=am+q[112+cm>>2],q[$l+76>>2]=am+q[116+cm>>2],q[$l+80>>2]=am+q[120+cm>>2],q[$l+84>>2]=am+q[124+cm>>2],q[$l+88>>2]=am+q[128+cm>>2],q[$l+92>>2]=am+q[132+cm>>2],q[$l+96>>2]=am+q[136+cm>>2],q[$l+100>>2]=am+q[140+cm>>2],q[$l+104>>2]=am+q[144+cm>>2],q[$l+108>>2]=am+q[148+cm>>2],q[$l+112>>2]=am+q[152+cm>>2],q[$l+116>>2]=am+q[156+cm>>2],q[$l+120>>2]=am+q[160+cm>>2],q[$l+124>>2]=am+q[164+cm>>2],q[$l+128>>2]=am+q[168+cm>>2],q[$l+132>>2]=am+q[172+cm>>2],q[$l+136>>2]=am+q[176+cm>>2],q[$l+140>>2]=am+q[180+cm>>2],q[$l+168>>2]=am+q[184+cm>>2],q[$l+264>>2]=am+q[188+cm>>2],q[$l+268>>2]=am+q[192+cm>>2],q[$l+272>>2]=am+q[196+cm>>2],q[$l+276>>2]=am+q[200+cm>>2],q[$l+280>>2]=am+q[204+cm>>2],q[$l+284>>2]=am+q[208+cm>>2],q[$l+288>>2]=am+q[212+cm>>2],q[$l+292>>2]=am+q[216+cm>>2],q[$l+296>>2]=am+q[220+cm>>2],q[$l+300>>2]=am+q[224+cm>>2],q[$l+176>>2]=am+q[228+cm>>2],q[$l+184>>2]=am+q[232+cm>>2],q[$l+188>>2]=am+q[236+cm>>2],q[$l+192>>2]=am+q[240+cm>>2],q[$l+196>>2]=am+q[244+cm>>2],q[$l+200>>2]=am+q[248+cm>>2],q[$l+204>>2]=am+q[252+cm>>2],q[$l+208>>2]=am+q[256+cm>>2],q[$l+212>>2]=am+q[260+cm>>2],q[$l+216>>2]=am+q[264+cm>>2],q[$l+220>>2]=am+q[268+cm>>2],q[$l+224>>2]=am+q[272+cm>>2],q[$l+228>>2]=am+q[276+cm>>2],q[$l+232>>2]=am+q[280+cm>>2],q[$l+236>>2]=am+q[284+cm>>2],q[$l+240>>2]=am+q[288+cm>>2],q[$l+244>>2]=am+q[292+cm>>2],q[$l+248>>2]=am+q[296+cm>>2],q[$l+252>>2]=am+q[300+cm>>2],q[$l+256>>2]=am+q[304+cm>>2],q[$l+260>>2]=am+q[308+cm>>2],Il=q[a+704>>2],q[$l+336>>2]=am+q[312+cm>>2],q[$l+424>>2]=am+q[316+cm>>2],q[$l+432>>2]=am+q[320+cm>>2],q[$l+436>>2]=am+q[324+cm>>2],q[$l+440>>2]=am+q[328+cm>>2],Jl=am+q[332+cm>>2]|0,q[$l+444>>2]=Jl,!((0|(dm=q[Il+16>>2]))<1)&&(bm=am+q[336+cm>>2]|0,q[Jl>>2]=bm,(Jl=1)!=(0|dm)))for(Il=0;bm=(15+(q[q[a+892>>2]+(Il<<2)>>2]<<3)&-16)+bm|0,q[q[$l+444>>2]+(Jl<<2)>>2]=bm,(0|dm)!=(0|(Jl=(Il=Jl)+1|0)););if(q[$l+448>>2]=am+q[340+cm>>2],q[$l+452>>2]=am+q[344+cm>>2],q[$l+456>>2]=am+q[348+cm>>2],q[$l+460>>2]=am+q[352+cm>>2],q[$l+464>>2]=am+q[356+cm>>2],q[$l+468>>2]=am+q[360+cm>>2],q[$l+472>>2]=am+q[364+cm>>2],q[$l+476>>2]=am+q[368+cm>>2],q[$l+344>>2]=am+q[372+cm>>2],q[$l+352>>2]=am+q[376+cm>>2],q[$l+356>>2]=am+q[380+cm>>2],q[$l+360>>2]=am+q[384+cm>>2],q[$l+364>>2]=am+q[388+cm>>2],q[$l+368>>2]=am+q[392+cm>>2],q[$l+372>>2]=am+q[396+cm>>2],q[$l+376>>2]=am+q[400+cm>>2],q[$l+380>>2]=am+q[404+cm>>2],q[$l+384>>2]=am+q[408+cm>>2],q[$l+388>>2]=am+q[412+cm>>2],q[$l+392>>2]=am+q[416+cm>>2],q[$l+396>>2]=am+q[420+cm>>2],q[$l+400>>2]=am+q[424+cm>>2],q[$l+404>>2]=am+q[428+cm>>2],q[$l+408>>2]=am+q[432+cm>>2],q[$l+412>>2]=am+q[436+cm>>2],q[$l+416>>2]=am+q[440+cm>>2],q[$l+420>>2]=am+q[444+cm>>2],Il=q[448+cm>>2],Jl=q[452+cm>>2],q[$l+552>>2]=am+q[456+cm>>2],q[$l+548>>2]=Jl+am,q[$l+544>>2]=Il+am,q[$l+560>>2]=am+q[460+cm>>2],Il=q[a+704>>2],gm=am+q[464+cm>>2]|0,q[$l+568>>2]=gm,1<=(0|(fm=q[Il+48>>2])))for(bm=am+q[468+cm>>2]|0,Il=am+q[472+cm>>2]|0,em=am+q[476+cm>>2]|0,hm=q[a+1072>>2],Jl=0;dm=gm+w(Jl,36)|0,q[dm+20>>2]=em,q[dm+16>>2]=Il,q[dm>>2]=bm,bm=((dm=q[hm+(Jl<<2)>>2])<<2)+bm|0,em=(dm=1<>2],dm=am+q[516+cm>>2]|0,q[$l+484>>2]=dm,1<=(0|(Il=q[Il+72>>2])))for(bm=am+q[520+cm>>2]|0,em=q[a+1212>>2],Jl=0;q[12+(dm+w(Jl,28)|0)>>2]=bm,bm=(q[em+(Jl<<2)>>2]<<4)+bm|0,(0|Il)!=(0|(Jl=Jl+1|0)););q[$l+488>>2]=am+q[524+cm>>2],q[$l+492>>2]=am+q[528+cm>>2],q[$l+496>>2]=am+q[532+cm>>2],q[$l+504>>2]=am+q[536+cm>>2],q[$l+536>>2]=am+q[540+cm>>2],q[$l+512>>2]=am+q[544+cm>>2],q[$l+520>>2]=am+q[548+cm>>2],q[$l+524>>2]=am+q[552+cm>>2],q[$l+528>>2]=am+q[556+cm>>2],q[$l+532>>2]=am+q[560+cm>>2];c:{if(4<=(fm=r[a+4|0])>>>0){if(q[$l+576>>2]=am+q[480+cm>>2],q[$l+584>>2]=am+q[484+cm>>2],Il=q[a+704>>2],Jl=q[492+cm>>2],dm=am+q[488+cm>>2]|0,q[$l+592>>2]=dm,1<=(0|(Il=q[Il+104>>2])))for(bm=Jl+am|0,em=q[a+1104>>2],Jl=0;q[40+(dm+w(Jl,48)|0)>>2]=bm,bm=(q[em+(Jl<<2)>>2]<<2)+bm|0,(0|Il)!=(0|(Jl=Jl+1|0)););q[$l+608>>2]=am+q[500+cm>>2],q[$l+624>>2]=am+q[508+cm>>2]}else{if(Il=q[572+cm>>2],Jl=q[568+cm>>2],q[$l+636>>2]=am+q[564+cm>>2],q[$l+640>>2]=Jl+am,q[q[a+704>>2]+20>>2]<1)break c;for(dm=Il+am|0,gm=0;;){e:{if((0|(bm=q[(Il=gm<<2)+q[a+952>>2]>>2]))<=0)Il=Il+q[$l+636>>2]|0;else{for(em=bm+(Jl=q[Il+q[a+948>>2]>>2])|0,hm=q[a+1060>>2],bm=0;bm=q[hm+(Jl<<2)>>2]+bm|0,(0|(Jl=Jl+1|0))<(0|em););if(Il=Il+q[$l+636>>2]|0,Jl=dm,bm)break e}Jl=bm=0}if(q[Il>>2]=Jl,dm=(bm<<2)+dm|0,!((0|(gm=gm+1|0))>2]+20>>2]))break}}fm>>>0<5||(q[$l+600>>2]=am+q[496+cm>>2],q[$l+616>>2]=am+q[504+cm>>2],q[$l+632>>2]=am+q[512+cm>>2])}q[$l+644>>2]=1,q[$l>>2]=a,q[$l+648>>2]=1&o[q[a+708>>2]+20|0],am=q[a+704>>2],gm=q[am+20>>2];g:if(!((0|(q[$l+540>>2]=gm))<1)){if(Il=gm+-1|0,hm=q[a+952>>2],im=q[a+940>>2],jm=q[a+932>>2],km=q[a+936>>2],lm=q[a+924>>2],mm=q[a+928>>2],om=q[$l+552>>2],qm=q[$l+544>>2],fm>>>0<4)for(;;)if(Jl=qm+w(Il,52)|0,bm=(dm=Il<<2)+mm|(q[Jl>>2]=0),q[Jl+4>>2]=q[bm>>2],q[Jl+8>>2]=q[(em=dm+lm|0)>>2],u[Jl+12>>2]=u[em>>2]-u[bm>>2],q[Jl+16>>2]=q[dm+km>>2],q[Jl+44>>2]=q[(bm=dm+jm|0)>>2],nm=Aa(x(q[dm+im>>2])),u[Jl+20>>2]=nm,u[Jl+24>>2]=nm*x(1.5),pm=q[dm+hm>>2],em=0,em=(q[Jl+32>>2]=pm)?q[$l+560>>2]+w(q[dm+q[a+948>>2]>>2],28)|0:em,q[Jl+48>>2]=1,q[Jl+28>>2]=em,q[dm+om>>2]=q[bm>>2],Jl=0<(0|Il),Il=Il+-1|0,!Jl)break g;for(pm=q[a+960>>2],sm=q[a+944>>2];Jl=qm+w(Il,52)|0,q[Jl>>2]=q[(bm=Il<<2)+sm>>2],q[Jl+4>>2]=q[(dm=bm+mm|0)>>2],q[Jl+8>>2]=q[(em=bm+lm|0)>>2],u[Jl+12>>2]=u[em>>2]-u[dm>>2],q[Jl+16>>2]=q[bm+km>>2],q[Jl+44>>2]=q[(rm=bm+jm|0)>>2],nm=Aa(x(q[bm+im>>2])),u[Jl+20>>2]=nm,u[Jl+24>>2]=nm*x(1.5),em=q[bm+hm>>2],q[Jl+32>>2]=em,q[Jl+28>>2]=em?q[$l+560>>2]+w(q[bm+q[a+948>>2]>>2],28)|0:0,dm=q[bm+pm>>2],dm=(q[Jl+40>>2]=dm)?q[$l+584>>2]+w(q[bm+q[a+956>>2]>>2],28)|0:0,q[Jl+48>>2]=1,q[Jl+36>>2]=dm,q[bm+om>>2]=q[rm>>2],Jl=0<(0|Il),Il=Il+-1|0,Jl;);}if(4<=fm>>>0?(q[$l+548>>2]=q[a+944>>2],dm=a):(ca(q[$l+548>>2],0,gm<<2),dm=q[$l>>2],am=q[dm+704>>2]),bm=q[am+52>>2],1<=(0|(q[$l+556>>2]=bm)))for(Jl=q[dm+1056>>2],em=q[dm+1192>>2],gm=q[dm+1060>>2],fm=q[$l+560>>2];Il=fm+w(bm=bm+-1|0,28)|0,q[Il>>2]=q[(hm=bm<<2)+gm>>2],hm=q[Jl+hm>>2],q[Il+24>>2]=1,q[Il+16>>2]=0,q[Il+20>>2]=1,q[Il+8>>2]=0,q[Il+12>>2]=0,q[Il+4>>2]=em+(hm<<2),0<(0|bm););if(bm=q[am+48>>2],1<=(0|(q[$l+564>>2]=bm))){for(;;){if(Il=q[$l+568>>2]+w(bm=bm+-1|0,36)|0,em=q[(am=bm<<2)+q[dm+1072>>2]>>2],1<=(0|(q[Il+4>>2]=em)))for(Jl=0;q[q[Il>>2]+(Jl<<2)>>2]=q[$l+560>>2]+w(q[q[dm+1064>>2]+(q[am+q[dm+1068>>2]>>2]+Jl<<2)>>2],28),(0|em)!=(0|(Jl=Jl+1|0)););if(q[Il+24>>2]=1,q[Il+28>>2]=1,q[Il+8>>2]=1<>2],am=q[dm+704>>2]}if(Il=q[am>>2],(0|(q[$l+4>>2]=Il))<1)Jl=0;else{for(hm=q[dm+732>>2],im=q[dm+736>>2],jm=q[dm+740>>2],em=q[dm+720>>2],km=q[$l+52>>2],gm=q[$l+568>>2],lm=q[$l+8>>2],bm=Il;fm=lm+w(bm=bm+-1|0,12)|0,q[fm>>2]=gm+w(q[(Jl=bm<<2)+em>>2],36),q[fm+4>>2]=q[Jl+jm>>2],q[fm+8>>2]=q[Jl+im>>2],u[Jl+km>>2]=q[Jl+hm>>2]?x(1):x(0),0<(0|bm););for(fm=q[$l+16>>2],Jl=0;bm=q[8+(gm+w(q[(hm=(Il=Il+-1|0)<<2)+em>>2],36)|0)>>2],Jl=Jl+(q[fm+hm>>2]=bm)|0,0<(0|Il););Il=q[$l+4>>2]}if(q[$l+12>>2]=Il,q[$l+20>>2]=Jl,Il=q[am+4>>2],1<=(0|(q[$l+304>>2]=Il))){for(;Jl=q[$l+308>>2]+((Il=Il+-1|0)<<5)|0,q[Jl>>2]=q[$l+568>>2]+w(q[(bm=Il<<2)+q[dm+752>>2]>>2],36),q[Jl+4>>2]=q[bm+q[dm+764>>2]>>2],q[Jl+8>>2]=q[bm+q[dm+768>>2]>>2],em=q[bm+q[dm+772>>2]>>2],q[Jl+12>>2]=em,am=q[bm+q[dm+776>>2]>>2],q[Jl+16>>2]=am,q[Jl+28>>2]=q[bm+q[dm+760>>2]>>2],em>>>0<=1?em-1?(q[20+(q[$l+60>>2]+w(am,24)|0)>>2]=Il,q[Jl+24>>2]=1,q[Jl+20>>2]=2):(q[8+(q[$l+168>>2]+w(am,12)|0)>>2]=Il,q[Jl+24>>2]=3,q[Jl+20>>2]=4):Y(4,1179,0),0<(0|Il););dm=q[$l>>2],am=q[dm+704>>2]}bm=q[am+8>>2];k:if(!((0|(q[$l+56>>2]=bm))<1)){if(Jl=bm+-1|0,gm=q[dm+796>>2],fm=q[dm+804>>2],hm=q[dm+800>>2],im=q[dm+780>>2],jm=q[$l+568>>2],km=q[$l+60>>2],r[dm+4|0]<2)for(;;)if(Il=km+w(Jl,24)|0,q[Il>>2]=jm+w(q[(em=Jl<<2)+im>>2],36),q[Il+4>>2]=q[em+hm>>2],q[Il+8>>2]=q[em+fm>>2],em=q[em+gm>>2],q[Il+12>>2]=0,q[Il+16>>2]=em,Il=0<(0|Jl),Jl=Jl+-1|0,!Il)break k;for(lm=q[dm+808>>2];Il=km+w(Jl,24)|0,q[Il>>2]=jm+w(q[(em=Jl<<2)+im>>2],36),q[Il+4>>2]=q[em+hm>>2],q[Il+8>>2]=q[em+fm>>2],q[Il+16>>2]=q[em+gm>>2],q[Il+12>>2]=q[em+lm>>2],Il=0<(0|Jl),Jl=Jl+-1|0,Il;);}if(Jl=q[am+12>>2],1<=(0|(q[$l+164>>2]=Jl)))for(em=q[dm+828>>2],gm=q[dm+812>>2],fm=q[$l+568>>2],hm=q[$l+168>>2],Il=Jl;im=hm+w(Il=Il+-1|0,12)|0,q[im>>2]=fm+w(q[(jm=Il<<2)+gm>>2],36),q[im+4>>2]=q[em+jm>>2],0<(0|Il););if(((Il=0)|bm)<1)em=0;else{for(gm=q[$l+68>>2],fm=q[$l+60>>2],em=0;Jl=q[q[fm+w(bm=bm+-1|0,24)>>2]+8>>2],em=(q[gm+(bm<<2)>>2]=Jl)+em|0,0<(0|bm););Jl=q[$l+164>>2],bm=q[$l+56>>2]}if(q[$l+64>>2]=bm,q[$l+72>>2]=em,bm=$l,1<=(0|Jl)){for(gm=q[$l+176>>2],fm=q[$l+168>>2];em=q[q[fm+w(Jl=Jl+-1|0,12)>>2]+8>>2],Il=Il+(q[gm+(Jl<<2)>>2]=em)|0,0<(0|Jl););Jl=q[$l+164>>2]}if(q[bm+172>>2]=Jl,q[$l+180>>2]=Il,em=q[am+16>>2],1<=(0|(q[$l+332>>2]=em))){for(hm=q[dm+872>>2],im=q[dm+892>>2],jm=q[dm+880>>2],km=q[dm+876>>2],gm=q[dm+852>>2],fm=q[$l+568>>2],lm=q[$l+336>>2],Il=em;Jl=lm+w(Il=Il+-1|0,20)|0,q[Jl>>2]=fm+w(q[(bm=Il<<2)+gm>>2],36),q[Jl+4>>2]=q[bm+km>>2],q[Jl+8>>2]=q[bm+jm>>2],q[Jl+16>>2]=q[bm+im>>2],q[Jl+12>>2]=q[bm+hm>>2],0<(0|Il););for(bm=q[$l+344>>2],Jl=0;Il=q[8+(fm+w(q[(hm=(em=em+-1|0)<<2)+gm>>2],36)|0)>>2],Jl=(q[bm+hm>>2]=Il)+Jl|0,0<(0|em););if(q[$l+348>>2]=Jl,em=q[$l+332>>2],!((0|(q[$l+340>>2]=em))<1))for(Jl=em<<2,bm=q[$l+456>>2],gm=q[$l+452>>2];q[(fm=(Il=Jl+-4|0)<<2)+gm>>2]=1065353216,q[(hm=(Jl<<=2)-4|0)+gm>>2]=1065353216,q[(im=(Jl=Jl+-12|0)+gm|0)>>2]=1065353216,q[im+4>>2]=1065353216,q[bm+fm>>2]=0,q[bm+hm>>2]=1065353216,q[(Jl=Jl+bm|0)>>2]=0,q[Jl+4>>2]=0,Jl=Il,0<(0|(em=em+-1|0)););}else q[$l+340>>2]=em,q[$l+348>>2]=0;if(em=q[am+72>>2],1<=(0|(q[$l+480>>2]=em)))for(hm=q[dm+1208>>2],im=q[dm+1224>>2],jm=q[dm+1220>>2],km=q[dm+1216>>2],lm=q[dm+1212>>2],mm=q[$l+484>>2],bm=0;;){if(Il=mm+w(bm,28)|0,gm=q[(Jl=bm<<2)+lm>>2],q[Il+4>>2]=gm,q[Il>>2]=q[Jl+km>>2],fm=q[Jl+jm>>2],q[Il+16>>2]=fm,om=q[Jl+im>>2],q[Il+20>>2]=om,q[Il+8>>2]=0,q[Il+24>>2]=1+(fm-om|0),1<=(0|gm))for(om=q[Jl+hm>>2],qm=q[Il+12>>2],pm=q[dm+1236>>2],sm=q[dm+1228>>2],rm=q[dm+1232>>2],Jl=0;q[4+(Il=qm+(Jl<<4)|0)>>2]=q[(fm=Jl+om<<2)+rm>>2],q[Il>>2]=q[fm+sm>>2],fm=q[fm+pm>>2],q[Il+12>>2]=0,q[Il+8>>2]=fm,(0|gm)!=(0|(Jl=Jl+1|0)););if((0|em)==(0|(bm=bm+1|0)))break}if(Jl=q[am+80>>2],(0|(q[$l+500>>2]=Jl))<1)bm=0;else{for(fm=q[dm+1280>>2],hm=q[dm+1268>>2],im=q[dm+1276>>2],jm=q[dm+1272>>2],km=q[dm+1264>>2],lm=q[dm+1260>>2],em=q[dm+1248>>2],gm=q[$l+568>>2],mm=q[$l+504>>2];Il=mm+w(Jl=Jl+-1|0,24)|0,q[Il>>2]=gm+w(q[(bm=Jl<<2)+em>>2],36),q[Il+4>>2]=q[bm+lm>>2],q[Il+8>>2]=q[bm+km>>2],q[Il+12>>2]=q[bm+jm>>2],bm=q[bm+hm>>2],q[Il+20>>2]=fm+(bm<<1),q[Il+16>>2]=im+(bm<<2),0<(0|Jl););if((0|(Jl=q[$l+500>>2]))<1)bm=0;else{for(fm=q[$l+512>>2],bm=0;Il=q[8+(gm+w(q[(hm=(Jl=Jl+-1|0)<<2)+em>>2],36)|0)>>2],bm=(q[fm+hm>>2]=Il)+bm|0,0<(0|Jl););Jl=q[$l+500>>2]}}q[$l+508>>2]=Jl,q[$l+516>>2]=bm;o:if(4<=r[a+4|0]){if(!((em=r[dm+4|0])>>>0<4)){if(Jl=q[am+120>>2],1<=(0|(q[$l+572>>2]=Jl))){for(fm=q[dm+1172>>2],hm=q[$l+576>>2];em=(0|(am=q[(Il=(Jl=Jl+-1|0)<<2)+fm>>2]))<0?am=gm=bm=0:(bm=(em=q[Il+q[dm+1176>>2]>>2]<<2)+q[dm+1188>>2]|0,gm=q[Il+q[dm+1180>>2]>>2],am=q[$l+544>>2]+w(am,52)|0,em+q[dm+1184>>2]|0),Il=hm+w(Jl,20)|0,q[Il+12>>2]=gm,q[Il+8>>2]=bm,q[Il+4>>2]=em,q[Il>>2]=am,0<(0|Jl););if(dm=q[$l>>2],(em=r[dm+4|0])>>>0<4)break o}if(am=q[dm+704>>2],bm=q[am+100>>2],1<=(0|(q[$l+580>>2]=bm)))for(gm=q[dm+1084>>2],fm=q[dm+1076>>2],hm=q[dm+1192>>2],im=q[dm+1080>>2],jm=q[$l+584>>2];Il=jm+w(bm=bm+-1|0,28)|0,q[Il>>2]=q[(Jl=bm<<2)+im>>2],q[Il+4>>2]=hm+(q[Jl+fm>>2]<<2),Jl=q[Jl+gm>>2],q[Il+20>>2]=1,q[Il+24>>2]=1,q[Il+12>>2]=0,q[Il+16>>2]=0,q[Il+8>>2]=Jl,0<(0|bm););if(bm=q[am+104>>2],1<=(0|(q[$l+588>>2]=bm))){for(;;){if(Il=q[$l+592>>2]+w(bm=bm+-1|0,48)|0,q[Il>>2]=q[$l+584>>2]+w(q[(em=bm<<2)+q[dm+1088>>2]>>2],28),Jl=q[em+q[dm+1092>>2]>>2],q[Il+28>>2]=1,q[Il+32>>2]=1,q[Il+8>>2]=0,q[Il+4>>2]=Jl,am=q[em+q[dm+1104>>2]>>2],1<=(0|(q[Il+36>>2]=am)))for(Jl=0;q[q[Il+40>>2]+(Jl<<2)>>2]=q[$l+576>>2]+w(q[q[dm+1168>>2]+(q[em+q[dm+1100>>2]>>2]+Jl<<2)>>2],20),(0|am)!=(0|(Jl=Jl+1|0)););if(!(1<=(0|bm)))break}dm=q[$l>>2],em=r[dm+4|0]}if(!(em>>>0<4)){if(em=q[a+704>>2],Jl=q[em+108>>2],1<=(0|(q[$l+604>>2]=Jl)))for(am=q[a+1124>>2],gm=q[a+1128>>2],fm=q[a+1120>>2],hm=q[$l+592>>2],im=q[$l+608>>2];Il=im+w(Jl=Jl+-1|0,12)|0,q[Il>>2]=q[(bm=Jl<<2)+fm>>2],q[Il+4>>2]=q[bm+gm>>2],q[Il+8>>2]=hm+w(q[am+bm>>2],48),0<(0|Jl););if(Jl=q[em+112>>2],1<=(0|(q[$l+620>>2]=Jl)))for(em=q[a+1148>>2],am=q[a+1152>>2],gm=q[a+1144>>2],fm=q[$l+592>>2],hm=q[$l+624>>2];Il=hm+w(Jl=Jl+-1|0,12)|0,q[Il>>2]=q[(bm=Jl<<2)+gm>>2],q[Il+4>>2]=q[am+bm>>2],q[Il+8>>2]=fm+w(q[bm+em>>2],48),0<(0|Jl););if(bm=q[dm+1192>>2],Il=q[q[dm+704>>2]+20>>2],q[$l+640>>2]=q[dm+972>>2],em=q[dm+964>>2],q[$l+636>>2]=em,!((0|Il)<(Jl=1))&&(q[em>>2]=bm+(q[q[dm+968>>2]>>2]<<2),1!=(0|Il)))for(;q[(em=Jl<<2)+q[$l+636>>2]>>2]=bm+(q[em+q[dm+968>>2]>>2]<<2),(0|Il)!=(0|(Jl=Jl+1|0)););}}}else if(!(q[am+20>>2]<1))for(am=0;;){if(bm=q[(gm=am<<2)+q[$l+636>>2]>>2],1<=((Il=0)|(Jl=q[gm+q[dm+952>>2]>>2])))for(im=Jl+(fm=q[gm+q[dm+948>>2]>>2])|0,jm=q[dm+1060>>2],km=q[dm+1056>>2];;){if(1<=(0|(hm=q[(Jl=fm<<2)+jm>>2])))for(lm=hm+(em=q[Jl+km>>2])|0,mm=q[dm+1192>>2];;){hm=bm+(Il<<2)|0,nm=u[mm+(em<<2)>>2],Jl=bm;q:{if(0<(0|Il))for(;;){if(u[Jl>>2]==nm)break q;if(!((Jl=Jl+4|0)>>>0>>0))break}u[hm>>2]=nm,Il=Il+1|0}if(!((0|(em=em+1|0))<(0|lm)))break}if(!((0|(fm=fm+1|0))<(0|im)))break}if(function(a,Sm){var un,Kn,xn=0,yn=0,Jn=0;q[8+(L=un=L-208|0)>>2]=1,q[12+un>>2]=0;a:if(Kn=Sm<<2){for(q[16+un>>2]=4,Jn=Sm=q[20+un>>2]=4,xn=2;Sm=(Jn+4|0)+(yn=Sm)|0,q[(16+un|0)+(xn<<2)>>2]=Sm,xn=xn+1|0,Jn=yn,Sm>>>0>>0;);if((yn=(a+Kn|0)-4|0)>>>0<=a>>>0)Sm=xn=1;else for(Sm=xn=1;Sm=3==(3&xn)?(ta(a,Sm,16+un|0),ma(8+un|0,2),Sm+2|0):(t[(16+un|0)+((Jn=Sm+-1|0)<<2)>>2]>=yn-a>>>0?la(a,8+un|0,Sm,0,16+un|0):ta(a,Sm,16+un|0),1==(0|Sm)?(ka(8+un|0,1),0):(ka(8+un|0,Jn),1)),xn=1|q[8+un>>2],q[8+un>>2]=xn,(a=a+4|0)>>>0>>0;);for(la(a,8+un|0,Sm,0,16+un|0);;){e:{f:{g:{if(!(1!=(0|Sm)|1!=(0|xn))){if(q[12+un>>2])break g;break a}if(1<(0|Sm))break f}ma(8+un|0,yn=Oa(8+un|0)),xn=q[8+un>>2],Sm=Sm+yn|0;break e}ka(8+un|0,2),q[8+un>>2]=7^q[8+un>>2],ma(8+un|0,1),la((Jn=a+-4|0)-q[(16+un|0)+((yn=Sm+-2|0)<<2)>>2]|0,8+un|0,Sm+-1|0,1,16+un|0),ka(8+un|0,1),xn=1|q[8+un>>2],q[8+un>>2]=xn,la(Jn,8+un|0,yn,1,16+un|0),Sm=yn}a=a+-4|0}}L=208+un|0}(bm,Il),q[gm+q[$l+640>>2]>>2]=Il,!((0|(am=am+1|0))>2]+20>>2]))break}if(!(r[a+4|0]<5|r[q[$l>>2]+4|0]<4)){if(Il=q[a+704>>2],Jl=q[Il+128>>2],1<=(0|(q[$l+596>>2]=Jl)))for(em=q[a+1112>>2],am=q[a+1116>>2],gm=q[a+1108>>2],fm=q[$l+592>>2],hm=q[$l+600>>2];dm=hm+w(Jl=Jl+-1|0,12)|0,q[dm>>2]=q[(bm=Jl<<2)+gm>>2],q[dm+4>>2]=q[am+bm>>2],q[dm+8>>2]=fm+w(q[bm+em>>2],48),0<(0|Jl););if(Jl=q[Il+132>>2],1<=(0|(q[$l+612>>2]=Jl)))for(em=q[a+1136>>2],am=q[a+1140>>2],gm=q[a+1132>>2],fm=q[$l+592>>2],hm=q[$l+616>>2];dm=hm+w(Jl=Jl+-1|0,12)|0,q[dm>>2]=q[(bm=Jl<<2)+gm>>2],q[dm+4>>2]=q[am+bm>>2],q[dm+8>>2]=fm+w(q[bm+em>>2],48),0<(0|Jl););if(Jl=q[Il+136>>2],!((0|(q[$l+628>>2]=Jl))<1))for(dm=q[a+1160>>2],bm=q[a+1164>>2],em=q[a+1156>>2],am=q[$l+592>>2],gm=q[$l+632>>2];a=gm+w(Jl=Jl+-1|0,12)|0,q[a>>2]=q[(Il=Jl<<2)+em>>2],q[a+4>>2]=q[Il+bm>>2],q[a+8>>2]=am+w(q[Il+dm>>2],48),0<(0|Jl););}ua($l)}return L=576+cm|0,$l}(a,Wa,Xa))break a;q[36+Ya>>2]=2209,q[32+Ya>>2]=2361,Y(4,1294,32+Ya|0)}else q[20+Ya>>2]=1444,q[16+Ya>>2]=2361,Y(4,1294,16+Ya|0);else q[4+Ya>>2]=2132,q[Ya>>2]=2361,Y(4,1294,Ya);Wa=0}return L=64+Ya|0,0|Wa}function xa(a){var Wa;return L=Wa=L-16|0,a=(a|=0)?function(a){var Il;return ca(16+(L=Il=L-576|0)|0,0,560),Fa(a,16+Il|0,12+Il|0),L=576+Il|0,q[12+Il>>2]}(a):(q[4+Wa>>2]=2132,q[Wa>>2]=2343,Y(4,1294,Wa),0),L=16+Wa|0,0|a}function ya(a){var Xa=r[a+4|0];X(q[a+704>>2],4,64),da(q[a+708>>2],4),da(q[a+708>>2]+4|0,4),da(q[a+708>>2]+8|0,4),da(q[a+708>>2]+12|0,4),da(q[a+708>>2]+16|0,4),da(q[a+708>>2]+20|0,1),X(q[a+720>>2],4,q[q[a+704>>2]>>2]),X(q[a+724>>2],4,q[q[a+704>>2]>>2]),X(q[a+728>>2],4,q[q[a+704>>2]>>2]),X(q[a+732>>2],4,q[q[a+704>>2]>>2]),X(q[a+736>>2],4,q[q[a+704>>2]>>2]),X(q[a+740>>2],4,q[q[a+704>>2]>>2]),X(q[a+752>>2],4,q[q[a+704>>2]+4>>2]),X(q[a+756>>2],4,q[q[a+704>>2]+4>>2]),X(q[a+760>>2],4,q[q[a+704>>2]+4>>2]),X(q[a+764>>2],4,q[q[a+704>>2]+4>>2]),X(q[a+768>>2],4,q[q[a+704>>2]+4>>2]),X(q[a+772>>2],4,q[q[a+704>>2]+4>>2]),X(q[a+776>>2],4,q[q[a+704>>2]+4>>2]),X(q[a+780>>2],4,q[q[a+704>>2]+8>>2]),X(q[a+784>>2],4,q[q[a+704>>2]+8>>2]),X(q[a+788>>2],4,q[q[a+704>>2]+8>>2]),X(q[a+796>>2],4,q[q[a+704>>2]+8>>2]),X(q[a+800>>2],4,q[q[a+704>>2]+8>>2]),X(q[a+804>>2],4,q[q[a+704>>2]+8>>2]),X(q[a+812>>2],4,q[q[a+704>>2]+12>>2]),X(q[a+816>>2],4,q[q[a+704>>2]+12>>2]),X(q[a+820>>2],4,q[q[a+704>>2]+12>>2]),X(q[a+828>>2],4,q[q[a+704>>2]+12>>2]),X(q[a+852>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+856>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+860>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+868>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+872>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+876>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+880>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+884>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+888>>2],1,q[q[a+704>>2]+16>>2]),X(q[a+892>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+896>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+900>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+904>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+908>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+912>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+924>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+928>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+932>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+936>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+940>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+948>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+952>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+976>>2],4,q[q[a+704>>2]+24>>2]),X(q[a+980>>2],4,q[q[a+704>>2]+28>>2]),X(q[a+984>>2],4,q[q[a+704>>2]+28>>2]),X(q[a+996>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+1e3>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+1004>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+1008>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+1012>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+1016>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+1020>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+1032>>2],4,q[q[a+704>>2]+36>>2]),X(q[a+1036>>2],4,q[q[a+704>>2]+36>>2]),X(q[a+1040>>2],4,q[q[a+704>>2]+36>>2]),X(q[a+1052>>2],4,q[q[a+704>>2]+40>>2]),X(q[a+1064>>2],4,q[q[a+704>>2]+44>>2]),X(q[a+1068>>2],4,q[q[a+704>>2]+48>>2]),X(q[a+1072>>2],4,q[q[a+704>>2]+48>>2]),X(q[a+1056>>2],4,q[q[a+704>>2]+52>>2]),X(q[a+1060>>2],4,q[q[a+704>>2]+52>>2]),X(q[a+1192>>2],4,q[q[a+704>>2]+56>>2]),X(q[a+1196>>2],4,q[q[a+704>>2]+60>>2]),X(q[a+1200>>2],2,q[q[a+704>>2]+64>>2]),X(q[a+1204>>2],4,q[q[a+704>>2]+68>>2]),X(q[a+1208>>2],4,q[q[a+704>>2]+72>>2]),X(q[a+1212>>2],4,q[q[a+704>>2]+72>>2]),X(q[a+1216>>2],4,q[q[a+704>>2]+72>>2]),X(q[a+1220>>2],4,q[q[a+704>>2]+72>>2]),X(q[a+1224>>2],4,q[q[a+704>>2]+72>>2]),X(q[a+1228>>2],4,q[q[a+704>>2]+76>>2]),X(q[a+1232>>2],4,q[q[a+704>>2]+76>>2]),X(q[a+1236>>2],4,q[q[a+704>>2]+76>>2]),X(q[a+1248>>2],4,q[q[a+704>>2]+80>>2]),X(q[a+1252>>2],4,q[q[a+704>>2]+80>>2]),X(q[a+1256>>2],4,q[q[a+704>>2]+80>>2]),X(q[a+1260>>2],4,q[q[a+704>>2]+80>>2]),X(q[a+1264>>2],4,q[q[a+704>>2]+80>>2]),X(q[a+1268>>2],4,q[q[a+704>>2]+80>>2]),X(q[a+1272>>2],4,q[q[a+704>>2]+80>>2]),X(q[a+1276>>2],4,q[q[a+704>>2]+84>>2]),X(q[a+1280>>2],2,q[q[a+704>>2]+84>>2]),X(q[a+1284>>2],4,q[q[a+704>>2]+88>>2]),Xa>>>0<2||(X(q[a+808>>2],4,q[q[a+704>>2]+8>>2]),Xa>>>0<4)||(X(q[a+968>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+972>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+792>>2],4,q[q[a+704>>2]+8>>2]),X(q[a+824>>2],4,q[q[a+704>>2]+12>>2]),X(q[a+864>>2],4,q[q[a+704>>2]+16>>2]),X(q[a+1288>>2],4,q[q[a+704>>2]+92>>2]),X(q[a+1292>>2],4,q[q[a+704>>2]+92>>2]),X(q[a+1296>>2],4,q[q[a+704>>2]+92>>2]),X(q[a+1300>>2],4,q[q[a+704>>2]+96>>2]),X(q[a+1304>>2],4,q[q[a+704>>2]+96>>2]),X(q[a+1308>>2],4,q[q[a+704>>2]+96>>2]),X(q[a+944>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+956>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+960>>2],4,q[q[a+704>>2]+20>>2]),X(q[a+1076>>2],4,q[q[a+704>>2]+100>>2]),X(q[a+1080>>2],4,q[q[a+704>>2]+100>>2]),X(q[a+1084>>2],4,q[q[a+704>>2]+100>>2]),X(q[a+1088>>2],4,q[q[a+704>>2]+104>>2]),X(q[a+1092>>2],4,q[q[a+704>>2]+104>>2]),X(q[a+1096>>2],4,q[q[a+704>>2]+104>>2]),X(q[a+1100>>2],4,q[q[a+704>>2]+104>>2]),X(q[a+1104>>2],4,q[q[a+704>>2]+104>>2]),X(q[a+1120>>2],4,q[q[a+704>>2]+108>>2]),X(q[a+1124>>2],4,q[q[a+704>>2]+108>>2]),X(q[a+1128>>2],4,q[q[a+704>>2]+108>>2]),X(q[a+1144>>2],4,q[q[a+704>>2]+112>>2]),X(q[a+1148>>2],4,q[q[a+704>>2]+112>>2]),X(q[a+1152>>2],4,q[q[a+704>>2]+112>>2]),X(q[a+1168>>2],4,q[q[a+704>>2]+116>>2]),X(q[a+1172>>2],4,q[q[a+704>>2]+120>>2]),X(q[a+1176>>2],4,q[q[a+704>>2]+120>>2]),X(q[a+1180>>2],4,q[q[a+704>>2]+120>>2]),X(q[a+1184>>2],4,q[q[a+704>>2]+124>>2]),X(q[a+1188>>2],4,q[q[a+704>>2]+124>>2]),4!=(0|Xa)&&(X(q[a+988>>2],4,q[q[a+704>>2]+28>>2]),X(q[a+992>>2],4,q[q[a+704>>2]+28>>2]),X(q[a+1024>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+1028>>2],4,q[q[a+704>>2]+32>>2]),X(q[a+1044>>2],4,q[q[a+704>>2]+36>>2]),X(q[a+1048>>2],4,q[q[a+704>>2]+36>>2]),X(q[a+1108>>2],4,q[q[a+704>>2]+128>>2]),X(q[a+1112>>2],4,q[q[a+704>>2]+128>>2]),X(q[a+1116>>2],4,q[q[a+704>>2]+128>>2]),X(q[a+1132>>2],4,q[q[a+704>>2]+132>>2]),X(q[a+1136>>2],4,q[q[a+704>>2]+132>>2]),X(q[a+1140>>2],4,q[q[a+704>>2]+132>>2]),X(q[a+1156>>2],4,q[q[a+704>>2]+136>>2]),X(q[a+1160>>2],4,q[q[a+704>>2]+136>>2]),X(q[a+1164>>2],4,q[q[a+704>>2]+136>>2])))}function za(a,Za){var _a=0,lb=0,mb=0,ob=0,pb=0,rb=0,nb=a+Za|0;a:{b:if(!(1&(_a=q[a+4>>2]))){if(!(3&_a))break a;if(Za=(_a=q[a>>2])+Za|0,(0|(a=a-_a|0))!=q[2092])if(_a>>>0<=255)mb=_a>>>3,_a=q[a+8>>2],(0|(lb=q[a+12>>2]))==(0|_a)?(rb=q[2087]&dd(mb),q[2087]=rb):(q[_a+12>>2]=lb,q[lb+8>>2]=_a);else{if(pb=q[a+24>>2],(0|(_a=q[a+12>>2]))!=(0|a))lb=q[a+8>>2],q[lb+12>>2]=_a,q[_a+8>>2]=lb;else if(mb=(mb=q[(lb=a+20|0)>>2])||q[(lb=a+16|0)>>2]){for(;ob=lb,(mb=q[(lb=(_a=mb)+20|0)>>2])||(lb=_a+16|0,mb=q[_a+16>>2]););q[ob>>2]=0}else _a=0;if(pb){lb=q[a+28>>2];e:{if(q[(mb=8652+(lb<<2)|0)>>2]==(0|a)){if(q[mb>>2]=_a)break e;rb=q[2088]&dd(lb),q[2088]=rb;break b}if(!(q[pb+(q[pb+16>>2]==(0|a)?16:20)>>2]=_a))break b}q[_a+24>>2]=pb,(lb=q[a+16>>2])&&(q[_a+16>>2]=lb,q[lb+24>>2]=_a),(lb=q[a+20>>2])&&(q[_a+20>>2]=lb,q[lb+24>>2]=_a)}}else if(3==(3&(_a=q[4+nb>>2])))return q[2089]=Za,q[4+nb>>2]=-2&_a,q[a+4>>2]=1|Za,q[nb>>2]=Za}f:{if(!(2&(_a=q[4+nb>>2]))){if(q[2093]==(0|nb)){if(q[2093]=a,Za=q[2090]+Za|0,q[2090]=Za,q[a+4>>2]=1|Za,q[2092]!=(0|a))break a;return q[2089]=0,q[2092]=0}if(q[2092]==(0|nb))return q[2092]=a,Za=q[2089]+Za|0,q[2089]=Za,q[a+4>>2]=1|Za,q[a+Za>>2]=Za;Za=(-8&_a)+Za|0;g:if(_a>>>0<=255)mb=_a>>>3,_a=q[8+nb>>2],(0|(lb=q[12+nb>>2]))==(0|_a)?(rb=q[2087]&dd(mb),q[2087]=rb):(q[_a+12>>2]=lb,q[lb+8>>2]=_a);else{if(pb=q[24+nb>>2],(0|nb)!=(0|(_a=q[12+nb>>2])))lb=q[8+nb>>2],q[lb+12>>2]=_a,q[_a+8>>2]=lb;else if(mb=(mb=q[(lb=20+nb|0)>>2])||q[(lb=16+nb|0)>>2]){for(;ob=lb,(mb=q[(lb=(_a=mb)+20|0)>>2])||(lb=_a+16|0,mb=q[_a+16>>2]););q[ob>>2]=0}else _a=0;if(pb){lb=q[28+nb>>2];j:{if(q[(mb=8652+(lb<<2)|0)>>2]==(0|nb)){if(q[mb>>2]=_a)break j;rb=q[2088]&dd(lb),q[2088]=rb;break g}if(!(q[pb+(q[pb+16>>2]==(0|nb)?16:20)>>2]=_a))break g}q[_a+24>>2]=pb,(lb=q[16+nb>>2])&&(q[_a+16>>2]=lb,q[lb+24>>2]=_a),(lb=q[20+nb>>2])&&(q[_a+20>>2]=lb,q[lb+24>>2]=_a)}}if(q[a+4>>2]=1|Za,q[a+Za>>2]=Za,q[2092]!=(0|a))break f;return q[2089]=Za}q[4+nb>>2]=-2&_a,q[a+4>>2]=1|Za,q[a+Za>>2]=Za}if(Za>>>0<=255)return Za=8388+((_a=Za>>>3)<<3)|0,_a=(lb=q[2087])&(_a=1<<_a)?q[Za+8>>2]:(q[2087]=_a|lb,Za),q[Za+8>>2]=a,q[_a+12>>2]=a,q[a+12>>2]=Za,q[a+8>>2]=_a;q[a+16>>2]=0,_a=q[a+20>>2]=0,(mb=Za>>>8)&&(_a=31,16777215>>0||(_a=28+((_a=((nb=(mb<<=ob=mb+1048320>>>16&8)<<(_a=mb+520192>>>16&4))<<(mb=245760+nb>>>16&2)>>>15)-(mb|_a|ob)|0)<<1|Za>>>_a+21&1)|0)),mb=8652+((q[(lb=a)+28>>2]=_a)<<2)|0;m:{if((lb=q[2088])&(ob=1<<_a)){for(lb=Za<<(31==(0|_a)?0:25-(_a>>>1)|0),_a=q[mb>>2];;){if((-8&q[(mb=_a)+4>>2])==(0|Za))break m;if(_a=lb>>>29,lb<<=1,!(_a=q[16+(ob=mb+(4&_a)|0)>>2]))break}q[ob+16>>2]=a}else q[2088]=lb|ob,q[mb>>2]=a;return q[a+24>>2]=mb,q[a+12>>2]=a,q[a+8>>2]=a}Za=q[mb+8>>2],q[Za+12>>2]=a,q[mb+8>>2]=a,q[a+24>>2]=0,q[a+12>>2]=mb,q[a+8>>2]=Za}}function Aa(a){var vb,xb,yb,Ab,Bb,Cb,sb,wb,Za=x(0),tb=(x(0),0),ub=0,zb=(x(0),x(0),x(0),x(0),0);x(0),x(0);a:{b:{if(j(a),ub=2147483647&(tb=b[0])){if(!(ub>>>0<2139095041))return x(x(.10000000149011612)+a);if(1065353216==(0|ub))return x(-1<(0|tb)?.10000000149011612:10);if(2139095040==(0|ub))return x(-1<(0|tb)?0:-a);if(1073741824==(0|tb))return x(.010000000707805157);if(1056964608==(0|tb))return x(.3162277638912201);if(1291845633<=ub>>>0)return x((0|tb)<0?H:0);if(vb=u[1701],wb=x(x(1.600000023841858)-vb),xb=x(x(1)/x(vb+x(1.600000023841858))),f(0,-4096&(j(sb=x(wb*xb)),b[0])),Za=k(),yb=x(Za*Za),Bb=u[1705],vb=x(xb*x(x(wb-x((Ab=Za)*x(3.099609375)))-x(Za*x(x(1.600000023841858)-x(x(3.099609375)-vb))))),xb=x(x(sb+Za)*vb),Za=x(sb*sb),wb=x(xb+x(x(Za*Za)*x(x(Za*x(x(Za*x(x(Za*x(x(Za*x(x(Za*x(.20697501301765442))+x(.23066075146198273)))+x(.2727281153202057)))+x(.3333333432674408)))+x(.4285714328289032)))+x(.6000000238418579)))),f(0,-4096&(j(x(x(yb+x(3))+wb)),b[0])),Za=k(),xb=x(Ab*Za),sb=x(x(vb*Za)+x(sb*x(wb-x(x(Za+x(-3))-yb)))),f(0,-4096&(j(x(xb+sb)),b[0])),Za=k(),vb=x(Za*x(.9619140625)),yb=x(u[1703]+x(x(x(sb-x(Za-xb))*x(.9617967009544373))+x(Za*x(-.00011736857413779944)))),f(0,-4096&(j(x(x(Bb+x(vb+yb))+x(-4))),b[0])),sb=k(),f(0,-4096&tb),wb=k(),Za=x(sb*wb),a=x(x(x(yb-x(x(x(sb-x(-4))-Bb)-vb))*a)+x(x(a-wb)*sb)),j(sb=x(Za+a)),1124073473<=(0|(tb=b[0])))break b;d:{if((ub=1124073472)==(0|tb)){if(x(a+x(4.299566569443414e-8))>x(sb-Za))break b}else{if(ub=2147483647&tb,!(a<=x(sb-Za)^1|-1021968384!=(0|tb))|1125515265<=ub>>>0)break a;if(ub>>>0<1056964609)break d}zb=(8388607&(ub=(8388608>>>(ub>>>23)-126)+tb|0)|8388608)>>>150-(Cb=ub>>>23&255),zb=(0|tb)<0?0-zb|0:zb,Za=x(Za-(f(0,ub&-8388608>>Cb-127),k())),j(x(a+Za)),tb=b[0]}f(0,-32768&tb),sb=k(),vb=x(sb*x(.693145751953125)),sb=x(x(sb*x(14286065379565116e-22))+x(x(a-x(sb-Za))*x(.6931471824645996))),a=x(vb+sb),Za=x(a*a),Za=x(a-x(Za*x(x(Za*x(x(Za*x(x(Za*x(x(Za*x(4.138136944220605e-8))+x(-16533901998627698e-22)))+x(661375597701408e-19)))+x(-.0027777778450399637)))+x(.1666666716337204)))),Ab=x(x(a*Za)/x(Za+x(-2))),Za=x(sb-x(a-vb)),a=(0|(tb=0|(j(a=x(x(a-x(Ab-x(Za+x(a*Za))))+x(1))),b[0]+(zb<<23))))<=8388607?function(a,Vk){var zl=0;return 128<=(0|Vk)?(a=x(a*x(17014118346046923e22)),Vk=(0|(zl=Vk+-127|0))<128?zl:(a=x(a*x(17014118346046923e22)),((0|Vk)<381?Vk:381)+-254|0)):-127<(0|Vk)||(a=x(a*x(11754943508222875e-54)),Vk=-127<(0|(zl=Vk+126|0))?zl:(a=x(a*x(11754943508222875e-54)),(-378<(0|Vk)?Vk:-378)+252|0)),x(a*(f(0,1065353216+(Vk<<23)|0),k()))}(a,zb):(f(0,tb),k()),a=x(x(1)*a)}else a=x(1);return a}return x(H)}return x(0)}function Ba(a,Db){var Jb,Eb,Gb,Fb=0,Hb=0,Ib=x(0);if(j(Db),!((Gb=2147483647&(Eb=b[0]))>>>0<=2139095040&&(j(a),(Fb=2147483647&(Hb=b[0]))>>>0<2139095041)))return x(a+Db);if(1065353216==(0|Eb))return Ca(a);Eb=(Jb=Eb>>>30&2)|Hb>>>31;b:{c:{d:{e:{if(!Fb){switch(Eb-2|0){case 0:break e;case 1:break;default:break d}return x(-3.1415927410125732)}if(2139095040!=(0|Gb)){if(!Gb|!(Fb>>>0<=218103808+Gb>>>0&&2139095040!=(0|Fb)))break b;if(a=Ib=Fb+218103808>>>0>>0&&(Ib=x(0),Jb)?Ib:Ca(x(y(x(a/Db)))),Eb>>>0<=2){switch(Eb-1|0){case 0:return x(-a);case 1:break;default:break d}return x(x(3.1415927410125732)-x(a+x(8.742277657347586e-8)))}return x(x(a+x(8.742277657347586e-8))+x(-3.1415927410125732))}if(2139095040==(0|Fb))break c;return u[6784+(Eb<<2)>>2]}a=x(3.1415927410125732)}return a}return u[6768+(Eb<<2)>>2]}return x((0|Hb)<0?-1.5707963705062866:1.5707963705062866)}function Ca(a){x(0);var Kb,Nb,Ob,Db,Mb,Lb=0;x(0),x(0),j(a);a:{if(1283457024<=(Db=2147483647&(Mb=b[0]))>>>0){if(2139095040>>0)break a;return x((0|Mb)<0?-1.570796251296997:1.570796251296997)}b:{if(Db>>>0<=1054867455){if(Lb=-1,964689920<=Db>>>0)break b;break a}a=x(y(a)),Lb=Db>>>0<=1066926079?Db>>>0<=1060110335?(a=x(x(x(a+a)+x(-1))/x(a+x(2))),0):(a=x(x(a+x(-1))/x(a+x(1))),1):Db>>>0<=1075576831?(a=x(x(a+x(-1.5))/x(x(a*x(1.5))+x(1))),2):(a=x(x(-1)/a),3)}if(Db=Lb,Nb=x(a*a),Kb=x(Nb*Nb),Ob=x(Kb*x(x(Kb*x(-.106480173766613))+x(-.19999158382415771))),Kb=x(Nb*x(x(Kb*x(x(Kb*x(.06168760731816292))+x(.14253635704517365)))+x(.333333283662796))),(0|Db)<=-1)return x(a-x(a*x(Ob+Kb)));a=x(u[6736+(Db<<=2)>>2]-x(x(x(a*x(Ob+Kb))-u[6752+Db>>2])-a)),a=(0|Mb)<0?x(-a):a}return a}function Da(a,Pb){var Ub,Sb,Tb,Qb=0,Rb=0;return L=Sb=L-16|0,j(a),(Qb=2147483647&(Tb=b[0]))>>>0<=1305022426?(v[Pb>>3]=(Ub=+a)+-1.5707963109016418*(Rb=.6366197723675814*Ub+6755399441055744-6755399441055744)+-1.5893254773528196e-8*Rb,Qb=y(Rb)<2147483648?~~Rb:-2147483648):2139095040<=Qb>>>0?(v[Pb>>3]=x(a-a),Qb=0):(Ub=Qb,v[8+Sb>>3]=(f(0,Ub-((Qb=(Qb>>>23)-150|0)<<23)|0),k()),Qb=function(a,Il,Jl){var Nl,Sl,Wl,Xl,Zl,_l,Kl=0,Ll=0,Ml=0,Ol=0,Pl=0,Ql=0,Rl=0,Tl=0,Ul=0,Vl=0,Yl=0;if(L=Nl=L-560|0,Rl=(Ll=Jl)+w(Wl=0<(0|(Jl=(Jl+-3|0)/24|0))?Jl:0,-24)|0,0<=(0|(Sl=q[972])))for(Ll=Sl+1|0,Jl=Wl;v[(320+Nl|0)+(Ml<<3)>>3]=(0|Jl)<0?0:+q[3904+(Jl<<2)>>2],Jl=Jl+1|0,(0|Ll)!=(0|(Ml=Ml+1|0)););for(Pl=Rl+-24|0,Ll=0;;){for(Kl=Jl=0;Kl+=v[(Jl<<3)+a>>3]*v[(320+Nl|0)+(Ll-Jl<<3)>>3],1!=(0|(Jl=Jl+1|0)););if(v[(Ll<<3)+Nl>>3]=Kl,Jl=(0|Ll)<(0|Sl),Ll=Ll+1|0,!Jl)break}_l=23-Pl|0,Xl=24-Pl|0,Ll=Sl;a:{for(;;){if(Kl=v[(Ll<<3)+Nl>>3],!(Ul=((Jl=0)|(Ml=Ll))<1))for(;Ql=(480+Nl|0)+(Jl<<2)|0,Tl=Kl,Ol=y(Kl*=5.960464477539063e-8)<2147483648?~~Kl:-2147483648,Ol=y(Tl+=-16777216*(Kl=0|Ol))<2147483648?~~Tl:-2147483648,q[Ql>>2]=Ol,Kl=v[((Ml=Ml+-1|0)<<3)+Nl>>3]+Kl,(0|Ll)!=(0|(Jl=Jl+1|0)););Kl=ja(Kl,Pl),Kl=(Kl+=-8*C(.125*Kl))-(0|(Ql=y(Kl)<2147483648?~~Kl:-2147483648));e:{f:{g:{if(Yl=(0|Pl)<1){if(Pl)break g;Ol=q[476+((Ll<<2)+Nl|0)>>2]>>23}else Ol=q[476+(Ml=(Ll<<2)+Nl|0)>>2],Vl=Ml,Ml=Ol-((Jl=Ol>>Xl)<>2]=Ml)>>_l;if((0|Ol)<1)break e;break f}if(Ol=2,!(.5<=Kl)){Ol=0;break e}}if(Ml=Jl=0,!Ul)for(;;){Ul=q[(Zl=(480+Nl|0)+(Jl<<2)|0)>>2],Vl=16777215;i:{j:{if(!Ml){if(!Ul)break j;Vl=16777216,Ml=1}q[Zl>>2]=Vl-Ul;break i}Ml=0}if((0|Ll)==(0|(Jl=Jl+1|0)))break}Yl||1<(Jl=Pl+-1|0)>>>0||(q[476+(Jl=(Ll<<2)+Nl|0)>>2]=Jl-1?8388607&q[Jl+476>>2]:4194303&q[Jl+476>>2]),Ql=Ql+1|0,2==(0|Ol)&&(Kl=1-Kl,Ol=2,Ml)&&(Kl-=ja(1,Pl))}if(0!=Kl)break;if(!(((Ml=0)|(Jl=Ll))<=(0|Sl))){for(;Ml=q[(480+Nl|0)+((Jl=Jl+-1|0)<<2)>>2]|Ml,(0|Sl)<(0|Jl););if(Ml){for(Rl=Pl;Rl=Rl+-24|0,!q[(480+Nl|0)+((Ll=Ll+-1|0)<<2)>>2];);break a}}for(Jl=1;Jl=(Ml=Jl)+1|0,!q[(480+Nl|0)+(Sl-Ml<<2)>>2];);for(Ml=Ll+Ml|0;;){for(Ll=Ql=Ll+1|0,v[(320+Nl|0)+(Ql<<3)>>3]=q[3904+(Wl+Ll<<2)>>2],Kl=Jl=0;Kl+=v[(Jl<<3)+a>>3]*v[(320+Nl|0)+(Ql-Jl<<3)>>3],1!=(0|(Jl=Jl+1|0)););if(v[(Ll<<3)+Nl>>3]=Kl,!((0|Ll)<(0|Ml)))break}Ll=Ml}16777216<=(Kl=ja(Kl,0-Pl|0))?(a=(480+Nl|0)+(Ll<<2)|0,Tl=Kl,Jl=y(Kl*=5.960464477539063e-8)<2147483648?~~Kl:-2147483648,Ml=y(Kl=Tl+-16777216*(0|Jl))<2147483648?~~Kl:-2147483648,q[a>>2]=Ml,Ll=Ll+1|0):(Jl=y(Kl)<2147483648?~~Kl:-2147483648,Rl=Pl),q[(480+Nl|0)+(Ll<<2)>>2]=Jl}if(Kl=ja(1,Rl),!((0|Ll)<=-1)){for(Jl=Ll;v[(Jl<<3)+Nl>>3]=Kl*+q[(480+Nl|0)+(Jl<<2)>>2],Kl*=5.960464477539063e-8,a=0<(0|Jl),Jl=Jl+-1|0,a;);if(!((0|Ll)<=-1))for(Jl=Ll;;){for(Pl=Ll-(a=Jl)|0,Jl=Kl=0;Kl+=v[6672+(Jl<<3)>>3]*v[(a+Jl<<3)+Nl>>3],!((0|Sl)<=(0|Jl))&&(Rl=Jl>>>0>>0,Jl=Jl+1|0,Rl););if(v[(160+Nl|0)+(Pl<<3)>>3]=Kl,Jl=a+-1|0,!(0<(0|a)))break}}if(0<=(Ll|(Kl=0)))for(;Kl+=v[(160+Nl|0)+(Ll<<3)>>3],a=0<(0|Ll),Ll=Ll+-1|0,a;);return v[Il>>3]=Ol?-Kl:Kl,L=560+Nl|0,7&Ql}(8+Sb|0,Sb,Qb),Rb=v[Sb>>3],(0|Tb)<=-1?(v[Pb>>3]=-Rb,Qb=0-Qb|0):v[Pb>>3]=Rb),L=16+Sb|0,Qb}function Ea(a,Pb){return a?function(a,Il){a:{if(a){if(Il>>>0<=127)break a;if(q[q[1789]>>2]){if(Il>>>0<=2047)return o[a+1|0]=63&Il|128,o[0|a]=Il>>>6|192,2;if(!(57344!=(-8192&Il)&&55296<=Il>>>0))return o[a+2|0]=63&Il|128,o[0|a]=Il>>>12|224,o[a+1|0]=Il>>>6&63|128,3;if(Il+-65536>>>0<=1048575)return o[a+3|0]=63&Il|128,o[0|a]=Il>>>18|240,o[a+2|0]=Il>>>6&63|128,o[a+1|0]=Il>>>12&63|128,4}else if(57216==(-128&Il))break a;q[2086]=25,a=-1}else a=1;return a}return o[0|a]=Il,1}(a,Pb):0}function Fa(a,Pb,Wb){var fc,gc,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=r[a+4|0];if(q[Pb>>2]=652,Yb=q[a+704>>2],1<=(0|(_b=q[Yb>>2]))){for($b=q[a+720>>2],bc=q[a+1072>>2];Zb=(1<>2]<<2)>>2])+Zb|0,(0|_b)!=(0|(Xb=Xb+1|0)););Xb=Zb<<2}if(q[Pb+4>>2]=w(_b,12),q[Pb+8>>2]=q[Yb>>2]<<2,q[Pb+12>>2]=q[Yb>>2]<<2,q[Pb+16>>2]=q[Yb>>2]<<2,q[Pb+20>>2]=q[Yb>>2]<<2,Zb=q[Yb>>2],q[Pb+28>>2]=Xb,q[Pb+24>>2]=Zb<<2,Zb=q[Yb>>2],q[Pb+40>>2]=Xb,q[Pb+36>>2]=Xb,q[Pb+32>>2]=Zb<<2,q[Pb+44>>2]=q[Yb+4>>2]<<5,q[Pb+48>>2]=q[Yb+4>>2]<<2,q[Pb+52>>2]=q[Yb+4>>2]<<2,q[Pb+56>>2]=q[Yb+4>>2]<<2,q[Pb+60>>2]=q[Yb+4>>2]<<4,q[Pb+64>>2]=q[Yb+4>>2]<<4,1<=((Xb=0)|(_b=q[Yb+8>>2]))){for($b=q[a+780>>2],bc=q[a+1072>>2],dc=q[a+796>>2],Zb=0;ac=(15+(q[(cc=Xb<<2)+dc>>2]<<3)&-16)+ac|0,Zb=(1<>2]<<2)>>2])+Zb|0,(0|_b)!=(0|(Xb=Xb+1|0)););Xb=Zb<<2}if(q[Pb+68>>2]=w(_b,24),q[Pb+72>>2]=q[Yb+8>>2]<<2,q[Pb+76>>2]=q[Yb+8>>2]<<2,Zb=q[Yb+8>>2],q[Pb+84>>2]=ac,q[Pb+80>>2]=Zb<<2,q[Pb+88>>2]=q[Yb+8>>2]<<4,q[Pb+92>>2]=q[Yb+8>>2]<<4,Zb=q[Yb+8>>2],q[Pb+100>>2]=Xb,q[Pb+96>>2]=Zb<<2,Zb=q[Yb+8>>2],q[Pb+140>>2]=Xb,q[Pb+136>>2]=Xb,q[Pb+132>>2]=Xb,q[Pb+128>>2]=Xb,q[Pb+124>>2]=Xb,q[Pb+120>>2]=Xb,q[Pb+116>>2]=Xb,q[Pb+112>>2]=Xb,q[Pb+108>>2]=Xb,q[Pb+104>>2]=Zb<<2,q[Pb+144>>2]=q[Yb+8>>2]<<2,q[Pb+148>>2]=q[Yb+8>>2]<<2,q[Pb+152>>2]=q[Yb+8>>2]<<2,q[Pb+156>>2]=q[Yb+8>>2]<<2,q[Pb+160>>2]=q[Yb+8>>2]<<2,q[Pb+164>>2]=q[Yb+8>>2]<<2,1<=((Xb=ac=0)|(_b=q[Yb+12>>2]))){for($b=q[a+812>>2],bc=q[a+1072>>2],Zb=0;Zb=(1<>2]<<2)>>2])+Zb|0,(0|_b)!=(0|(Xb=Xb+1|0)););Xb=Zb<<2}if(q[Pb+168>>2]=w(_b,12),q[Pb+172>>2]=q[Yb+12>>2]<<2,q[Pb+176>>2]=q[Yb+12>>2]<<2,q[Pb+180>>2]=q[Yb+12>>2]<<2,q[Pb+184>>2]=q[Yb+12>>2]<<2,q[Pb+188>>2]=q[Yb+12>>2]<<2,q[Pb+192>>2]=q[Yb+12>>2]<<2,q[Pb+196>>2]=q[Yb+12>>2]<<2,q[Pb+200>>2]=q[Yb+12>>2]<<2,q[Pb+204>>2]=q[Yb+12>>2]<<4,q[Pb+208>>2]=q[Yb+12>>2]<<4,Zb=q[Yb+12>>2],q[Pb+216>>2]=Xb,q[Pb+212>>2]=Zb<<2,Zb=q[Yb+12>>2],q[Pb+268>>2]=Xb,q[Pb+264>>2]=Xb,q[Pb+260>>2]=Xb,q[Pb+256>>2]=Xb,q[Pb+252>>2]=Xb,q[Pb+248>>2]=Xb,q[Pb+244>>2]=Xb,q[Pb+240>>2]=Xb,q[Pb+236>>2]=Xb,q[Pb+232>>2]=Xb,q[Pb+228>>2]=Xb,q[Pb+224>>2]=Xb,q[Pb+220>>2]=Zb<<2,q[Pb+272>>2]=q[Yb+12>>2]<<2,q[Pb+276>>2]=q[Yb+12>>2]<<2,q[Pb+280>>2]=q[Yb+12>>2]<<2,q[Pb+284>>2]=q[Yb+12>>2]<<2,q[Pb+288>>2]=q[Yb+12>>2]<<2,q[Pb+292>>2]=q[Yb+12>>2]<<2,1<=((Xb=0)|(Zb=q[Yb+16>>2]))){for($b=q[a+852>>2],bc=q[a+1072>>2],dc=q[a+892>>2],_b=0;ac=(15+(q[(cc=Xb<<2)+dc>>2]<<3)&-16)+ac|0,_b=(1<>2]<<2)>>2])+_b|0,(0|Zb)!=(0|(Xb=Xb+1|0)););Xb=_b<<2}if(q[Pb+296>>2]=w(Zb,20),q[Pb+300>>2]=q[Yb+16>>2]<<2,q[Pb+304>>2]=q[Yb+16>>2],q[Pb+308>>2]=q[Yb+16>>2]<<2,q[Pb+312>>2]=q[Yb+16>>2]<<2,Zb=q[Yb+16>>2],q[Pb+320>>2]=ac,q[Pb+316>>2]=Zb<<2,q[Pb+324>>2]=q[Yb+16>>2]<<2,q[Pb+328>>2]=q[Yb+16>>2]<<4,q[Pb+332>>2]=q[Yb+16>>2]<<4,q[Pb+336>>2]=q[Yb+16>>2]<<2,q[Pb+340>>2]=q[Yb+16>>2]<<2,q[Pb+344>>2]=q[Yb+16>>2]<<2,q[Pb+348>>2]=q[Yb+16>>2]<<4,q[Pb+352>>2]=q[Yb+16>>2]<<4,Zb=q[Yb+16>>2],q[Pb+360>>2]=Xb,q[Pb+356>>2]=Zb<<2,Zb=q[Yb+16>>2],q[Pb+404>>2]=Xb,q[Pb+400>>2]=Xb,q[Pb+396>>2]=Xb,q[Pb+392>>2]=Xb,q[Pb+388>>2]=Xb,q[Pb+384>>2]=Xb,q[Pb+380>>2]=Xb,q[Pb+376>>2]=Xb,q[Pb+372>>2]=Xb,q[Pb+368>>2]=Xb,q[Pb+364>>2]=Zb<<2,q[Pb+408>>2]=q[Yb+16>>2]<<2,q[Pb+412>>2]=q[Yb+16>>2]<<2,q[Pb+416>>2]=q[Yb+16>>2]<<2,q[Pb+420>>2]=q[Yb+16>>2]<<2,q[Pb+424>>2]=q[Yb+16>>2]<<2,q[Pb+428>>2]=q[Yb+16>>2]<<2,$b=q[a+704>>2],q[Pb+432>>2]=w(q[$b+20>>2],52),q[Pb+436>>2]=ec>>>(Xb=_b=0)<=3?q[$b+20>>2]<<2:0,q[Pb+440>>2]=q[$b+20>>2]<<2,q[Pb+444>>2]=w(q[$b+52>>2],28),1<=(0|(Yb=q[$b+48>>2]))){for(Zb=q[a+1072>>2],ac=0;ac=(bc=q[Zb+(Xb<<2)>>2])+ac|0,_b=(1<>2]=Xb,q[Pb+456>>2]=Xb,q[Pb+452>>2]=_b,q[Pb+448>>2]=w(Yb,36),q[Pb+500>>2]=w(q[$b+72>>2],28),1<=((ac=Xb=Zb=0)|(bc=q[$b+72>>2]))){for(dc=q[a+1224>>2],cc=q[a+1220>>2],gc=q[a+1212>>2],_b=0;_b=(0|(fc=q[(Yb=ac<<2)+cc>>2]-q[Yb+dc>>2]|0))<(0|_b)?_b:1+fc|0,Xb=(0|Xb)<(0|(Yb=q[Yb+gc>>2]))?Yb:Xb,(0|bc)!=(0|(ac=ac+1|0)););ac=Xb<<2,Xb=_b<<2}if(Yb=q[$b+76>>2],q[Pb+516>>2]=Xb,q[Pb+512>>2]=ac,q[Pb+508>>2]=Xb,q[Pb+504>>2]=Yb<<4,1<=(0|(Yb=q[$b+80>>2]))){for(Zb=q[a+1248>>2],ac=q[a+1072>>2],_b=Xb=0;_b=(1<>2]<<2)>>2])+_b|0,(0|Yb)!=(0|(Xb=Xb+1|0)););Zb=_b<<2}if(q[Pb+520>>2]=w(Yb,24),q[Pb+524>>2]=q[$b+80>>2]<<2,Yb=q[$b+80>>2],q[Pb+532>>2]=Zb,q[Pb+528>>2]=Yb<<2,Yb=q[$b+80>>2],q[Pb+544>>2]=Zb,q[Pb+540>>2]=Zb,q[Pb+536>>2]=Yb<<2,Yb=Pb,4<=ec>>>0){if(q[Pb+464>>2]=w(q[$b+120>>2],20),q[Pb+468>>2]=w(q[$b+100>>2],28),Zb=Pb,1<=((Xb=ac=0)|(bc=q[$b+104>>2]))){for(a=q[a+1104>>2],_b=0;_b=q[a+(Xb<<2)>>2]+_b|0,(0|bc)!=(0|(Xb=Xb+1|0)););a=_b<<2}else a=0;q[Zb+476>>2]=a,q[Pb+472>>2]=w(bc,48),q[Pb+484>>2]=w(q[$b+108>>2],12),a=q[$b+112>>2],q[Pb+552>>2]=0,q[Pb+492>>2]=w(a,12),a=0}else{if((0|(ac=q[$b+20>>2]))<1)_b=0;else for(bc=q[a+1060>>2],dc=q[a+952>>2],a=q[a+948>>2],Zb=_b=0;;){if(1<=(0|(cc=q[(Xb=Zb<<2)+dc>>2])))for(cc=(Xb=bc+(q[a+Xb>>2]<<2)|0)+(cc<<2)|0;_b=q[Xb>>2]+_b|0,(Xb=Xb+4|0)>>>0>>0;);if((0|ac)==(0|(Zb=Zb+1|0)))break}q[Pb+552>>2]=ac<<2,ac=q[$b+20>>2]<<2,a=_b<<2}for(q[Yb+556>>2]=a,q[Pb+548>>2]=ac,4>>0&&(q[Pb+480>>2]=w(q[$b+128>>2],12),q[Pb+488>>2]=w(q[$b+132>>2],12),q[Pb+496>>2]=w(q[$b+136>>2],12)),Xb=_b=0;Xb=((Yb=q[(a=(_b<<2)+Pb|0)>>2])+15&-16)+(q[a>>2]=Xb)|0,140!=(0|(_b=_b+1|0)););q[Wb>>2]=Xb}function Ga(a,Pb,Wb,hc){a:{if(!(20>>0||9<(Pb=Pb+-9|0)>>>0)){switch(Pb-1|0){default:return Pb=q[Wb>>2],q[Wb>>2]=Pb+4,q[a>>2]=q[Pb>>2];case 0:return Pb=q[Wb>>2],q[Wb>>2]=Pb+4,Pb=q[Pb>>2],q[a>>2]=Pb,q[a+4>>2]=Pb>>31;case 1:return Pb=q[Wb>>2],q[Wb>>2]=Pb+4,q[a>>2]=q[Pb>>2],q[a+4>>2]=0;case 3:return Pb=q[Wb>>2],q[Wb>>2]=Pb+4,Pb=p[Pb>>1],q[a>>2]=Pb,q[a+4>>2]=Pb>>31;case 4:return Pb=q[Wb>>2],q[Wb>>2]=Pb+4,q[a>>2]=s[Pb>>1],q[a+4>>2]=0;case 5:return Pb=q[Wb>>2],q[Wb>>2]=Pb+4,Pb=o[0|Pb],q[a>>2]=Pb,q[a+4>>2]=Pb>>31;case 6:return Pb=q[Wb>>2],q[Wb>>2]=Pb+4,q[a>>2]=r[0|Pb],q[a+4>>2]=0;case 2:case 7:break a;case 8:}n[hc](a,Wb)}return}Pb=q[Wb>>2]+7&-8,q[Wb>>2]=Pb+8,Wb=q[Pb+4>>2],q[a>>2]=q[Pb>>2],q[a+4>>2]=Wb}function Ha(a){var Pb,hc,Wb=0;if(ha(o[q[a>>2]]))for(;Pb=q[a>>2],hc=o[0|Pb],q[a>>2]=Pb+1,Wb=(w(Wb,10)+hc|0)-48|0,ha(o[Pb+1|0]););return Wb}function Ia(a,ic,jc,kc,lc){var oc,mc;q[204+(L=mc=L-208|0)>>2]=jc,ca(160+mc|(jc=0),0,40),q[200+mc>>2]=q[204+mc>>2],(0|ra(0,ic,200+mc|0,80+mc|0,160+mc|0,kc,lc))<0||(jc=0<=q[a+76>>2]?1:jc,jc=q[a>>2],o[a+74|0]<=0&&(q[a>>2]=-33&jc),oc=32&jc,q[a+48>>2]?ra(a,ic,200+mc|0,80+mc|0,160+mc|0,kc,lc):(q[a+48>>2]=80,q[a+16>>2]=80+mc,q[a+28>>2]=mc,q[a+20>>2]=mc,jc=q[a+44>>2],ra(a,ic,200+(q[a+44>>2]=mc)|0,80+mc|0,160+mc|0,kc,lc),jc&&(n[q[a+36>>2]](a,0,0),q[a+48>>2]=0,q[a+44>>2]=jc,q[a+28>>2]=0,q[a+16>>2]=0,q[a+20>>2]=0)),q[a>>2]=q[a>>2]|oc),L=208+mc|0}function Ka(a,ic,pc){var rc,qc;$(8+(L=qc=L-160|0)|0,3192,144),q[52+qc>>2]=a,q[28+qc>>2]=a,q[56+qc>>2]=rc=(rc=-2-a|0)>>>0<256?rc:256,q[36+qc>>2]=a=a+rc|0,q[24+qc>>2]=a,Ia(8+qc|0,ic,pc,11,12),rc&&(a=q[28+qc>>2],o[a-((0|a)==q[24+qc>>2])|0]=0),L=160+qc|0}function La(a,ic){var sc,tc,pc=0,pc=0!=(0|ic);a:{b:{c:{d:if(!(!ic|!(3&a)))for(;;){if(!r[0|a])break c;if(a=a+1|0,pc=0!=(0|(ic=ic+-1|0)),!ic)break d;if(!(3&a))break}if(!pc)break b}if(!r[0|a])break a;e:{if(4<=ic>>>0){for(pc=(pc=ic+-4|0)-(sc=-4&pc)|0,sc=4+(a+sc|0)|0;;){if((-1^(tc=q[a>>2]))&tc+-16843009&-2139062144)break e;if(a=a+4|0,!(3<(ic=ic+-4|0)>>>0))break}ic=pc,a=sc}if(!ic)break b}for(;;){if(!r[0|a])break a;if(a=a+1|0,!(ic=ic+-1|0))break}}return 0}return a}function Ma(a){var uc,ic=0;if(!a)return 32;if(!(1&a))for(;ic=ic+1|0,uc=2&a,a>>>=1,!uc;);return ic}function Na(a,vc){var zc,Ac,Bc,yc,wc=0,xc=0,xc=4;L=yc=L-256|0;a:if(!((0|vc)<2))for(wc=q[(Bc=(vc<<2)+a|0)>>2]=yc;;){for($(wc,q[a>>2],zc=xc>>>0<256?xc:256),wc=0;$(q[(Ac=(wc<<2)+a|0)>>2],q[((wc=wc+1|0)<<2)+a>>2],zc),q[Ac>>2]=q[Ac>>2]+zc,(0|vc)!=(0|wc););if(!(xc=xc-zc|0))break a;wc=q[Bc>>2]}L=256+yc|0}function Oa(a){return Ma(q[a>>2]+-1|0)||((a=Ma(q[a+4>>2]))?a+32|0:0)}function Zc(a,$o){$o|=0,b[0]=a|=0,b[1]=$o}function ad(a,$o,ap){return function(a,$o,ap){var ep,cp,bp,dp,fp=w(cp=ap>>>16,bp=a>>>16);return a=(65535&(bp=((ep=w(dp=65535&ap,a&=65535))>>>16)+w(bp,dp)|0))+w(a,cp)|0,M=((fp+w($o,ap)|0)+(bp>>>16)|0)+(a>>>16)|0,65535&ep|a<<16}(a,$o,ap)}function bd(a,$o,ap){return function(a,$o,ap){var np,mp,gp=0,hp=0,ip=0,jp=0,kp=0,lp=0,op=0;a:{b:{c:{d:{e:{if(!(hp=$o))return Zc(($o=a)-w(a=(a>>>0)/(ap>>>0)|0,ap)|0,0),M=0,a;if(gp=ap){if(!((jp=gp+-1|0)&gp))break e;kp=0-(jp=(z(gp)+33|0)-z(hp)|0)|0;break c}if(!a)return Zc(0,hp-w(a=(hp>>>0)/0|0,0)|0),M=0,a;if((gp=32-z(hp)|0)>>>0<31)break d;break b}if(Zc(a&jp,0),1==(0|gp))break a;return ap=31&(gp=gp?31-z(gp+-1^gp)|0:32),a=32<=(63&gp)>>>0?(hp=0,$o>>>ap):(hp=$o>>>ap,((1<>>ap),M=hp,a}jp=gp+1|0,kp=63-gp|0}if(gp=$o,ip=31&(hp=63&jp),ip=32<=hp>>>0?(hp=0,gp>>>ip):(hp=gp>>>ip,((1<>>ip),gp=31&(kp&=63),32<=kp>>>0?($o=a<>>32-gp|$o<>>0<4294967295&&(gp=0);ip=(mp=lp=ip<<1|$o>>>31)-(np=ap&(lp=gp-((hp=hp<<1|ip>>>31)+(kp>>>0>>0)|0)>>31))|0,hp=hp-(mp>>>0>>0)|0,$o=$o<<1|a>>>31,a=op|a<<1,op=lp&=1,jp=jp+-1|0;);return Zc(ip,hp),M=$o<<1|a>>>31,lp|a<<1}Zc(a,$o),$o=a=0}return M=$o,a}(a,$o,ap)}function dd(a){var pp;return(-1>>>(pp=31&a)&-2)<>>a}function N(){return buffer.byteLength/65536|0}}(H,I,J)}}l=null,b.wasmBinary&&(F=b.wasmBinary);var WebAssembly={},F=[];"object"!=typeof WebAssembly&&E("no native wasm support detected");var I,J=new function(a){var c=Array(16);return c.grow=function(){17<=c.length&&B("Unable to grow wasm table. Use a higher value for RESERVED_FUNCTION_POINTERS or set ALLOW_TABLE_GROWTH."),c.push(null)},c.set=function(a,e){c[a]=e},c.get=function(a){return c[a]},c},K=!1;function assert(a,c){a||B("Assertion failed: "+c)}var buffer,M,L,N,ha="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function ia(a,c,d){var e=c+d;for(d=c;a[d]&&!(e<=d);)++d;if(16>10,56320|1023&f)))):e+=String.fromCharCode(f)}return e}function ja(a,c){return a?ia(L,a,c):""}function ka(a){return 0>>16)*e+d*(c>>>16)<<16)|0}),Math.fround||(ra=new Float32Array(1),Math.fround=function(a){return ra[0]=a,ra[0]}),Math.clz32||(Math.clz32=function(a){var c=32,d=a>>16;return d&&(c-=16,a=d),(d=a>>8)&&(c-=8,a=d),(d=a>>4)&&(c-=4,a=d),(d=a>>2)&&(c-=2,a=d),a>>1?c-2:c-a}),Math.trunc||(Math.trunc=function(a){return a<0?Math.ceil(a):Math.floor(a)}),0),Q=null,U=null;function B(a){throw b.onAbort&&b.onAbort(a),D(a),E(a),K=!0,"abort("+a+"). Build with -s ASSERTIONS=1 for more info."}b.preloadedImages={},b.preloadedAudios={};var V="data:application/octet-stream;base64,";function W(a){return String.prototype.startsWith?a.startsWith(V):0===a.indexOf(V)}var X="_em_module.wasm";function ta(){try{if(F)return new Uint8Array(F);var a=z(X);if(a)return a;if(w)return w(X);throw"both async and sync fetching of the wasm failed"}catch(c){B(c)}}W(X)||(t=X,X=b.locateFile?b.locateFile(t,u):u+t),na.push({ea:function(){va()}});var wa=[null,[],[]],xa=!1;function C(a){for(var c=[],d=0;d>4,f=(15&f)<<4|g>>2,h=(3&g)<<6|m}while(c+=String.fromCharCode(e),64!==g&&(c+=String.fromCharCode(f)),64!==m&&(c+=String.fromCharCode(h)),d>16),la(I.buffer);var d=1;break a}catch(e){}d=void 0}return!!d},c:function(a,c,d,e){try{for(var f=0,g=0;g>2],h=N[c+(8*g+4)>>2],A=0;A>2]=f,0}catch(T){return"undefined"!=typeof FS&&T instanceof FS.fa||B(T),T.ga}},memory:I,table:J},u=function(){function a(a){b.asm=a.exports,P--,b.monitorRunDependencies&&b.monitorRunDependencies(P),0==P&&(null!==Q&&(clearInterval(Q),Q=null),U)&&(a=U,U=null,a())}function c(c){a(c.instance)}function d(a){(F||!p&&!q||"function"!=typeof fetch?new Promise(function(a){a(ta())}):fetch(X,{credentials:"same-origin"}).then(function(a){if(a.ok)return a.arrayBuffer();throw"failed to load wasm binary file at '"+X+"'"}).catch(ta)).then(function(){return{then:function(a){a({instance:new da})}}}).then(a,function(a){E("failed to asynchronously prepare wasm: "+a),B(a)})}var e={env:H,wasi_unstable:H};if(P++,b.monitorRunDependencies&&b.monitorRunDependencies(P),b.instantiateWasm)try{return b.instantiateWasm(e,a)}catch(f){return E("Module.instantiateWasm callback failed with error: "+f),!1}return F||"function"!=typeof WebAssembly.instantiateStreaming||W(X)||"function"!=typeof fetch?d(c):fetch(X,{credentials:"same-origin"}).then(function(a){return WebAssembly.instantiateStreaming(a,e).then(c,function(a){E("wasm streaming compile failed: "+a),E("falling back to ArrayBuffer instantiation"),d(c)})}),{}}(),va=(b.asm=u,b.___wasm_call_ctors=function(){return b.asm.d.apply(null,arguments)}),Aa=(b._csmGetVersion=function(){return b.asm.e.apply(null,arguments)},b._csmGetLatestMocVersion=function(){return b.asm.f.apply(null,arguments)},b._csmGetMocVersion=function(){return b.asm.g.apply(null,arguments)},b._csmHasMocConsistency=function(){return b.asm.h.apply(null,arguments)},b._csmSetLogFunction=function(){return b.asm.i.apply(null,arguments)},b._csmReviveMocInPlace=function(){return b.asm.j.apply(null,arguments)},b._csmReadCanvasInfo=function(){return b.asm.k.apply(null,arguments)},b._csmGetSizeofModel=function(){return b.asm.l.apply(null,arguments)},b._csmInitializeModelInPlace=function(){return b.asm.m.apply(null,arguments)},b._csmUpdateModel=function(){return b.asm.n.apply(null,arguments)},b._csmGetParameterCount=function(){return b.asm.o.apply(null,arguments)},b._csmGetParameterIds=function(){return b.asm.p.apply(null,arguments)},b._csmGetParameterTypes=function(){return b.asm.q.apply(null,arguments)},b._csmGetParameterMinimumValues=function(){return b.asm.r.apply(null,arguments)},b._csmGetParameterMaximumValues=function(){return b.asm.s.apply(null,arguments)},b._csmGetParameterDefaultValues=function(){return b.asm.t.apply(null,arguments)},b._csmGetParameterValues=function(){return b.asm.u.apply(null,arguments)},b._csmGetPartCount=function(){return b.asm.v.apply(null,arguments)},b._csmGetPartIds=function(){return b.asm.w.apply(null,arguments)},b._csmGetPartOpacities=function(){return b.asm.x.apply(null,arguments)},b._csmGetPartParentPartIndices=function(){return b.asm.y.apply(null,arguments)},b._csmGetDrawableCount=function(){return b.asm.z.apply(null,arguments)},b._csmGetDrawableIds=function(){return b.asm.A.apply(null,arguments)},b._csmGetDrawableConstantFlags=function(){return b.asm.B.apply(null,arguments)},b._csmGetDrawableDynamicFlags=function(){return b.asm.C.apply(null,arguments)},b._csmGetDrawableTextureIndices=function(){return b.asm.D.apply(null,arguments)},b._csmGetDrawableDrawOrders=function(){return b.asm.E.apply(null,arguments)},b._csmGetDrawableRenderOrders=function(){return b.asm.F.apply(null,arguments)},b._csmGetDrawableOpacities=function(){return b.asm.G.apply(null,arguments)},b._csmGetDrawableMaskCounts=function(){return b.asm.H.apply(null,arguments)},b._csmGetDrawableMasks=function(){return b.asm.I.apply(null,arguments)},b._csmGetDrawableVertexCounts=function(){return b.asm.J.apply(null,arguments)},b._csmGetDrawableVertexPositions=function(){return b.asm.K.apply(null,arguments)},b._csmGetDrawableVertexUvs=function(){return b.asm.L.apply(null,arguments)},b._csmGetDrawableIndexCounts=function(){return b.asm.M.apply(null,arguments)},b._csmGetDrawableIndices=function(){return b.asm.N.apply(null,arguments)},b._csmGetDrawableMultiplyColors=function(){return b.asm.O.apply(null,arguments)},b._csmGetDrawableScreenColors=function(){return b.asm.P.apply(null,arguments)},b._csmGetDrawableParentPartIndices=function(){return b.asm.Q.apply(null,arguments)},b._csmResetDrawableDynamicFlags=function(){return b.asm.R.apply(null,arguments)},b._csmGetParameterKeyCounts=function(){return b.asm.S.apply(null,arguments)},b._csmGetParameterKeyValues=function(){return b.asm.T.apply(null,arguments)},b._csmMallocMoc=function(){return b.asm.U.apply(null,arguments)},b._csmMallocModelAndInitialize=function(){return b.asm.V.apply(null,arguments)},b._csmMalloc=function(){return b.asm.W.apply(null,arguments)},b._csmFree=function(){return b.asm.X.apply(null,arguments)},b._csmInitializeAmountOfMemory=function(){return b.asm.Y.apply(null,arguments)},b.stackSave=function(){return b.asm.Z.apply(null,arguments)}),Ba=b.stackAlloc=function(){return b.asm._.apply(null,arguments)},Ca=b.stackRestore=function(){return b.asm.$.apply(null,arguments)},ca=b.__growWasmMemory=function(){return b.asm.aa.apply(null,arguments)};function Z(){function a(){if(!Y&&(Y=!0,!K)){if(O(na),O(oa),b.onRuntimeInitialized&&b.onRuntimeInitialized(),b.postRun)for("function"==typeof b.postRun&&(b.postRun=[b.postRun]);b.postRun.length;){var a=b.postRun.shift();pa.unshift(a)}O(pa)}}if(!(0>6}else{if(k<=65535){if(d<=e+2)break;f[e++]=224|k>>12}else{if(d<=e+3)break;f[e++]=240|k>>18,f[e++]=128|k>>12&63}f[e++]=128|k>>6&63}f[e++]=128|63&k}}f[e]=0}}return c},array:function(a){var c=Ba(a.length);return M.set(a,c),c}},g=function(a){var c=b["_"+a];return assert(c,"Cannot call unknown function "+a+", make sure it is exported"),c}(a),m=[];if(a=0,e)for(var h=0;h + * デフォルト値の仕様は以下のマニュアルに基づく
+ * https://docs.live2d.com/cubism-editor-manual/standard-parametor-list/ + */ +export declare const CubismDefaultParameterId: Readonly>; +export declare namespace Live2DCubismFramework { + const HitAreaBody: string; + const HitAreaHead: string; + const HitAreaPrefix: string; + const ParamAngleX: string; + const ParamAngleY: string; + const ParamAngleZ: string; + const ParamArmLA: string; + const ParamArmLB: string; + const ParamArmRA: string; + const ParamArmRB: string; + const ParamBaseX: string; + const ParamBaseY: string; + const ParamBodyAngleX: string; + const ParamBodyAngleY: string; + const ParamBodyAngleZ: string; + const ParamBreath: string; + const ParamBrowLAngle: string; + const ParamBrowLForm: string; + const ParamBrowLX: string; + const ParamBrowLY: string; + const ParamBrowRAngle: string; + const ParamBrowRForm: string; + const ParamBrowRX: string; + const ParamBrowRY: string; + const ParamBustX: string; + const ParamBustY: string; + const ParamCheek: string; + const ParamEyeBallForm: string; + const ParamEyeBallX: string; + const ParamEyeBallY: string; + const ParamEyeLOpen: string; + const ParamEyeLSmile: string; + const ParamEyeROpen: string; + const ParamEyeRSmile: string; + const ParamHairBack: string; + const ParamHairFluffy: string; + const ParamHairFront: string; + const ParamHairSide: string; + const ParamHandL: string; + const ParamHandR: string; + const ParamMouthForm: string; + const ParamMouthOpenY: string; + const ParamNONE: string; + const ParamShoulderY: string; + const PartsArmLPrefix: string; + const PartsArmPrefix: string; + const PartsArmRPrefix: string; + const PartsIdCore: string; +} +//# sourceMappingURL=cubismdefaultparameterid.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/cubismdefaultparameterid.d.ts.map b/live2demo/Framework/cubismdefaultparameterid.d.ts.map new file mode 100644 index 0000000..90d0fd3 --- /dev/null +++ b/live2demo/Framework/cubismdefaultparameterid.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismdefaultparameterid.d.ts","sourceRoot":"","sources":["../src/cubismdefaultparameterid.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,kCAmDnC,CAAC;AAKH,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,WAAW,QAAyC,CAAC;IAC3D,MAAM,WAAW,QAAyC,CAAC;IAC3D,MAAM,aAAa,QAA2C,CAAC;IAC/D,MAAM,WAAW,QAAyC,CAAC;IAC3D,MAAM,WAAW,QAAyC,CAAC;IAC3D,MAAM,WAAW,QAAyC,CAAC;IAC3D,MAAM,UAAU,QAAwC,CAAC;IACzD,MAAM,UAAU,QAAwC,CAAC;IACzD,MAAM,UAAU,QAAwC,CAAC;IACzD,MAAM,UAAU,QAAwC,CAAC;IACzD,MAAM,UAAU,QAAwC,CAAC;IACzD,MAAM,UAAU,QAAwC,CAAC;IACzD,MAAM,eAAe,QAA6C,CAAC;IACnE,MAAM,eAAe,QAA6C,CAAC;IACnE,MAAM,eAAe,QAA6C,CAAC;IACnE,MAAM,WAAW,QAAyC,CAAC;IAC3D,MAAM,eAAe,QAA6C,CAAC;IACnE,MAAM,cAAc,QAA4C,CAAC;IACjE,MAAM,WAAW,QAAyC,CAAC;IAC3D,MAAM,WAAW,QAAyC,CAAC;IAC3D,MAAM,eAAe,QAA6C,CAAC;IACnE,MAAM,cAAc,QAA4C,CAAC;IACjE,MAAM,WAAW,QAAyC,CAAC;IAC3D,MAAM,WAAW,QAAyC,CAAC;IAC3D,MAAM,UAAU,QAAwC,CAAC;IACzD,MAAM,UAAU,QAAwC,CAAC;IACzD,MAAM,UAAU,QAAwC,CAAC;IACzD,MAAM,gBAAgB,QAA8C,CAAC;IACrE,MAAM,aAAa,QAA2C,CAAC;IAC/D,MAAM,aAAa,QAA2C,CAAC;IAC/D,MAAM,aAAa,QAA2C,CAAC;IAC/D,MAAM,cAAc,QAA4C,CAAC;IACjE,MAAM,aAAa,QAA2C,CAAC;IAC/D,MAAM,cAAc,QAA4C,CAAC;IACjE,MAAM,aAAa,QAA2C,CAAC;IAC/D,MAAM,eAAe,QAA6C,CAAC;IACnE,MAAM,cAAc,QAA4C,CAAC;IACjE,MAAM,aAAa,QAA2C,CAAC;IAC/D,MAAM,UAAU,QAAwC,CAAC;IACzD,MAAM,UAAU,QAAwC,CAAC;IACzD,MAAM,cAAc,QAA4C,CAAC;IACjE,MAAM,eAAe,QAA6C,CAAC;IACnE,MAAM,SAAS,QAAuC,CAAC;IACvD,MAAM,cAAc,QAA4C,CAAC;IACjE,MAAM,eAAe,QAA6C,CAAC;IACnE,MAAM,cAAc,QAA4C,CAAC;IACjE,MAAM,eAAe,QAA6C,CAAC;IACnE,MAAM,WAAW,QAAyC,CAAC;CACnE"} \ No newline at end of file diff --git a/live2demo/Framework/cubismdefaultparameterid.js b/live2demo/Framework/cubismdefaultparameterid.js new file mode 100644 index 0000000..0478f1f --- /dev/null +++ b/live2demo/Framework/cubismdefaultparameterid.js @@ -0,0 +1,144 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.CubismDefaultParameterId = void 0; +/** + * @brief パラメータIDのデフォルト値を保持する定数
+ * デフォルト値の仕様は以下のマニュアルに基づく
+ * https://docs.live2d.com/cubism-editor-manual/standard-parametor-list/ + */ +exports.CubismDefaultParameterId = Object.freeze({ + // パーツID + HitAreaPrefix: 'HitArea', + HitAreaHead: 'Head', + HitAreaBody: 'Body', + PartsIdCore: 'Parts01Core', + PartsArmPrefix: 'Parts01Arm_', + PartsArmLPrefix: 'Parts01ArmL_', + PartsArmRPrefix: 'Parts01ArmR_', + // パラメータID + ParamAngleX: 'ParamAngleX', + ParamAngleY: 'ParamAngleY', + ParamAngleZ: 'ParamAngleZ', + ParamEyeLOpen: 'ParamEyeLOpen', + ParamEyeLSmile: 'ParamEyeLSmile', + ParamEyeROpen: 'ParamEyeROpen', + ParamEyeRSmile: 'ParamEyeRSmile', + ParamEyeBallX: 'ParamEyeBallX', + ParamEyeBallY: 'ParamEyeBallY', + ParamEyeBallForm: 'ParamEyeBallForm', + ParamBrowLY: 'ParamBrowLY', + ParamBrowRY: 'ParamBrowRY', + ParamBrowLX: 'ParamBrowLX', + ParamBrowRX: 'ParamBrowRX', + ParamBrowLAngle: 'ParamBrowLAngle', + ParamBrowRAngle: 'ParamBrowRAngle', + ParamBrowLForm: 'ParamBrowLForm', + ParamBrowRForm: 'ParamBrowRForm', + ParamMouthForm: 'ParamMouthForm', + ParamMouthOpenY: 'ParamMouthOpenY', + ParamCheek: 'ParamCheek', + ParamBodyAngleX: 'ParamBodyAngleX', + ParamBodyAngleY: 'ParamBodyAngleY', + ParamBodyAngleZ: 'ParamBodyAngleZ', + ParamBreath: 'ParamBreath', + ParamArmLA: 'ParamArmLA', + ParamArmRA: 'ParamArmRA', + ParamArmLB: 'ParamArmLB', + ParamArmRB: 'ParamArmRB', + ParamHandL: 'ParamHandL', + ParamHandR: 'ParamHandR', + ParamHairFront: 'ParamHairFront', + ParamHairSide: 'ParamHairSide', + ParamHairBack: 'ParamHairBack', + ParamHairFluffy: 'ParamHairFluffy', + ParamShoulderY: 'ParamShoulderY', + ParamBustX: 'ParamBustX', + ParamBustY: 'ParamBustY', + ParamBaseX: 'ParamBaseX', + ParamBaseY: 'ParamBaseY', + ParamNONE: 'NONE:' +}); +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismdefaultparameterid")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.HitAreaBody = $.CubismDefaultParameterId.HitAreaBody; + Live2DCubismFramework.HitAreaHead = $.CubismDefaultParameterId.HitAreaHead; + Live2DCubismFramework.HitAreaPrefix = $.CubismDefaultParameterId.HitAreaPrefix; + Live2DCubismFramework.ParamAngleX = $.CubismDefaultParameterId.ParamAngleX; + Live2DCubismFramework.ParamAngleY = $.CubismDefaultParameterId.ParamAngleY; + Live2DCubismFramework.ParamAngleZ = $.CubismDefaultParameterId.ParamAngleZ; + Live2DCubismFramework.ParamArmLA = $.CubismDefaultParameterId.ParamArmLA; + Live2DCubismFramework.ParamArmLB = $.CubismDefaultParameterId.ParamArmLB; + Live2DCubismFramework.ParamArmRA = $.CubismDefaultParameterId.ParamArmRA; + Live2DCubismFramework.ParamArmRB = $.CubismDefaultParameterId.ParamArmRB; + Live2DCubismFramework.ParamBaseX = $.CubismDefaultParameterId.ParamBaseX; + Live2DCubismFramework.ParamBaseY = $.CubismDefaultParameterId.ParamBaseY; + Live2DCubismFramework.ParamBodyAngleX = $.CubismDefaultParameterId.ParamBodyAngleX; + Live2DCubismFramework.ParamBodyAngleY = $.CubismDefaultParameterId.ParamBodyAngleY; + Live2DCubismFramework.ParamBodyAngleZ = $.CubismDefaultParameterId.ParamBodyAngleZ; + Live2DCubismFramework.ParamBreath = $.CubismDefaultParameterId.ParamBreath; + Live2DCubismFramework.ParamBrowLAngle = $.CubismDefaultParameterId.ParamBrowLAngle; + Live2DCubismFramework.ParamBrowLForm = $.CubismDefaultParameterId.ParamBrowLForm; + Live2DCubismFramework.ParamBrowLX = $.CubismDefaultParameterId.ParamBrowLX; + Live2DCubismFramework.ParamBrowLY = $.CubismDefaultParameterId.ParamBrowLY; + Live2DCubismFramework.ParamBrowRAngle = $.CubismDefaultParameterId.ParamBrowRAngle; + Live2DCubismFramework.ParamBrowRForm = $.CubismDefaultParameterId.ParamBrowRForm; + Live2DCubismFramework.ParamBrowRX = $.CubismDefaultParameterId.ParamBrowRX; + Live2DCubismFramework.ParamBrowRY = $.CubismDefaultParameterId.ParamBrowRY; + Live2DCubismFramework.ParamBustX = $.CubismDefaultParameterId.ParamBustX; + Live2DCubismFramework.ParamBustY = $.CubismDefaultParameterId.ParamBustY; + Live2DCubismFramework.ParamCheek = $.CubismDefaultParameterId.ParamCheek; + Live2DCubismFramework.ParamEyeBallForm = $.CubismDefaultParameterId.ParamEyeBallForm; + Live2DCubismFramework.ParamEyeBallX = $.CubismDefaultParameterId.ParamEyeBallX; + Live2DCubismFramework.ParamEyeBallY = $.CubismDefaultParameterId.ParamEyeBallY; + Live2DCubismFramework.ParamEyeLOpen = $.CubismDefaultParameterId.ParamEyeLOpen; + Live2DCubismFramework.ParamEyeLSmile = $.CubismDefaultParameterId.ParamEyeLSmile; + Live2DCubismFramework.ParamEyeROpen = $.CubismDefaultParameterId.ParamEyeROpen; + Live2DCubismFramework.ParamEyeRSmile = $.CubismDefaultParameterId.ParamEyeRSmile; + Live2DCubismFramework.ParamHairBack = $.CubismDefaultParameterId.ParamHairBack; + Live2DCubismFramework.ParamHairFluffy = $.CubismDefaultParameterId.ParamHairFluffy; + Live2DCubismFramework.ParamHairFront = $.CubismDefaultParameterId.ParamHairFront; + Live2DCubismFramework.ParamHairSide = $.CubismDefaultParameterId.ParamHairSide; + Live2DCubismFramework.ParamHandL = $.CubismDefaultParameterId.ParamHandL; + Live2DCubismFramework.ParamHandR = $.CubismDefaultParameterId.ParamHandR; + Live2DCubismFramework.ParamMouthForm = $.CubismDefaultParameterId.ParamMouthForm; + Live2DCubismFramework.ParamMouthOpenY = $.CubismDefaultParameterId.ParamMouthOpenY; + Live2DCubismFramework.ParamNONE = $.CubismDefaultParameterId.ParamNONE; + Live2DCubismFramework.ParamShoulderY = $.CubismDefaultParameterId.ParamShoulderY; + Live2DCubismFramework.PartsArmLPrefix = $.CubismDefaultParameterId.PartsArmLPrefix; + Live2DCubismFramework.PartsArmPrefix = $.CubismDefaultParameterId.PartsArmPrefix; + Live2DCubismFramework.PartsArmRPrefix = $.CubismDefaultParameterId.PartsArmRPrefix; + Live2DCubismFramework.PartsIdCore = $.CubismDefaultParameterId.PartsIdCore; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismdefaultparameterid.js.map \ No newline at end of file diff --git a/live2demo/Framework/cubismdefaultparameterid.js.map b/live2demo/Framework/cubismdefaultparameterid.js.map new file mode 100644 index 0000000..910fab0 --- /dev/null +++ b/live2demo/Framework/cubismdefaultparameterid.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismdefaultparameterid.js","sourceRoot":"","sources":["../src/cubismdefaultparameterid.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/cubismframeworkconfig.d.ts b/live2demo/Framework/cubismframeworkconfig.d.ts new file mode 100644 index 0000000..da19d37 --- /dev/null +++ b/live2demo/Framework/cubismframeworkconfig.d.ts @@ -0,0 +1,20 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +export declare const CSM_LOG_LEVEL_VERBOSE = 0; +export declare const CSM_LOG_LEVEL_DEBUG = 1; +export declare const CSM_LOG_LEVEL_INFO = 2; +export declare const CSM_LOG_LEVEL_WARNING = 3; +export declare const CSM_LOG_LEVEL_ERROR = 4; +export declare const CSM_LOG_LEVEL_OFF = 5; +/** + * ログ出力レベル設定。 + * + * 強制的にログ出力レベルを変える時に定義を有効にする。 + * CSM_LOG_LEVEL_VERBOSE ~ CSM_LOG_LEVEL_OFF を選択する。 + */ +export declare const CSM_LOG_LEVEL: number; +//# sourceMappingURL=cubismframeworkconfig.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/cubismframeworkconfig.d.ts.map b/live2demo/Framework/cubismframeworkconfig.d.ts.map new file mode 100644 index 0000000..3b47009 --- /dev/null +++ b/live2demo/Framework/cubismframeworkconfig.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismframeworkconfig.d.ts","sourceRoot":"","sources":["../src/cubismframeworkconfig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,MAA8B,CAAC"} \ No newline at end of file diff --git a/live2demo/Framework/cubismframeworkconfig.js b/live2demo/Framework/cubismframeworkconfig.js new file mode 100644 index 0000000..39bcd6b --- /dev/null +++ b/live2demo/Framework/cubismframeworkconfig.js @@ -0,0 +1,33 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CSM_LOG_LEVEL = exports.CSM_LOG_LEVEL_OFF = exports.CSM_LOG_LEVEL_ERROR = exports.CSM_LOG_LEVEL_WARNING = exports.CSM_LOG_LEVEL_INFO = exports.CSM_LOG_LEVEL_DEBUG = exports.CSM_LOG_LEVEL_VERBOSE = void 0; +//======================================================== +// ログ出力関数の設定 +//======================================================== +//---------- ログ出力レベル 選択項目 定義 ---------- +// 詳細ログ出力設定 +exports.CSM_LOG_LEVEL_VERBOSE = 0; +// デバッグログ出力設定 +exports.CSM_LOG_LEVEL_DEBUG = 1; +// Infoログ出力設定 +exports.CSM_LOG_LEVEL_INFO = 2; +// 警告ログ出力設定 +exports.CSM_LOG_LEVEL_WARNING = 3; +// エラーログ出力設定 +exports.CSM_LOG_LEVEL_ERROR = 4; +// ログ出力オフ設定 +exports.CSM_LOG_LEVEL_OFF = 5; +/** + * ログ出力レベル設定。 + * + * 強制的にログ出力レベルを変える時に定義を有効にする。 + * CSM_LOG_LEVEL_VERBOSE ~ CSM_LOG_LEVEL_OFF を選択する。 + */ +exports.CSM_LOG_LEVEL = exports.CSM_LOG_LEVEL_VERBOSE; +//# sourceMappingURL=cubismframeworkconfig.js.map \ No newline at end of file diff --git a/live2demo/Framework/cubismframeworkconfig.js.map b/live2demo/Framework/cubismframeworkconfig.js.map new file mode 100644 index 0000000..8d3da2d --- /dev/null +++ b/live2demo/Framework/cubismframeworkconfig.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismframeworkconfig.js","sourceRoot":"","sources":["../src/cubismframeworkconfig.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,0DAA0D;AAC1D,aAAa;AACb,0DAA0D;AAE1D,uCAAuC;AACvC,WAAW;AACE,QAAA,qBAAqB,GAAG,CAAC,CAAC;AACvC,aAAa;AACA,QAAA,mBAAmB,GAAG,CAAC,CAAC;AACrC,aAAa;AACA,QAAA,kBAAkB,GAAG,CAAC,CAAC;AACpC,WAAW;AACE,QAAA,qBAAqB,GAAG,CAAC,CAAC;AACvC,YAAY;AACC,QAAA,mBAAmB,GAAG,CAAC,CAAC;AACrC,WAAW;AACE,QAAA,iBAAiB,GAAG,CAAC,CAAC;AAEnC;;;;;GAKG;AACU,QAAA,aAAa,GAAW,6BAAqB,CAAC"} \ No newline at end of file diff --git a/live2demo/Framework/cubismmodelsettingjson.d.ts b/live2demo/Framework/cubismmodelsettingjson.d.ts new file mode 100644 index 0000000..7c2cad5 --- /dev/null +++ b/live2demo/Framework/cubismmodelsettingjson.d.ts @@ -0,0 +1,278 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { ICubismModelSetting } from './icubismmodelsetting'; +import { CubismIdHandle } from './id/cubismid'; +import { csmMap } from './type/csmmap'; +import { CubismJson } from './utils/cubismjson'; +/** + * Model3Jsonパーサー + * + * model3.jsonファイルをパースして値を取得する + */ +export declare class CubismModelSettingJson extends ICubismModelSetting { + /** + * 引数付きコンストラクタ + * + * @param buffer Model3Jsonをバイト配列として読み込んだデータバッファ + * @param size Model3Jsonのデータサイズ + */ + constructor(buffer: ArrayBuffer, size: number); + /** + * デストラクタ相当の処理 + */ + release(): void; + /** + * CubismJsonオブジェクトを取得する + * + * @return CubismJson + */ + GetJson(): CubismJson; + /** + * Mocファイルの名前を取得する + * @return Mocファイルの名前 + */ + getModelFileName(): string; + /** + * モデルが使用するテクスチャの数を取得する + * テクスチャの数 + */ + getTextureCount(): number; + /** + * テクスチャが配置されたディレクトリの名前を取得する + * @return テクスチャが配置されたディレクトリの名前 + */ + getTextureDirectory(): string; + /** + * モデルが使用するテクスチャの名前を取得する + * @param index 配列のインデックス値 + * @return テクスチャの名前 + */ + getTextureFileName(index: number): string; + /** + * モデルに設定された当たり判定の数を取得する + * @return モデルに設定された当たり判定の数 + */ + getHitAreasCount(): number; + /** + * 当たり判定に設定されたIDを取得する + * + * @param index 配列のindex + * @return 当たり判定に設定されたID + */ + getHitAreaId(index: number): CubismIdHandle; + /** + * 当たり判定に設定された名前を取得する + * @param index 配列のインデックス値 + * @return 当たり判定に設定された名前 + */ + getHitAreaName(index: number): string; + /** + * 物理演算設定ファイルの名前を取得する + * @return 物理演算設定ファイルの名前 + */ + getPhysicsFileName(): string; + /** + * パーツ切り替え設定ファイルの名前を取得する + * @return パーツ切り替え設定ファイルの名前 + */ + getPoseFileName(): string; + /** + * 表情設定ファイルの数を取得する + * @return 表情設定ファイルの数 + */ + getExpressionCount(): number; + /** + * 表情設定ファイルを識別する名前(別名)を取得する + * @param index 配列のインデックス値 + * @return 表情の名前 + */ + getExpressionName(index: number): string; + /** + * 表情設定ファイルの名前を取得する + * @param index 配列のインデックス値 + * @return 表情設定ファイルの名前 + */ + getExpressionFileName(index: number): string; + /** + * モーショングループの数を取得する + * @return モーショングループの数 + */ + getMotionGroupCount(): number; + /** + * モーショングループの名前を取得する + * @param index 配列のインデックス値 + * @return モーショングループの名前 + */ + getMotionGroupName(index: number): string; + /** + * モーショングループに含まれるモーションの数を取得する + * @param groupName モーショングループの名前 + * @return モーショングループの数 + */ + getMotionCount(groupName: string): number; + /** + * グループ名とインデックス値からモーションファイル名を取得する + * @param groupName モーショングループの名前 + * @param index 配列のインデックス値 + * @return モーションファイルの名前 + */ + getMotionFileName(groupName: string, index: number): string; + /** + * モーションに対応するサウンドファイルの名前を取得する + * @param groupName モーショングループの名前 + * @param index 配列のインデックス値 + * @return サウンドファイルの名前 + */ + getMotionSoundFileName(groupName: string, index: number): string; + /** + * モーション開始時のフェードイン処理時間を取得する + * @param groupName モーショングループの名前 + * @param index 配列のインデックス値 + * @return フェードイン処理時間[秒] + */ + getMotionFadeInTimeValue(groupName: string, index: number): number; + /** + * モーション終了時のフェードアウト処理時間を取得する + * @param groupName モーショングループの名前 + * @param index 配列のインデックス値 + * @return フェードアウト処理時間[秒] + */ + getMotionFadeOutTimeValue(groupName: string, index: number): number; + /** + * ユーザーデータのファイル名を取得する + * @return ユーザーデータのファイル名 + */ + getUserDataFile(): string; + /** + * レイアウト情報を取得する + * @param outLayoutMap csmMapクラスのインスタンス + * @return true レイアウト情報が存在する + * @return false レイアウト情報が存在しない + */ + getLayoutMap(outLayoutMap: csmMap): boolean; + /** + * 目パチに関連付けられたパラメータの数を取得する + * @return 目パチに関連付けられたパラメータの数 + */ + getEyeBlinkParameterCount(): number; + /** + * 目パチに関連付けられたパラメータのIDを取得する + * @param index 配列のインデックス値 + * @return パラメータID + */ + getEyeBlinkParameterId(index: number): CubismIdHandle; + /** + * リップシンクに関連付けられたパラメータの数を取得する + * @return リップシンクに関連付けられたパラメータの数 + */ + getLipSyncParameterCount(): number; + /** + * リップシンクに関連付けられたパラメータの数を取得する + * @param index 配列のインデックス値 + * @return パラメータID + */ + getLipSyncParameterId(index: number): CubismIdHandle; + /** + * モデルファイルのキーが存在するかどうかを確認する + * @return true キーが存在する + * @return false キーが存在しない + */ + private isExistModelFile; + /** + * テクスチャファイルのキーが存在するかどうかを確認する + * @return true キーが存在する + * @return false キーが存在しない + */ + private isExistTextureFiles; + /** + * 当たり判定のキーが存在するかどうかを確認する + * @return true キーが存在する + * @return false キーが存在しない + */ + private isExistHitAreas; + /** + * 物理演算ファイルのキーが存在するかどうかを確認する + * @return true キーが存在する + * @return false キーが存在しない + */ + private isExistPhysicsFile; + /** + * ポーズ設定ファイルのキーが存在するかどうかを確認する + * @return true キーが存在する + * @return false キーが存在しない + */ + private isExistPoseFile; + /** + * 表情設定ファイルのキーが存在するかどうかを確認する + * @return true キーが存在する + * @return false キーが存在しない + */ + private isExistExpressionFile; + /** + * モーショングループのキーが存在するかどうかを確認する + * @return true キーが存在する + * @return false キーが存在しない + */ + private isExistMotionGroups; + /** + * 引数で指定したモーショングループのキーが存在するかどうかを確認する + * @param groupName グループ名 + * @return true キーが存在する + * @return false キーが存在しない + */ + private isExistMotionGroupName; + /** + * 引数で指定したモーションに対応するサウンドファイルのキーが存在するかどうかを確認する + * @param groupName グループ名 + * @param index 配列のインデックス値 + * @return true キーが存在する + * @return false キーが存在しない + */ + private isExistMotionSoundFile; + /** + * 引数で指定したモーションに対応するフェードイン時間のキーが存在するかどうかを確認する + * @param groupName グループ名 + * @param index 配列のインデックス値 + * @return true キーが存在する + * @return false キーが存在しない + */ + private isExistMotionFadeIn; + /** + * 引数で指定したモーションに対応するフェードアウト時間のキーが存在するかどうかを確認する + * @param groupName グループ名 + * @param index 配列のインデックス値 + * @return true キーが存在する + * @return false キーが存在しない + */ + private isExistMotionFadeOut; + /** + * UserDataのファイル名が存在するかどうかを確認する + * @return true キーが存在する + * @return false キーが存在しない + */ + private isExistUserDataFile; + /** + * 目ぱちに対応付けられたパラメータが存在するかどうかを確認する + * @return true キーが存在する + * @return false キーが存在しない + */ + private isExistEyeBlinkParameters; + /** + * リップシンクに対応付けられたパラメータが存在するかどうかを確認する + * @return true キーが存在する + * @return false キーが存在しない + */ + private isExistLipSyncParameters; + private _json; + private _jsonValue; +} +import * as $ from './cubismmodelsettingjson'; +export declare namespace Live2DCubismFramework { + const CubismModelSettingJson: typeof $.CubismModelSettingJson; + type CubismModelSettingJson = $.CubismModelSettingJson; +} +//# sourceMappingURL=cubismmodelsettingjson.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/cubismmodelsettingjson.d.ts.map b/live2demo/Framework/cubismmodelsettingjson.d.ts.map new file mode 100644 index 0000000..3babc13 --- /dev/null +++ b/live2demo/Framework/cubismmodelsettingjson.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismmodelsettingjson.d.ts","sourceRoot":"","sources":["../src/cubismmodelsettingjson.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/cubismmodelsettingjson.js b/live2demo/Framework/cubismmodelsettingjson.js new file mode 100644 index 0000000..c6fbb8f --- /dev/null +++ b/live2demo/Framework/cubismmodelsettingjson.js @@ -0,0 +1,731 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.CubismModelSettingJson = void 0; +var icubismmodelsetting_1 = require("./icubismmodelsetting"); +var live2dcubismframework_1 = require("./live2dcubismframework"); +var csmvector_1 = require("./type/csmvector"); +var cubismjson_1 = require("./utils/cubismjson"); +/** + * Model3Jsonのキー文字列 + */ +// JSON Keys +var Version = 'Version'; +var FileReferences = 'FileReferences'; +var Groups = 'Groups'; +var Layout = 'Layout'; +var HitAreas = 'HitAreas'; +var Moc = 'Moc'; +var Textures = 'Textures'; +var Physics = 'Physics'; +var Pose = 'Pose'; +var Expressions = 'Expressions'; +var Motions = 'Motions'; +var UserData = 'UserData'; +var Name = 'Name'; +var FilePath = 'File'; +var Id = 'Id'; +var Ids = 'Ids'; +var Target = 'Target'; +// Motions +var Idle = 'Idle'; +var TapBody = 'TapBody'; +var PinchIn = 'PinchIn'; +var PinchOut = 'PinchOut'; +var Shake = 'Shake'; +var FlickHead = 'FlickHead'; +var Parameter = 'Parameter'; +var SoundPath = 'Sound'; +var FadeInTime = 'FadeInTime'; +var FadeOutTime = 'FadeOutTime'; +// Layout +var CenterX = 'CenterX'; +var CenterY = 'CenterY'; +var X = 'X'; +var Y = 'Y'; +var Width = 'Width'; +var Height = 'Height'; +var LipSync = 'LipSync'; +var EyeBlink = 'EyeBlink'; +var InitParameter = 'init_param'; +var InitPartsVisible = 'init_parts_visible'; +var Val = 'val'; +var FrequestNode; +(function (FrequestNode) { + FrequestNode[FrequestNode["FrequestNode_Groups"] = 0] = "FrequestNode_Groups"; + FrequestNode[FrequestNode["FrequestNode_Moc"] = 1] = "FrequestNode_Moc"; + FrequestNode[FrequestNode["FrequestNode_Motions"] = 2] = "FrequestNode_Motions"; + FrequestNode[FrequestNode["FrequestNode_Expressions"] = 3] = "FrequestNode_Expressions"; + FrequestNode[FrequestNode["FrequestNode_Textures"] = 4] = "FrequestNode_Textures"; + FrequestNode[FrequestNode["FrequestNode_Physics"] = 5] = "FrequestNode_Physics"; + FrequestNode[FrequestNode["FrequestNode_Pose"] = 6] = "FrequestNode_Pose"; + FrequestNode[FrequestNode["FrequestNode_HitAreas"] = 7] = "FrequestNode_HitAreas"; // getRoot().getValueByString(HitAreas) +})(FrequestNode || (FrequestNode = {})); +/** + * Model3Jsonパーサー + * + * model3.jsonファイルをパースして値を取得する + */ +var CubismModelSettingJson = /** @class */ (function (_super) { + __extends(CubismModelSettingJson, _super); + /** + * 引数付きコンストラクタ + * + * @param buffer Model3Jsonをバイト配列として読み込んだデータバッファ + * @param size Model3Jsonのデータサイズ + */ + function CubismModelSettingJson(buffer, size) { + var _this = _super.call(this) || this; + _this._json = cubismjson_1.CubismJson.create(buffer, size); + if (_this._json) { + _this._jsonValue = new csmvector_1.csmVector(); + // 順番はenum FrequestNodeと一致させる + _this._jsonValue.pushBack(_this._json.getRoot().getValueByString(Groups)); + _this._jsonValue.pushBack(_this._json + .getRoot() + .getValueByString(FileReferences) + .getValueByString(Moc)); + _this._jsonValue.pushBack(_this._json + .getRoot() + .getValueByString(FileReferences) + .getValueByString(Motions)); + _this._jsonValue.pushBack(_this._json + .getRoot() + .getValueByString(FileReferences) + .getValueByString(Expressions)); + _this._jsonValue.pushBack(_this._json + .getRoot() + .getValueByString(FileReferences) + .getValueByString(Textures)); + _this._jsonValue.pushBack(_this._json + .getRoot() + .getValueByString(FileReferences) + .getValueByString(Physics)); + _this._jsonValue.pushBack(_this._json + .getRoot() + .getValueByString(FileReferences) + .getValueByString(Pose)); + _this._jsonValue.pushBack(_this._json.getRoot().getValueByString(HitAreas)); + } + return _this; + } + /** + * デストラクタ相当の処理 + */ + CubismModelSettingJson.prototype.release = function () { + cubismjson_1.CubismJson.delete(this._json); + this._jsonValue = null; + }; + /** + * CubismJsonオブジェクトを取得する + * + * @return CubismJson + */ + CubismModelSettingJson.prototype.GetJson = function () { + return this._json; + }; + /** + * Mocファイルの名前を取得する + * @return Mocファイルの名前 + */ + CubismModelSettingJson.prototype.getModelFileName = function () { + if (!this.isExistModelFile()) { + return ''; + } + return this._jsonValue.at(FrequestNode.FrequestNode_Moc).getRawString(); + }; + /** + * モデルが使用するテクスチャの数を取得する + * テクスチャの数 + */ + CubismModelSettingJson.prototype.getTextureCount = function () { + if (!this.isExistTextureFiles()) { + return 0; + } + return this._jsonValue.at(FrequestNode.FrequestNode_Textures).getSize(); + }; + /** + * テクスチャが配置されたディレクトリの名前を取得する + * @return テクスチャが配置されたディレクトリの名前 + */ + CubismModelSettingJson.prototype.getTextureDirectory = function () { + var texturePath = this._jsonValue + .at(FrequestNode.FrequestNode_Textures) + .getValueByIndex(0) + .getRawString(); + var pathArray = texturePath.split('/'); + // 最後の要素はテクスチャ名なので不要 + var arrayLength = pathArray.length - 1; + var textureDirectoryStr = ''; + // 分割したパスを結合 + for (var i = 0; i < arrayLength; i++) { + textureDirectoryStr += pathArray[i]; + if (i < arrayLength - 1) { + textureDirectoryStr += '/'; + } + } + return textureDirectoryStr; + }; + /** + * モデルが使用するテクスチャの名前を取得する + * @param index 配列のインデックス値 + * @return テクスチャの名前 + */ + CubismModelSettingJson.prototype.getTextureFileName = function (index) { + return this._jsonValue + .at(FrequestNode.FrequestNode_Textures) + .getValueByIndex(index) + .getRawString(); + }; + /** + * モデルに設定された当たり判定の数を取得する + * @return モデルに設定された当たり判定の数 + */ + CubismModelSettingJson.prototype.getHitAreasCount = function () { + if (!this.isExistHitAreas()) { + return 0; + } + return this._jsonValue.at(FrequestNode.FrequestNode_HitAreas).getSize(); + }; + /** + * 当たり判定に設定されたIDを取得する + * + * @param index 配列のindex + * @return 当たり判定に設定されたID + */ + CubismModelSettingJson.prototype.getHitAreaId = function (index) { + return live2dcubismframework_1.CubismFramework.getIdManager().getId(this._jsonValue + .at(FrequestNode.FrequestNode_HitAreas) + .getValueByIndex(index) + .getValueByString(Id) + .getRawString()); + }; + /** + * 当たり判定に設定された名前を取得する + * @param index 配列のインデックス値 + * @return 当たり判定に設定された名前 + */ + CubismModelSettingJson.prototype.getHitAreaName = function (index) { + return this._jsonValue + .at(FrequestNode.FrequestNode_HitAreas) + .getValueByIndex(index) + .getValueByString(Name) + .getRawString(); + }; + /** + * 物理演算設定ファイルの名前を取得する + * @return 物理演算設定ファイルの名前 + */ + CubismModelSettingJson.prototype.getPhysicsFileName = function () { + if (!this.isExistPhysicsFile()) { + return ''; + } + return this._jsonValue.at(FrequestNode.FrequestNode_Physics).getRawString(); + }; + /** + * パーツ切り替え設定ファイルの名前を取得する + * @return パーツ切り替え設定ファイルの名前 + */ + CubismModelSettingJson.prototype.getPoseFileName = function () { + if (!this.isExistPoseFile()) { + return ''; + } + return this._jsonValue.at(FrequestNode.FrequestNode_Pose).getRawString(); + }; + /** + * 表情設定ファイルの数を取得する + * @return 表情設定ファイルの数 + */ + CubismModelSettingJson.prototype.getExpressionCount = function () { + if (!this.isExistExpressionFile()) { + return 0; + } + return this._jsonValue.at(FrequestNode.FrequestNode_Expressions).getSize(); + }; + /** + * 表情設定ファイルを識別する名前(別名)を取得する + * @param index 配列のインデックス値 + * @return 表情の名前 + */ + CubismModelSettingJson.prototype.getExpressionName = function (index) { + return this._jsonValue + .at(FrequestNode.FrequestNode_Expressions) + .getValueByIndex(index) + .getValueByString(Name) + .getRawString(); + }; + /** + * 表情設定ファイルの名前を取得する + * @param index 配列のインデックス値 + * @return 表情設定ファイルの名前 + */ + CubismModelSettingJson.prototype.getExpressionFileName = function (index) { + return this._jsonValue + .at(FrequestNode.FrequestNode_Expressions) + .getValueByIndex(index) + .getValueByString(FilePath) + .getRawString(); + }; + /** + * モーショングループの数を取得する + * @return モーショングループの数 + */ + CubismModelSettingJson.prototype.getMotionGroupCount = function () { + if (!this.isExistMotionGroups()) { + return 0; + } + return this._jsonValue + .at(FrequestNode.FrequestNode_Motions) + .getKeys() + .getSize(); + }; + /** + * モーショングループの名前を取得する + * @param index 配列のインデックス値 + * @return モーショングループの名前 + */ + CubismModelSettingJson.prototype.getMotionGroupName = function (index) { + if (!this.isExistMotionGroups()) { + return null; + } + return this._jsonValue + .at(FrequestNode.FrequestNode_Motions) + .getKeys() + .at(index); + }; + /** + * モーショングループに含まれるモーションの数を取得する + * @param groupName モーショングループの名前 + * @return モーショングループの数 + */ + CubismModelSettingJson.prototype.getMotionCount = function (groupName) { + if (!this.isExistMotionGroupName(groupName)) { + return 0; + } + return this._jsonValue + .at(FrequestNode.FrequestNode_Motions) + .getValueByString(groupName) + .getSize(); + }; + /** + * グループ名とインデックス値からモーションファイル名を取得する + * @param groupName モーショングループの名前 + * @param index 配列のインデックス値 + * @return モーションファイルの名前 + */ + CubismModelSettingJson.prototype.getMotionFileName = function (groupName, index) { + if (!this.isExistMotionGroupName(groupName)) { + return ''; + } + return this._jsonValue + .at(FrequestNode.FrequestNode_Motions) + .getValueByString(groupName) + .getValueByIndex(index) + .getValueByString(FilePath) + .getRawString(); + }; + /** + * モーションに対応するサウンドファイルの名前を取得する + * @param groupName モーショングループの名前 + * @param index 配列のインデックス値 + * @return サウンドファイルの名前 + */ + CubismModelSettingJson.prototype.getMotionSoundFileName = function (groupName, index) { + if (!this.isExistMotionSoundFile(groupName, index)) { + return ''; + } + return this._jsonValue + .at(FrequestNode.FrequestNode_Motions) + .getValueByString(groupName) + .getValueByIndex(index) + .getValueByString(SoundPath) + .getRawString(); + }; + /** + * モーション開始時のフェードイン処理時間を取得する + * @param groupName モーショングループの名前 + * @param index 配列のインデックス値 + * @return フェードイン処理時間[秒] + */ + CubismModelSettingJson.prototype.getMotionFadeInTimeValue = function (groupName, index) { + if (!this.isExistMotionFadeIn(groupName, index)) { + return -1.0; + } + return this._jsonValue + .at(FrequestNode.FrequestNode_Motions) + .getValueByString(groupName) + .getValueByIndex(index) + .getValueByString(FadeInTime) + .toFloat(); + }; + /** + * モーション終了時のフェードアウト処理時間を取得する + * @param groupName モーショングループの名前 + * @param index 配列のインデックス値 + * @return フェードアウト処理時間[秒] + */ + CubismModelSettingJson.prototype.getMotionFadeOutTimeValue = function (groupName, index) { + if (!this.isExistMotionFadeOut(groupName, index)) { + return -1.0; + } + return this._jsonValue + .at(FrequestNode.FrequestNode_Motions) + .getValueByString(groupName) + .getValueByIndex(index) + .getValueByString(FadeOutTime) + .toFloat(); + }; + /** + * ユーザーデータのファイル名を取得する + * @return ユーザーデータのファイル名 + */ + CubismModelSettingJson.prototype.getUserDataFile = function () { + if (!this.isExistUserDataFile()) { + return ''; + } + return this._json + .getRoot() + .getValueByString(FileReferences) + .getValueByString(UserData) + .getRawString(); + }; + /** + * レイアウト情報を取得する + * @param outLayoutMap csmMapクラスのインスタンス + * @return true レイアウト情報が存在する + * @return false レイアウト情報が存在しない + */ + CubismModelSettingJson.prototype.getLayoutMap = function (outLayoutMap) { + // 存在しない要素にアクセスするとエラーになるためValueがnullの場合はnullを代入する + var map = this._json + .getRoot() + .getValueByString(Layout) + .getMap(); + if (map == null) { + return false; + } + var ret = false; + for (var ite = map.begin(); ite.notEqual(map.end()); ite.preIncrement()) { + outLayoutMap.setValue(ite.ptr().first, ite.ptr().second.toFloat()); + ret = true; + } + return ret; + }; + /** + * 目パチに関連付けられたパラメータの数を取得する + * @return 目パチに関連付けられたパラメータの数 + */ + CubismModelSettingJson.prototype.getEyeBlinkParameterCount = function () { + if (!this.isExistEyeBlinkParameters()) { + return 0; + } + var num = 0; + for (var i = 0; i < this._jsonValue.at(FrequestNode.FrequestNode_Groups).getSize(); i++) { + var refI = this._jsonValue + .at(FrequestNode.FrequestNode_Groups) + .getValueByIndex(i); + if (refI.isNull() || refI.isError()) { + continue; + } + if (refI.getValueByString(Name).getRawString() == EyeBlink) { + num = refI.getValueByString(Ids).getVector().getSize(); + break; + } + } + return num; + }; + /** + * 目パチに関連付けられたパラメータのIDを取得する + * @param index 配列のインデックス値 + * @return パラメータID + */ + CubismModelSettingJson.prototype.getEyeBlinkParameterId = function (index) { + if (!this.isExistEyeBlinkParameters()) { + return null; + } + for (var i = 0; i < this._jsonValue.at(FrequestNode.FrequestNode_Groups).getSize(); i++) { + var refI = this._jsonValue + .at(FrequestNode.FrequestNode_Groups) + .getValueByIndex(i); + if (refI.isNull() || refI.isError()) { + continue; + } + if (refI.getValueByString(Name).getRawString() == EyeBlink) { + return live2dcubismframework_1.CubismFramework.getIdManager().getId(refI.getValueByString(Ids).getValueByIndex(index).getRawString()); + } + } + return null; + }; + /** + * リップシンクに関連付けられたパラメータの数を取得する + * @return リップシンクに関連付けられたパラメータの数 + */ + CubismModelSettingJson.prototype.getLipSyncParameterCount = function () { + if (!this.isExistLipSyncParameters()) { + return 0; + } + var num = 0; + for (var i = 0; i < this._jsonValue.at(FrequestNode.FrequestNode_Groups).getSize(); i++) { + var refI = this._jsonValue + .at(FrequestNode.FrequestNode_Groups) + .getValueByIndex(i); + if (refI.isNull() || refI.isError()) { + continue; + } + if (refI.getValueByString(Name).getRawString() == LipSync) { + num = refI.getValueByString(Ids).getVector().getSize(); + break; + } + } + return num; + }; + /** + * リップシンクに関連付けられたパラメータの数を取得する + * @param index 配列のインデックス値 + * @return パラメータID + */ + CubismModelSettingJson.prototype.getLipSyncParameterId = function (index) { + if (!this.isExistLipSyncParameters()) { + return null; + } + for (var i = 0; i < this._jsonValue.at(FrequestNode.FrequestNode_Groups).getSize(); i++) { + var refI = this._jsonValue + .at(FrequestNode.FrequestNode_Groups) + .getValueByIndex(i); + if (refI.isNull() || refI.isError()) { + continue; + } + if (refI.getValueByString(Name).getRawString() == LipSync) { + return live2dcubismframework_1.CubismFramework.getIdManager().getId(refI.getValueByString(Ids).getValueByIndex(index).getRawString()); + } + } + return null; + }; + /** + * モデルファイルのキーが存在するかどうかを確認する + * @return true キーが存在する + * @return false キーが存在しない + */ + CubismModelSettingJson.prototype.isExistModelFile = function () { + var node = this._jsonValue.at(FrequestNode.FrequestNode_Moc); + return !node.isNull() && !node.isError(); + }; + /** + * テクスチャファイルのキーが存在するかどうかを確認する + * @return true キーが存在する + * @return false キーが存在しない + */ + CubismModelSettingJson.prototype.isExistTextureFiles = function () { + var node = this._jsonValue.at(FrequestNode.FrequestNode_Textures); + return !node.isNull() && !node.isError(); + }; + /** + * 当たり判定のキーが存在するかどうかを確認する + * @return true キーが存在する + * @return false キーが存在しない + */ + CubismModelSettingJson.prototype.isExistHitAreas = function () { + var node = this._jsonValue.at(FrequestNode.FrequestNode_HitAreas); + return !node.isNull() && !node.isError(); + }; + /** + * 物理演算ファイルのキーが存在するかどうかを確認する + * @return true キーが存在する + * @return false キーが存在しない + */ + CubismModelSettingJson.prototype.isExistPhysicsFile = function () { + var node = this._jsonValue.at(FrequestNode.FrequestNode_Physics); + return !node.isNull() && !node.isError(); + }; + /** + * ポーズ設定ファイルのキーが存在するかどうかを確認する + * @return true キーが存在する + * @return false キーが存在しない + */ + CubismModelSettingJson.prototype.isExistPoseFile = function () { + var node = this._jsonValue.at(FrequestNode.FrequestNode_Pose); + return !node.isNull() && !node.isError(); + }; + /** + * 表情設定ファイルのキーが存在するかどうかを確認する + * @return true キーが存在する + * @return false キーが存在しない + */ + CubismModelSettingJson.prototype.isExistExpressionFile = function () { + var node = this._jsonValue.at(FrequestNode.FrequestNode_Expressions); + return !node.isNull() && !node.isError(); + }; + /** + * モーショングループのキーが存在するかどうかを確認する + * @return true キーが存在する + * @return false キーが存在しない + */ + CubismModelSettingJson.prototype.isExistMotionGroups = function () { + var node = this._jsonValue.at(FrequestNode.FrequestNode_Motions); + return !node.isNull() && !node.isError(); + }; + /** + * 引数で指定したモーショングループのキーが存在するかどうかを確認する + * @param groupName グループ名 + * @return true キーが存在する + * @return false キーが存在しない + */ + CubismModelSettingJson.prototype.isExistMotionGroupName = function (groupName) { + var node = this._jsonValue + .at(FrequestNode.FrequestNode_Motions) + .getValueByString(groupName); + return !node.isNull() && !node.isError(); + }; + /** + * 引数で指定したモーションに対応するサウンドファイルのキーが存在するかどうかを確認する + * @param groupName グループ名 + * @param index 配列のインデックス値 + * @return true キーが存在する + * @return false キーが存在しない + */ + CubismModelSettingJson.prototype.isExistMotionSoundFile = function (groupName, index) { + var node = this._jsonValue + .at(FrequestNode.FrequestNode_Motions) + .getValueByString(groupName) + .getValueByIndex(index) + .getValueByString(SoundPath); + return !node.isNull() && !node.isError(); + }; + /** + * 引数で指定したモーションに対応するフェードイン時間のキーが存在するかどうかを確認する + * @param groupName グループ名 + * @param index 配列のインデックス値 + * @return true キーが存在する + * @return false キーが存在しない + */ + CubismModelSettingJson.prototype.isExistMotionFadeIn = function (groupName, index) { + var node = this._jsonValue + .at(FrequestNode.FrequestNode_Motions) + .getValueByString(groupName) + .getValueByIndex(index) + .getValueByString(FadeInTime); + return !node.isNull() && !node.isError(); + }; + /** + * 引数で指定したモーションに対応するフェードアウト時間のキーが存在するかどうかを確認する + * @param groupName グループ名 + * @param index 配列のインデックス値 + * @return true キーが存在する + * @return false キーが存在しない + */ + CubismModelSettingJson.prototype.isExistMotionFadeOut = function (groupName, index) { + var node = this._jsonValue + .at(FrequestNode.FrequestNode_Motions) + .getValueByString(groupName) + .getValueByIndex(index) + .getValueByString(FadeOutTime); + return !node.isNull() && !node.isError(); + }; + /** + * UserDataのファイル名が存在するかどうかを確認する + * @return true キーが存在する + * @return false キーが存在しない + */ + CubismModelSettingJson.prototype.isExistUserDataFile = function () { + var node = this._json + .getRoot() + .getValueByString(FileReferences) + .getValueByString(UserData); + return !node.isNull() && !node.isError(); + }; + /** + * 目ぱちに対応付けられたパラメータが存在するかどうかを確認する + * @return true キーが存在する + * @return false キーが存在しない + */ + CubismModelSettingJson.prototype.isExistEyeBlinkParameters = function () { + if (this._jsonValue.at(FrequestNode.FrequestNode_Groups).isNull() || + this._jsonValue.at(FrequestNode.FrequestNode_Groups).isError()) { + return false; + } + for (var i = 0; i < this._jsonValue.at(FrequestNode.FrequestNode_Groups).getSize(); ++i) { + if (this._jsonValue + .at(FrequestNode.FrequestNode_Groups) + .getValueByIndex(i) + .getValueByString(Name) + .getRawString() == EyeBlink) { + return true; + } + } + return false; + }; + /** + * リップシンクに対応付けられたパラメータが存在するかどうかを確認する + * @return true キーが存在する + * @return false キーが存在しない + */ + CubismModelSettingJson.prototype.isExistLipSyncParameters = function () { + if (this._jsonValue.at(FrequestNode.FrequestNode_Groups).isNull() || + this._jsonValue.at(FrequestNode.FrequestNode_Groups).isError()) { + return false; + } + for (var i = 0; i < this._jsonValue.at(FrequestNode.FrequestNode_Groups).getSize(); ++i) { + if (this._jsonValue + .at(FrequestNode.FrequestNode_Groups) + .getValueByIndex(i) + .getValueByString(Name) + .getRawString() == LipSync) { + return true; + } + } + return false; + }; + return CubismModelSettingJson; +}(icubismmodelsetting_1.ICubismModelSetting)); +exports.CubismModelSettingJson = CubismModelSettingJson; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismmodelsettingjson")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismModelSettingJson = $.CubismModelSettingJson; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismmodelsettingjson.js.map \ No newline at end of file diff --git a/live2demo/Framework/cubismmodelsettingjson.js.map b/live2demo/Framework/cubismmodelsettingjson.js.map new file mode 100644 index 0000000..9bcc571 --- /dev/null +++ b/live2demo/Framework/cubismmodelsettingjson.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismmodelsettingjson.js","sourceRoot":"","sources":["../src/cubismmodelsettingjson.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/effect/cubismbreath.d.ts b/live2demo/Framework/effect/cubismbreath.d.ts new file mode 100644 index 0000000..0b05ced --- /dev/null +++ b/live2demo/Framework/effect/cubismbreath.d.ts @@ -0,0 +1,74 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { CubismIdHandle } from '../id/cubismid'; +import { CubismModel } from '../model/cubismmodel'; +import { csmVector } from '../type/csmvector'; +/** + * 呼吸機能 + * + * 呼吸機能を提供する。 + */ +export declare class CubismBreath { + /** + * インスタンスの作成 + */ + static create(): CubismBreath; + /** + * インスタンスの破棄 + * @param instance 対象のCubismBreath + */ + static delete(instance: CubismBreath): void; + /** + * 呼吸のパラメータの紐づけ + * @param breathParameters 呼吸を紐づけたいパラメータのリスト + */ + setParameters(breathParameters: csmVector): void; + /** + * 呼吸に紐づいているパラメータの取得 + * @return 呼吸に紐づいているパラメータのリスト + */ + getParameters(): csmVector; + /** + * モデルのパラメータの更新 + * @param model 対象のモデル + * @param deltaTimeSeconds デルタ時間[秒] + */ + updateParameters(model: CubismModel, deltaTimeSeconds: number): void; + /** + * コンストラクタ + */ + constructor(); + _breathParameters: csmVector; + _currentTime: number; +} +/** + * 呼吸のパラメータ情報 + */ +export declare class BreathParameterData { + /** + * コンストラクタ + * @param parameterId 呼吸をひもづけるパラメータID + * @param offset 呼吸を正弦波としたときの、波のオフセット + * @param peak 呼吸を正弦波としたときの、波の高さ + * @param cycle 呼吸を正弦波としたときの、波の周期 + * @param weight パラメータへの重み + */ + constructor(parameterId?: CubismIdHandle, offset?: number, peak?: number, cycle?: number, weight?: number); + parameterId: CubismIdHandle; + offset: number; + peak: number; + cycle: number; + weight: number; +} +import * as $ from './cubismbreath'; +export declare namespace Live2DCubismFramework { + const BreathParameterData: typeof $.BreathParameterData; + type BreathParameterData = $.BreathParameterData; + const CubismBreath: typeof $.CubismBreath; + type CubismBreath = $.CubismBreath; +} +//# sourceMappingURL=cubismbreath.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/effect/cubismbreath.d.ts.map b/live2demo/Framework/effect/cubismbreath.d.ts.map new file mode 100644 index 0000000..48cbf1d --- /dev/null +++ b/live2demo/Framework/effect/cubismbreath.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismbreath.d.ts","sourceRoot":"","sources":["../../src/effect/cubismbreath.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C;;;;GAIG;AACH,qBAAa,YAAY;IACvB;;OAEG;WACW,MAAM,IAAI,YAAY;IAIpC;;;OAGG;WACW,MAAM,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAMlD;;;OAGG;IACI,aAAa,CAAC,gBAAgB,EAAE,SAAS,CAAC,mBAAmB,CAAC,GAAG,IAAI;IAI5E;;;OAGG;IACI,aAAa,IAAI,SAAS,CAAC,mBAAmB,CAAC;IAItD;;;;OAIG;IACI,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAgB3E;;OAEG;;IAKH,iBAAiB,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAClD,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,mBAAmB;IAC9B;;;;;;;OAOG;gBAED,WAAW,CAAC,EAAE,cAAc,EAC5B,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM;IASjB,WAAW,EAAE,cAAc,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AAEpC,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,mBAAmB,8BAAwB,CAAC;IACzD,KAAY,mBAAmB,GAAG,CAAC,CAAC,mBAAmB,CAAC;IACjD,MAAM,YAAY,uBAAiB,CAAC;IAC3C,KAAY,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;CAC3C"} \ No newline at end of file diff --git a/live2demo/Framework/effect/cubismbreath.js b/live2demo/Framework/effect/cubismbreath.js new file mode 100644 index 0000000..c5eb9b1 --- /dev/null +++ b/live2demo/Framework/effect/cubismbreath.js @@ -0,0 +1,120 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.BreathParameterData = exports.CubismBreath = void 0; +/** + * 呼吸機能 + * + * 呼吸機能を提供する。 + */ +var CubismBreath = /** @class */ (function () { + /** + * コンストラクタ + */ + function CubismBreath() { + this._currentTime = 0.0; + } + /** + * インスタンスの作成 + */ + CubismBreath.create = function () { + return new CubismBreath(); + }; + /** + * インスタンスの破棄 + * @param instance 対象のCubismBreath + */ + CubismBreath.delete = function (instance) { + if (instance != null) { + instance = null; + } + }; + /** + * 呼吸のパラメータの紐づけ + * @param breathParameters 呼吸を紐づけたいパラメータのリスト + */ + CubismBreath.prototype.setParameters = function (breathParameters) { + this._breathParameters = breathParameters; + }; + /** + * 呼吸に紐づいているパラメータの取得 + * @return 呼吸に紐づいているパラメータのリスト + */ + CubismBreath.prototype.getParameters = function () { + return this._breathParameters; + }; + /** + * モデルのパラメータの更新 + * @param model 対象のモデル + * @param deltaTimeSeconds デルタ時間[秒] + */ + CubismBreath.prototype.updateParameters = function (model, deltaTimeSeconds) { + this._currentTime += deltaTimeSeconds; + var t = this._currentTime * 2.0 * 3.14159; + for (var i = 0; i < this._breathParameters.getSize(); ++i) { + var data = this._breathParameters.at(i); + model.addParameterValueById(data.parameterId, data.offset + data.peak * Math.sin(t / data.cycle), data.weight); + } + }; + return CubismBreath; +}()); +exports.CubismBreath = CubismBreath; +/** + * 呼吸のパラメータ情報 + */ +var BreathParameterData = /** @class */ (function () { + /** + * コンストラクタ + * @param parameterId 呼吸をひもづけるパラメータID + * @param offset 呼吸を正弦波としたときの、波のオフセット + * @param peak 呼吸を正弦波としたときの、波の高さ + * @param cycle 呼吸を正弦波としたときの、波の周期 + * @param weight パラメータへの重み + */ + function BreathParameterData(parameterId, offset, peak, cycle, weight) { + this.parameterId = parameterId == undefined ? null : parameterId; + this.offset = offset == undefined ? 0.0 : offset; + this.peak = peak == undefined ? 0.0 : peak; + this.cycle = cycle == undefined ? 0.0 : cycle; + this.weight = weight == undefined ? 0.0 : weight; + } + return BreathParameterData; +}()); +exports.BreathParameterData = BreathParameterData; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismbreath")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.BreathParameterData = $.BreathParameterData; + Live2DCubismFramework.CubismBreath = $.CubismBreath; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismbreath.js.map \ No newline at end of file diff --git a/live2demo/Framework/effect/cubismbreath.js.map b/live2demo/Framework/effect/cubismbreath.js.map new file mode 100644 index 0000000..945adc6 --- /dev/null +++ b/live2demo/Framework/effect/cubismbreath.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismbreath.js","sourceRoot":"","sources":["../../src/effect/cubismbreath.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;AAMH;;;;GAIG;AACH;IAuDE;;OAEG;IACH;QACE,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;IAC1B,CAAC;IA3DD;;OAEG;IACW,mBAAM,GAApB;QACE,OAAO,IAAI,YAAY,EAAE,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACW,mBAAM,GAApB,UAAqB,QAAsB;QACzC,IAAI,QAAQ,IAAI,IAAI,EAAE;YACpB,QAAQ,GAAG,IAAI,CAAC;SACjB;IACH,CAAC;IAED;;;OAGG;IACI,oCAAa,GAApB,UAAqB,gBAAgD;QACnE,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACI,oCAAa,GAApB;QACE,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACI,uCAAgB,GAAvB,UAAwB,KAAkB,EAAE,gBAAwB;QAClE,IAAI,CAAC,YAAY,IAAI,gBAAgB,CAAC;QAEtC,IAAM,CAAC,GAAW,IAAI,CAAC,YAAY,GAAG,GAAG,GAAG,OAAO,CAAC;QAEpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE;YACzD,IAAM,IAAI,GAAwB,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAE/D,KAAK,CAAC,qBAAqB,CACzB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAClD,IAAI,CAAC,MAAM,CACZ,CAAC;SACH;IACH,CAAC;IAWH,mBAAC;AAAD,CAAC,AAhED,IAgEC;AAhEY,oCAAY;AAkEzB;;GAEG;AACH;IACE;;;;;;;OAOG;IACH,6BACE,WAA4B,EAC5B,MAAe,EACf,IAAa,EACb,KAAc,EACd,MAAe;QAEf,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;QACjE,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IACnD,CAAC;IAOH,0BAAC;AAAD,CAAC,AA5BD,IA4BC;AA5BY,kDAAmB;AA8BhC,0CAA0C;AAC1C,gDAAoC;AACpC,2DAA2D;AAC3D,IAAiB,qBAAqB,CAKrC;AALD,WAAiB,qBAAqB;IACvB,yCAAmB,GAAG,CAAC,CAAC,mBAAmB,CAAC;IAE5C,kCAAY,GAAG,CAAC,CAAC,YAAY,CAAC;AAE7C,CAAC,EALgB,qBAAqB,qCAArB,qBAAqB,QAKrC"} \ No newline at end of file diff --git a/live2demo/Framework/effect/cubismeyeblink.d.ts b/live2demo/Framework/effect/cubismeyeblink.d.ts new file mode 100644 index 0000000..0598d11 --- /dev/null +++ b/live2demo/Framework/effect/cubismeyeblink.d.ts @@ -0,0 +1,101 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { ICubismModelSetting } from '../icubismmodelsetting'; +import { CubismIdHandle } from '../id/cubismid'; +import { CubismModel } from '../model/cubismmodel'; +import { csmVector } from '../type/csmvector'; +/** + * 自動まばたき機能 + * + * 自動まばたき機能を提供する。 + */ +export declare class CubismEyeBlink { + /** + * インスタンスを作成する + * @param modelSetting モデルの設定情報 + * @return 作成されたインスタンス + * @note 引数がNULLの場合、パラメータIDが設定されていない空のインスタンスを作成する。 + */ + static create(modelSetting?: ICubismModelSetting): CubismEyeBlink; + /** + * インスタンスの破棄 + * @param eyeBlink 対象のCubismEyeBlink + */ + static delete(eyeBlink: CubismEyeBlink): void; + /** + * まばたきの間隔の設定 + * @param blinkingInterval まばたきの間隔の時間[秒] + */ + setBlinkingInterval(blinkingInterval: number): void; + /** + * まばたきのモーションの詳細設定 + * @param closing まぶたを閉じる動作の所要時間[秒] + * @param closed まぶたを閉じている動作の所要時間[秒] + * @param opening まぶたを開く動作の所要時間[秒] + */ + setBlinkingSetting(closing: number, closed: number, opening: number): void; + /** + * まばたきさせるパラメータIDのリストの設定 + * @param parameterIds パラメータのIDのリスト + */ + setParameterIds(parameterIds: csmVector): void; + /** + * まばたきさせるパラメータIDのリストの取得 + * @return パラメータIDのリスト + */ + getParameterIds(): csmVector; + /** + * モデルのパラメータの更新 + * @param model 対象のモデル + * @param deltaTimeSeconds デルタ時間[秒] + */ + updateParameters(model: CubismModel, deltaTimeSeconds: number): void; + /** + * コンストラクタ + * @param modelSetting モデルの設定情報 + */ + constructor(modelSetting: ICubismModelSetting); + /** + * 次の瞬きのタイミングの決定 + * + * @return 次のまばたきを行う時刻[秒] + */ + determinNextBlinkingTiming(): number; + _blinkingState: number; + _parameterIds: csmVector; + _nextBlinkingTime: number; + _stateStartTimeSeconds: number; + _blinkingIntervalSeconds: number; + _closingSeconds: number; + _closedSeconds: number; + _openingSeconds: number; + _userTimeSeconds: number; + /** + * IDで指定された目のパラメータが、0のときに閉じるなら true 、1の時に閉じるなら false 。 + */ + static readonly CloseIfZero: boolean; +} +/** + * まばたきの状態 + * + * まばたきの状態を表す列挙型 + */ +export declare enum EyeState { + EyeState_First = 0, + EyeState_Interval = 1, + EyeState_Closing = 2, + EyeState_Closed = 3, + EyeState_Opening = 4 +} +import * as $ from './cubismeyeblink'; +export declare namespace Live2DCubismFramework { + const CubismEyeBlink: typeof $.CubismEyeBlink; + type CubismEyeBlink = $.CubismEyeBlink; + const EyeState: typeof $.EyeState; + type EyeState = $.EyeState; +} +//# sourceMappingURL=cubismeyeblink.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/effect/cubismeyeblink.d.ts.map b/live2demo/Framework/effect/cubismeyeblink.d.ts.map new file mode 100644 index 0000000..94ea1e2 --- /dev/null +++ b/live2demo/Framework/effect/cubismeyeblink.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismeyeblink.d.ts","sourceRoot":"","sources":["../../src/effect/cubismeyeblink.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C;;;;GAIG;AACH,qBAAa,cAAc;IACzB;;;;;OAKG;WACW,MAAM,CAClB,YAAY,GAAE,mBAA0B,GACvC,cAAc;IAIjB;;;OAGG;WACW,MAAM,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAMpD;;;OAGG;IACI,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAI1D;;;;;OAKG;IACI,kBAAkB,CACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,IAAI;IAMP;;;OAGG;IACI,eAAe,CAAC,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC,GAAG,IAAI;IAIrE;;;OAGG;IACI,eAAe,IAAI,SAAS,CAAC,cAAc,CAAC;IAInD;;;;OAIG;IACI,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI;IA0E3E;;;OAGG;gBACgB,YAAY,EAAE,mBAAmB;IAoBpD;;;;OAIG;IACI,0BAA0B,IAAI,MAAM;IAO3C,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACzC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,wBAAwB,EAAE,MAAM,CAAC;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAQ;CAC7C;AAED;;;;GAIG;AACH,oBAAY,QAAQ;IAClB,cAAc,IAAI;IAClB,iBAAiB,IAAA;IACjB,gBAAgB,IAAA;IAChB,eAAe,IAAA;IACf,gBAAgB,IAAA;CACjB;AAGD,OAAO,KAAK,CAAC,MAAM,kBAAkB,CAAC;AAEtC,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,cAAc,yBAAmB,CAAC;IAC/C,KAAY,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC;IACvC,MAAM,QAAQ,mBAAa,CAAC;IACnC,KAAY,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;CACnC"} \ No newline at end of file diff --git a/live2demo/Framework/effect/cubismeyeblink.js b/live2demo/Framework/effect/cubismeyeblink.js new file mode 100644 index 0000000..5d6c17c --- /dev/null +++ b/live2demo/Framework/effect/cubismeyeblink.js @@ -0,0 +1,212 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.EyeState = exports.CubismEyeBlink = void 0; +var csmvector_1 = require("../type/csmvector"); +/** + * 自動まばたき機能 + * + * 自動まばたき機能を提供する。 + */ +var CubismEyeBlink = /** @class */ (function () { + /** + * コンストラクタ + * @param modelSetting モデルの設定情報 + */ + function CubismEyeBlink(modelSetting) { + this._blinkingState = EyeState.EyeState_First; + this._nextBlinkingTime = 0.0; + this._stateStartTimeSeconds = 0.0; + this._blinkingIntervalSeconds = 4.0; + this._closingSeconds = 0.1; + this._closedSeconds = 0.05; + this._openingSeconds = 0.15; + this._userTimeSeconds = 0.0; + this._parameterIds = new csmvector_1.csmVector(); + if (modelSetting == null) { + return; + } + for (var i = 0; i < modelSetting.getEyeBlinkParameterCount(); ++i) { + this._parameterIds.pushBack(modelSetting.getEyeBlinkParameterId(i)); + } + } + /** + * インスタンスを作成する + * @param modelSetting モデルの設定情報 + * @return 作成されたインスタンス + * @note 引数がNULLの場合、パラメータIDが設定されていない空のインスタンスを作成する。 + */ + CubismEyeBlink.create = function (modelSetting) { + if (modelSetting === void 0) { modelSetting = null; } + return new CubismEyeBlink(modelSetting); + }; + /** + * インスタンスの破棄 + * @param eyeBlink 対象のCubismEyeBlink + */ + CubismEyeBlink.delete = function (eyeBlink) { + if (eyeBlink != null) { + eyeBlink = null; + } + }; + /** + * まばたきの間隔の設定 + * @param blinkingInterval まばたきの間隔の時間[秒] + */ + CubismEyeBlink.prototype.setBlinkingInterval = function (blinkingInterval) { + this._blinkingIntervalSeconds = blinkingInterval; + }; + /** + * まばたきのモーションの詳細設定 + * @param closing まぶたを閉じる動作の所要時間[秒] + * @param closed まぶたを閉じている動作の所要時間[秒] + * @param opening まぶたを開く動作の所要時間[秒] + */ + CubismEyeBlink.prototype.setBlinkingSetting = function (closing, closed, opening) { + this._closingSeconds = closing; + this._closedSeconds = closed; + this._openingSeconds = opening; + }; + /** + * まばたきさせるパラメータIDのリストの設定 + * @param parameterIds パラメータのIDのリスト + */ + CubismEyeBlink.prototype.setParameterIds = function (parameterIds) { + this._parameterIds = parameterIds; + }; + /** + * まばたきさせるパラメータIDのリストの取得 + * @return パラメータIDのリスト + */ + CubismEyeBlink.prototype.getParameterIds = function () { + return this._parameterIds; + }; + /** + * モデルのパラメータの更新 + * @param model 対象のモデル + * @param deltaTimeSeconds デルタ時間[秒] + */ + CubismEyeBlink.prototype.updateParameters = function (model, deltaTimeSeconds) { + this._userTimeSeconds += deltaTimeSeconds; + var parameterValue; + var t = 0.0; + switch (this._blinkingState) { + case EyeState.EyeState_Closing: + t = + (this._userTimeSeconds - this._stateStartTimeSeconds) / + this._closingSeconds; + if (t >= 1.0) { + t = 1.0; + this._blinkingState = EyeState.EyeState_Closed; + this._stateStartTimeSeconds = this._userTimeSeconds; + } + parameterValue = 1.0 - t; + break; + case EyeState.EyeState_Closed: + t = + (this._userTimeSeconds - this._stateStartTimeSeconds) / + this._closedSeconds; + if (t >= 1.0) { + this._blinkingState = EyeState.EyeState_Opening; + this._stateStartTimeSeconds = this._userTimeSeconds; + } + parameterValue = 0.0; + break; + case EyeState.EyeState_Opening: + t = + (this._userTimeSeconds - this._stateStartTimeSeconds) / + this._openingSeconds; + if (t >= 1.0) { + t = 1.0; + this._blinkingState = EyeState.EyeState_Interval; + this._nextBlinkingTime = this.determinNextBlinkingTiming(); + } + parameterValue = t; + break; + case EyeState.EyeState_Interval: + if (this._nextBlinkingTime < this._userTimeSeconds) { + this._blinkingState = EyeState.EyeState_Closing; + this._stateStartTimeSeconds = this._userTimeSeconds; + } + parameterValue = 1.0; + break; + case EyeState.EyeState_First: + default: + this._blinkingState = EyeState.EyeState_Interval; + this._nextBlinkingTime = this.determinNextBlinkingTiming(); + parameterValue = 1.0; + break; + } + if (!CubismEyeBlink.CloseIfZero) { + parameterValue = -parameterValue; + } + for (var i = 0; i < this._parameterIds.getSize(); ++i) { + model.setParameterValueById(this._parameterIds.at(i), parameterValue); + } + }; + /** + * 次の瞬きのタイミングの決定 + * + * @return 次のまばたきを行う時刻[秒] + */ + CubismEyeBlink.prototype.determinNextBlinkingTiming = function () { + var r = Math.random(); + return (this._userTimeSeconds + r * (2.0 * this._blinkingIntervalSeconds - 1.0)); + }; + /** + * IDで指定された目のパラメータが、0のときに閉じるなら true 、1の時に閉じるなら false 。 + */ + CubismEyeBlink.CloseIfZero = true; + return CubismEyeBlink; +}()); +exports.CubismEyeBlink = CubismEyeBlink; +/** + * まばたきの状態 + * + * まばたきの状態を表す列挙型 + */ +var EyeState; +(function (EyeState) { + EyeState[EyeState["EyeState_First"] = 0] = "EyeState_First"; + EyeState[EyeState["EyeState_Interval"] = 1] = "EyeState_Interval"; + EyeState[EyeState["EyeState_Closing"] = 2] = "EyeState_Closing"; + EyeState[EyeState["EyeState_Closed"] = 3] = "EyeState_Closed"; + EyeState[EyeState["EyeState_Opening"] = 4] = "EyeState_Opening"; // まぶたが開いていく途中の状態 +})(EyeState || (exports.EyeState = EyeState = {})); +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismeyeblink")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismEyeBlink = $.CubismEyeBlink; + Live2DCubismFramework.EyeState = $.EyeState; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismeyeblink.js.map \ No newline at end of file diff --git a/live2demo/Framework/effect/cubismeyeblink.js.map b/live2demo/Framework/effect/cubismeyeblink.js.map new file mode 100644 index 0000000..301dddb --- /dev/null +++ b/live2demo/Framework/effect/cubismeyeblink.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismeyeblink.js","sourceRoot":"","sources":["../../src/effect/cubismeyeblink.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/effect/cubismpose.d.ts b/live2demo/Framework/effect/cubismpose.d.ts new file mode 100644 index 0000000..ae50a16 --- /dev/null +++ b/live2demo/Framework/effect/cubismpose.d.ts @@ -0,0 +1,96 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { CubismIdHandle } from '../id/cubismid'; +import { CubismModel } from '../model/cubismmodel'; +import { csmVector } from '../type/csmvector'; +/** + * パーツの不透明度の設定 + * + * パーツの不透明度の管理と設定を行う。 + */ +export declare class CubismPose { + /** + * インスタンスの作成 + * @param pose3json pose3.jsonのデータ + * @param size pose3.jsonのデータのサイズ[byte] + * @return 作成されたインスタンス + */ + static create(pose3json: ArrayBuffer, size: number): CubismPose; + /** + * インスタンスを破棄する + * @param pose 対象のCubismPose + */ + static delete(pose: CubismPose): void; + /** + * モデルのパラメータの更新 + * @param model 対象のモデル + * @param deltaTimeSeconds デルタ時間[秒] + */ + updateParameters(model: CubismModel, deltaTimeSeconds: number): void; + /** + * 表示を初期化 + * @param model 対象のモデル + * @note 不透明度の初期値が0でないパラメータは、不透明度を1に設定する + */ + reset(model: CubismModel): void; + /** + * パーツの不透明度をコピー + * + * @param model 対象のモデル + */ + copyPartOpacities(model: CubismModel): void; + /** + * パーツのフェード操作を行う。 + * @param model 対象のモデル + * @param deltaTimeSeconds デルタ時間[秒] + * @param beginIndex フェード操作を行うパーツグループの先頭インデックス + * @param partGroupCount フェード操作を行うパーツグループの個数 + */ + doFade(model: CubismModel, deltaTimeSeconds: number, beginIndex: number, partGroupCount: number): void; + /** + * コンストラクタ + */ + constructor(); + _partGroups: csmVector; + _partGroupCounts: csmVector; + _fadeTimeSeconds: number; + _lastModel: CubismModel; +} +/** + * パーツにまつわるデータを管理 + */ +export declare class PartData { + /** + * コンストラクタ + */ + constructor(v?: PartData); + /** + * =演算子のオーバーロード + */ + assignment(v: PartData): PartData; + /** + * 初期化 + * @param model 初期化に使用するモデル + */ + initialize(model: CubismModel): void; + /** + * オブジェクトのコピーを生成する + */ + clone(): PartData; + partId: CubismIdHandle; + parameterIndex: number; + partIndex: number; + link: csmVector; +} +import * as $ from './cubismpose'; +export declare namespace Live2DCubismFramework { + const CubismPose: typeof $.CubismPose; + type CubismPose = $.CubismPose; + const PartData: typeof $.PartData; + type PartData = $.PartData; +} +//# sourceMappingURL=cubismpose.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/effect/cubismpose.d.ts.map b/live2demo/Framework/effect/cubismpose.d.ts.map new file mode 100644 index 0000000..ee4fae1 --- /dev/null +++ b/live2demo/Framework/effect/cubismpose.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismpose.d.ts","sourceRoot":"","sources":["../../src/effect/cubismpose.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAY,MAAM,mBAAmB,CAAC;AAYxD;;;;GAIG;AACH,qBAAa,UAAU;IACrB;;;;;OAKG;WACW,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU;IAiEtE;;;OAGG;WACW,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAM5C;;;;OAIG;IACI,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI;IA2B3E;;;;OAIG;IACI,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IA4BtC;;;;OAIG;IACI,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAgClD;;;;;;OAMG;IACI,MAAM,CACX,KAAK,EAAE,WAAW,EAClB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,GACrB,IAAI;IAqEP;;OAEG;;IAQH,WAAW,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IACjC,gBAAgB,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,WAAW,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,QAAQ;IACnB;;OAEG;gBACS,CAAC,CAAC,EAAE,QAAQ;IAkBxB;;OAEG;IACI,UAAU,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ;IAcxC;;;OAGG;IACI,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAO3C;;OAEG;IACI,KAAK,IAAI,QAAQ;IAmBxB,MAAM,EAAE,cAAc,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;CAC3B;AAGD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,UAAU,qBAAe,CAAC;IACvC,KAAY,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;IAC/B,MAAM,QAAQ,mBAAa,CAAC;IACnC,KAAY,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;CACnC"} \ No newline at end of file diff --git a/live2demo/Framework/effect/cubismpose.js b/live2demo/Framework/effect/cubismpose.js new file mode 100644 index 0000000..18bb9b6 --- /dev/null +++ b/live2demo/Framework/effect/cubismpose.js @@ -0,0 +1,317 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.PartData = exports.CubismPose = void 0; +var live2dcubismframework_1 = require("../live2dcubismframework"); +var csmvector_1 = require("../type/csmvector"); +var cubismjson_1 = require("../utils/cubismjson"); +var Epsilon = 0.001; +var DefaultFadeInSeconds = 0.5; +// Pose.jsonのタグ +var FadeIn = 'FadeInTime'; +var Link = 'Link'; +var Groups = 'Groups'; +var Id = 'Id'; +/** + * パーツの不透明度の設定 + * + * パーツの不透明度の管理と設定を行う。 + */ +var CubismPose = /** @class */ (function () { + /** + * コンストラクタ + */ + function CubismPose() { + this._fadeTimeSeconds = DefaultFadeInSeconds; + this._lastModel = null; + this._partGroups = new csmvector_1.csmVector(); + this._partGroupCounts = new csmvector_1.csmVector(); + } + /** + * インスタンスの作成 + * @param pose3json pose3.jsonのデータ + * @param size pose3.jsonのデータのサイズ[byte] + * @return 作成されたインスタンス + */ + CubismPose.create = function (pose3json, size) { + var ret = new CubismPose(); + var json = cubismjson_1.CubismJson.create(pose3json, size); + var root = json.getRoot(); + // フェード時間の指定 + if (!root.getValueByString(FadeIn).isNull()) { + ret._fadeTimeSeconds = root + .getValueByString(FadeIn) + .toFloat(DefaultFadeInSeconds); + if (ret._fadeTimeSeconds <= 0.0) { + ret._fadeTimeSeconds = DefaultFadeInSeconds; + } + } + // パーツグループ + var poseListInfo = root.getValueByString(Groups); + var poseCount = poseListInfo.getSize(); + for (var poseIndex = 0; poseIndex < poseCount; ++poseIndex) { + var idListInfo = poseListInfo.getValueByIndex(poseIndex); + var idCount = idListInfo.getSize(); + var groupCount = 0; + for (var groupIndex = 0; groupIndex < idCount; ++groupIndex) { + var partInfo = idListInfo.getValueByIndex(groupIndex); + var partData = new PartData(); + var parameterId = live2dcubismframework_1.CubismFramework.getIdManager().getId(partInfo.getValueByString(Id).getRawString()); + partData.partId = parameterId; + // リンクするパーツの設定 + if (!partInfo.getValueByString(Link).isNull()) { + var linkListInfo = partInfo.getValueByString(Link); + var linkCount = linkListInfo.getSize(); + for (var linkIndex = 0; linkIndex < linkCount; ++linkIndex) { + var linkPart = new PartData(); + var linkId = live2dcubismframework_1.CubismFramework.getIdManager().getId(linkListInfo.getValueByIndex(linkIndex).getString()); + linkPart.partId = linkId; + partData.link.pushBack(linkPart); + } + } + ret._partGroups.pushBack(partData.clone()); + ++groupCount; + } + ret._partGroupCounts.pushBack(groupCount); + } + cubismjson_1.CubismJson.delete(json); + return ret; + }; + /** + * インスタンスを破棄する + * @param pose 対象のCubismPose + */ + CubismPose.delete = function (pose) { + if (pose != null) { + pose = null; + } + }; + /** + * モデルのパラメータの更新 + * @param model 対象のモデル + * @param deltaTimeSeconds デルタ時間[秒] + */ + CubismPose.prototype.updateParameters = function (model, deltaTimeSeconds) { + // 前回のモデルと同じでない場合は初期化が必要 + if (model != this._lastModel) { + // パラメータインデックスの初期化 + this.reset(model); + } + this._lastModel = model; + // 設定から時間を変更すると、経過時間がマイナスになる事があるので、経過時間0として対応 + if (deltaTimeSeconds < 0.0) { + deltaTimeSeconds = 0.0; + } + var beginIndex = 0; + for (var i = 0; i < this._partGroupCounts.getSize(); i++) { + var partGroupCount = this._partGroupCounts.at(i); + this.doFade(model, deltaTimeSeconds, beginIndex, partGroupCount); + beginIndex += partGroupCount; + } + this.copyPartOpacities(model); + }; + /** + * 表示を初期化 + * @param model 対象のモデル + * @note 不透明度の初期値が0でないパラメータは、不透明度を1に設定する + */ + CubismPose.prototype.reset = function (model) { + var beginIndex = 0; + for (var i = 0; i < this._partGroupCounts.getSize(); ++i) { + var groupCount = this._partGroupCounts.at(i); + for (var j = beginIndex; j < beginIndex + groupCount; ++j) { + this._partGroups.at(j).initialize(model); + var partsIndex = this._partGroups.at(j).partIndex; + var paramIndex = this._partGroups.at(j).parameterIndex; + if (partsIndex < 0) { + continue; + } + model.setPartOpacityByIndex(partsIndex, j == beginIndex ? 1.0 : 0.0); + model.setParameterValueByIndex(paramIndex, j == beginIndex ? 1.0 : 0.0); + for (var k = 0; k < this._partGroups.at(j).link.getSize(); ++k) { + this._partGroups.at(j).link.at(k).initialize(model); + } + } + beginIndex += groupCount; + } + }; + /** + * パーツの不透明度をコピー + * + * @param model 対象のモデル + */ + CubismPose.prototype.copyPartOpacities = function (model) { + for (var groupIndex = 0; groupIndex < this._partGroups.getSize(); ++groupIndex) { + var partData = this._partGroups.at(groupIndex); + if (partData.link.getSize() == 0) { + continue; // 連動するパラメータはない + } + var partIndex = this._partGroups.at(groupIndex).partIndex; + var opacity = model.getPartOpacityByIndex(partIndex); + for (var linkIndex = 0; linkIndex < partData.link.getSize(); ++linkIndex) { + var linkPart = partData.link.at(linkIndex); + var linkPartIndex = linkPart.partIndex; + if (linkPartIndex < 0) { + continue; + } + model.setPartOpacityByIndex(linkPartIndex, opacity); + } + } + }; + /** + * パーツのフェード操作を行う。 + * @param model 対象のモデル + * @param deltaTimeSeconds デルタ時間[秒] + * @param beginIndex フェード操作を行うパーツグループの先頭インデックス + * @param partGroupCount フェード操作を行うパーツグループの個数 + */ + CubismPose.prototype.doFade = function (model, deltaTimeSeconds, beginIndex, partGroupCount) { + var visiblePartIndex = -1; + var newOpacity = 1.0; + var phi = 0.5; + var backOpacityThreshold = 0.15; + // 現在、表示状態になっているパーツを取得 + for (var i = beginIndex; i < beginIndex + partGroupCount; ++i) { + var partIndex = this._partGroups.at(i).partIndex; + var paramIndex = this._partGroups.at(i).parameterIndex; + if (model.getParameterValueByIndex(paramIndex) > Epsilon) { + if (visiblePartIndex >= 0) { + break; + } + visiblePartIndex = i; + newOpacity = model.getPartOpacityByIndex(partIndex); + // 新しい不透明度を計算 + newOpacity += deltaTimeSeconds / this._fadeTimeSeconds; + if (newOpacity > 1.0) { + newOpacity = 1.0; + } + } + } + if (visiblePartIndex < 0) { + visiblePartIndex = 0; + newOpacity = 1.0; + } + // 表示パーツ、非表示パーツの不透明度を設定する + for (var i = beginIndex; i < beginIndex + partGroupCount; ++i) { + var partsIndex = this._partGroups.at(i).partIndex; + // 表示パーツの設定 + if (visiblePartIndex == i) { + model.setPartOpacityByIndex(partsIndex, newOpacity); // 先に設定 + } + // 非表示パーツの設定 + else { + var opacity = model.getPartOpacityByIndex(partsIndex); + var a1 = // 計算によって求められる不透明度 + void 0; // 計算によって求められる不透明度 + if (newOpacity < phi) { + a1 = (newOpacity * (phi - 1)) / phi + 1.0; // (0,1),(phi,phi)を通る直線式 + } + else { + a1 = ((1 - newOpacity) * phi) / (1.0 - phi); // (1,0),(phi,phi)を通る直線式 + } + // 背景の見える割合を制限する場合 + var backOpacity = (1.0 - a1) * (1.0 - newOpacity); + if (backOpacity > backOpacityThreshold) { + a1 = 1.0 - backOpacityThreshold / (1.0 - newOpacity); + } + if (opacity > a1) { + opacity = a1; // 計算の不透明度よりも大きければ(濃ければ)不透明度を上げる + } + model.setPartOpacityByIndex(partsIndex, opacity); + } + } + }; + return CubismPose; +}()); +exports.CubismPose = CubismPose; +/** + * パーツにまつわるデータを管理 + */ +var PartData = /** @class */ (function () { + /** + * コンストラクタ + */ + function PartData(v) { + this.parameterIndex = 0; + this.partIndex = 0; + this.link = new csmvector_1.csmVector(); + if (v != undefined) { + this.partId = v.partId; + for (var ite = v.link.begin(); ite.notEqual(v.link.end()); ite.preIncrement()) { + this.link.pushBack(ite.ptr().clone()); + } + } + } + /** + * =演算子のオーバーロード + */ + PartData.prototype.assignment = function (v) { + this.partId = v.partId; + for (var ite = v.link.begin(); ite.notEqual(v.link.end()); ite.preIncrement()) { + this.link.pushBack(ite.ptr().clone()); + } + return this; + }; + /** + * 初期化 + * @param model 初期化に使用するモデル + */ + PartData.prototype.initialize = function (model) { + this.parameterIndex = model.getParameterIndex(this.partId); + this.partIndex = model.getPartIndex(this.partId); + model.setParameterValueByIndex(this.parameterIndex, 1); + }; + /** + * オブジェクトのコピーを生成する + */ + PartData.prototype.clone = function () { + var clonePartData = new PartData(); + clonePartData.partId = this.partId; + clonePartData.parameterIndex = this.parameterIndex; + clonePartData.partIndex = this.partIndex; + clonePartData.link = new csmvector_1.csmVector(); + for (var ite = this.link.begin(); ite.notEqual(this.link.end()); ite.increment()) { + clonePartData.link.pushBack(ite.ptr().clone()); + } + return clonePartData; + }; + return PartData; +}()); +exports.PartData = PartData; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismpose")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismPose = $.CubismPose; + Live2DCubismFramework.PartData = $.PartData; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismpose.js.map \ No newline at end of file diff --git a/live2demo/Framework/effect/cubismpose.js.map b/live2demo/Framework/effect/cubismpose.js.map new file mode 100644 index 0000000..91dd883 --- /dev/null +++ b/live2demo/Framework/effect/cubismpose.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismpose.js","sourceRoot":"","sources":["../../src/effect/cubismpose.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/icubismallcator.d.ts b/live2demo/Framework/icubismallcator.d.ts new file mode 100644 index 0000000..06c4888 --- /dev/null +++ b/live2demo/Framework/icubismallcator.d.ts @@ -0,0 +1,45 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +/** + * メモリアロケーションを抽象化したクラス + * + * メモリ確保・解放処理をプラットフォーム側で実装して + * フレームワークから呼び出すためのインターフェース + */ +export declare abstract class ICubismAllocator { + /** + * アラインメント制約なしのヒープ・メモリーを確保します + * + * @param size 確保するバイト数 + * @return 成功すると割り当てられたメモリのアドレス。そうでなければ'0'を返す + */ + abstract allocate(size: number): any; + /** + * アラインメント制約なしのヒープ・メモリーを解放します。 + * + * @param memory 解放するメモリのアドレス + */ + abstract deallocate(memory: any): void; + /** + * アラインメント制約有のヒープ・メモリーを確保します。 + * @param size 確保するバイト数 + * @param alignment メモリーブロックのアラインメント幅 + * @return 成功すると割り当てられたメモリのアドレス。そうでなければ'0'を返す + */ + abstract allocateAligned(size: number, alignment: number): any; + /** + * アラインメント制約ありのヒープ・メモリーを解放します。 + * @param alignedMemory 解放するメモリのアドレス + */ + abstract deallocateAligned(alignedMemory: any): void; +} +import * as $ from './icubismallcator'; +export declare namespace Live2DCubismFramework { + const ICubismAllocator: typeof $.ICubismAllocator; + type ICubismAllocator = $.ICubismAllocator; +} +//# sourceMappingURL=icubismallcator.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/icubismallcator.d.ts.map b/live2demo/Framework/icubismallcator.d.ts.map new file mode 100644 index 0000000..3d07040 --- /dev/null +++ b/live2demo/Framework/icubismallcator.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"icubismallcator.d.ts","sourceRoot":"","sources":["../src/icubismallcator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;GAKG;AACH,8BAAsB,gBAAgB;IACpC;;;;;OAKG;aACa,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG;IAE3C;;;;OAIG;aACa,UAAU,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI;IAE7C;;;;;OAKG;aACa,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG;IAErE;;;OAGG;aACa,iBAAiB,CAAC,aAAa,EAAE,GAAG,GAAG,IAAI;CAC5D;AAGD,OAAO,KAAK,CAAC,MAAM,mBAAmB,CAAC;AAEvC,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,gBAAgB,2BAAqB,CAAC;IACnD,KAAY,gBAAgB,GAAG,CAAC,CAAC,gBAAgB,CAAC;CACnD"} \ No newline at end of file diff --git a/live2demo/Framework/icubismallcator.js b/live2demo/Framework/icubismallcator.js new file mode 100644 index 0000000..44367b7 --- /dev/null +++ b/live2demo/Framework/icubismallcator.js @@ -0,0 +1,52 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.ICubismAllocator = void 0; +/** + * メモリアロケーションを抽象化したクラス + * + * メモリ確保・解放処理をプラットフォーム側で実装して + * フレームワークから呼び出すためのインターフェース + */ +var ICubismAllocator = /** @class */ (function () { + function ICubismAllocator() { + } + return ICubismAllocator; +}()); +exports.ICubismAllocator = ICubismAllocator; +// Namespace definition for compatibility. +var $ = __importStar(require("./icubismallcator")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.ICubismAllocator = $.ICubismAllocator; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=icubismallcator.js.map \ No newline at end of file diff --git a/live2demo/Framework/icubismallcator.js.map b/live2demo/Framework/icubismallcator.js.map new file mode 100644 index 0000000..90b6d1b --- /dev/null +++ b/live2demo/Framework/icubismallcator.js.map @@ -0,0 +1 @@ +{"version":3,"file":"icubismallcator.js","sourceRoot":"","sources":["../src/icubismallcator.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH;;;;;GAKG;AACH;IAAA;IA6BA,CAAC;IAAD,uBAAC;AAAD,CAAC,AA7BD,IA6BC;AA7BqB,4CAAgB;AA+BtC,0CAA0C;AAC1C,mDAAuC;AACvC,2DAA2D;AAC3D,IAAiB,qBAAqB,CAGrC;AAHD,WAAiB,qBAAqB;IACvB,sCAAgB,GAAG,CAAC,CAAC,gBAAgB,CAAC;AAErD,CAAC,EAHgB,qBAAqB,qCAArB,qBAAqB,QAGrC"} \ No newline at end of file diff --git a/live2demo/Framework/icubismmodelsetting.d.ts b/live2demo/Framework/icubismmodelsetting.d.ts new file mode 100644 index 0000000..8f0d4e2 --- /dev/null +++ b/live2demo/Framework/icubismmodelsetting.d.ts @@ -0,0 +1,166 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { CubismIdHandle } from './id/cubismid'; +import { csmMap } from './type/csmmap'; +/** + * モデル設定情報を取り扱う関数を宣言した純粋仮想クラス。 + * + * このクラスを継承することで、モデル設定情報を取り扱うクラスになる。 + */ +export declare abstract class ICubismModelSetting { + /** + * Mocファイルの名前を取得する + * @return Mocファイルの名前 + */ + abstract getModelFileName(): string; + /** + * モデルが使用するテクスチャの数を取得する + * テクスチャの数 + */ + abstract getTextureCount(): number; + /** + * テクスチャが配置されたディレクトリの名前を取得する + * @return テクスチャが配置されたディレクトリの名前 + */ + abstract getTextureDirectory(): string; + /** + * モデルが使用するテクスチャの名前を取得する + * @param index 配列のインデックス値 + * @return テクスチャの名前 + */ + abstract getTextureFileName(index: number): string; + /** + * モデルに設定された当たり判定の数を取得する + * @return モデルに設定された当たり判定の数 + */ + abstract getHitAreasCount(): number; + /** + * 当たり判定に設定されたIDを取得する + * + * @param index 配列のindex + * @return 当たり判定に設定されたID + */ + abstract getHitAreaId(index: number): CubismIdHandle; + /** + * 当たり判定に設定された名前を取得する + * @param index 配列のインデックス値 + * @return 当たり判定に設定された名前 + */ + abstract getHitAreaName(index: number): string; + /** + * 物理演算設定ファイルの名前を取得する + * @return 物理演算設定ファイルの名前 + */ + abstract getPhysicsFileName(): string; + /** + * パーツ切り替え設定ファイルの名前を取得する + * @return パーツ切り替え設定ファイルの名前 + */ + abstract getPoseFileName(): string; + /** + * 表情設定ファイルの数を取得する + * @return 表情設定ファイルの数 + */ + abstract getExpressionCount(): number; + /** + * 表情設定ファイルを識別する名前(別名)を取得する + * @param index 配列のインデックス値 + * @return 表情の名前 + */ + abstract getExpressionName(index: number): string; + /** + * 表情設定ファイルの名前を取得する + * @param index 配列のインデックス値 + * @return 表情設定ファイルの名前 + */ + abstract getExpressionFileName(index: number): string; + /** + * モーショングループの数を取得する + * @return モーショングループの数 + */ + abstract getMotionGroupCount(): number; + /** + * モーショングループの名前を取得する + * @param index 配列のインデックス値 + * @return モーショングループの名前 + */ + abstract getMotionGroupName(index: number): string; + /** + * モーショングループに含まれるモーションの数を取得する + * @param groupName モーショングループの名前 + * @return モーショングループの数 + */ + abstract getMotionCount(groupName: string): number; + /** + * グループ名とインデックス値からモーションファイル名を取得する + * @param groupName モーショングループの名前 + * @param index 配列のインデックス値 + * @return モーションファイルの名前 + */ + abstract getMotionFileName(groupName: string, index: number): string; + /** + * モーションに対応するサウンドファイルの名前を取得する + * @param groupName モーショングループの名前 + * @param index 配列のインデックス値 + * @return サウンドファイルの名前 + */ + abstract getMotionSoundFileName(groupName: string, index: number): string; + /** + * モーション開始時のフェードイン処理時間を取得する + * @param groupName モーショングループの名前 + * @param index 配列のインデックス値 + * @return フェードイン処理時間[秒] + */ + abstract getMotionFadeInTimeValue(groupName: string, index: number): number; + /** + * モーション終了時のフェードアウト処理時間を取得する + * @param groupName モーショングループの名前 + * @param index 配列のインデックス値 + * @return フェードアウト処理時間[秒] + */ + abstract getMotionFadeOutTimeValue(groupName: string, index: number): number; + /** + * ユーザーデータのファイル名を取得する + * @return ユーザーデータのファイル名 + */ + abstract getUserDataFile(): string; + /** + * レイアウト情報を取得する + * @param outLayoutMap csmMapクラスのインスタンス + * @return true レイアウト情報が存在する + * @return false レイアウト情報が存在しない + */ + abstract getLayoutMap(outLayoutMap: csmMap): boolean; + /** + * 目パチに関連付けられたパラメータの数を取得する + * @return 目パチに関連付けられたパラメータの数 + */ + abstract getEyeBlinkParameterCount(): number; + /** + * 目パチに関連付けられたパラメータのIDを取得する + * @param index 配列のインデックス値 + * @return パラメータID + */ + abstract getEyeBlinkParameterId(index: number): CubismIdHandle; + /** + * リップシンクに関連付けられたパラメータの数を取得する + * @return リップシンクに関連付けられたパラメータの数 + */ + abstract getLipSyncParameterCount(): number; + /** + * リップシンクに関連付けられたパラメータの数を取得する + * @param index 配列のインデックス値 + * @return パラメータID + */ + abstract getLipSyncParameterId(index: number): CubismIdHandle; +} +import * as $ from './icubismmodelsetting'; +export declare namespace Live2DCubismFramework { + const ICubismModelSetting: typeof $.ICubismModelSetting; + type ICubismModelSetting = $.ICubismModelSetting; +} +//# sourceMappingURL=icubismmodelsetting.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/icubismmodelsetting.d.ts.map b/live2demo/Framework/icubismmodelsetting.d.ts.map new file mode 100644 index 0000000..9fab7eb --- /dev/null +++ b/live2demo/Framework/icubismmodelsetting.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"icubismmodelsetting.d.ts","sourceRoot":"","sources":["../src/icubismmodelsetting.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC;;;;GAIG;AACH,8BAAsB,mBAAmB;IACvC;;;OAGG;aACa,gBAAgB,IAAI,MAAM;IAE1C;;;OAGG;aACa,eAAe,IAAI,MAAM;IAEzC;;;OAGG;aACa,mBAAmB,IAAI,MAAM;IAE7C;;;;OAIG;aACa,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAEzD;;;OAGG;aACa,gBAAgB,IAAI,MAAM;IAE1C;;;;;OAKG;aACa,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc;IAE3D;;;;OAIG;aACa,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAErD;;;OAGG;aACa,kBAAkB,IAAI,MAAM;IAE5C;;;OAGG;aACa,eAAe,IAAI,MAAM;IAEzC;;;OAGG;aACa,kBAAkB,IAAI,MAAM;IAE5C;;;;OAIG;aACa,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAExD;;;;OAIG;aACa,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAE5D;;;OAGG;aACa,mBAAmB,IAAI,MAAM;IAE7C;;;;OAIG;aACa,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAEzD;;;;OAIG;aACa,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAEzD;;;;;OAKG;aACa,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAE3E;;;;;OAKG;aACa,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,MAAM;IAET;;;;;OAKG;aACa,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,MAAM;IAET;;;;;OAKG;aACa,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,MAAM;IAET;;;OAGG;aACa,eAAe,IAAI,MAAM;IAEzC;;;;;OAKG;aACa,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO;IAE3E;;;OAGG;aACa,yBAAyB,IAAI,MAAM;IAEnD;;;;OAIG;aACa,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc;IAErE;;;OAGG;aACa,wBAAwB,IAAI,MAAM;IAElD;;;;OAIG;aACa,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc;CACrE;AAGD,OAAO,KAAK,CAAC,MAAM,uBAAuB,CAAC;AAE3C,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,mBAAmB,8BAAwB,CAAC;IACzD,KAAY,mBAAmB,GAAG,CAAC,CAAC,mBAAmB,CAAC;CACzD"} \ No newline at end of file diff --git a/live2demo/Framework/icubismmodelsetting.js b/live2demo/Framework/icubismmodelsetting.js new file mode 100644 index 0000000..cd1136a --- /dev/null +++ b/live2demo/Framework/icubismmodelsetting.js @@ -0,0 +1,51 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.ICubismModelSetting = void 0; +/** + * モデル設定情報を取り扱う関数を宣言した純粋仮想クラス。 + * + * このクラスを継承することで、モデル設定情報を取り扱うクラスになる。 + */ +var ICubismModelSetting = /** @class */ (function () { + function ICubismModelSetting() { + } + return ICubismModelSetting; +}()); +exports.ICubismModelSetting = ICubismModelSetting; +// Namespace definition for compatibility. +var $ = __importStar(require("./icubismmodelsetting")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.ICubismModelSetting = $.ICubismModelSetting; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=icubismmodelsetting.js.map \ No newline at end of file diff --git a/live2demo/Framework/icubismmodelsetting.js.map b/live2demo/Framework/icubismmodelsetting.js.map new file mode 100644 index 0000000..9028f2b --- /dev/null +++ b/live2demo/Framework/icubismmodelsetting.js.map @@ -0,0 +1 @@ +{"version":3,"file":"icubismmodelsetting.js","sourceRoot":"","sources":["../src/icubismmodelsetting.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;AAKH;;;;GAIG;AACH;IAAA;IAmLA,CAAC;IAAD,0BAAC;AAAD,CAAC,AAnLD,IAmLC;AAnLqB,kDAAmB;AAqLzC,0CAA0C;AAC1C,uDAA2C;AAC3C,2DAA2D;AAC3D,IAAiB,qBAAqB,CAGrC;AAHD,WAAiB,qBAAqB;IACvB,yCAAmB,GAAG,CAAC,CAAC,mBAAmB,CAAC;AAE3D,CAAC,EAHgB,qBAAqB,qCAArB,qBAAqB,QAGrC"} \ No newline at end of file diff --git a/live2demo/Framework/id/cubismid.d.ts b/live2demo/Framework/id/cubismid.d.ts new file mode 100644 index 0000000..385468f --- /dev/null +++ b/live2demo/Framework/id/cubismid.d.ts @@ -0,0 +1,57 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { csmString } from '../type/csmstring'; +/** + * パラメータ名・パーツ名・Drawable名を保持 + * + * パラメータ名・パーツ名・Drawable名を保持するクラス。 + * + * @note 指定したID文字列からCubismIdを取得する際はこのクラスの生成メソッドを呼ばず、 + * CubismIdManager().getId(id)を使用してください + */ +export declare class CubismId { + /** + * 内部で使用するCubismIdクラス生成メソッド + * + * @param id ID文字列 + * @returns CubismId + * @note 指定したID文字列からCubismIdを取得する際は + * CubismIdManager().getId(id)を使用してください + */ + static _createIdInternal(id: string | csmString): CubismId; + /** + * ID名を取得する + */ + getString(): csmString; + /** + * idを比較 + * @param c 比較するid + * @return 同じならばtrue,異なっていればfalseを返す + */ + isEqual(c: string | csmString | CubismId): boolean; + /** + * idを比較 + * @param c 比較するid + * @return 同じならばtrue,異なっていればfalseを返す + */ + isNotEqual(c: string | csmString | CubismId): boolean; + /** + * プライベートコンストラクタ + * + * @note ユーザーによる生成は許可しません + */ + private constructor(); + private _id; +} +export declare type CubismIdHandle = CubismId; +import * as $ from './cubismid'; +export declare namespace Live2DCubismFramework { + const CubismId: typeof $.CubismId; + type CubismId = $.CubismId; + type CubismIdHandle = $.CubismIdHandle; +} +//# sourceMappingURL=cubismid.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/id/cubismid.d.ts.map b/live2demo/Framework/id/cubismid.d.ts.map new file mode 100644 index 0000000..78722e2 --- /dev/null +++ b/live2demo/Framework/id/cubismid.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismid.d.ts","sourceRoot":"","sources":["../../src/id/cubismid.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C;;;;;;;GAOG;AACH,qBAAa,QAAQ;IACnB;;;;;;;OAOG;WACW,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS;IAItD;;OAEG;IACI,SAAS,IAAI,SAAS;IAI7B;;;;OAIG;IACI,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO;IAWzD;;;;OAIG;IACI,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO;IAW5D;;;;OAIG;IACH,OAAO;IASP,OAAO,CAAC,GAAG,CAAY;CACxB;AAED,MAAM,CAAC,OAAO,MAAM,cAAc,GAAG,QAAQ,CAAC;AAG9C,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAEhC,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,QAAQ,mBAAa,CAAC;IACnC,KAAY,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;IAClC,KAAY,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC;CAC/C"} \ No newline at end of file diff --git a/live2demo/Framework/id/cubismid.js b/live2demo/Framework/id/cubismid.js new file mode 100644 index 0000000..9bb1c7c --- /dev/null +++ b/live2demo/Framework/id/cubismid.js @@ -0,0 +1,116 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.CubismId = void 0; +var csmstring_1 = require("../type/csmstring"); +/** + * パラメータ名・パーツ名・Drawable名を保持 + * + * パラメータ名・パーツ名・Drawable名を保持するクラス。 + * + * @note 指定したID文字列からCubismIdを取得する際はこのクラスの生成メソッドを呼ばず、 + * CubismIdManager().getId(id)を使用してください + */ +var CubismId = /** @class */ (function () { + /** + * プライベートコンストラクタ + * + * @note ユーザーによる生成は許可しません + */ + function CubismId(id) { + if (typeof id === 'string') { + this._id = new csmstring_1.csmString(id); + return; + } + this._id = id; + } + /** + * 内部で使用するCubismIdクラス生成メソッド + * + * @param id ID文字列 + * @returns CubismId + * @note 指定したID文字列からCubismIdを取得する際は + * CubismIdManager().getId(id)を使用してください + */ + CubismId._createIdInternal = function (id) { + return new CubismId(id); + }; + /** + * ID名を取得する + */ + CubismId.prototype.getString = function () { + return this._id; + }; + /** + * idを比較 + * @param c 比較するid + * @return 同じならばtrue,異なっていればfalseを返す + */ + CubismId.prototype.isEqual = function (c) { + if (typeof c === 'string') { + return this._id.isEqual(c); + } + else if (c instanceof csmstring_1.csmString) { + return this._id.isEqual(c.s); + } + else if (c instanceof CubismId) { + return this._id.isEqual(c._id.s); + } + return false; + }; + /** + * idを比較 + * @param c 比較するid + * @return 同じならばtrue,異なっていればfalseを返す + */ + CubismId.prototype.isNotEqual = function (c) { + if (typeof c == 'string') { + return !this._id.isEqual(c); + } + else if (c instanceof csmstring_1.csmString) { + return !this._id.isEqual(c.s); + } + else if (c instanceof CubismId) { + return !this._id.isEqual(c._id.s); + } + return false; + }; + return CubismId; +}()); +exports.CubismId = CubismId; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismid")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismId = $.CubismId; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismid.js.map \ No newline at end of file diff --git a/live2demo/Framework/id/cubismid.js.map b/live2demo/Framework/id/cubismid.js.map new file mode 100644 index 0000000..42ded90 --- /dev/null +++ b/live2demo/Framework/id/cubismid.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismid.js","sourceRoot":"","sources":["../../src/id/cubismid.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,+CAA8C;AAE9C;;;;;;;GAOG;AACH;IAoDE;;;;OAIG;IACH,kBAAoB,EAAsB;QACxC,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;YAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,qBAAS,CAAC,EAAE,CAAC,CAAC;YAC7B,OAAO;SACR;QAED,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAChB,CAAC;IA/DD;;;;;;;OAOG;IACW,0BAAiB,GAA/B,UAAgC,EAAsB;QACpD,OAAO,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACI,4BAAS,GAAhB;QACE,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACI,0BAAO,GAAd,UAAe,CAAgC;QAC7C,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;YACzB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SAC5B;aAAM,IAAI,CAAC,YAAY,qBAAS,EAAE;YACjC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9B;aAAM,IAAI,CAAC,YAAY,QAAQ,EAAE;YAChC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAClC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACI,6BAAU,GAAjB,UAAkB,CAAgC;QAChD,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE;YACxB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SAC7B;aAAM,IAAI,CAAC,YAAY,qBAAS,EAAE;YACjC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/B;aAAM,IAAI,CAAC,YAAY,QAAQ,EAAE;YAChC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACnC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAiBH,eAAC;AAAD,CAAC,AAnED,IAmEC;AAnEY,4BAAQ;AAuErB,0CAA0C;AAC1C,4CAAgC;AAChC,2DAA2D;AAC3D,IAAiB,qBAAqB,CAIrC;AAJD,WAAiB,qBAAqB;IACvB,8BAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;AAGrC,CAAC,EAJgB,qBAAqB,qCAArB,qBAAqB,QAIrC"} \ No newline at end of file diff --git a/live2demo/Framework/id/cubismidmanager.d.ts b/live2demo/Framework/id/cubismidmanager.d.ts new file mode 100644 index 0000000..c7a1e2e --- /dev/null +++ b/live2demo/Framework/id/cubismidmanager.d.ts @@ -0,0 +1,63 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { csmString } from '../type/csmstring'; +import { CubismId } from './cubismid'; +/** + * ID名の管理 + * + * ID名を管理する。 + */ +export declare class CubismIdManager { + /** + * コンストラクタ + */ + constructor(); + /** + * デストラクタ相当の処理 + */ + release(): void; + /** + * ID名をリストから登録 + * + * @param ids ID名リスト + * @param count IDの個数 + */ + registerIds(ids: string[] | csmString[]): void; + /** + * ID名を登録 + * + * @param id ID名 + */ + registerId(id: string | csmString): CubismId; + /** + * ID名からIDを取得する + * + * @param id ID名 + */ + getId(id: csmString | string): CubismId; + /** + * ID名からIDの確認 + * + * @return true 存在する + * @return false 存在しない + */ + isExist(id: csmString | string): boolean; + /** + * ID名からIDを検索する。 + * + * @param id ID名 + * @return 登録されているID。なければNULL。 + */ + private findId; + private _ids; +} +import * as $ from './cubismidmanager'; +export declare namespace Live2DCubismFramework { + const CubismIdManager: typeof $.CubismIdManager; + type CubismIdManager = $.CubismIdManager; +} +//# sourceMappingURL=cubismidmanager.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/id/cubismidmanager.d.ts.map b/live2demo/Framework/id/cubismidmanager.d.ts.map new file mode 100644 index 0000000..60d4d19 --- /dev/null +++ b/live2demo/Framework/id/cubismidmanager.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismidmanager.d.ts","sourceRoot":"","sources":["../../src/id/cubismidmanager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;;GAIG;AACH,qBAAa,eAAe;IAC1B;;OAEG;;IAKH;;OAEG;IACI,OAAO,IAAI,IAAI;IAOtB;;;;;OAKG;IACI,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,GAAG,IAAI;IAMrD;;;;OAIG;IACI,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ;IAiBnD;;;;OAIG;IACI,KAAK,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ;IAI9C;;;;;OAKG;IACI,OAAO,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO;IAO/C;;;;;OAKG;IACH,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,IAAI,CAAsB;CACnC;AAGD,OAAO,KAAK,CAAC,MAAM,mBAAmB,CAAC;AAEvC,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,eAAe,0BAAoB,CAAC;IACjD,KAAY,eAAe,GAAG,CAAC,CAAC,eAAe,CAAC;CACjD"} \ No newline at end of file diff --git a/live2demo/Framework/id/cubismidmanager.js b/live2demo/Framework/id/cubismidmanager.js new file mode 100644 index 0000000..826d923 --- /dev/null +++ b/live2demo/Framework/id/cubismidmanager.js @@ -0,0 +1,130 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.CubismIdManager = void 0; +var csmvector_1 = require("../type/csmvector"); +var cubismid_1 = require("./cubismid"); +/** + * ID名の管理 + * + * ID名を管理する。 + */ +var CubismIdManager = /** @class */ (function () { + /** + * コンストラクタ + */ + function CubismIdManager() { + this._ids = new csmvector_1.csmVector(); + } + /** + * デストラクタ相当の処理 + */ + CubismIdManager.prototype.release = function () { + for (var i = 0; i < this._ids.getSize(); ++i) { + this._ids.set(i, void 0); + } + this._ids = null; + }; + /** + * ID名をリストから登録 + * + * @param ids ID名リスト + * @param count IDの個数 + */ + CubismIdManager.prototype.registerIds = function (ids) { + for (var i = 0; i < ids.length; i++) { + this.registerId(ids[i]); + } + }; + /** + * ID名を登録 + * + * @param id ID名 + */ + CubismIdManager.prototype.registerId = function (id) { + var result = null; + if ('string' == typeof id) { + if ((result = this.findId(id)) != null) { + return result; + } + result = cubismid_1.CubismId._createIdInternal(id); + this._ids.pushBack(result); + } + else { + return this.registerId(id.s); + } + return result; + }; + /** + * ID名からIDを取得する + * + * @param id ID名 + */ + CubismIdManager.prototype.getId = function (id) { + return this.registerId(id); + }; + /** + * ID名からIDの確認 + * + * @return true 存在する + * @return false 存在しない + */ + CubismIdManager.prototype.isExist = function (id) { + if ('string' == typeof id) { + return this.findId(id) != null; + } + return this.isExist(id.s); + }; + /** + * ID名からIDを検索する。 + * + * @param id ID名 + * @return 登録されているID。なければNULL。 + */ + CubismIdManager.prototype.findId = function (id) { + for (var i = 0; i < this._ids.getSize(); ++i) { + if (this._ids.at(i).getString().isEqual(id)) { + return this._ids.at(i); + } + } + return null; + }; + return CubismIdManager; +}()); +exports.CubismIdManager = CubismIdManager; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismidmanager")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismIdManager = $.CubismIdManager; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismidmanager.js.map \ No newline at end of file diff --git a/live2demo/Framework/id/cubismidmanager.js.map b/live2demo/Framework/id/cubismidmanager.js.map new file mode 100644 index 0000000..b322afc --- /dev/null +++ b/live2demo/Framework/id/cubismidmanager.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismidmanager.js","sourceRoot":"","sources":["../../src/id/cubismidmanager.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,+CAA8C;AAC9C,uCAAsC;AAEtC;;;;GAIG;AACH;IACE;;OAEG;IACH;QACE,IAAI,CAAC,IAAI,GAAG,IAAI,qBAAS,EAAY,CAAC;IACxC,CAAC;IAED;;OAEG;IACI,iCAAO,GAAd;QACE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE;YAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;SAC1B;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACI,qCAAW,GAAlB,UAAmB,GAA2B;QAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACzB;IACH,CAAC;IAED;;;;OAIG;IACI,oCAAU,GAAjB,UAAkB,EAAsB;QACtC,IAAI,MAAM,GAAa,IAAI,CAAC;QAE5B,IAAI,QAAQ,IAAI,OAAO,EAAE,EAAE;YACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;gBACtC,OAAO,MAAM,CAAC;aACf;YAED,MAAM,GAAG,mBAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SAC5B;aAAM;YACL,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAC9B;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACI,+BAAK,GAAZ,UAAa,EAAsB;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACI,iCAAO,GAAd,UAAe,EAAsB;QACnC,IAAI,QAAQ,IAAI,OAAO,EAAE,EAAE;YACzB,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;SAChC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACK,gCAAM,GAAd,UAAe,EAAU;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE;YAC5C,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;gBAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACxB;SACF;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAGH,sBAAC;AAAD,CAAC,AA3FD,IA2FC;AA3FY,0CAAe;AA6F5B,0CAA0C;AAC1C,mDAAuC;AACvC,2DAA2D;AAC3D,IAAiB,qBAAqB,CAGrC;AAHD,WAAiB,qBAAqB;IACvB,qCAAe,GAAG,CAAC,CAAC,eAAe,CAAC;AAEnD,CAAC,EAHgB,qBAAqB,qCAArB,qBAAqB,QAGrC"} \ No newline at end of file diff --git a/live2demo/Framework/live2dcubismframework.d.ts b/live2demo/Framework/live2dcubismframework.d.ts new file mode 100644 index 0000000..0c7ee72 --- /dev/null +++ b/live2demo/Framework/live2dcubismframework.d.ts @@ -0,0 +1,105 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { CubismIdManager } from './id/cubismidmanager'; +export declare function strtod(s: string, endPtr: string[]): number; +/** + * Framework内で使う定数の宣言 + */ +export declare const Constant: Readonly>; +export declare function csmDelete(address: T): void; +/** + * Live2D Cubism SDK Original Workflow SDKのエントリポイント + * 利用開始時はCubismFramework.initialize()を呼び、CubismFramework.dispose()で終了する。 + */ +export declare class CubismFramework { + /** + * Cubism FrameworkのAPIを使用可能にする。 + * APIを実行する前に必ずこの関数を実行すること。 + * 一度準備が完了して以降は、再び実行しても内部処理がスキップされます。 + * + * @param option Optionクラスのインスタンス + * + * @return 準備処理が完了したらtrueが返ります。 + */ + static startUp(option?: Option): boolean; + /** + * StartUp()で初期化したCubismFrameworkの各パラメータをクリアします。 + * Dispose()したCubismFrameworkを再利用する際に利用してください。 + */ + static cleanUp(): void; + /** + * Cubism Framework内のリソースを初期化してモデルを表示可能な状態にします。
+ * 再度Initialize()するには先にDispose()を実行する必要があります。 + * + * @param memorySize 初期化時メモリ量 [byte(s)] + * 複数モデル表示時などにモデルが更新されない際に使用してください。 + * 指定する際は必ず1024*1024*16 byte(16MB)以上の値を指定してください。 + * それ以外はすべて1024*1024*16 byteに丸めます。 + */ + static initialize(memorySize?: number): void; + /** + * Cubism Framework内の全てのリソースを解放します。 + * ただし、外部で確保されたリソースについては解放しません。 + * 外部で適切に破棄する必要があります。 + */ + static dispose(): void; + /** + * Cubism FrameworkのAPIを使用する準備が完了したかどうか + * @return APIを使用する準備が完了していればtrueが返ります。 + */ + static isStarted(): boolean; + /** + * Cubism Frameworkのリソース初期化がすでに行われているかどうか + * @return リソース確保が完了していればtrueが返ります + */ + static isInitialized(): boolean; + /** + * Core APIにバインドしたログ関数を実行する + * + * @praram message ログメッセージ + */ + static coreLogFunction(message: string): void; + /** + * 現在のログ出力レベル設定の値を返す。 + * + * @return 現在のログ出力レベル設定の値 + */ + static getLoggingLevel(): LogLevel; + /** + * IDマネージャのインスタンスを取得する + * @return CubismManagerクラスのインスタンス + */ + static getIdManager(): CubismIdManager; + /** + * 静的クラスとして使用する + * インスタンス化させない + */ + private constructor(); +} +export declare class Option { + logFunction: Live2DCubismCore.csmLogFunction; + loggingLevel: LogLevel; +} +/** + * ログ出力のレベル + */ +export declare enum LogLevel { + LogLevel_Verbose = 0, + LogLevel_Debug = 1, + LogLevel_Info = 2, + LogLevel_Warning = 3, + LogLevel_Error = 4, + LogLevel_Off = 5 +} +import * as $ from './live2dcubismframework'; +export declare namespace Live2DCubismFramework { + const Constant: Readonly>; + const csmDelete: typeof $.csmDelete; + const CubismFramework: typeof $.CubismFramework; + type CubismFramework = $.CubismFramework; +} +//# sourceMappingURL=live2dcubismframework.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/live2dcubismframework.d.ts.map b/live2demo/Framework/live2dcubismframework.d.ts.map new file mode 100644 index 0000000..d883ee2 --- /dev/null +++ b/live2demo/Framework/live2dcubismframework.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"live2dcubismframework.d.ts","sourceRoot":"","sources":["../src/live2dcubismframework.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AASvD,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CA4B1D;AASD;;GAEG;AACH,eAAO,MAAM,QAAQ,kCAGnB,CAAC;AAEH,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAM7C;AAED;;;GAGG;AACH,qBAAa,eAAe;IAC1B;;;;;;;;OAQG;WACW,OAAO,CAAC,MAAM,GAAE,MAAa,GAAG,OAAO;IAoCrD;;;OAGG;WACW,OAAO,IAAI,IAAI;IAO7B;;;;;;;;OAQG;WACW,UAAU,CAAC,UAAU,SAAI,GAAG,IAAI;IAiC9C;;;;OAIG;WACW,OAAO,IAAI,IAAI;IA4B7B;;;OAGG;WACW,SAAS,IAAI,OAAO;IAIlC;;;OAGG;WACW,aAAa,IAAI,OAAO;IAItC;;;;OAIG;WACW,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IASpD;;;;OAIG;WACW,eAAe,IAAI,QAAQ;IAOzC;;;OAGG;WACW,YAAY,IAAI,eAAe;IAI7C;;;OAGG;IACH,OAAO;CACR;AAED,qBAAa,MAAM;IACjB,WAAW,EAAE,gBAAgB,CAAC,cAAc,CAAC;IAC7C,YAAY,EAAE,QAAQ,CAAC;CACxB;AAED;;GAEG;AACH,oBAAY,QAAQ;IAClB,gBAAgB,IAAI;IACpB,cAAc,IAAA;IACd,aAAa,IAAA;IACb,gBAAgB,IAAA;IAChB,cAAc,IAAA;IACd,YAAY,IAAA;CACb;AAGD,OAAO,KAAK,CAAC,MAAM,yBAAyB,CAAC;AAE7C,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,QAAQ,kCAAa,CAAC;IAC5B,MAAM,SAAS,oBAAc,CAAC;IAC9B,MAAM,eAAe,0BAAoB,CAAC;IACjD,KAAY,eAAe,GAAG,CAAC,CAAC,eAAe,CAAC;CACjD"} \ No newline at end of file diff --git a/live2demo/Framework/live2dcubismframework.js b/live2demo/Framework/live2dcubismframework.js new file mode 100644 index 0000000..12cba9e --- /dev/null +++ b/live2demo/Framework/live2dcubismframework.js @@ -0,0 +1,268 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.LogLevel = exports.Option = exports.CubismFramework = exports.csmDelete = exports.Constant = exports.strtod = void 0; +var cubismidmanager_1 = require("./id/cubismidmanager"); +var cubismrenderer_1 = require("./rendering/cubismrenderer"); +var cubismdebug_1 = require("./utils/cubismdebug"); +var cubismjson_1 = require("./utils/cubismjson"); +function strtod(s, endPtr) { + var index = 0; + for (var i = 1;; i++) { + var testC = s.slice(i - 1, i); + // 指数・マイナスの可能性があるのでスキップする + if (testC == 'e' || testC == '-' || testC == 'E') { + continue; + } // 文字列の範囲を広げていく + var test = s.substring(0, i); + var number = Number(test); + if (isNaN(number)) { + // 数値として認識できなくなったので終了 + break; + } // 最後に数値としてできたindexを格納しておく + index = i; + } + var d = parseFloat(s); // パースした数値 + if (isNaN(d)) { + // 数値として認識できなくなったので終了 + d = NaN; + } + endPtr[0] = s.slice(index); // 後続の文字列 + return d; +} +exports.strtod = strtod; +// ファイルスコープの変数を初期化 +var s_isStarted = false; +var s_isInitialized = false; +var s_option = null; +var s_cubismIdManager = null; +/** + * Framework内で使う定数の宣言 + */ +exports.Constant = Object.freeze({ + vertexOffset: 0, + vertexStep: 2 // メッシュ頂点のステップ値 +}); +function csmDelete(address) { + if (!address) { + return; + } + address = void 0; +} +exports.csmDelete = csmDelete; +/** + * Live2D Cubism SDK Original Workflow SDKのエントリポイント + * 利用開始時はCubismFramework.initialize()を呼び、CubismFramework.dispose()で終了する。 + */ +var CubismFramework = /** @class */ (function () { + /** + * 静的クラスとして使用する + * インスタンス化させない + */ + function CubismFramework() { + } + /** + * Cubism FrameworkのAPIを使用可能にする。 + * APIを実行する前に必ずこの関数を実行すること。 + * 一度準備が完了して以降は、再び実行しても内部処理がスキップされます。 + * + * @param option Optionクラスのインスタンス + * + * @return 準備処理が完了したらtrueが返ります。 + */ + CubismFramework.startUp = function (option) { + if (option === void 0) { option = null; } + if (s_isStarted) { + (0, cubismdebug_1.CubismLogInfo)('CubismFramework.startUp() is already done.'); + return s_isStarted; + } + s_option = option; + if (s_option != null) { + Live2DCubismCore.Logging.csmSetLogFunction(s_option.logFunction); + } + s_isStarted = true; + // Live2D Cubism Coreバージョン情報を表示 + if (s_isStarted) { + var version = Live2DCubismCore.Version.csmGetVersion(); + var major = (version & 0xff000000) >> 24; + var minor = (version & 0x00ff0000) >> 16; + var patch = version & 0x0000ffff; + var versionNumber = version; + (0, cubismdebug_1.CubismLogInfo)("Live2D Cubism Core version: {0}.{1}.{2} ({3})", ('00' + major).slice(-2), ('00' + minor).slice(-2), ('0000' + patch).slice(-4), versionNumber); + } + (0, cubismdebug_1.CubismLogInfo)('CubismFramework.startUp() is complete.'); + return s_isStarted; + }; + /** + * StartUp()で初期化したCubismFrameworkの各パラメータをクリアします。 + * Dispose()したCubismFrameworkを再利用する際に利用してください。 + */ + CubismFramework.cleanUp = function () { + s_isStarted = false; + s_isInitialized = false; + s_option = null; + s_cubismIdManager = null; + }; + /** + * Cubism Framework内のリソースを初期化してモデルを表示可能な状態にします。
+ * 再度Initialize()するには先にDispose()を実行する必要があります。 + * + * @param memorySize 初期化時メモリ量 [byte(s)] + * 複数モデル表示時などにモデルが更新されない際に使用してください。 + * 指定する際は必ず1024*1024*16 byte(16MB)以上の値を指定してください。 + * それ以外はすべて1024*1024*16 byteに丸めます。 + */ + CubismFramework.initialize = function (memorySize) { + if (memorySize === void 0) { memorySize = 0; } + (0, cubismdebug_1.CSM_ASSERT)(s_isStarted); + if (!s_isStarted) { + (0, cubismdebug_1.CubismLogWarning)('CubismFramework is not started.'); + return; + } + // --- s_isInitializedによる連続初期化ガード --- + // 連続してリソース確保が行われないようにする。 + // 再度Initialize()するには先にDispose()を実行する必要がある。 + if (s_isInitialized) { + (0, cubismdebug_1.CubismLogWarning)('CubismFramework.initialize() skipped, already initialized.'); + return; + } + //---- static 初期化 ---- + cubismjson_1.Value.staticInitializeNotForClientCall(); + s_cubismIdManager = new cubismidmanager_1.CubismIdManager(); + // --- HACK: 初期化時メモリ量の拡張(単位byte) --- + // 複数モデル表示時などにモデルが更新されない際に使用してください。 + // 指定する際は必ず1024*1024*16 byte(16MB)以上の値を指定してください。 + // それ以外はすべて1024*1024*16 byteに丸めます。 + Live2DCubismCore.Memory.initializeAmountOfMemory(memorySize); + s_isInitialized = true; + (0, cubismdebug_1.CubismLogInfo)('CubismFramework.initialize() is complete.'); + }; + /** + * Cubism Framework内の全てのリソースを解放します。 + * ただし、外部で確保されたリソースについては解放しません。 + * 外部で適切に破棄する必要があります。 + */ + CubismFramework.dispose = function () { + (0, cubismdebug_1.CSM_ASSERT)(s_isStarted); + if (!s_isStarted) { + (0, cubismdebug_1.CubismLogWarning)('CubismFramework is not started.'); + return; + } + // --- s_isInitializedによる未初期化解放ガード --- + // dispose()するには先にinitialize()を実行する必要がある。 + if (!s_isInitialized) { + // false...リソース未確保の場合 + (0, cubismdebug_1.CubismLogWarning)('CubismFramework.dispose() skipped, not initialized.'); + return; + } + cubismjson_1.Value.staticReleaseNotForClientCall(); + s_cubismIdManager.release(); + s_cubismIdManager = null; + // レンダラの静的リソース(シェーダプログラム他)を解放する + cubismrenderer_1.CubismRenderer.staticRelease(); + s_isInitialized = false; + (0, cubismdebug_1.CubismLogInfo)('CubismFramework.dispose() is complete.'); + }; + /** + * Cubism FrameworkのAPIを使用する準備が完了したかどうか + * @return APIを使用する準備が完了していればtrueが返ります。 + */ + CubismFramework.isStarted = function () { + return s_isStarted; + }; + /** + * Cubism Frameworkのリソース初期化がすでに行われているかどうか + * @return リソース確保が完了していればtrueが返ります + */ + CubismFramework.isInitialized = function () { + return s_isInitialized; + }; + /** + * Core APIにバインドしたログ関数を実行する + * + * @praram message ログメッセージ + */ + CubismFramework.coreLogFunction = function (message) { + // Return if logging not possible. + if (!Live2DCubismCore.Logging.csmGetLogFunction()) { + return; + } + Live2DCubismCore.Logging.csmGetLogFunction()(message); + }; + /** + * 現在のログ出力レベル設定の値を返す。 + * + * @return 現在のログ出力レベル設定の値 + */ + CubismFramework.getLoggingLevel = function () { + if (s_option != null) { + return s_option.loggingLevel; + } + return LogLevel.LogLevel_Off; + }; + /** + * IDマネージャのインスタンスを取得する + * @return CubismManagerクラスのインスタンス + */ + CubismFramework.getIdManager = function () { + return s_cubismIdManager; + }; + return CubismFramework; +}()); +exports.CubismFramework = CubismFramework; +var Option = /** @class */ (function () { + function Option() { + } + return Option; +}()); +exports.Option = Option; +/** + * ログ出力のレベル + */ +var LogLevel; +(function (LogLevel) { + LogLevel[LogLevel["LogLevel_Verbose"] = 0] = "LogLevel_Verbose"; + LogLevel[LogLevel["LogLevel_Debug"] = 1] = "LogLevel_Debug"; + LogLevel[LogLevel["LogLevel_Info"] = 2] = "LogLevel_Info"; + LogLevel[LogLevel["LogLevel_Warning"] = 3] = "LogLevel_Warning"; + LogLevel[LogLevel["LogLevel_Error"] = 4] = "LogLevel_Error"; + LogLevel[LogLevel["LogLevel_Off"] = 5] = "LogLevel_Off"; // ログ出力無効 +})(LogLevel || (exports.LogLevel = LogLevel = {})); +// Namespace definition for compatibility. +var $ = __importStar(require("./live2dcubismframework")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.Constant = $.Constant; + Live2DCubismFramework.csmDelete = $.csmDelete; + Live2DCubismFramework.CubismFramework = $.CubismFramework; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=live2dcubismframework.js.map \ No newline at end of file diff --git a/live2demo/Framework/live2dcubismframework.js.map b/live2demo/Framework/live2dcubismframework.js.map new file mode 100644 index 0000000..615a1bc --- /dev/null +++ b/live2demo/Framework/live2dcubismframework.js.map @@ -0,0 +1 @@ +{"version":3,"file":"live2dcubismframework.js","sourceRoot":"","sources":["../src/live2dcubismframework.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/math/cubismmath.d.ts b/live2demo/Framework/math/cubismmath.d.ts new file mode 100644 index 0000000..cd5c83c --- /dev/null +++ b/live2demo/Framework/math/cubismmath.d.ts @@ -0,0 +1,149 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { CubismVector2 } from './cubismvector2'; +/** + * 数値計算などに使用するユーティリティクラス + */ +export declare class CubismMath { + static readonly Epsilon: number; + /** + * 第一引数の値を最小値と最大値の範囲に収めた値を返す + * + * @param value 収められる値 + * @param min 範囲の最小値 + * @param max 範囲の最大値 + * @return 最小値と最大値の範囲に収めた値 + */ + static range(value: number, min: number, max: number): number; + /** + * サイン関数の値を求める + * + * @param x 角度値(ラジアン) + * @return サイン関数sin(x)の値 + */ + static sin(x: number): number; + /** + * コサイン関数の値を求める + * + * @param x 角度値(ラジアン) + * @return コサイン関数cos(x)の値 + */ + static cos(x: number): number; + /** + * 値の絶対値を求める + * + * @param x 絶対値を求める値 + * @return 値の絶対値 + */ + static abs(x: number): number; + /** + * 平方根(ルート)を求める + * @param x -> 平方根を求める値 + * @return 値の平方根 + */ + static sqrt(x: number): number; + /** + * 立方根を求める + * @param x -> 立方根を求める値 + * @return 値の立方根 + */ + static cbrt(x: number): number; + /** + * イージング処理されたサインを求める + * フェードイン・アウト時のイージングに利用できる + * + * @param value イージングを行う値 + * @return イージング処理されたサイン値 + */ + static getEasingSine(value: number): number; + /** + * 大きい方の値を返す + * + * @param left 左辺の値 + * @param right 右辺の値 + * @return 大きい方の値 + */ + static max(left: number, right: number): number; + /** + * 小さい方の値を返す + * + * @param left 左辺の値 + * @param right 右辺の値 + * @return 小さい方の値 + */ + static min(left: number, right: number): number; + /** + * 角度値をラジアン値に変換する + * + * @param degrees 角度値 + * @return 角度値から変換したラジアン値 + */ + static degreesToRadian(degrees: number): number; + /** + * ラジアン値を角度値に変換する + * + * @param radian ラジアン値 + * @return ラジアン値から変換した角度値 + */ + static radianToDegrees(radian: number): number; + /** + * 2つのベクトルからラジアン値を求める + * + * @param from 始点ベクトル + * @param to 終点ベクトル + * @return ラジアン値から求めた方向ベクトル + */ + static directionToRadian(from: CubismVector2, to: CubismVector2): number; + /** + * 2つのベクトルから角度値を求める + * + * @param from 始点ベクトル + * @param to 終点ベクトル + * @return 角度値から求めた方向ベクトル + */ + static directionToDegrees(from: CubismVector2, to: CubismVector2): number; + /** + * ラジアン値を方向ベクトルに変換する。 + * + * @param totalAngle ラジアン値 + * @return ラジアン値から変換した方向ベクトル + */ + static radianToDirection(totalAngle: number): CubismVector2; + /** + * 三次方程式の三次項の係数が0になったときに補欠的に二次方程式の解をもとめる。 + * a * x^2 + b * x + c = 0 + * + * @param a -> 二次項の係数値 + * @param b -> 一次項の係数値 + * @param c -> 定数項の値 + * @return 二次方程式の解 + */ + static quadraticEquation(a: number, b: number, c: number): number; + /** + * カルダノの公式によってベジェのt値に該当する3次方程式の解を求める。 + * 重解になったときには0.0~1.0の値になる解を返す。 + * + * a * x^3 + b * x^2 + c * x + d = 0 + * + * @param a -> 三次項の係数値 + * @param b -> 二次項の係数値 + * @param c -> 一次項の係数値 + * @param d -> 定数項の値 + * @return 0.0~1.0の間にある解 + */ + static cardanoAlgorithmForBezier(a: number, b: number, c: number, d: number): number; + /** + * コンストラクタ + */ + private constructor(); +} +import * as $ from './cubismmath'; +export declare namespace Live2DCubismFramework { + const CubismMath: typeof $.CubismMath; + type CubismMath = $.CubismMath; +} +//# sourceMappingURL=cubismmath.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/math/cubismmath.d.ts.map b/live2demo/Framework/math/cubismmath.d.ts.map new file mode 100644 index 0000000..b140b51 --- /dev/null +++ b/live2demo/Framework/math/cubismmath.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismmath.d.ts","sourceRoot":"","sources":["../../src/math/cubismmath.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;GAEG;AACH,qBAAa,UAAU;IACrB,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAW;IAE1C;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAU7D;;;;;OAKG;IACH,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAI7B;;;;;OAKG;IACH,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAI7B;;;;;OAKG;IACH,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAI7B;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAI9B;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAsB9B;;;;;;OAMG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAU3C;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAI/C;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAI/C;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAI/C;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAI9C;;;;;;OAMG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,GAAG,MAAM;IAiBxE;;;;;;OAMG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,GAAG,MAAM;IAWzE;;;;;OAKG;IAEH,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa;IAS3D;;;;;;;;OAQG;IACH,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAWjE;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,yBAAyB,CAC9B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACR,MAAM;IAoET;;OAEG;IACH,OAAO;CACR;AAGD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,UAAU,qBAAe,CAAC;IACvC,KAAY,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;CACvC"} \ No newline at end of file diff --git a/live2demo/Framework/math/cubismmath.js b/live2demo/Framework/math/cubismmath.js new file mode 100644 index 0000000..1805428 --- /dev/null +++ b/live2demo/Framework/math/cubismmath.js @@ -0,0 +1,315 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.CubismMath = void 0; +var cubismvector2_1 = require("./cubismvector2"); +/** + * 数値計算などに使用するユーティリティクラス + */ +var CubismMath = /** @class */ (function () { + /** + * コンストラクタ + */ + function CubismMath() { + } + /** + * 第一引数の値を最小値と最大値の範囲に収めた値を返す + * + * @param value 収められる値 + * @param min 範囲の最小値 + * @param max 範囲の最大値 + * @return 最小値と最大値の範囲に収めた値 + */ + CubismMath.range = function (value, min, max) { + if (value < min) { + value = min; + } + else if (value > max) { + value = max; + } + return value; + }; + /** + * サイン関数の値を求める + * + * @param x 角度値(ラジアン) + * @return サイン関数sin(x)の値 + */ + CubismMath.sin = function (x) { + return Math.sin(x); + }; + /** + * コサイン関数の値を求める + * + * @param x 角度値(ラジアン) + * @return コサイン関数cos(x)の値 + */ + CubismMath.cos = function (x) { + return Math.cos(x); + }; + /** + * 値の絶対値を求める + * + * @param x 絶対値を求める値 + * @return 値の絶対値 + */ + CubismMath.abs = function (x) { + return Math.abs(x); + }; + /** + * 平方根(ルート)を求める + * @param x -> 平方根を求める値 + * @return 値の平方根 + */ + CubismMath.sqrt = function (x) { + return Math.sqrt(x); + }; + /** + * 立方根を求める + * @param x -> 立方根を求める値 + * @return 値の立方根 + */ + CubismMath.cbrt = function (x) { + if (x === 0) { + return x; + } + var cx = x; + var isNegativeNumber = cx < 0; + if (isNegativeNumber) { + cx = -cx; + } + var ret; + if (cx === Infinity) { + ret = Infinity; + } + else { + ret = Math.exp(Math.log(cx) / 3); + ret = (cx / (ret * ret) + 2 * ret) / 3; + } + return isNegativeNumber ? -ret : ret; + }; + /** + * イージング処理されたサインを求める + * フェードイン・アウト時のイージングに利用できる + * + * @param value イージングを行う値 + * @return イージング処理されたサイン値 + */ + CubismMath.getEasingSine = function (value) { + if (value < 0.0) { + return 0.0; + } + else if (value > 1.0) { + return 1.0; + } + return 0.5 - 0.5 * this.cos(value * Math.PI); + }; + /** + * 大きい方の値を返す + * + * @param left 左辺の値 + * @param right 右辺の値 + * @return 大きい方の値 + */ + CubismMath.max = function (left, right) { + return left > right ? left : right; + }; + /** + * 小さい方の値を返す + * + * @param left 左辺の値 + * @param right 右辺の値 + * @return 小さい方の値 + */ + CubismMath.min = function (left, right) { + return left > right ? right : left; + }; + /** + * 角度値をラジアン値に変換する + * + * @param degrees 角度値 + * @return 角度値から変換したラジアン値 + */ + CubismMath.degreesToRadian = function (degrees) { + return (degrees / 180.0) * Math.PI; + }; + /** + * ラジアン値を角度値に変換する + * + * @param radian ラジアン値 + * @return ラジアン値から変換した角度値 + */ + CubismMath.radianToDegrees = function (radian) { + return (radian * 180.0) / Math.PI; + }; + /** + * 2つのベクトルからラジアン値を求める + * + * @param from 始点ベクトル + * @param to 終点ベクトル + * @return ラジアン値から求めた方向ベクトル + */ + CubismMath.directionToRadian = function (from, to) { + var q1 = Math.atan2(to.y, to.x); + var q2 = Math.atan2(from.y, from.x); + var ret = q1 - q2; + while (ret < -Math.PI) { + ret += Math.PI * 2.0; + } + while (ret > Math.PI) { + ret -= Math.PI * 2.0; + } + return ret; + }; + /** + * 2つのベクトルから角度値を求める + * + * @param from 始点ベクトル + * @param to 終点ベクトル + * @return 角度値から求めた方向ベクトル + */ + CubismMath.directionToDegrees = function (from, to) { + var radian = this.directionToRadian(from, to); + var degree = this.radianToDegrees(radian); + if (to.x - from.x > 0.0) { + degree = -degree; + } + return degree; + }; + /** + * ラジアン値を方向ベクトルに変換する。 + * + * @param totalAngle ラジアン値 + * @return ラジアン値から変換した方向ベクトル + */ + CubismMath.radianToDirection = function (totalAngle) { + var ret = new cubismvector2_1.CubismVector2(); + ret.x = this.sin(totalAngle); + ret.y = this.cos(totalAngle); + return ret; + }; + /** + * 三次方程式の三次項の係数が0になったときに補欠的に二次方程式の解をもとめる。 + * a * x^2 + b * x + c = 0 + * + * @param a -> 二次項の係数値 + * @param b -> 一次項の係数値 + * @param c -> 定数項の値 + * @return 二次方程式の解 + */ + CubismMath.quadraticEquation = function (a, b, c) { + if (this.abs(a) < CubismMath.Epsilon) { + if (this.abs(b) < CubismMath.Epsilon) { + return -c; + } + return -c / b; + } + return -(b + this.sqrt(b * b - 4.0 * a * c)) / (2.0 * a); + }; + /** + * カルダノの公式によってベジェのt値に該当する3次方程式の解を求める。 + * 重解になったときには0.0~1.0の値になる解を返す。 + * + * a * x^3 + b * x^2 + c * x + d = 0 + * + * @param a -> 三次項の係数値 + * @param b -> 二次項の係数値 + * @param c -> 一次項の係数値 + * @param d -> 定数項の値 + * @return 0.0~1.0の間にある解 + */ + CubismMath.cardanoAlgorithmForBezier = function (a, b, c, d) { + if (this.sqrt(a) < CubismMath.Epsilon) { + return this.range(this.quadraticEquation(b, c, d), 0.0, 1.0); + } + var ba = b / a; + var ca = c / a; + var da = d / a; + var p = (3.0 * ca - ba * ba) / 3.0; + var p3 = p / 3.0; + var q = (2.0 * ba * ba * ba - 9.0 * ba * ca + 27.0 * da) / 27.0; + var q2 = q / 2.0; + var discriminant = q2 * q2 + p3 * p3 * p3; + var center = 0.5; + var threshold = center + 0.01; + if (discriminant < 0.0) { + var mp3 = -p / 3.0; + var mp33 = mp3 * mp3 * mp3; + var r = this.sqrt(mp33); + var t = -q / (2.0 * r); + var cosphi = this.range(t, -1.0, 1.0); + var phi = Math.acos(cosphi); + var crtr = this.cbrt(r); + var t1 = 2.0 * crtr; + var root1_1 = t1 * this.cos(phi / 3.0) - ba / 3.0; + if (this.abs(root1_1 - center) < threshold) { + return this.range(root1_1, 0.0, 1.0); + } + var root2 = t1 * this.cos((phi + 2.0 * Math.PI) / 3.0) - ba / 3.0; + if (this.abs(root2 - center) < threshold) { + return this.range(root2, 0.0, 1.0); + } + var root3 = t1 * this.cos((phi + 4.0 * Math.PI) / 3.0) - ba / 3.0; + return this.range(root3, 0.0, 1.0); + } + if (discriminant == 0.0) { + var u1_1; + if (q2 < 0.0) { + u1_1 = this.cbrt(-q2); + } + else { + u1_1 = -this.cbrt(q2); + } + var root1_2 = 2.0 * u1_1 - ba / 3.0; + if (this.abs(root1_2 - center) < threshold) { + return this.range(root1_2, 0.0, 1.0); + } + var root2 = -u1_1 - ba / 3.0; + return this.range(root2, 0.0, 1.0); + } + var sd = this.sqrt(discriminant); + var u1 = this.cbrt(sd - q2); + var v1 = this.cbrt(sd + q2); + var root1 = u1 - v1 - ba / 3.0; + return this.range(root1, 0.0, 1.0); + }; + CubismMath.Epsilon = 0.00001; + return CubismMath; +}()); +exports.CubismMath = CubismMath; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismmath")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismMath = $.CubismMath; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismmath.js.map \ No newline at end of file diff --git a/live2demo/Framework/math/cubismmath.js.map b/live2demo/Framework/math/cubismmath.js.map new file mode 100644 index 0000000..3e81ed2 --- /dev/null +++ b/live2demo/Framework/math/cubismmath.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismmath.js","sourceRoot":"","sources":["../../src/math/cubismmath.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/math/cubismmatrix44.d.ts b/live2demo/Framework/math/cubismmatrix44.d.ts new file mode 100644 index 0000000..1605225 --- /dev/null +++ b/live2demo/Framework/math/cubismmatrix44.d.ts @@ -0,0 +1,147 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +/** + * 4x4の行列 + * + * 4x4行列の便利クラス。 + */ +export declare class CubismMatrix44 { + /** + * コンストラクタ + */ + constructor(); + /** + * 受け取った2つの行列の乗算を行う。 + * + * @param a 行列a + * @param b 行列b + * @return 乗算結果の行列 + */ + static multiply(a: Float32Array, b: Float32Array, dst: Float32Array): void; + /** + * 単位行列に初期化する + */ + loadIdentity(): void; + /** + * 行列を設定 + * + * @param tr 16個の浮動小数点数で表される4x4の行列 + */ + setMatrix(tr: Float32Array): void; + /** + * 行列を浮動小数点数の配列で取得 + * + * @return 16個の浮動小数点数で表される4x4の行列 + */ + getArray(): Float32Array; + /** + * X軸の拡大率を取得 + * @return X軸の拡大率 + */ + getScaleX(): number; + /** + * Y軸の拡大率を取得する + * + * @return Y軸の拡大率 + */ + getScaleY(): number; + /** + * X軸の移動量を取得 + * @return X軸の移動量 + */ + getTranslateX(): number; + /** + * Y軸の移動量を取得 + * @return Y軸の移動量 + */ + getTranslateY(): number; + /** + * X軸の値を現在の行列で計算 + * + * @param src X軸の値 + * @return 現在の行列で計算されたX軸の値 + */ + transformX(src: number): number; + /** + * Y軸の値を現在の行列で計算 + * + * @param src Y軸の値 + * @return 現在の行列で計算されたY軸の値 + */ + transformY(src: number): number; + /** + * X軸の値を現在の行列で逆計算 + */ + invertTransformX(src: number): number; + /** + * Y軸の値を現在の行列で逆計算 + */ + invertTransformY(src: number): number; + /** + * 現在の行列の位置を起点にして移動 + * + * 現在の行列の位置を起点にして相対的に移動する。 + * + * @param x X軸の移動量 + * @param y Y軸の移動量 + */ + translateRelative(x: number, y: number): void; + /** + * 現在の行列の位置を移動 + * + * 現在の行列の位置を指定した位置へ移動する + * + * @param x X軸の移動量 + * @param y y軸の移動量 + */ + translate(x: number, y: number): void; + /** + * 現在の行列のX軸の位置を指定した位置へ移動する + * + * @param x X軸の移動量 + */ + translateX(x: number): void; + /** + * 現在の行列のY軸の位置を指定した位置へ移動する + * + * @param y Y軸の移動量 + */ + translateY(y: number): void; + /** + * 現在の行列の拡大率を相対的に設定する + * + * @param x X軸の拡大率 + * @param y Y軸の拡大率 + */ + scaleRelative(x: number, y: number): void; + /** + * 現在の行列の拡大率を指定した倍率に設定する + * + * @param x X軸の拡大率 + * @param y Y軸の拡大率 + */ + scale(x: number, y: number): void; + /** + * 引数で与えられた行列にこの行列を乗算する。 + * (引数で与えられた行列) * (この行列) + * + * @note 関数名と実際の計算内容に乖離があるため、今後計算順が修正される可能性があります。 + * @param m 行列 + */ + multiplyByMatrix(m: CubismMatrix44): void; + /** + * オブジェクトのコピーを生成する + */ + clone(): CubismMatrix44; + protected _tr: Float32Array; +} +import * as $ from './cubismmatrix44'; +export declare namespace Live2DCubismFramework { + const CubismMatrix44: typeof $.CubismMatrix44; + type CubismMatrix44 = $.CubismMatrix44; +} +//# sourceMappingURL=cubismmatrix44.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/math/cubismmatrix44.d.ts.map b/live2demo/Framework/math/cubismmatrix44.d.ts.map new file mode 100644 index 0000000..128924e --- /dev/null +++ b/live2demo/Framework/math/cubismmatrix44.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismmatrix44.d.ts","sourceRoot":"","sources":["../../src/math/cubismmatrix44.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,qBAAa,cAAc;IACzB;;OAEG;;IAMH;;;;;;OAMG;WACW,QAAQ,CACpB,CAAC,EAAE,YAAY,EACf,CAAC,EAAE,YAAY,EACf,GAAG,EAAE,YAAY,GAChB,IAAI;IAqBP;;OAEG;IACI,YAAY,IAAI,IAAI;IAS3B;;;;OAIG;IACI,SAAS,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI;IAMxC;;;;OAIG;IACI,QAAQ,IAAI,YAAY;IAI/B;;;OAGG;IACI,SAAS,IAAI,MAAM;IAI1B;;;;OAIG;IACI,SAAS,IAAI,MAAM;IAI1B;;;OAGG;IACI,aAAa,IAAI,MAAM;IAI9B;;;OAGG;IACI,aAAa,IAAI,MAAM;IAI9B;;;;;OAKG;IACI,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAItC;;;;;OAKG;IACI,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAItC;;OAEG;IACI,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAI5C;;OAEG;IACI,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAI5C;;;;;;;OAOG;IACI,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAuBpD;;;;;;;OAOG;IACI,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAK5C;;;;OAIG;IACI,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIlC;;;;OAIG;IACI,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIlC;;;;;OAKG;IACI,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAuBhD;;;;;OAKG;IACI,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAKxC;;;;;;OAMG;IACI,gBAAgB,CAAC,CAAC,EAAE,cAAc,GAAG,IAAI;IAIhD;;OAEG;IACI,KAAK,IAAI,cAAc;IAU9B,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC;CAC7B;AAGD,OAAO,KAAK,CAAC,MAAM,kBAAkB,CAAC;AAEtC,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,cAAc,yBAAmB,CAAC;IAC/C,KAAY,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC;CAC/C"} \ No newline at end of file diff --git a/live2demo/Framework/math/cubismmatrix44.js b/live2demo/Framework/math/cubismmatrix44.js new file mode 100644 index 0000000..32ee103 --- /dev/null +++ b/live2demo/Framework/math/cubismmatrix44.js @@ -0,0 +1,281 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.CubismMatrix44 = void 0; +/** + * 4x4の行列 + * + * 4x4行列の便利クラス。 + */ +var CubismMatrix44 = /** @class */ (function () { + /** + * コンストラクタ + */ + function CubismMatrix44() { + this._tr = new Float32Array(16); // 4 * 4のサイズ + this.loadIdentity(); + } + /** + * 受け取った2つの行列の乗算を行う。 + * + * @param a 行列a + * @param b 行列b + * @return 乗算結果の行列 + */ + CubismMatrix44.multiply = function (a, b, dst) { + var c = new Float32Array([ + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0 + ]); + var n = 4; + for (var i = 0; i < n; ++i) { + for (var j = 0; j < n; ++j) { + for (var k = 0; k < n; ++k) { + c[j + i * 4] += a[k + i * 4] * b[j + k * 4]; + } + } + } + for (var i = 0; i < 16; ++i) { + dst[i] = c[i]; + } + }; + /** + * 単位行列に初期化する + */ + CubismMatrix44.prototype.loadIdentity = function () { + var c = new Float32Array([ + 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, + 1.0 + ]); + this.setMatrix(c); + }; + /** + * 行列を設定 + * + * @param tr 16個の浮動小数点数で表される4x4の行列 + */ + CubismMatrix44.prototype.setMatrix = function (tr) { + for (var i = 0; i < 16; ++i) { + this._tr[i] = tr[i]; + } + }; + /** + * 行列を浮動小数点数の配列で取得 + * + * @return 16個の浮動小数点数で表される4x4の行列 + */ + CubismMatrix44.prototype.getArray = function () { + return this._tr; + }; + /** + * X軸の拡大率を取得 + * @return X軸の拡大率 + */ + CubismMatrix44.prototype.getScaleX = function () { + return this._tr[0]; + }; + /** + * Y軸の拡大率を取得する + * + * @return Y軸の拡大率 + */ + CubismMatrix44.prototype.getScaleY = function () { + return this._tr[5]; + }; + /** + * X軸の移動量を取得 + * @return X軸の移動量 + */ + CubismMatrix44.prototype.getTranslateX = function () { + return this._tr[12]; + }; + /** + * Y軸の移動量を取得 + * @return Y軸の移動量 + */ + CubismMatrix44.prototype.getTranslateY = function () { + return this._tr[13]; + }; + /** + * X軸の値を現在の行列で計算 + * + * @param src X軸の値 + * @return 現在の行列で計算されたX軸の値 + */ + CubismMatrix44.prototype.transformX = function (src) { + return this._tr[0] * src + this._tr[12]; + }; + /** + * Y軸の値を現在の行列で計算 + * + * @param src Y軸の値 + * @return 現在の行列で計算されたY軸の値 + */ + CubismMatrix44.prototype.transformY = function (src) { + return this._tr[5] * src + this._tr[13]; + }; + /** + * X軸の値を現在の行列で逆計算 + */ + CubismMatrix44.prototype.invertTransformX = function (src) { + return (src - this._tr[12]) / this._tr[0]; + }; + /** + * Y軸の値を現在の行列で逆計算 + */ + CubismMatrix44.prototype.invertTransformY = function (src) { + return (src - this._tr[13]) / this._tr[5]; + }; + /** + * 現在の行列の位置を起点にして移動 + * + * 現在の行列の位置を起点にして相対的に移動する。 + * + * @param x X軸の移動量 + * @param y Y軸の移動量 + */ + CubismMatrix44.prototype.translateRelative = function (x, y) { + var tr1 = new Float32Array([ + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + x, + y, + 0.0, + 1.0 + ]); + CubismMatrix44.multiply(tr1, this._tr, this._tr); + }; + /** + * 現在の行列の位置を移動 + * + * 現在の行列の位置を指定した位置へ移動する + * + * @param x X軸の移動量 + * @param y y軸の移動量 + */ + CubismMatrix44.prototype.translate = function (x, y) { + this._tr[12] = x; + this._tr[13] = y; + }; + /** + * 現在の行列のX軸の位置を指定した位置へ移動する + * + * @param x X軸の移動量 + */ + CubismMatrix44.prototype.translateX = function (x) { + this._tr[12] = x; + }; + /** + * 現在の行列のY軸の位置を指定した位置へ移動する + * + * @param y Y軸の移動量 + */ + CubismMatrix44.prototype.translateY = function (y) { + this._tr[13] = y; + }; + /** + * 現在の行列の拡大率を相対的に設定する + * + * @param x X軸の拡大率 + * @param y Y軸の拡大率 + */ + CubismMatrix44.prototype.scaleRelative = function (x, y) { + var tr1 = new Float32Array([ + x, + 0.0, + 0.0, + 0.0, + 0.0, + y, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0 + ]); + CubismMatrix44.multiply(tr1, this._tr, this._tr); + }; + /** + * 現在の行列の拡大率を指定した倍率に設定する + * + * @param x X軸の拡大率 + * @param y Y軸の拡大率 + */ + CubismMatrix44.prototype.scale = function (x, y) { + this._tr[0] = x; + this._tr[5] = y; + }; + /** + * 引数で与えられた行列にこの行列を乗算する。 + * (引数で与えられた行列) * (この行列) + * + * @note 関数名と実際の計算内容に乖離があるため、今後計算順が修正される可能性があります。 + * @param m 行列 + */ + CubismMatrix44.prototype.multiplyByMatrix = function (m) { + CubismMatrix44.multiply(m.getArray(), this._tr, this._tr); + }; + /** + * オブジェクトのコピーを生成する + */ + CubismMatrix44.prototype.clone = function () { + var cloneMatrix = new CubismMatrix44(); + for (var i = 0; i < this._tr.length; i++) { + cloneMatrix._tr[i] = this._tr[i]; + } + return cloneMatrix; + }; + return CubismMatrix44; +}()); +exports.CubismMatrix44 = CubismMatrix44; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismmatrix44")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismMatrix44 = $.CubismMatrix44; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismmatrix44.js.map \ No newline at end of file diff --git a/live2demo/Framework/math/cubismmatrix44.js.map b/live2demo/Framework/math/cubismmatrix44.js.map new file mode 100644 index 0000000..e1908c9 --- /dev/null +++ b/live2demo/Framework/math/cubismmatrix44.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismmatrix44.js","sourceRoot":"","sources":["../../src/math/cubismmatrix44.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/math/cubismmodelmatrix.d.ts b/live2demo/Framework/math/cubismmodelmatrix.d.ts new file mode 100644 index 0000000..e432883 --- /dev/null +++ b/live2demo/Framework/math/cubismmodelmatrix.d.ts @@ -0,0 +1,111 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { csmMap } from '../type/csmmap'; +import { CubismMatrix44 } from './cubismmatrix44'; +/** + * モデル座標設定用の4x4行列 + * + * モデル座標設定用の4x4行列クラス + */ +export declare class CubismModelMatrix extends CubismMatrix44 { + /** + * コンストラクタ + * + * @param w 横幅 + * @param h 縦幅 + */ + constructor(w?: number, h?: number); + /** + * 横幅を設定 + * + * @param w 横幅 + */ + setWidth(w: number): void; + /** + * 縦幅を設定 + * @param h 縦幅 + */ + setHeight(h: number): void; + /** + * 位置を設定 + * + * @param x X軸の位置 + * @param y Y軸の位置 + */ + setPosition(x: number, y: number): void; + /** + * 中心位置を設定 + * + * @param x X軸の中心位置 + * @param y Y軸の中心位置 + * + * @note widthかheightを設定したあとでないと、拡大率が正しく取得できないためずれる。 + */ + setCenterPosition(x: number, y: number): void; + /** + * 上辺の位置を設定する + * + * @param y 上辺のY軸位置 + */ + top(y: number): void; + /** + * 下辺の位置を設定する + * + * @param y 下辺のY軸位置 + */ + bottom(y: number): void; + /** + * 左辺の位置を設定 + * + * @param x 左辺のX軸位置 + */ + left(x: number): void; + /** + * 右辺の位置を設定 + * + * @param x 右辺のX軸位置 + */ + right(x: number): void; + /** + * X軸の中心位置を設定 + * + * @param x X軸の中心位置 + */ + centerX(x: number): void; + /** + * X軸の位置を設定 + * + * @param x X軸の位置 + */ + setX(x: number): void; + /** + * Y軸の中心位置を設定 + * + * @param y Y軸の中心位置 + */ + centerY(y: number): void; + /** + * Y軸の位置を設定する + * + * @param y Y軸の位置 + */ + setY(y: number): void; + /** + * レイアウト情報から位置を設定 + * + * @param layout レイアウト情報 + */ + setupFromLayout(layout: csmMap): void; + private _width; + private _height; +} +import * as $ from './cubismmodelmatrix'; +export declare namespace Live2DCubismFramework { + const CubismModelMatrix: typeof $.CubismModelMatrix; + type CubismModelMatrix = $.CubismModelMatrix; +} +//# sourceMappingURL=cubismmodelmatrix.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/math/cubismmodelmatrix.d.ts.map b/live2demo/Framework/math/cubismmodelmatrix.d.ts.map new file mode 100644 index 0000000..1b56457 --- /dev/null +++ b/live2demo/Framework/math/cubismmodelmatrix.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismmodelmatrix.d.ts","sourceRoot":"","sources":["../../src/math/cubismmodelmatrix.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAY,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,cAAc;IACnD;;;;;OAKG;gBACS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM;IASlC;;;;OAIG;IACI,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAMhC;;;OAGG;IACI,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAMjC;;;;;OAKG;IACI,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAI9C;;;;;;;OAOG;IACI,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAK7C;;;;OAIG;IACI,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAI3B;;;;OAIG;IACI,MAAM,CAAC,CAAC,EAAE,MAAM;IAMvB;;;;OAIG;IACI,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAI5B;;;;OAIG;IACI,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAM7B;;;;OAIG;IACI,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAM/B;;;;OAIG;IACI,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAI5B;;;;OAIG;IACI,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAM/B;;;;OAIG;IACI,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAI5B;;;;OAIG;IACI,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAuD5D,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;CACzB;AAGD,OAAO,KAAK,CAAC,MAAM,qBAAqB,CAAC;AAEzC,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,iBAAiB,4BAAsB,CAAC;IACrD,KAAY,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,CAAC;CACrD"} \ No newline at end of file diff --git a/live2demo/Framework/math/cubismmodelmatrix.js b/live2demo/Framework/math/cubismmodelmatrix.js new file mode 100644 index 0000000..81fd559 --- /dev/null +++ b/live2demo/Framework/math/cubismmodelmatrix.js @@ -0,0 +1,242 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.CubismModelMatrix = void 0; +var cubismmatrix44_1 = require("./cubismmatrix44"); +/** + * モデル座標設定用の4x4行列 + * + * モデル座標設定用の4x4行列クラス + */ +var CubismModelMatrix = /** @class */ (function (_super) { + __extends(CubismModelMatrix, _super); + /** + * コンストラクタ + * + * @param w 横幅 + * @param h 縦幅 + */ + function CubismModelMatrix(w, h) { + var _this = _super.call(this) || this; + _this._width = w !== undefined ? w : 0.0; + _this._height = h !== undefined ? h : 0.0; + _this.setHeight(2.0); + return _this; + } + /** + * 横幅を設定 + * + * @param w 横幅 + */ + CubismModelMatrix.prototype.setWidth = function (w) { + var scaleX = w / this._width; + var scaleY = scaleX; + this.scale(scaleX, scaleY); + }; + /** + * 縦幅を設定 + * @param h 縦幅 + */ + CubismModelMatrix.prototype.setHeight = function (h) { + var scaleX = h / this._height; + var scaleY = scaleX; + this.scale(scaleX, scaleY); + }; + /** + * 位置を設定 + * + * @param x X軸の位置 + * @param y Y軸の位置 + */ + CubismModelMatrix.prototype.setPosition = function (x, y) { + this.translate(x, y); + }; + /** + * 中心位置を設定 + * + * @param x X軸の中心位置 + * @param y Y軸の中心位置 + * + * @note widthかheightを設定したあとでないと、拡大率が正しく取得できないためずれる。 + */ + CubismModelMatrix.prototype.setCenterPosition = function (x, y) { + this.centerX(x); + this.centerY(y); + }; + /** + * 上辺の位置を設定する + * + * @param y 上辺のY軸位置 + */ + CubismModelMatrix.prototype.top = function (y) { + this.setY(y); + }; + /** + * 下辺の位置を設定する + * + * @param y 下辺のY軸位置 + */ + CubismModelMatrix.prototype.bottom = function (y) { + var h = this._height * this.getScaleY(); + this.translateY(y - h); + }; + /** + * 左辺の位置を設定 + * + * @param x 左辺のX軸位置 + */ + CubismModelMatrix.prototype.left = function (x) { + this.setX(x); + }; + /** + * 右辺の位置を設定 + * + * @param x 右辺のX軸位置 + */ + CubismModelMatrix.prototype.right = function (x) { + var w = this._width * this.getScaleX(); + this.translateX(x - w); + }; + /** + * X軸の中心位置を設定 + * + * @param x X軸の中心位置 + */ + CubismModelMatrix.prototype.centerX = function (x) { + var w = this._width * this.getScaleX(); + this.translateX(x - w / 2.0); + }; + /** + * X軸の位置を設定 + * + * @param x X軸の位置 + */ + CubismModelMatrix.prototype.setX = function (x) { + this.translateX(x); + }; + /** + * Y軸の中心位置を設定 + * + * @param y Y軸の中心位置 + */ + CubismModelMatrix.prototype.centerY = function (y) { + var h = this._height * this.getScaleY(); + this.translateY(y - h / 2.0); + }; + /** + * Y軸の位置を設定する + * + * @param y Y軸の位置 + */ + CubismModelMatrix.prototype.setY = function (y) { + this.translateY(y); + }; + /** + * レイアウト情報から位置を設定 + * + * @param layout レイアウト情報 + */ + CubismModelMatrix.prototype.setupFromLayout = function (layout) { + var keyWidth = 'width'; + var keyHeight = 'height'; + var keyX = 'x'; + var keyY = 'y'; + var keyCenterX = 'center_x'; + var keyCenterY = 'center_y'; + var keyTop = 'top'; + var keyBottom = 'bottom'; + var keyLeft = 'left'; + var keyRight = 'right'; + for (var ite = layout.begin(); ite.notEqual(layout.end()); ite.preIncrement()) { + var key = ite.ptr().first; + var value = ite.ptr().second; + if (key == keyWidth) { + this.setWidth(value); + } + else if (key == keyHeight) { + this.setHeight(value); + } + } + for (var ite = layout.begin(); ite.notEqual(layout.end()); ite.preIncrement()) { + var key = ite.ptr().first; + var value = ite.ptr().second; + if (key == keyX) { + this.setX(value); + } + else if (key == keyY) { + this.setY(value); + } + else if (key == keyCenterX) { + this.centerX(value); + } + else if (key == keyCenterY) { + this.centerY(value); + } + else if (key == keyTop) { + this.top(value); + } + else if (key == keyBottom) { + this.bottom(value); + } + else if (key == keyLeft) { + this.left(value); + } + else if (key == keyRight) { + this.right(value); + } + } + }; + return CubismModelMatrix; +}(cubismmatrix44_1.CubismMatrix44)); +exports.CubismModelMatrix = CubismModelMatrix; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismmodelmatrix")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismModelMatrix = $.CubismModelMatrix; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismmodelmatrix.js.map \ No newline at end of file diff --git a/live2demo/Framework/math/cubismmodelmatrix.js.map b/live2demo/Framework/math/cubismmodelmatrix.js.map new file mode 100644 index 0000000..7d70cb4 --- /dev/null +++ b/live2demo/Framework/math/cubismmodelmatrix.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismmodelmatrix.js","sourceRoot":"","sources":["../../src/math/cubismmodelmatrix.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/math/cubismtargetpoint.d.ts b/live2demo/Framework/math/cubismtargetpoint.d.ts new file mode 100644 index 0000000..cb2ba41 --- /dev/null +++ b/live2demo/Framework/math/cubismtargetpoint.d.ts @@ -0,0 +1,54 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +/** + * 顔の向きの制御機能 + * + * 顔の向きの制御機能を提供するクラス。 + */ +export declare class CubismTargetPoint { + /** + * コンストラクタ + */ + constructor(); + /** + * 更新処理 + */ + update(deltaTimeSeconds: number): void; + /** + * X軸の顔の向きの値を取得 + * + * @return X軸の顔の向きの値(-1.0 ~ 1.0) + */ + getX(): number; + /** + * Y軸の顔の向きの値を取得 + * + * @return Y軸の顔の向きの値(-1.0 ~ 1.0) + */ + getY(): number; + /** + * 顔の向きの目標値を設定 + * + * @param x X軸の顔の向きの値(-1.0 ~ 1.0) + * @param y Y軸の顔の向きの値(-1.0 ~ 1.0) + */ + set(x: number, y: number): void; + private _faceTargetX; + private _faceTargetY; + private _faceX; + private _faceY; + private _faceVX; + private _faceVY; + private _lastTimeSeconds; + private _userTimeSeconds; +} +import * as $ from './cubismtargetpoint'; +export declare namespace Live2DCubismFramework { + const CubismTargetPoint: typeof $.CubismTargetPoint; + type CubismTargetPoint = $.CubismTargetPoint; +} +//# sourceMappingURL=cubismtargetpoint.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/math/cubismtargetpoint.d.ts.map b/live2demo/Framework/math/cubismtargetpoint.d.ts.map new file mode 100644 index 0000000..ed9b614 --- /dev/null +++ b/live2demo/Framework/math/cubismtargetpoint.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismtargetpoint.d.ts","sourceRoot":"","sources":["../../src/math/cubismtargetpoint.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH;;;;GAIG;AACH,qBAAa,iBAAiB;IAC5B;;OAEG;;IAYH;;OAEG;IACI,MAAM,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAwF7C;;;;OAIG;IACI,IAAI,IAAI,MAAM;IAIrB;;;;OAIG;IACI,IAAI,IAAI,MAAM;IAIrB;;;;;OAKG;IACI,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAKtC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,gBAAgB,CAAS;CAClC;AAGD,OAAO,KAAK,CAAC,MAAM,qBAAqB,CAAC;AAEzC,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,iBAAiB,4BAAsB,CAAC;IACrD,KAAY,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,CAAC;CACrD"} \ No newline at end of file diff --git a/live2demo/Framework/math/cubismtargetpoint.js b/live2demo/Framework/math/cubismtargetpoint.js new file mode 100644 index 0000000..6b02e7f --- /dev/null +++ b/live2demo/Framework/math/cubismtargetpoint.js @@ -0,0 +1,161 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.CubismTargetPoint = void 0; +var cubismmath_1 = require("./cubismmath"); +var FrameRate = 30; +var Epsilon = 0.01; +/** + * 顔の向きの制御機能 + * + * 顔の向きの制御機能を提供するクラス。 + */ +var CubismTargetPoint = /** @class */ (function () { + /** + * コンストラクタ + */ + function CubismTargetPoint() { + this._faceTargetX = 0.0; + this._faceTargetY = 0.0; + this._faceX = 0.0; + this._faceY = 0.0; + this._faceVX = 0.0; + this._faceVY = 0.0; + this._lastTimeSeconds = 0.0; + this._userTimeSeconds = 0.0; + } + /** + * 更新処理 + */ + CubismTargetPoint.prototype.update = function (deltaTimeSeconds) { + // デルタ時間を加算する + this._userTimeSeconds += deltaTimeSeconds; + // 首を中央から左右に振るときの平均的な速さは 秒速度。加速・減速を考慮して、その2倍を最高速度とする + // 顔の振り具合を、中央(0.0)から、左右は(+-1.0)とする + var faceParamMaxV = 40.0 / 10.0; // 7.5秒間に40分移動(5.3/sc) + var maxV = (faceParamMaxV * 1.0) / FrameRate; // 1frameあたりに変化できる速度の上限 + if (this._lastTimeSeconds == 0.0) { + this._lastTimeSeconds = this._userTimeSeconds; + return; + } + var deltaTimeWeight = (this._userTimeSeconds - this._lastTimeSeconds) * FrameRate; + this._lastTimeSeconds = this._userTimeSeconds; + // 最高速度になるまでの時間を + var timeToMaxSpeed = 0.15; + var frameToMaxSpeed = timeToMaxSpeed * FrameRate; // sec * frame/sec + var maxA = (deltaTimeWeight * maxV) / frameToMaxSpeed; // 1frameあたりの加速度 + // 目指す向きは、(dx, dy)方向のベクトルとなる + var dx = this._faceTargetX - this._faceX; + var dy = this._faceTargetY - this._faceY; + if (cubismmath_1.CubismMath.abs(dx) <= Epsilon && cubismmath_1.CubismMath.abs(dy) <= Epsilon) { + return; // 変化なし + } + // 速度の最大よりも大きい場合は、速度を落とす + var d = cubismmath_1.CubismMath.sqrt(dx * dx + dy * dy); + // 進行方向の最大速度ベクトル + var vx = (maxV * dx) / d; + var vy = (maxV * dy) / d; + // 現在の速度から、新規速度への変化(加速度)を求める + var ax = vx - this._faceVX; + var ay = vy - this._faceVY; + var a = cubismmath_1.CubismMath.sqrt(ax * ax + ay * ay); + // 加速のとき + if (a < -maxA || a > maxA) { + ax *= maxA / a; + ay *= maxA / a; + } + // 加速度を元の速度に足して、新速度とする + this._faceVX += ax; + this._faceVY += ay; + // 目的の方向に近づいたとき、滑らかに減速するための処理 + // 設定された加速度で止まる事の出来る距離と速度の関係から + // 現在とりうる最高速度を計算し、それ以上の時は速度を落とす + // ※本来、人間は筋力で力(加速度)を調整できるため、より自由度が高いが、簡単な処理で済ませている + { + // 加速度、速度、距離の関係式。 + // 2 6 2 3 + // sqrt(a t + 16 a h t - 8 a h) - a t + // v = -------------------------------------- + // 2 + // 4 t - 2 + // (t=1) + // 時刻tは、あらかじめ加速度、速度を1/60(フレームレート、単位なし)で + // 考えているので、t=1として消してよい(※未検証) + var maxV_1 = 0.5 * + (cubismmath_1.CubismMath.sqrt(maxA * maxA + 16.0 * maxA * d - 8.0 * maxA * d) - + maxA); + var curV = cubismmath_1.CubismMath.sqrt(this._faceVX * this._faceVX + this._faceVY * this._faceVY); + if (curV > maxV_1) { + // 現在の速度 > 最高速度のとき、最高速度まで減速 + this._faceVX *= maxV_1 / curV; + this._faceVY *= maxV_1 / curV; + } + } + this._faceX += this._faceVX; + this._faceY += this._faceVY; + }; + /** + * X軸の顔の向きの値を取得 + * + * @return X軸の顔の向きの値(-1.0 ~ 1.0) + */ + CubismTargetPoint.prototype.getX = function () { + return this._faceX; + }; + /** + * Y軸の顔の向きの値を取得 + * + * @return Y軸の顔の向きの値(-1.0 ~ 1.0) + */ + CubismTargetPoint.prototype.getY = function () { + return this._faceY; + }; + /** + * 顔の向きの目標値を設定 + * + * @param x X軸の顔の向きの値(-1.0 ~ 1.0) + * @param y Y軸の顔の向きの値(-1.0 ~ 1.0) + */ + CubismTargetPoint.prototype.set = function (x, y) { + this._faceTargetX = x; + this._faceTargetY = y; + }; + return CubismTargetPoint; +}()); +exports.CubismTargetPoint = CubismTargetPoint; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismtargetpoint")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismTargetPoint = $.CubismTargetPoint; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismtargetpoint.js.map \ No newline at end of file diff --git a/live2demo/Framework/math/cubismtargetpoint.js.map b/live2demo/Framework/math/cubismtargetpoint.js.map new file mode 100644 index 0000000..a038521 --- /dev/null +++ b/live2demo/Framework/math/cubismtargetpoint.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismtargetpoint.js","sourceRoot":"","sources":["../../src/math/cubismtargetpoint.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/math/cubismvector2.d.ts b/live2demo/Framework/math/cubismvector2.d.ts new file mode 100644 index 0000000..68de11f --- /dev/null +++ b/live2demo/Framework/math/cubismvector2.d.ts @@ -0,0 +1,111 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +/** + * 2次元ベクトル型 + * + * 2次元ベクトル型の機能を提供する。 + */ +export declare class CubismVector2 { + x?: number; + y?: number; + /** + * コンストラクタ + */ + constructor(x?: number, y?: number); + /** + * ベクトルの加算 + * + * @param vector2 加算するベクトル値 + * @return 加算結果 ベクトル値 + */ + add(vector2: CubismVector2): CubismVector2; + /** + * ベクトルの減算 + * + * @param vector2 減算するベクトル値 + * @return 減算結果 ベクトル値 + */ + substract(vector2: CubismVector2): CubismVector2; + /** + * ベクトルの乗算 + * + * @param vector2 乗算するベクトル値 + * @return 乗算結果 ベクトル値 + */ + multiply(vector2: CubismVector2): CubismVector2; + /** + * ベクトルの乗算(スカラー) + * + * @param scalar 乗算するスカラー値 + * @return 乗算結果 ベクトル値 + */ + multiplyByScaler(scalar: number): CubismVector2; + /** + * ベクトルの除算 + * + * @param vector2 除算するベクトル値 + * @return 除算結果 ベクトル値 + */ + division(vector2: CubismVector2): CubismVector2; + /** + * ベクトルの除算(スカラー) + * + * @param scalar 除算するスカラー値 + * @return 除算結果 ベクトル値 + */ + divisionByScalar(scalar: number): CubismVector2; + /** + * ベクトルの長さを取得する + * + * @return ベクトルの長さ + */ + getLength(): number; + /** + * ベクトルの距離の取得 + * + * @param a 点 + * @return ベクトルの距離 + */ + getDistanceWith(a: CubismVector2): number; + /** + * ドット積の計算 + * + * @param a 値 + * @return 結果 + */ + dot(a: CubismVector2): number; + /** + * 正規化の適用 + */ + normalize(): void; + /** + * 等しさの確認(等しいか?) + * + * 値が等しいか? + * + * @param rhs 確認する値 + * @return true 値は等しい + * @return false 値は等しくない + */ + isEqual(rhs: CubismVector2): boolean; + /** + * 等しさの確認(等しくないか?) + * + * 値が等しくないか? + * + * @param rhs 確認する値 + * @return true 値は等しくない + * @return false 値は等しい + */ + isNotEqual(rhs: CubismVector2): boolean; +} +import * as $ from './cubismvector2'; +export declare namespace Live2DCubismFramework { + const CubismVector2: typeof $.CubismVector2; + type CubismVector2 = $.CubismVector2; +} +//# sourceMappingURL=cubismvector2.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/math/cubismvector2.d.ts.map b/live2demo/Framework/math/cubismvector2.d.ts.map new file mode 100644 index 0000000..75deb26 --- /dev/null +++ b/live2demo/Framework/math/cubismvector2.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismvector2.d.ts","sourceRoot":"","sources":["../../src/math/cubismvector2.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,qBAAa,aAAa;IAKf,CAAC,CAAC,EAAE,MAAM;IACV,CAAC,CAAC,EAAE,MAAM;IALnB;;OAEG;gBAEM,CAAC,CAAC,EAAE,MAAM,EACV,CAAC,CAAC,EAAE,MAAM;IAOnB;;;;;OAKG;IACI,GAAG,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa;IAOjD;;;;;OAKG;IACI,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa;IAOvD;;;;;OAKG;IACI,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa;IAOtD;;;;;OAKG;IACI,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa;IAItD;;;;;OAKG;IACI,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa;IAOtD;;;;;OAKG;IACI,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa;IAItD;;;;OAIG;IACI,SAAS,IAAI,MAAM;IAI1B;;;;;OAKG;IACI,eAAe,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM;IAMhD;;;;;OAKG;IACI,GAAG,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM;IAIpC;;OAEG;IACI,SAAS,IAAI,IAAI;IAOxB;;;;;;;;OAQG;IACI,OAAO,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO;IAI3C;;;;;;;;OAQG;IACI,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO;CAG/C;AAGD,OAAO,KAAK,CAAC,MAAM,iBAAiB,CAAC;AAErC,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,aAAa,wBAAkB,CAAC;IAC7C,KAAY,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC;CAC7C"} \ No newline at end of file diff --git a/live2demo/Framework/math/cubismvector2.js b/live2demo/Framework/math/cubismvector2.js new file mode 100644 index 0000000..8a13a3d --- /dev/null +++ b/live2demo/Framework/math/cubismvector2.js @@ -0,0 +1,182 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.CubismVector2 = void 0; +/** + * 2次元ベクトル型 + * + * 2次元ベクトル型の機能を提供する。 + */ +var CubismVector2 = /** @class */ (function () { + /** + * コンストラクタ + */ + function CubismVector2(x, y) { + this.x = x; + this.y = y; + this.x = x == undefined ? 0.0 : x; + this.y = y == undefined ? 0.0 : y; + } + /** + * ベクトルの加算 + * + * @param vector2 加算するベクトル値 + * @return 加算結果 ベクトル値 + */ + CubismVector2.prototype.add = function (vector2) { + var ret = new CubismVector2(0.0, 0.0); + ret.x = this.x + vector2.x; + ret.y = this.y + vector2.y; + return ret; + }; + /** + * ベクトルの減算 + * + * @param vector2 減算するベクトル値 + * @return 減算結果 ベクトル値 + */ + CubismVector2.prototype.substract = function (vector2) { + var ret = new CubismVector2(0.0, 0.0); + ret.x = this.x - vector2.x; + ret.y = this.y - vector2.y; + return ret; + }; + /** + * ベクトルの乗算 + * + * @param vector2 乗算するベクトル値 + * @return 乗算結果 ベクトル値 + */ + CubismVector2.prototype.multiply = function (vector2) { + var ret = new CubismVector2(0.0, 0.0); + ret.x = this.x * vector2.x; + ret.y = this.y * vector2.y; + return ret; + }; + /** + * ベクトルの乗算(スカラー) + * + * @param scalar 乗算するスカラー値 + * @return 乗算結果 ベクトル値 + */ + CubismVector2.prototype.multiplyByScaler = function (scalar) { + return this.multiply(new CubismVector2(scalar, scalar)); + }; + /** + * ベクトルの除算 + * + * @param vector2 除算するベクトル値 + * @return 除算結果 ベクトル値 + */ + CubismVector2.prototype.division = function (vector2) { + var ret = new CubismVector2(0.0, 0.0); + ret.x = this.x / vector2.x; + ret.y = this.y / vector2.y; + return ret; + }; + /** + * ベクトルの除算(スカラー) + * + * @param scalar 除算するスカラー値 + * @return 除算結果 ベクトル値 + */ + CubismVector2.prototype.divisionByScalar = function (scalar) { + return this.division(new CubismVector2(scalar, scalar)); + }; + /** + * ベクトルの長さを取得する + * + * @return ベクトルの長さ + */ + CubismVector2.prototype.getLength = function () { + return Math.sqrt(this.x * this.x + this.y * this.y); + }; + /** + * ベクトルの距離の取得 + * + * @param a 点 + * @return ベクトルの距離 + */ + CubismVector2.prototype.getDistanceWith = function (a) { + return Math.sqrt((this.x - a.x) * (this.x - a.x) + (this.y - a.y) * (this.y - a.y)); + }; + /** + * ドット積の計算 + * + * @param a 値 + * @return 結果 + */ + CubismVector2.prototype.dot = function (a) { + return this.x * a.x + this.y * a.y; + }; + /** + * 正規化の適用 + */ + CubismVector2.prototype.normalize = function () { + var length = Math.pow(this.x * this.x + this.y * this.y, 0.5); + this.x = this.x / length; + this.y = this.y / length; + }; + /** + * 等しさの確認(等しいか?) + * + * 値が等しいか? + * + * @param rhs 確認する値 + * @return true 値は等しい + * @return false 値は等しくない + */ + CubismVector2.prototype.isEqual = function (rhs) { + return this.x == rhs.x && this.y == rhs.y; + }; + /** + * 等しさの確認(等しくないか?) + * + * 値が等しくないか? + * + * @param rhs 確認する値 + * @return true 値は等しくない + * @return false 値は等しい + */ + CubismVector2.prototype.isNotEqual = function (rhs) { + return !this.isEqual(rhs); + }; + return CubismVector2; +}()); +exports.CubismVector2 = CubismVector2; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismvector2")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismVector2 = $.CubismVector2; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismvector2.js.map \ No newline at end of file diff --git a/live2demo/Framework/math/cubismvector2.js.map b/live2demo/Framework/math/cubismvector2.js.map new file mode 100644 index 0000000..c88d856 --- /dev/null +++ b/live2demo/Framework/math/cubismvector2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismvector2.js","sourceRoot":"","sources":["../../src/math/cubismvector2.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH;;;;GAIG;AACH;IACE;;OAEG;IACH,uBACS,CAAU,EACV,CAAU;QADV,MAAC,GAAD,CAAC,CAAS;QACV,MAAC,GAAD,CAAC,CAAS;QAEjB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAElC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACI,2BAAG,GAAV,UAAW,OAAsB;QAC/B,IAAM,GAAG,GAAkB,IAAI,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACvD,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;QAC3B,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;QAC3B,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACI,iCAAS,GAAhB,UAAiB,OAAsB;QACrC,IAAM,GAAG,GAAkB,IAAI,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACvD,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;QAC3B,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;QAC3B,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACI,gCAAQ,GAAf,UAAgB,OAAsB;QACpC,IAAM,GAAG,GAAkB,IAAI,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACvD,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;QAC3B,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;QAC3B,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACI,wCAAgB,GAAvB,UAAwB,MAAc;QACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACI,gCAAQ,GAAf,UAAgB,OAAsB;QACpC,IAAM,GAAG,GAAkB,IAAI,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACvD,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;QAC3B,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;QAC3B,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACI,wCAAgB,GAAvB,UAAwB,MAAc;QACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACI,iCAAS,GAAhB;QACE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACI,uCAAe,GAAtB,UAAuB,CAAgB;QACrC,OAAO,IAAI,CAAC,IAAI,CACd,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAClE,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,2BAAG,GAAV,UAAW,CAAgB;QACzB,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACI,iCAAS,GAAhB;QACE,IAAM,MAAM,GAAW,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAExE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC;QACzB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC;IAC3B,CAAC;IAED;;;;;;;;OAQG;IACI,+BAAO,GAAd,UAAe,GAAkB;QAC/B,OAAO,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;OAQG;IACI,kCAAU,GAAjB,UAAkB,GAAkB;QAClC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IACH,oBAAC;AAAD,CAAC,AAvJD,IAuJC;AAvJY,sCAAa;AAyJ1B,0CAA0C;AAC1C,iDAAqC;AACrC,2DAA2D;AAC3D,IAAiB,qBAAqB,CAGrC;AAHD,WAAiB,qBAAqB;IACvB,mCAAa,GAAG,CAAC,CAAC,aAAa,CAAC;AAE/C,CAAC,EAHgB,qBAAqB,qCAArB,qBAAqB,QAGrC"} \ No newline at end of file diff --git a/live2demo/Framework/math/cubismviewmatrix.d.ts b/live2demo/Framework/math/cubismviewmatrix.d.ts new file mode 100644 index 0000000..b3002b3 --- /dev/null +++ b/live2demo/Framework/math/cubismviewmatrix.d.ts @@ -0,0 +1,140 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { CubismMatrix44 } from './cubismmatrix44'; +/** + * カメラの位置変更に使うと便利な4x4行列 + * + * カメラの位置変更に使うと便利な4x4行列のクラス。 + */ +export declare class CubismViewMatrix extends CubismMatrix44 { + /** + * コンストラクタ + */ + constructor(); + /** + * 移動を調整 + * + * @param x X軸の移動量 + * @param y Y軸の移動量 + */ + adjustTranslate(x: number, y: number): void; + /** + * 拡大率を調整 + * + * @param cx 拡大を行うX軸の中心位置 + * @param cy 拡大を行うY軸の中心位置 + * @param scale 拡大率 + */ + adjustScale(cx: number, cy: number, scale: number): void; + /** + * デバイスに対応する論理座養生の範囲の設定 + * + * @param left 左辺のX軸の位置 + * @param right 右辺のX軸の位置 + * @param bottom 下辺のY軸の位置 + * @param top 上辺のY軸の位置 + */ + setScreenRect(left: number, right: number, bottom: number, top: number): void; + /** + * デバイスに対応する論理座標上の移動可能範囲の設定 + * @param left 左辺のX軸の位置 + * @param right 右辺のX軸の位置 + * @param bottom 下辺のY軸の位置 + * @param top 上辺のY軸の位置 + */ + setMaxScreenRect(left: number, right: number, bottom: number, top: number): void; + /** + * 最大拡大率の設定 + * @param maxScale 最大拡大率 + */ + setMaxScale(maxScale: number): void; + /** + * 最小拡大率の設定 + * @param minScale 最小拡大率 + */ + setMinScale(minScale: number): void; + /** + * 最大拡大率の取得 + * @return 最大拡大率 + */ + getMaxScale(): number; + /** + * 最小拡大率の取得 + * @return 最小拡大率 + */ + getMinScale(): number; + /** + * 拡大率が最大になっているかを確認する + * + * @return true 拡大率は最大 + * @return false 拡大率は最大ではない + */ + isMaxScale(): boolean; + /** + * 拡大率が最小になっているかを確認する + * + * @return true 拡大率は最小 + * @return false 拡大率は最小ではない + */ + isMinScale(): boolean; + /** + * デバイスに対応する論理座標の左辺のX軸位置を取得する + * @return デバイスに対応する論理座標の左辺のX軸位置 + */ + getScreenLeft(): number; + /** + * デバイスに対応する論理座標の右辺のX軸位置を取得する + * @return デバイスに対応する論理座標の右辺のX軸位置 + */ + getScreenRight(): number; + /** + * デバイスに対応する論理座標の下辺のY軸位置を取得する + * @return デバイスに対応する論理座標の下辺のY軸位置 + */ + getScreenBottom(): number; + /** + * デバイスに対応する論理座標の上辺のY軸位置を取得する + * @return デバイスに対応する論理座標の上辺のY軸位置 + */ + getScreenTop(): number; + /** + * 左辺のX軸位置の最大値の取得 + * @return 左辺のX軸位置の最大値 + */ + getMaxLeft(): number; + /** + * 右辺のX軸位置の最大値の取得 + * @return 右辺のX軸位置の最大値 + */ + getMaxRight(): number; + /** + * 下辺のY軸位置の最大値の取得 + * @return 下辺のY軸位置の最大値 + */ + getMaxBottom(): number; + /** + * 上辺のY軸位置の最大値の取得 + * @return 上辺のY軸位置の最大値 + */ + getMaxTop(): number; + private _screenLeft; + private _screenRight; + private _screenTop; + private _screenBottom; + private _maxLeft; + private _maxRight; + private _maxTop; + private _maxBottom; + private _maxScale; + private _minScale; +} +import * as $ from './cubismviewmatrix'; +export declare namespace Live2DCubismFramework { + const CubismViewMatrix: typeof $.CubismViewMatrix; + type CubismViewMatrix = $.CubismViewMatrix; +} +//# sourceMappingURL=cubismviewmatrix.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/math/cubismviewmatrix.d.ts.map b/live2demo/Framework/math/cubismviewmatrix.d.ts.map new file mode 100644 index 0000000..5f978c6 --- /dev/null +++ b/live2demo/Framework/math/cubismviewmatrix.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismviewmatrix.d.ts","sourceRoot":"","sources":["../../src/math/cubismviewmatrix.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,cAAc;IAClD;;OAEG;;IAeH;;;;;OAKG;IACI,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IA0ClD;;;;;;OAMG;IACI,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IA8E/D;;;;;;;OAOG;IACI,aAAa,CAClB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,GACV,IAAI;IAOP;;;;;;OAMG;IACI,gBAAgB,CACrB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,GACV,IAAI;IAOP;;;OAGG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI1C;;;OAGG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI1C;;;OAGG;IACI,WAAW,IAAI,MAAM;IAI5B;;;OAGG;IACI,WAAW,IAAI,MAAM;IAI5B;;;;;OAKG;IACI,UAAU,IAAI,OAAO;IAI5B;;;;;OAKG;IACI,UAAU,IAAI,OAAO;IAI5B;;;OAGG;IACI,aAAa,IAAI,MAAM;IAI9B;;;OAGG;IACI,cAAc,IAAI,MAAM;IAI/B;;;OAGG;IACI,eAAe,IAAI,MAAM;IAIhC;;;OAGG;IACI,YAAY,IAAI,MAAM;IAI7B;;;OAGG;IACI,UAAU,IAAI,MAAM;IAI3B;;;OAGG;IACI,WAAW,IAAI,MAAM;IAI5B;;;OAGG;IACI,YAAY,IAAI,MAAM;IAI7B;;;OAGG;IACI,SAAS,IAAI,MAAM;IAI1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;CAC3B;AAGD,OAAO,KAAK,CAAC,MAAM,oBAAoB,CAAC;AAExC,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,gBAAgB,2BAAqB,CAAC;IACnD,KAAY,gBAAgB,GAAG,CAAC,CAAC,gBAAgB,CAAC;CACnD"} \ No newline at end of file diff --git a/live2demo/Framework/math/cubismviewmatrix.js b/live2demo/Framework/math/cubismviewmatrix.js new file mode 100644 index 0000000..f9d2b03 --- /dev/null +++ b/live2demo/Framework/math/cubismviewmatrix.js @@ -0,0 +1,331 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.CubismViewMatrix = void 0; +var cubismmatrix44_1 = require("./cubismmatrix44"); +/** + * カメラの位置変更に使うと便利な4x4行列 + * + * カメラの位置変更に使うと便利な4x4行列のクラス。 + */ +var CubismViewMatrix = /** @class */ (function (_super) { + __extends(CubismViewMatrix, _super); + /** + * コンストラクタ + */ + function CubismViewMatrix() { + var _this = _super.call(this) || this; + _this._screenLeft = 0.0; + _this._screenRight = 0.0; + _this._screenTop = 0.0; + _this._screenBottom = 0.0; + _this._maxLeft = 0.0; + _this._maxRight = 0.0; + _this._maxTop = 0.0; + _this._maxBottom = 0.0; + _this._maxScale = 0.0; + _this._minScale = 0.0; + return _this; + } + /** + * 移動を調整 + * + * @param x X軸の移動量 + * @param y Y軸の移動量 + */ + CubismViewMatrix.prototype.adjustTranslate = function (x, y) { + if (this._tr[0] * this._maxLeft + (this._tr[12] + x) > this._screenLeft) { + x = this._screenLeft - this._tr[0] * this._maxLeft - this._tr[12]; + } + if (this._tr[0] * this._maxRight + (this._tr[12] + x) < this._screenRight) { + x = this._screenRight - this._tr[0] * this._maxRight - this._tr[12]; + } + if (this._tr[5] * this._maxTop + (this._tr[13] + y) < this._screenTop) { + y = this._screenTop - this._tr[5] * this._maxTop - this._tr[13]; + } + if (this._tr[5] * this._maxBottom + (this._tr[13] + y) > + this._screenBottom) { + y = this._screenBottom - this._tr[5] * this._maxBottom - this._tr[13]; + } + var tr1 = new Float32Array([ + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + x, + y, + 0.0, + 1.0 + ]); + cubismmatrix44_1.CubismMatrix44.multiply(tr1, this._tr, this._tr); + }; + /** + * 拡大率を調整 + * + * @param cx 拡大を行うX軸の中心位置 + * @param cy 拡大を行うY軸の中心位置 + * @param scale 拡大率 + */ + CubismViewMatrix.prototype.adjustScale = function (cx, cy, scale) { + var maxScale = this.getMaxScale(); + var minScale = this.getMinScale(); + var targetScale = scale * this._tr[0]; + if (targetScale < minScale) { + if (this._tr[0] > 0.0) { + scale = minScale / this._tr[0]; + } + } + else if (targetScale > maxScale) { + if (this._tr[0] > 0.0) { + scale = maxScale / this._tr[0]; + } + } + var tr1 = new Float32Array([ + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + cx, + cy, + 0.0, + 1.0 + ]); + var tr2 = new Float32Array([ + scale, + 0.0, + 0.0, + 0.0, + 0.0, + scale, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0 + ]); + var tr3 = new Float32Array([ + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + -cx, + -cy, + 0.0, + 1.0 + ]); + cubismmatrix44_1.CubismMatrix44.multiply(tr3, this._tr, this._tr); + cubismmatrix44_1.CubismMatrix44.multiply(tr2, this._tr, this._tr); + cubismmatrix44_1.CubismMatrix44.multiply(tr1, this._tr, this._tr); + }; + /** + * デバイスに対応する論理座養生の範囲の設定 + * + * @param left 左辺のX軸の位置 + * @param right 右辺のX軸の位置 + * @param bottom 下辺のY軸の位置 + * @param top 上辺のY軸の位置 + */ + CubismViewMatrix.prototype.setScreenRect = function (left, right, bottom, top) { + this._screenLeft = left; + this._screenRight = right; + this._screenBottom = bottom; + this._screenTop = top; + }; + /** + * デバイスに対応する論理座標上の移動可能範囲の設定 + * @param left 左辺のX軸の位置 + * @param right 右辺のX軸の位置 + * @param bottom 下辺のY軸の位置 + * @param top 上辺のY軸の位置 + */ + CubismViewMatrix.prototype.setMaxScreenRect = function (left, right, bottom, top) { + this._maxLeft = left; + this._maxRight = right; + this._maxTop = top; + this._maxBottom = bottom; + }; + /** + * 最大拡大率の設定 + * @param maxScale 最大拡大率 + */ + CubismViewMatrix.prototype.setMaxScale = function (maxScale) { + this._maxScale = maxScale; + }; + /** + * 最小拡大率の設定 + * @param minScale 最小拡大率 + */ + CubismViewMatrix.prototype.setMinScale = function (minScale) { + this._minScale = minScale; + }; + /** + * 最大拡大率の取得 + * @return 最大拡大率 + */ + CubismViewMatrix.prototype.getMaxScale = function () { + return this._maxScale; + }; + /** + * 最小拡大率の取得 + * @return 最小拡大率 + */ + CubismViewMatrix.prototype.getMinScale = function () { + return this._minScale; + }; + /** + * 拡大率が最大になっているかを確認する + * + * @return true 拡大率は最大 + * @return false 拡大率は最大ではない + */ + CubismViewMatrix.prototype.isMaxScale = function () { + return this.getScaleX() >= this._maxScale; + }; + /** + * 拡大率が最小になっているかを確認する + * + * @return true 拡大率は最小 + * @return false 拡大率は最小ではない + */ + CubismViewMatrix.prototype.isMinScale = function () { + return this.getScaleX() <= this._minScale; + }; + /** + * デバイスに対応する論理座標の左辺のX軸位置を取得する + * @return デバイスに対応する論理座標の左辺のX軸位置 + */ + CubismViewMatrix.prototype.getScreenLeft = function () { + return this._screenLeft; + }; + /** + * デバイスに対応する論理座標の右辺のX軸位置を取得する + * @return デバイスに対応する論理座標の右辺のX軸位置 + */ + CubismViewMatrix.prototype.getScreenRight = function () { + return this._screenRight; + }; + /** + * デバイスに対応する論理座標の下辺のY軸位置を取得する + * @return デバイスに対応する論理座標の下辺のY軸位置 + */ + CubismViewMatrix.prototype.getScreenBottom = function () { + return this._screenBottom; + }; + /** + * デバイスに対応する論理座標の上辺のY軸位置を取得する + * @return デバイスに対応する論理座標の上辺のY軸位置 + */ + CubismViewMatrix.prototype.getScreenTop = function () { + return this._screenTop; + }; + /** + * 左辺のX軸位置の最大値の取得 + * @return 左辺のX軸位置の最大値 + */ + CubismViewMatrix.prototype.getMaxLeft = function () { + return this._maxLeft; + }; + /** + * 右辺のX軸位置の最大値の取得 + * @return 右辺のX軸位置の最大値 + */ + CubismViewMatrix.prototype.getMaxRight = function () { + return this._maxRight; + }; + /** + * 下辺のY軸位置の最大値の取得 + * @return 下辺のY軸位置の最大値 + */ + CubismViewMatrix.prototype.getMaxBottom = function () { + return this._maxBottom; + }; + /** + * 上辺のY軸位置の最大値の取得 + * @return 上辺のY軸位置の最大値 + */ + CubismViewMatrix.prototype.getMaxTop = function () { + return this._maxTop; + }; + return CubismViewMatrix; +}(cubismmatrix44_1.CubismMatrix44)); +exports.CubismViewMatrix = CubismViewMatrix; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismviewmatrix")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismViewMatrix = $.CubismViewMatrix; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismviewmatrix.js.map \ No newline at end of file diff --git a/live2demo/Framework/math/cubismviewmatrix.js.map b/live2demo/Framework/math/cubismviewmatrix.js.map new file mode 100644 index 0000000..102000d --- /dev/null +++ b/live2demo/Framework/math/cubismviewmatrix.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismviewmatrix.js","sourceRoot":"","sources":["../../src/math/cubismviewmatrix.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/model/cubismmoc.d.ts b/live2demo/Framework/model/cubismmoc.d.ts new file mode 100644 index 0000000..6e299f7 --- /dev/null +++ b/live2demo/Framework/model/cubismmoc.d.ts @@ -0,0 +1,63 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { CubismModel } from './cubismmodel'; +/** + * Mocデータの管理 + * + * Mocデータの管理を行うクラス。 + */ +export declare class CubismMoc { + /** + * Mocデータの作成 + */ + static create(mocBytes: ArrayBuffer, shouldCheckMocConsistency: boolean): CubismMoc; + /** + * Mocデータを削除 + * + * Mocデータを削除する + */ + static delete(moc: CubismMoc): void; + /** + * モデルを作成する + * + * @return Mocデータから作成されたモデル + */ + createModel(): CubismModel; + /** + * モデルを削除する + */ + deleteModel(model: CubismModel): void; + /** + * コンストラクタ + */ + private constructor(); + /** + * デストラクタ相当の処理 + */ + release(): void; + /** + * 最新の.moc3 Versionを取得 + */ + getLatestMocVersion(): number; + /** + * 読み込んだモデルの.moc3 Versionを取得 + */ + getMocVersion(): number; + /** + * .moc3 の整合性を検証する + */ + static hasMocConsistency(mocBytes: ArrayBuffer): boolean; + _moc: Live2DCubismCore.Moc; + _modelCount: number; + _mocVersion: number; +} +import * as $ from './cubismmoc'; +export declare namespace Live2DCubismFramework { + const CubismMoc: typeof $.CubismMoc; + type CubismMoc = $.CubismMoc; +} +//# sourceMappingURL=cubismmoc.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/model/cubismmoc.d.ts.map b/live2demo/Framework/model/cubismmoc.d.ts.map new file mode 100644 index 0000000..00931d0 --- /dev/null +++ b/live2demo/Framework/model/cubismmoc.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismmoc.d.ts","sourceRoot":"","sources":["../../src/model/cubismmoc.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;;;GAIG;AACH,qBAAa,SAAS;IACpB;;OAEG;WACW,MAAM,CAClB,QAAQ,EAAE,WAAW,EACrB,yBAAyB,EAAE,OAAO,GACjC,SAAS;IA4BZ;;;;OAIG;WACW,MAAM,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI;IAM1C;;;;OAIG;IACH,WAAW,IAAI,WAAW;IAiB1B;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAQrC;;OAEG;IACH,OAAO;IAMP;;OAEG;IACI,OAAO,IAAI,IAAI;IAOtB;;OAEG;IACI,mBAAmB,IAAI,MAAM;IAIpC;;OAEG;IACI,aAAa,IAAI,MAAM;IAI9B;;OAEG;WACW,iBAAiB,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO;IAM/D,IAAI,EAAE,gBAAgB,CAAC,GAAG,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAGD,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AAEjC,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,SAAS,oBAAc,CAAC;IACrC,KAAY,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;CACrC"} \ No newline at end of file diff --git a/live2demo/Framework/model/cubismmoc.js b/live2demo/Framework/model/cubismmoc.js new file mode 100644 index 0000000..e9b2e43 --- /dev/null +++ b/live2demo/Framework/model/cubismmoc.js @@ -0,0 +1,142 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.CubismMoc = void 0; +var cubismdebug_1 = require("../utils/cubismdebug"); +var cubismmodel_1 = require("./cubismmodel"); +/** + * Mocデータの管理 + * + * Mocデータの管理を行うクラス。 + */ +var CubismMoc = /** @class */ (function () { + /** + * コンストラクタ + */ + function CubismMoc(moc) { + this._moc = moc; + this._modelCount = 0; + this._mocVersion = 0; + } + /** + * Mocデータの作成 + */ + CubismMoc.create = function (mocBytes, shouldCheckMocConsistency) { + var cubismMoc = null; + if (shouldCheckMocConsistency) { + // .moc3の整合性を確認 + var consistency = this.hasMocConsistency(mocBytes); + if (!consistency) { + // 整合性が確認できなければ処理しない + (0, cubismdebug_1.CubismLogError)("Inconsistent MOC3."); + return cubismMoc; + } + } + var moc = Live2DCubismCore.Moc.fromArrayBuffer(mocBytes); + if (moc) { + cubismMoc = new CubismMoc(moc); + cubismMoc._mocVersion = Live2DCubismCore.Version.csmGetMocVersion(moc, mocBytes); + } + return cubismMoc; + }; + /** + * Mocデータを削除 + * + * Mocデータを削除する + */ + CubismMoc.delete = function (moc) { + moc._moc._release(); + moc._moc = null; + moc = null; + }; + /** + * モデルを作成する + * + * @return Mocデータから作成されたモデル + */ + CubismMoc.prototype.createModel = function () { + var cubismModel = null; + var model = Live2DCubismCore.Model.fromMoc(this._moc); + if (model) { + cubismModel = new cubismmodel_1.CubismModel(model); + cubismModel.initialize(); + ++this._modelCount; + } + return cubismModel; + }; + /** + * モデルを削除する + */ + CubismMoc.prototype.deleteModel = function (model) { + if (model != null) { + model.release(); + model = null; + --this._modelCount; + } + }; + /** + * デストラクタ相当の処理 + */ + CubismMoc.prototype.release = function () { + (0, cubismdebug_1.CSM_ASSERT)(this._modelCount == 0); + this._moc._release(); + this._moc = null; + }; + /** + * 最新の.moc3 Versionを取得 + */ + CubismMoc.prototype.getLatestMocVersion = function () { + return Live2DCubismCore.Version.csmGetLatestMocVersion(); + }; + /** + * 読み込んだモデルの.moc3 Versionを取得 + */ + CubismMoc.prototype.getMocVersion = function () { + return this._mocVersion; + }; + /** + * .moc3 の整合性を検証する + */ + CubismMoc.hasMocConsistency = function (mocBytes) { + var isConsistent = Live2DCubismCore.Moc.prototype.hasMocConsistency(mocBytes); + return isConsistent === 1 ? true : false; + }; + return CubismMoc; +}()); +exports.CubismMoc = CubismMoc; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismmoc")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismMoc = $.CubismMoc; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismmoc.js.map \ No newline at end of file diff --git a/live2demo/Framework/model/cubismmoc.js.map b/live2demo/Framework/model/cubismmoc.js.map new file mode 100644 index 0000000..7cc33d9 --- /dev/null +++ b/live2demo/Framework/model/cubismmoc.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismmoc.js","sourceRoot":"","sources":["../../src/model/cubismmoc.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/model/cubismmodel.d.ts b/live2demo/Framework/model/cubismmodel.d.ts new file mode 100644 index 0000000..2cbfb7e --- /dev/null +++ b/live2demo/Framework/model/cubismmodel.d.ts @@ -0,0 +1,679 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { CubismIdHandle } from '../id/cubismid'; +import { CubismBlendMode, CubismTextureColor } from '../rendering/cubismrenderer'; +import { csmVector } from '../type/csmvector'; +/** + * SDK側から与えられたDrawableの乗算色・スクリーン色上書きフラグと + * その色を保持する構造体 + */ +export declare class DrawableColorData { + constructor(isOverwritten?: boolean, color?: CubismTextureColor); + isOverwritten: boolean; + Color: CubismTextureColor; +} +/** + * @brief テクスチャの色をRGBAで扱うための構造体 + */ +export declare class PartColorData { + constructor(isOverwritten?: boolean, color?: CubismTextureColor); + isOverwritten: boolean; + Color: CubismTextureColor; +} +/** + * テクスチャのカリング設定を管理するための構造体 + */ +export declare class DrawableCullingData { + /** + * コンストラクタ + * + * @param isOverwritten + * @param isCulling + */ + constructor(isOverwritten?: boolean, isCulling?: boolean); + isOverwritten: boolean; + isCulling: boolean; +} +/** + * モデル + * + * Mocデータから生成されるモデルのクラス。 + */ +export declare class CubismModel { + /** + * モデルのパラメータの更新 + */ + update(): void; + /** + * PixelsPerUnitを取得する + * @returns PixelsPerUnit + */ + getPixelsPerUnit(): number; + /** + * キャンバスの幅を取得する + */ + getCanvasWidth(): number; + /** + * キャンバスの高さを取得する + */ + getCanvasHeight(): number; + /** + * パラメータを保存する + */ + saveParameters(): void; + /** + * 乗算色を取得する + * @param index Drawablesのインデックス + * @returns 指定したdrawableの乗算色(RGBA) + */ + getMultiplyColor(index: number): CubismTextureColor; + /** + * スクリーン色を取得する + * @param index Drawablesのインデックス + * @returns 指定したdrawableのスクリーン色(RGBA) + */ + getScreenColor(index: number): CubismTextureColor; + /** + * 乗算色をセットする + * @param index Drawablesのインデックス + * @param color 設定する乗算色(CubismTextureColor) + */ + setMultiplyColorByTextureColor(index: number, color: CubismTextureColor): void; + /** + * 乗算色をセットする + * @param index Drawablesのインデックス + * @param r 設定する乗算色のR値 + * @param g 設定する乗算色のG値 + * @param b 設定する乗算色のB値 + * @param a 設定する乗算色のA値 + */ + setMultiplyColorByRGBA(index: number, r: number, g: number, b: number, a?: number): void; + /** + * スクリーン色をセットする + * @param index Drawablesのインデックス + * @param color 設定するスクリーン色(CubismTextureColor) + */ + setScreenColorByTextureColor(index: number, color: CubismTextureColor): void; + /** + * スクリーン色をセットする + * @param index Drawablesのインデックス + * @param r 設定するスクリーン色のR値 + * @param g 設定するスクリーン色のG値 + * @param b 設定するスクリーン色のB値 + * @param a 設定するスクリーン色のA値 + */ + setScreenColorByRGBA(index: number, r: number, g: number, b: number, a?: number): void; + /** + * partの乗算色を取得する + * @param partIndex partのインデックス + * @returns 指定したpartの乗算色 + */ + getPartMultiplyColor(partIndex: number): CubismTextureColor; + /** + * partのスクリーン色を取得する + * @param partIndex partのインデックス + * @returns 指定したpartのスクリーン色 + */ + getPartScreenColor(partIndex: number): CubismTextureColor; + /** + * partのOverwriteColor setter関数 + * @param partIndex partのインデックス + * @param r 設定する色のR値 + * @param g 設定する色のG値 + * @param b 設定する色のB値 + * @param a 設定する色のA値 + * @param partColors 設定するpartのカラーデータ配列 + * @param drawableColors partに関連するDrawableのカラーデータ配列 + */ + setPartColor(partIndex: number, r: number, g: number, b: number, a: number, partColors: csmVector, drawableColors: csmVector): void; + /** + * 乗算色をセットする + * @param partIndex partのインデックス + * @param color 設定する乗算色(CubismTextureColor) + */ + setPartMultiplyColorByTextureColor(partIndex: number, color: CubismTextureColor): void; + /** + * 乗算色をセットする + * @param partIndex partのインデックス + * @param r 設定する乗算色のR値 + * @param g 設定する乗算色のG値 + * @param b 設定する乗算色のB値 + * @param a 設定する乗算色のA値 + */ + setPartMultiplyColorByRGBA(partIndex: number, r: number, g: number, b: number, a: number): void; + /** + * スクリーン色をセットする + * @param partIndex partのインデックス + * @param color 設定するスクリーン色(CubismTextureColor) + */ + setPartScreenColorByTextureColor(partIndex: number, color: CubismTextureColor): void; + /** + * スクリーン色をセットする + * @param partIndex partのインデックス + * @param r 設定するスクリーン色のR値 + * @param g 設定するスクリーン色のG値 + * @param b 設定するスクリーン色のB値 + * @param a 設定するスクリーン色のA値 + */ + setPartScreenColorByRGBA(partIndex: number, r: number, g: number, b: number, a: number): void; + /** + * SDKから指定したモデルの乗算色を上書きするか + * @returns true -> SDKからの情報を優先する + * false -> モデルに設定されている色情報を使用 + */ + getOverwriteFlagForModelMultiplyColors(): boolean; + /** + * SDKから指定したモデルのスクリーン色を上書きするか + * @returns true -> SDKからの情報を優先する + * false -> モデルに設定されている色情報を使用 + */ + getOverwriteFlagForModelScreenColors(): boolean; + /** + * SDKから指定したモデルの乗算色を上書きするかセットする + * @param value true -> SDKからの情報を優先する + * false -> モデルに設定されている色情報を使用 + */ + setOverwriteFlagForModelMultiplyColors(value: boolean): void; + /** + * SDKから指定したモデルのスクリーン色を上書きするかセットする + * @param value true -> SDKからの情報を優先する + * false -> モデルに設定されている色情報を使用 + */ + setOverwriteFlagForModelScreenColors(value: boolean): void; + /** + * SDKから指定したDrawableIndexの乗算色を上書きするか + * @returns true -> SDKからの情報を優先する + * false -> モデルに設定されている色情報を使用 + */ + getOverwriteFlagForDrawableMultiplyColors(drawableindex: number): boolean; + /** + * SDKから指定したDrawableIndexのスクリーン色を上書きするか + * @returns true -> SDKからの情報を優先する + * false -> モデルに設定されている色情報を使用 + */ + getOverwriteFlagForDrawableScreenColors(drawableindex: number): boolean; + /** + * SDKから指定したDrawableIndexの乗算色を上書きするかセットする + * @param value true -> SDKからの情報を優先する + * false -> モデルに設定されている色情報を使用 + */ + setOverwriteFlagForDrawableMultiplyColors(drawableindex: number, value: boolean): void; + /** + * SDKから指定したDrawableIndexのスクリーン色を上書きするかセットする + * @param value true -> SDKからの情報を優先する + * false -> モデルに設定されている色情報を使用 + */ + setOverwriteFlagForDrawableScreenColors(drawableindex: number, value: boolean): void; + /** + * SDKからpartの乗算色を上書きするか + * @param partIndex partのインデックス + * @returns true -> SDKからの情報を優先する + * false -> モデルに設定されている色情報を使用 + */ + getOverwriteColorForPartMultiplyColors(partIndex: number): boolean; + /** + * SDKからpartのスクリーン色を上書きするか + * @param partIndex partのインデックス + * @returns true -> SDKからの情報を優先する + * false -> モデルに設定されている色情報を使用 + */ + getOverwriteColorForPartScreenColors(partIndex: number): boolean; + /** + * partのOverwriteFlag setter関数 + * @param partIndex partのインデックス + * @param value true -> SDKからの情報を優先する + * false -> モデルに設定されている色情報を使用 + * @param partColors 設定するpartのカラーデータ配列 + * @param drawableColors partに関連するDrawableのカラーデータ配列 + */ + setOverwriteColorForPartColors(partIndex: number, value: boolean, partColors: csmVector, drawableColors: csmVector): void; + /** + * SDKからpartのスクリーン色を上書きするかをセットする + * @param partIndex partのインデックス + * @param value true -> SDKからの情報を優先する + * false -> モデルに設定されている色情報を使用 + */ + setOverwriteColorForPartMultiplyColors(partIndex: number, value: boolean): void; + /** + * SDKからpartのスクリーン色を上書きするかをセットする + * @param partIndex partのインデックス + * @param value true -> SDKからの情報を優先する + * false -> モデルに設定されている色情報を使用 + */ + setOverwriteColorForPartScreenColors(partIndex: number, value: boolean): void; + /** + * Drawableのカリング情報を取得する。 + * + * @param drawableIndex Drawableのインデックス + * @return Drawableのカリング情報 + */ + getDrawableCulling(drawableIndex: number): boolean; + /** + * Drawableのカリング情報を設定する。 + * + * @param drawableIndex Drawableのインデックス + * @param isCulling カリング情報 + */ + setDrawableCulling(drawableIndex: number, isCulling: boolean): void; + /** + * SDKからモデル全体のカリング設定を上書きするか。 + * + * @retval true -> SDK上のカリング設定を使用 + * @retval false -> モデルのカリング設定を使用 + */ + getOverwriteFlagForModelCullings(): boolean; + /** + * SDKからモデル全体のカリング設定を上書きするかを設定する。 + * + * @param isOverwrittenCullings SDK上のカリング設定を使うならtrue、モデルのカリング設定を使うならfalse + */ + setOverwriteFlagForModelCullings(isOverwrittenCullings: boolean): void; + /** + * + * @param drawableIndex Drawableのインデックス + * @retval true -> SDK上のカリング設定を使用 + * @retval false -> モデルのカリング設定を使用 + */ + getOverwriteFlagForDrawableCullings(drawableIndex: number): boolean; + /** + * + * @param drawableIndex Drawableのインデックス + * @param isOverwrittenCullings SDK上のカリング設定を使うならtrue、モデルのカリング設定を使うならfalse + */ + setOverwriteFlagForDrawableCullings(drawableIndex: number, isOverwrittenCullings: boolean): void; + /** + * モデルの不透明度を取得する + * + * @returns 不透明度の値 + */ + getModelOapcity(): number; + /** + * モデルの不透明度を設定する + * + * @param value 不透明度の値 + */ + setModelOapcity(value: number): void; + /** + * モデルを取得 + */ + getModel(): Live2DCubismCore.Model; + /** + * パーツのインデックスを取得 + * @param partId パーツのID + * @return パーツのインデックス + */ + getPartIndex(partId: CubismIdHandle): number; + /** + * パーツのIDを取得する。 + * + * @param partIndex 取得するパーツのインデックス + * @return パーツのID + */ + getPartId(partIndex: number): CubismIdHandle; + /** + * パーツの個数の取得 + * @return パーツの個数 + */ + getPartCount(): number; + /** + * パーツの不透明度の設定(Index) + * @param partIndex パーツのインデックス + * @param opacity 不透明度 + */ + setPartOpacityByIndex(partIndex: number, opacity: number): void; + /** + * パーツの不透明度の設定(Id) + * @param partId パーツのID + * @param opacity パーツの不透明度 + */ + setPartOpacityById(partId: CubismIdHandle, opacity: number): void; + /** + * パーツの不透明度の取得(index) + * @param partIndex パーツのインデックス + * @return パーツの不透明度 + */ + getPartOpacityByIndex(partIndex: number): number; + /** + * パーツの不透明度の取得(id) + * @param partId パーツのId + * @return パーツの不透明度 + */ + getPartOpacityById(partId: CubismIdHandle): number; + /** + * パラメータのインデックスの取得 + * @param パラメータID + * @return パラメータのインデックス + */ + getParameterIndex(parameterId: CubismIdHandle): number; + /** + * パラメータの個数の取得 + * @return パラメータの個数 + */ + getParameterCount(): number; + /** + * パラメータの種類の取得 + * @param parameterIndex パラメータのインデックス + * @return csmParameterType_Normal -> 通常のパラメータ + * csmParameterType_BlendShape -> ブレンドシェイプパラメータ + */ + getParameterType(parameterIndex: number): Live2DCubismCore.csmParameterType; + /** + * パラメータの最大値の取得 + * @param parameterIndex パラメータのインデックス + * @return パラメータの最大値 + */ + getParameterMaximumValue(parameterIndex: number): number; + /** + * パラメータの最小値の取得 + * @param parameterIndex パラメータのインデックス + * @return パラメータの最小値 + */ + getParameterMinimumValue(parameterIndex: number): number; + /** + * パラメータのデフォルト値の取得 + * @param parameterIndex パラメータのインデックス + * @return パラメータのデフォルト値 + */ + getParameterDefaultValue(parameterIndex: number): number; + /** + * 指定したパラメータindexのIDを取得 + * + * @param parameterIndex パラメータのインデックス + * @returns パラメータID + */ + getParameterId(parameterIndex: number): CubismIdHandle; + /** + * パラメータの値の取得 + * @param parameterIndex パラメータのインデックス + * @return パラメータの値 + */ + getParameterValueByIndex(parameterIndex: number): number; + /** + * パラメータの値の取得 + * @param parameterId パラメータのID + * @return パラメータの値 + */ + getParameterValueById(parameterId: CubismIdHandle): number; + /** + * パラメータの値の設定 + * @param parameterIndex パラメータのインデックス + * @param value パラメータの値 + * @param weight 重み + */ + setParameterValueByIndex(parameterIndex: number, value: number, weight?: number): void; + /** + * パラメータの値の設定 + * @param parameterId パラメータのID + * @param value パラメータの値 + * @param weight 重み + */ + setParameterValueById(parameterId: CubismIdHandle, value: number, weight?: number): void; + /** + * パラメータの値の加算(index) + * @param parameterIndex パラメータインデックス + * @param value 加算する値 + * @param weight 重み + */ + addParameterValueByIndex(parameterIndex: number, value: number, weight?: number): void; + /** + * パラメータの値の加算(id) + * @param parameterId パラメータID + * @param value 加算する値 + * @param weight 重み + */ + addParameterValueById(parameterId: any, value: number, weight?: number): void; + /** + * パラメータの値の乗算 + * @param parameterId パラメータのID + * @param value 乗算する値 + * @param weight 重み + */ + multiplyParameterValueById(parameterId: CubismIdHandle, value: number, weight?: number): void; + /** + * パラメータの値の乗算 + * @param parameterIndex パラメータのインデックス + * @param value 乗算する値 + * @param weight 重み + */ + multiplyParameterValueByIndex(parameterIndex: number, value: number, weight?: number): void; + /** + * Drawableのインデックスの取得 + * @param drawableId DrawableのID + * @return Drawableのインデックス + */ + getDrawableIndex(drawableId: CubismIdHandle): number; + /** + * Drawableの個数の取得 + * @return drawableの個数 + */ + getDrawableCount(): number; + /** + * DrawableのIDを取得する + * @param drawableIndex Drawableのインデックス + * @return drawableのID + */ + getDrawableId(drawableIndex: number): CubismIdHandle; + /** + * Drawableの描画順リストの取得 + * @return Drawableの描画順リスト + */ + getDrawableRenderOrders(): Int32Array; + /** + * @deprecated + * 関数名が誤っていたため、代替となる getDrawableTextureIndex を追加し、この関数は非推奨となりました。 + * + * Drawableのテクスチャインデックスリストの取得 + * @param drawableIndex Drawableのインデックス + * @return drawableのテクスチャインデックスリスト + */ + getDrawableTextureIndices(drawableIndex: number): number; + /** + * Drawableのテクスチャインデックスの取得 + * @param drawableIndex Drawableのインデックス + * @return drawableのテクスチャインデックス + */ + getDrawableTextureIndex(drawableIndex: number): number; + /** + * DrawableのVertexPositionsの変化情報の取得 + * + * 直近のCubismModel.update関数でDrawableの頂点情報が変化したかを取得する。 + * + * @param drawableIndex Drawableのインデックス + * @retval true Drawableの頂点情報が直近のCubismModel.update関数で変化した + * @retval false Drawableの頂点情報が直近のCubismModel.update関数で変化していない + */ + getDrawableDynamicFlagVertexPositionsDidChange(drawableIndex: number): boolean; + /** + * Drawableの頂点インデックスの個数の取得 + * @param drawableIndex Drawableのインデックス + * @return drawableの頂点インデックスの個数 + */ + getDrawableVertexIndexCount(drawableIndex: number): number; + /** + * Drawableの頂点の個数の取得 + * @param drawableIndex Drawableのインデックス + * @return drawableの頂点の個数 + */ + getDrawableVertexCount(drawableIndex: number): number; + /** + * Drawableの頂点リストの取得 + * @param drawableIndex drawableのインデックス + * @return drawableの頂点リスト + */ + getDrawableVertices(drawableIndex: number): Float32Array; + /** + * Drawableの頂点インデックスリストの取得 + * @param drawableIndex Drawableのインデックス + * @return drawableの頂点インデックスリスト + */ + getDrawableVertexIndices(drawableIndex: number): Uint16Array; + /** + * Drawableの頂点リストの取得 + * @param drawableIndex Drawableのインデックス + * @return drawableの頂点リスト + */ + getDrawableVertexPositions(drawableIndex: number): Float32Array; + /** + * Drawableの頂点のUVリストの取得 + * @param drawableIndex Drawableのインデックス + * @return drawableの頂点UVリスト + */ + getDrawableVertexUvs(drawableIndex: number): Float32Array; + /** + * Drawableの不透明度の取得 + * @param drawableIndex Drawableのインデックス + * @return drawableの不透明度 + */ + getDrawableOpacity(drawableIndex: number): number; + /** + * Drawableの乗算色の取得 + * @param drawableIndex Drawableのインデックス + * @return drawableの乗算色(RGBA) + * スクリーン色はRGBAで取得されるが、Aは必ず0 + */ + getDrawableMultiplyColor(drawableIndex: number): CubismTextureColor; + /** + * Drawableのスクリーン色の取得 + * @param drawableIndex Drawableのインデックス + * @return drawableのスクリーン色(RGBA) + * スクリーン色はRGBAで取得されるが、Aは必ず0 + */ + getDrawableScreenColor(drawableIndex: number): CubismTextureColor; + /** + * Drawableの親パーツのインデックスの取得 + * @param drawableIndex Drawableのインデックス + * @return drawableの親パーツのインデックス + */ + getDrawableParentPartIndex(drawableIndex: number): number; + /** + * Drawableのブレンドモードを取得 + * @param drawableIndex Drawableのインデックス + * @return drawableのブレンドモード + */ + getDrawableBlendMode(drawableIndex: number): CubismBlendMode; + /** + * Drawableのマスクの反転使用の取得 + * + * Drawableのマスク使用時の反転設定を取得する。 + * マスクを使用しない場合は無視される。 + * + * @param drawableIndex Drawableのインデックス + * @return Drawableの反転設定 + */ + getDrawableInvertedMaskBit(drawableIndex: number): boolean; + /** + * Drawableのクリッピングマスクリストの取得 + * @return Drawableのクリッピングマスクリスト + */ + getDrawableMasks(): Int32Array[]; + /** + * Drawableのクリッピングマスクの個数リストの取得 + * @return Drawableのクリッピングマスクの個数リスト + */ + getDrawableMaskCounts(): Int32Array; + /** + * クリッピングマスクの使用状態 + * + * @return true クリッピングマスクを使用している + * @return false クリッピングマスクを使用していない + */ + isUsingMasking(): boolean; + /** + * Drawableの表示情報を取得する + * + * @param drawableIndex Drawableのインデックス + * @return true Drawableが表示 + * @return false Drawableが非表示 + */ + getDrawableDynamicFlagIsVisible(drawableIndex: number): boolean; + /** + * DrawableのDrawOrderの変化情報の取得 + * + * 直近のCubismModel.update関数でdrawableのdrawOrderが変化したかを取得する。 + * drawOrderはartMesh上で指定する0から1000の情報 + * @param drawableIndex drawableのインデックス + * @return true drawableの不透明度が直近のCubismModel.update関数で変化した + * @return false drawableの不透明度が直近のCubismModel.update関数で変化している + */ + getDrawableDynamicFlagVisibilityDidChange(drawableIndex: number): boolean; + /** + * Drawableの不透明度の変化情報の取得 + * + * 直近のCubismModel.update関数でdrawableの不透明度が変化したかを取得する。 + * + * @param drawableIndex drawableのインデックス + * @return true Drawableの不透明度が直近のCubismModel.update関数で変化した + * @return false Drawableの不透明度が直近のCubismModel.update関数で変化してない + */ + getDrawableDynamicFlagOpacityDidChange(drawableIndex: number): boolean; + /** + * Drawableの描画順序の変化情報の取得 + * + * 直近のCubismModel.update関数でDrawableの描画の順序が変化したかを取得する。 + * + * @param drawableIndex Drawableのインデックス + * @return true Drawableの描画の順序が直近のCubismModel.update関数で変化した + * @return false Drawableの描画の順序が直近のCubismModel.update関数で変化してない + */ + getDrawableDynamicFlagRenderOrderDidChange(drawableIndex: number): boolean; + /** + * Drawableの乗算色・スクリーン色の変化情報の取得 + * + * 直近のCubismModel.update関数でDrawableの乗算色・スクリーン色が変化したかを取得する。 + * + * @param drawableIndex Drawableのインデックス + * @return true Drawableの乗算色・スクリーン色が直近のCubismModel.update関数で変化した + * @return false Drawableの乗算色・スクリーン色が直近のCubismModel.update関数で変化してない + */ + getDrawableDynamicFlagBlendColorDidChange(drawableIndex: number): boolean; + /** + * 保存されたパラメータの読み込み + */ + loadParameters(): void; + /** + * 初期化する + */ + initialize(): void; + /** + * コンストラクタ + * @param model モデル + */ + constructor(model: Live2DCubismCore.Model); + /** + * デストラクタ相当の処理 + */ + release(): void; + private _notExistPartOpacities; + private _notExistPartId; + private _notExistParameterValues; + private _notExistParameterId; + private _savedParameters; + private _isOverwrittenModelMultiplyColors; + private _isOverwrittenModelScreenColors; + private _userMultiplyColors; + private _userScreenColors; + private _userPartScreenColors; + private _userPartMultiplyColors; + private _partChildDrawables; + private _model; + private _parameterValues; + private _parameterMaximumValues; + private _parameterMinimumValues; + private _partOpacities; + private _modelOpacity; + private _parameterIds; + private _partIds; + private _drawableIds; + private _isOverwrittenCullings; + private _userCullings; +} +import * as $ from './cubismmodel'; +export declare namespace Live2DCubismFramework { + const CubismModel: typeof $.CubismModel; + type CubismModel = $.CubismModel; +} +//# sourceMappingURL=cubismmodel.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/model/cubismmodel.d.ts.map b/live2demo/Framework/model/cubismmodel.d.ts.map new file mode 100644 index 0000000..b778272 --- /dev/null +++ b/live2demo/Framework/model/cubismmodel.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismmodel.d.ts","sourceRoot":"","sources":["../../src/model/cubismmodel.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/model/cubismmodel.js b/live2demo/Framework/model/cubismmodel.js new file mode 100644 index 0000000..0a84f2f --- /dev/null +++ b/live2demo/Framework/model/cubismmodel.js @@ -0,0 +1,1198 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.CubismModel = exports.DrawableCullingData = exports.PartColorData = exports.DrawableColorData = void 0; +var live2dcubismframework_1 = require("../live2dcubismframework"); +var cubismrenderer_1 = require("../rendering/cubismrenderer"); +var csmmap_1 = require("../type/csmmap"); +var csmvector_1 = require("../type/csmvector"); +var cubismdebug_1 = require("../utils/cubismdebug"); +/** + * SDK側から与えられたDrawableの乗算色・スクリーン色上書きフラグと + * その色を保持する構造体 + */ +var DrawableColorData = /** @class */ (function () { + function DrawableColorData(isOverwritten, color) { + if (isOverwritten === void 0) { isOverwritten = false; } + if (color === void 0) { color = new cubismrenderer_1.CubismTextureColor(); } + this.isOverwritten = isOverwritten; + this.Color = color; + } + return DrawableColorData; +}()); +exports.DrawableColorData = DrawableColorData; +/** + * @brief テクスチャの色をRGBAで扱うための構造体 + */ +var PartColorData = /** @class */ (function () { + function PartColorData(isOverwritten, color) { + if (isOverwritten === void 0) { isOverwritten = false; } + if (color === void 0) { color = new cubismrenderer_1.CubismTextureColor(); } + this.isOverwritten = isOverwritten; + this.Color = color; + } + return PartColorData; +}()); +exports.PartColorData = PartColorData; +/** + * テクスチャのカリング設定を管理するための構造体 + */ +var DrawableCullingData = /** @class */ (function () { + /** + * コンストラクタ + * + * @param isOverwritten + * @param isCulling + */ + function DrawableCullingData(isOverwritten, isCulling) { + if (isOverwritten === void 0) { isOverwritten = false; } + if (isCulling === void 0) { isCulling = false; } + this.isOverwritten = isOverwritten; + this.isCulling = isCulling; + } + return DrawableCullingData; +}()); +exports.DrawableCullingData = DrawableCullingData; +/** + * モデル + * + * Mocデータから生成されるモデルのクラス。 + */ +var CubismModel = /** @class */ (function () { + /** + * コンストラクタ + * @param model モデル + */ + function CubismModel(model) { + this._model = model; + this._parameterValues = null; + this._parameterMaximumValues = null; + this._parameterMinimumValues = null; + this._partOpacities = null; + this._savedParameters = new csmvector_1.csmVector(); + this._parameterIds = new csmvector_1.csmVector(); + this._drawableIds = new csmvector_1.csmVector(); + this._partIds = new csmvector_1.csmVector(); + this._isOverwrittenModelMultiplyColors = false; + this._isOverwrittenModelScreenColors = false; + this._isOverwrittenCullings = false; + this._modelOpacity = 1.0; + this._userMultiplyColors = new csmvector_1.csmVector(); + this._userScreenColors = new csmvector_1.csmVector(); + this._userCullings = new csmvector_1.csmVector(); + this._userPartMultiplyColors = new csmvector_1.csmVector(); + this._userPartScreenColors = new csmvector_1.csmVector(); + this._partChildDrawables = new csmvector_1.csmVector(); + this._notExistPartId = new csmmap_1.csmMap(); + this._notExistParameterId = new csmmap_1.csmMap(); + this._notExistParameterValues = new csmmap_1.csmMap(); + this._notExistPartOpacities = new csmmap_1.csmMap(); + } + /** + * モデルのパラメータの更新 + */ + CubismModel.prototype.update = function () { + // Update model + this._model.update(); + this._model.drawables.resetDynamicFlags(); + }; + /** + * PixelsPerUnitを取得する + * @returns PixelsPerUnit + */ + CubismModel.prototype.getPixelsPerUnit = function () { + if (this._model == null) { + return 0.0; + } + return this._model.canvasinfo.PixelsPerUnit; + }; + /** + * キャンバスの幅を取得する + */ + CubismModel.prototype.getCanvasWidth = function () { + if (this._model == null) { + return 0.0; + } + return (this._model.canvasinfo.CanvasWidth / this._model.canvasinfo.PixelsPerUnit); + }; + /** + * キャンバスの高さを取得する + */ + CubismModel.prototype.getCanvasHeight = function () { + if (this._model == null) { + return 0.0; + } + return (this._model.canvasinfo.CanvasHeight / this._model.canvasinfo.PixelsPerUnit); + }; + /** + * パラメータを保存する + */ + CubismModel.prototype.saveParameters = function () { + var parameterCount = this._model.parameters.count; + var savedParameterCount = this._savedParameters.getSize(); + for (var i = 0; i < parameterCount; ++i) { + if (i < savedParameterCount) { + this._savedParameters.set(i, this._parameterValues[i]); + } + else { + this._savedParameters.pushBack(this._parameterValues[i]); + } + } + }; + /** + * 乗算色を取得する + * @param index Drawablesのインデックス + * @returns 指定したdrawableの乗算色(RGBA) + */ + CubismModel.prototype.getMultiplyColor = function (index) { + // Drawableとモデル全体の乗算色上書きフラグがどちらもtrueな場合、モデル全体の上書きフラグが優先される + if (this.getOverwriteFlagForModelMultiplyColors() || + this.getOverwriteFlagForDrawableMultiplyColors(index)) { + return this._userMultiplyColors.at(index).Color; + } + var color = this.getDrawableMultiplyColor(index); + return color; + }; + /** + * スクリーン色を取得する + * @param index Drawablesのインデックス + * @returns 指定したdrawableのスクリーン色(RGBA) + */ + CubismModel.prototype.getScreenColor = function (index) { + // Drawableとモデル全体のスクリーン色上書きフラグがどちらもtrueな場合、モデル全体の上書きフラグが優先される + if (this.getOverwriteFlagForModelScreenColors() || + this.getOverwriteFlagForDrawableScreenColors(index)) { + return this._userScreenColors.at(index).Color; + } + var color = this.getDrawableScreenColor(index); + return color; + }; + /** + * 乗算色をセットする + * @param index Drawablesのインデックス + * @param color 設定する乗算色(CubismTextureColor) + */ + CubismModel.prototype.setMultiplyColorByTextureColor = function (index, color) { + this.setMultiplyColorByRGBA(index, color.R, color.G, color.B, color.A); + }; + /** + * 乗算色をセットする + * @param index Drawablesのインデックス + * @param r 設定する乗算色のR値 + * @param g 設定する乗算色のG値 + * @param b 設定する乗算色のB値 + * @param a 設定する乗算色のA値 + */ + CubismModel.prototype.setMultiplyColorByRGBA = function (index, r, g, b, a) { + if (a === void 0) { a = 1.0; } + this._userMultiplyColors.at(index).Color.R = r; + this._userMultiplyColors.at(index).Color.G = g; + this._userMultiplyColors.at(index).Color.B = b; + this._userMultiplyColors.at(index).Color.A = a; + }; + /** + * スクリーン色をセットする + * @param index Drawablesのインデックス + * @param color 設定するスクリーン色(CubismTextureColor) + */ + CubismModel.prototype.setScreenColorByTextureColor = function (index, color) { + this.setScreenColorByRGBA(index, color.R, color.G, color.B, color.A); + }; + /** + * スクリーン色をセットする + * @param index Drawablesのインデックス + * @param r 設定するスクリーン色のR値 + * @param g 設定するスクリーン色のG値 + * @param b 設定するスクリーン色のB値 + * @param a 設定するスクリーン色のA値 + */ + CubismModel.prototype.setScreenColorByRGBA = function (index, r, g, b, a) { + if (a === void 0) { a = 1.0; } + this._userScreenColors.at(index).Color.R = r; + this._userScreenColors.at(index).Color.G = g; + this._userScreenColors.at(index).Color.B = b; + this._userScreenColors.at(index).Color.A = a; + }; + /** + * partの乗算色を取得する + * @param partIndex partのインデックス + * @returns 指定したpartの乗算色 + */ + CubismModel.prototype.getPartMultiplyColor = function (partIndex) { + return this._userPartMultiplyColors.at(partIndex).Color; + }; + /** + * partのスクリーン色を取得する + * @param partIndex partのインデックス + * @returns 指定したpartのスクリーン色 + */ + CubismModel.prototype.getPartScreenColor = function (partIndex) { + return this._userPartScreenColors.at(partIndex).Color; + }; + /** + * partのOverwriteColor setter関数 + * @param partIndex partのインデックス + * @param r 設定する色のR値 + * @param g 設定する色のG値 + * @param b 設定する色のB値 + * @param a 設定する色のA値 + * @param partColors 設定するpartのカラーデータ配列 + * @param drawableColors partに関連するDrawableのカラーデータ配列 + */ + CubismModel.prototype.setPartColor = function (partIndex, r, g, b, a, partColors, drawableColors) { + partColors.at(partIndex).Color.R = r; + partColors.at(partIndex).Color.G = g; + partColors.at(partIndex).Color.B = b; + partColors.at(partIndex).Color.A = a; + if (partColors.at(partIndex).isOverwritten) { + for (var i = 0; i < this._partChildDrawables.at(partIndex).getSize(); ++i) { + var drawableIndex = this._partChildDrawables.at(partIndex).at(i); + drawableColors.at(drawableIndex).Color.R = r; + drawableColors.at(drawableIndex).Color.G = g; + drawableColors.at(drawableIndex).Color.B = b; + drawableColors.at(drawableIndex).Color.A = a; + } + } + }; + /** + * 乗算色をセットする + * @param partIndex partのインデックス + * @param color 設定する乗算色(CubismTextureColor) + */ + CubismModel.prototype.setPartMultiplyColorByTextureColor = function (partIndex, color) { + this.setPartMultiplyColorByRGBA(partIndex, color.R, color.G, color.B, color.A); + }; + /** + * 乗算色をセットする + * @param partIndex partのインデックス + * @param r 設定する乗算色のR値 + * @param g 設定する乗算色のG値 + * @param b 設定する乗算色のB値 + * @param a 設定する乗算色のA値 + */ + CubismModel.prototype.setPartMultiplyColorByRGBA = function (partIndex, r, g, b, a) { + this.setPartColor(partIndex, r, g, b, a, this._userPartMultiplyColors, this._userMultiplyColors); + }; + /** + * スクリーン色をセットする + * @param partIndex partのインデックス + * @param color 設定するスクリーン色(CubismTextureColor) + */ + CubismModel.prototype.setPartScreenColorByTextureColor = function (partIndex, color) { + this.setPartScreenColorByRGBA(partIndex, color.R, color.G, color.B, color.A); + }; + /** + * スクリーン色をセットする + * @param partIndex partのインデックス + * @param r 設定するスクリーン色のR値 + * @param g 設定するスクリーン色のG値 + * @param b 設定するスクリーン色のB値 + * @param a 設定するスクリーン色のA値 + */ + CubismModel.prototype.setPartScreenColorByRGBA = function (partIndex, r, g, b, a) { + this.setPartColor(partIndex, r, g, b, a, this._userPartScreenColors, this._userScreenColors); + }; + /** + * SDKから指定したモデルの乗算色を上書きするか + * @returns true -> SDKからの情報を優先する + * false -> モデルに設定されている色情報を使用 + */ + CubismModel.prototype.getOverwriteFlagForModelMultiplyColors = function () { + return this._isOverwrittenModelMultiplyColors; + }; + /** + * SDKから指定したモデルのスクリーン色を上書きするか + * @returns true -> SDKからの情報を優先する + * false -> モデルに設定されている色情報を使用 + */ + CubismModel.prototype.getOverwriteFlagForModelScreenColors = function () { + return this._isOverwrittenModelScreenColors; + }; + /** + * SDKから指定したモデルの乗算色を上書きするかセットする + * @param value true -> SDKからの情報を優先する + * false -> モデルに設定されている色情報を使用 + */ + CubismModel.prototype.setOverwriteFlagForModelMultiplyColors = function (value) { + this._isOverwrittenModelMultiplyColors = value; + }; + /** + * SDKから指定したモデルのスクリーン色を上書きするかセットする + * @param value true -> SDKからの情報を優先する + * false -> モデルに設定されている色情報を使用 + */ + CubismModel.prototype.setOverwriteFlagForModelScreenColors = function (value) { + this._isOverwrittenModelScreenColors = value; + }; + /** + * SDKから指定したDrawableIndexの乗算色を上書きするか + * @returns true -> SDKからの情報を優先する + * false -> モデルに設定されている色情報を使用 + */ + CubismModel.prototype.getOverwriteFlagForDrawableMultiplyColors = function (drawableindex) { + return this._userMultiplyColors.at(drawableindex).isOverwritten; + }; + /** + * SDKから指定したDrawableIndexのスクリーン色を上書きするか + * @returns true -> SDKからの情報を優先する + * false -> モデルに設定されている色情報を使用 + */ + CubismModel.prototype.getOverwriteFlagForDrawableScreenColors = function (drawableindex) { + return this._userScreenColors.at(drawableindex).isOverwritten; + }; + /** + * SDKから指定したDrawableIndexの乗算色を上書きするかセットする + * @param value true -> SDKからの情報を優先する + * false -> モデルに設定されている色情報を使用 + */ + CubismModel.prototype.setOverwriteFlagForDrawableMultiplyColors = function (drawableindex, value) { + this._userMultiplyColors.at(drawableindex).isOverwritten = value; + }; + /** + * SDKから指定したDrawableIndexのスクリーン色を上書きするかセットする + * @param value true -> SDKからの情報を優先する + * false -> モデルに設定されている色情報を使用 + */ + CubismModel.prototype.setOverwriteFlagForDrawableScreenColors = function (drawableindex, value) { + this._userScreenColors.at(drawableindex).isOverwritten = value; + }; + /** + * SDKからpartの乗算色を上書きするか + * @param partIndex partのインデックス + * @returns true -> SDKからの情報を優先する + * false -> モデルに設定されている色情報を使用 + */ + CubismModel.prototype.getOverwriteColorForPartMultiplyColors = function (partIndex) { + return this._userPartMultiplyColors.at(partIndex).isOverwritten; + }; + /** + * SDKからpartのスクリーン色を上書きするか + * @param partIndex partのインデックス + * @returns true -> SDKからの情報を優先する + * false -> モデルに設定されている色情報を使用 + */ + CubismModel.prototype.getOverwriteColorForPartScreenColors = function (partIndex) { + return this._userPartScreenColors.at(partIndex).isOverwritten; + }; + /** + * partのOverwriteFlag setter関数 + * @param partIndex partのインデックス + * @param value true -> SDKからの情報を優先する + * false -> モデルに設定されている色情報を使用 + * @param partColors 設定するpartのカラーデータ配列 + * @param drawableColors partに関連するDrawableのカラーデータ配列 + */ + CubismModel.prototype.setOverwriteColorForPartColors = function (partIndex, value, partColors, drawableColors) { + partColors.at(partIndex).isOverwritten = value; + for (var i = 0; i < this._partChildDrawables.at(partIndex).getSize(); ++i) { + var drawableIndex = this._partChildDrawables.at(partIndex).at(i); + drawableColors.at(drawableIndex).isOverwritten = value; + if (value) { + drawableColors.at(drawableIndex).Color.R = + partColors.at(partIndex).Color.R; + drawableColors.at(drawableIndex).Color.G = + partColors.at(partIndex).Color.G; + drawableColors.at(drawableIndex).Color.B = + partColors.at(partIndex).Color.B; + drawableColors.at(drawableIndex).Color.A = + partColors.at(partIndex).Color.A; + } + } + }; + /** + * SDKからpartのスクリーン色を上書きするかをセットする + * @param partIndex partのインデックス + * @param value true -> SDKからの情報を優先する + * false -> モデルに設定されている色情報を使用 + */ + CubismModel.prototype.setOverwriteColorForPartMultiplyColors = function (partIndex, value) { + this._userPartMultiplyColors.at(partIndex).isOverwritten = value; + this.setOverwriteColorForPartColors(partIndex, value, this._userPartMultiplyColors, this._userMultiplyColors); + }; + /** + * SDKからpartのスクリーン色を上書きするかをセットする + * @param partIndex partのインデックス + * @param value true -> SDKからの情報を優先する + * false -> モデルに設定されている色情報を使用 + */ + CubismModel.prototype.setOverwriteColorForPartScreenColors = function (partIndex, value) { + this._userPartScreenColors.at(partIndex).isOverwritten = value; + this.setOverwriteColorForPartColors(partIndex, value, this._userPartScreenColors, this._userScreenColors); + }; + /** + * Drawableのカリング情報を取得する。 + * + * @param drawableIndex Drawableのインデックス + * @return Drawableのカリング情報 + */ + CubismModel.prototype.getDrawableCulling = function (drawableIndex) { + if (this.getOverwriteFlagForModelCullings() || + this.getOverwriteFlagForDrawableCullings(drawableIndex)) { + return this._userCullings.at(drawableIndex).isCulling; + } + var constantFlags = this._model.drawables.constantFlags; + return !Live2DCubismCore.Utils.hasIsDoubleSidedBit(constantFlags[drawableIndex]); + }; + /** + * Drawableのカリング情報を設定する。 + * + * @param drawableIndex Drawableのインデックス + * @param isCulling カリング情報 + */ + CubismModel.prototype.setDrawableCulling = function (drawableIndex, isCulling) { + this._userCullings.at(drawableIndex).isCulling = isCulling; + }; + /** + * SDKからモデル全体のカリング設定を上書きするか。 + * + * @retval true -> SDK上のカリング設定を使用 + * @retval false -> モデルのカリング設定を使用 + */ + CubismModel.prototype.getOverwriteFlagForModelCullings = function () { + return this._isOverwrittenCullings; + }; + /** + * SDKからモデル全体のカリング設定を上書きするかを設定する。 + * + * @param isOverwrittenCullings SDK上のカリング設定を使うならtrue、モデルのカリング設定を使うならfalse + */ + CubismModel.prototype.setOverwriteFlagForModelCullings = function (isOverwrittenCullings) { + this._isOverwrittenCullings = isOverwrittenCullings; + }; + /** + * + * @param drawableIndex Drawableのインデックス + * @retval true -> SDK上のカリング設定を使用 + * @retval false -> モデルのカリング設定を使用 + */ + CubismModel.prototype.getOverwriteFlagForDrawableCullings = function (drawableIndex) { + return this._userCullings.at(drawableIndex).isOverwritten; + }; + /** + * + * @param drawableIndex Drawableのインデックス + * @param isOverwrittenCullings SDK上のカリング設定を使うならtrue、モデルのカリング設定を使うならfalse + */ + CubismModel.prototype.setOverwriteFlagForDrawableCullings = function (drawableIndex, isOverwrittenCullings) { + this._userCullings.at(drawableIndex).isOverwritten = isOverwrittenCullings; + }; + /** + * モデルの不透明度を取得する + * + * @returns 不透明度の値 + */ + CubismModel.prototype.getModelOapcity = function () { + return this._modelOpacity; + }; + /** + * モデルの不透明度を設定する + * + * @param value 不透明度の値 + */ + CubismModel.prototype.setModelOapcity = function (value) { + this._modelOpacity = value; + }; + /** + * モデルを取得 + */ + CubismModel.prototype.getModel = function () { + return this._model; + }; + /** + * パーツのインデックスを取得 + * @param partId パーツのID + * @return パーツのインデックス + */ + CubismModel.prototype.getPartIndex = function (partId) { + var partIndex; + var partCount = this._model.parts.count; + for (partIndex = 0; partIndex < partCount; ++partIndex) { + if (partId == this._partIds.at(partIndex)) { + return partIndex; + } + } + // モデルに存在していない場合、非存在パーツIDリスト内にあるかを検索し、そのインデックスを返す + if (this._notExistPartId.isExist(partId)) { + return this._notExistPartId.getValue(partId); + } + // 非存在パーツIDリストにない場合、新しく要素を追加する + partIndex = partCount + this._notExistPartId.getSize(); + this._notExistPartId.setValue(partId, partIndex); + this._notExistPartOpacities.appendKey(partIndex); + return partIndex; + }; + /** + * パーツのIDを取得する。 + * + * @param partIndex 取得するパーツのインデックス + * @return パーツのID + */ + CubismModel.prototype.getPartId = function (partIndex) { + var partId = this._model.parts.ids[partIndex]; + return live2dcubismframework_1.CubismFramework.getIdManager().getId(partId); + }; + /** + * パーツの個数の取得 + * @return パーツの個数 + */ + CubismModel.prototype.getPartCount = function () { + var partCount = this._model.parts.count; + return partCount; + }; + /** + * パーツの不透明度の設定(Index) + * @param partIndex パーツのインデックス + * @param opacity 不透明度 + */ + CubismModel.prototype.setPartOpacityByIndex = function (partIndex, opacity) { + if (this._notExistPartOpacities.isExist(partIndex)) { + this._notExistPartOpacities.setValue(partIndex, opacity); + return; + } + // インデックスの範囲内検知 + (0, cubismdebug_1.CSM_ASSERT)(0 <= partIndex && partIndex < this.getPartCount()); + this._partOpacities[partIndex] = opacity; + }; + /** + * パーツの不透明度の設定(Id) + * @param partId パーツのID + * @param opacity パーツの不透明度 + */ + CubismModel.prototype.setPartOpacityById = function (partId, opacity) { + // 高速化のためにPartIndexを取得できる機構になっているが、外部からの設定の時は呼び出し頻度が低いため不要 + var index = this.getPartIndex(partId); + if (index < 0) { + return; // パーツがないのでスキップ + } + this.setPartOpacityByIndex(index, opacity); + }; + /** + * パーツの不透明度の取得(index) + * @param partIndex パーツのインデックス + * @return パーツの不透明度 + */ + CubismModel.prototype.getPartOpacityByIndex = function (partIndex) { + if (this._notExistPartOpacities.isExist(partIndex)) { + // モデルに存在しないパーツIDの場合、非存在パーツリストから不透明度を返す。 + return this._notExistPartOpacities.getValue(partIndex); + } + // インデックスの範囲内検知 + (0, cubismdebug_1.CSM_ASSERT)(0 <= partIndex && partIndex < this.getPartCount()); + return this._partOpacities[partIndex]; + }; + /** + * パーツの不透明度の取得(id) + * @param partId パーツのId + * @return パーツの不透明度 + */ + CubismModel.prototype.getPartOpacityById = function (partId) { + // 高速化のためにPartIndexを取得できる機構になっているが、外部からの設定の時は呼び出し頻度が低いため不要 + var index = this.getPartIndex(partId); + if (index < 0) { + return 0; // パーツが無いのでスキップ + } + return this.getPartOpacityByIndex(index); + }; + /** + * パラメータのインデックスの取得 + * @param パラメータID + * @return パラメータのインデックス + */ + CubismModel.prototype.getParameterIndex = function (parameterId) { + var parameterIndex; + var idCount = this._model.parameters.count; + for (parameterIndex = 0; parameterIndex < idCount; ++parameterIndex) { + if (parameterId != this._parameterIds.at(parameterIndex)) { + continue; + } + return parameterIndex; + } + // モデルに存在していない場合、非存在パラメータIDリスト内を検索し、そのインデックスを返す + if (this._notExistParameterId.isExist(parameterId)) { + return this._notExistParameterId.getValue(parameterId); + } + // 非存在パラメータIDリストにない場合新しく要素を追加する + parameterIndex = + this._model.parameters.count + this._notExistParameterId.getSize(); + this._notExistParameterId.setValue(parameterId, parameterIndex); + this._notExistParameterValues.appendKey(parameterIndex); + return parameterIndex; + }; + /** + * パラメータの個数の取得 + * @return パラメータの個数 + */ + CubismModel.prototype.getParameterCount = function () { + return this._model.parameters.count; + }; + /** + * パラメータの種類の取得 + * @param parameterIndex パラメータのインデックス + * @return csmParameterType_Normal -> 通常のパラメータ + * csmParameterType_BlendShape -> ブレンドシェイプパラメータ + */ + CubismModel.prototype.getParameterType = function (parameterIndex) { + return this._model.parameters.types[parameterIndex]; + }; + /** + * パラメータの最大値の取得 + * @param parameterIndex パラメータのインデックス + * @return パラメータの最大値 + */ + CubismModel.prototype.getParameterMaximumValue = function (parameterIndex) { + return this._model.parameters.maximumValues[parameterIndex]; + }; + /** + * パラメータの最小値の取得 + * @param parameterIndex パラメータのインデックス + * @return パラメータの最小値 + */ + CubismModel.prototype.getParameterMinimumValue = function (parameterIndex) { + return this._model.parameters.minimumValues[parameterIndex]; + }; + /** + * パラメータのデフォルト値の取得 + * @param parameterIndex パラメータのインデックス + * @return パラメータのデフォルト値 + */ + CubismModel.prototype.getParameterDefaultValue = function (parameterIndex) { + return this._model.parameters.defaultValues[parameterIndex]; + }; + /** + * 指定したパラメータindexのIDを取得 + * + * @param parameterIndex パラメータのインデックス + * @returns パラメータID + */ + CubismModel.prototype.getParameterId = function (parameterIndex) { + return live2dcubismframework_1.CubismFramework.getIdManager().getId(this._model.parameters.ids[parameterIndex]); + }; + /** + * パラメータの値の取得 + * @param parameterIndex パラメータのインデックス + * @return パラメータの値 + */ + CubismModel.prototype.getParameterValueByIndex = function (parameterIndex) { + if (this._notExistParameterValues.isExist(parameterIndex)) { + return this._notExistParameterValues.getValue(parameterIndex); + } + // インデックスの範囲内検知 + (0, cubismdebug_1.CSM_ASSERT)(0 <= parameterIndex && parameterIndex < this.getParameterCount()); + return this._parameterValues[parameterIndex]; + }; + /** + * パラメータの値の取得 + * @param parameterId パラメータのID + * @return パラメータの値 + */ + CubismModel.prototype.getParameterValueById = function (parameterId) { + // 高速化のためにparameterIndexを取得できる機構になっているが、外部からの設定の時は呼び出し頻度が低いため不要 + var parameterIndex = this.getParameterIndex(parameterId); + return this.getParameterValueByIndex(parameterIndex); + }; + /** + * パラメータの値の設定 + * @param parameterIndex パラメータのインデックス + * @param value パラメータの値 + * @param weight 重み + */ + CubismModel.prototype.setParameterValueByIndex = function (parameterIndex, value, weight) { + if (weight === void 0) { weight = 1.0; } + if (this._notExistParameterValues.isExist(parameterIndex)) { + this._notExistParameterValues.setValue(parameterIndex, weight == 1 + ? value + : this._notExistParameterValues.getValue(parameterIndex) * + (1 - weight) + + value * weight); + return; + } + // インデックスの範囲内検知 + (0, cubismdebug_1.CSM_ASSERT)(0 <= parameterIndex && parameterIndex < this.getParameterCount()); + if (this._model.parameters.maximumValues[parameterIndex] < value) { + value = this._model.parameters.maximumValues[parameterIndex]; + } + if (this._model.parameters.minimumValues[parameterIndex] > value) { + value = this._model.parameters.minimumValues[parameterIndex]; + } + this._parameterValues[parameterIndex] = + weight == 1 + ? value + : (this._parameterValues[parameterIndex] = + this._parameterValues[parameterIndex] * (1 - weight) + + value * weight); + }; + /** + * パラメータの値の設定 + * @param parameterId パラメータのID + * @param value パラメータの値 + * @param weight 重み + */ + CubismModel.prototype.setParameterValueById = function (parameterId, value, weight) { + if (weight === void 0) { weight = 1.0; } + var index = this.getParameterIndex(parameterId); + this.setParameterValueByIndex(index, value, weight); + }; + /** + * パラメータの値の加算(index) + * @param parameterIndex パラメータインデックス + * @param value 加算する値 + * @param weight 重み + */ + CubismModel.prototype.addParameterValueByIndex = function (parameterIndex, value, weight) { + if (weight === void 0) { weight = 1.0; } + this.setParameterValueByIndex(parameterIndex, this.getParameterValueByIndex(parameterIndex) + value * weight); + }; + /** + * パラメータの値の加算(id) + * @param parameterId パラメータID + * @param value 加算する値 + * @param weight 重み + */ + CubismModel.prototype.addParameterValueById = function (parameterId, value, weight) { + if (weight === void 0) { weight = 1.0; } + var index = this.getParameterIndex(parameterId); + this.addParameterValueByIndex(index, value, weight); + }; + /** + * パラメータの値の乗算 + * @param parameterId パラメータのID + * @param value 乗算する値 + * @param weight 重み + */ + CubismModel.prototype.multiplyParameterValueById = function (parameterId, value, weight) { + if (weight === void 0) { weight = 1.0; } + var index = this.getParameterIndex(parameterId); + this.multiplyParameterValueByIndex(index, value, weight); + }; + /** + * パラメータの値の乗算 + * @param parameterIndex パラメータのインデックス + * @param value 乗算する値 + * @param weight 重み + */ + CubismModel.prototype.multiplyParameterValueByIndex = function (parameterIndex, value, weight) { + if (weight === void 0) { weight = 1.0; } + this.setParameterValueByIndex(parameterIndex, this.getParameterValueByIndex(parameterIndex) * + (1.0 + (value - 1.0) * weight)); + }; + /** + * Drawableのインデックスの取得 + * @param drawableId DrawableのID + * @return Drawableのインデックス + */ + CubismModel.prototype.getDrawableIndex = function (drawableId) { + var drawableCount = this._model.drawables.count; + for (var drawableIndex = 0; drawableIndex < drawableCount; ++drawableIndex) { + if (this._drawableIds.at(drawableIndex) == drawableId) { + return drawableIndex; + } + } + return -1; + }; + /** + * Drawableの個数の取得 + * @return drawableの個数 + */ + CubismModel.prototype.getDrawableCount = function () { + var drawableCount = this._model.drawables.count; + return drawableCount; + }; + /** + * DrawableのIDを取得する + * @param drawableIndex Drawableのインデックス + * @return drawableのID + */ + CubismModel.prototype.getDrawableId = function (drawableIndex) { + var parameterIds = this._model.drawables.ids; + return live2dcubismframework_1.CubismFramework.getIdManager().getId(parameterIds[drawableIndex]); + }; + /** + * Drawableの描画順リストの取得 + * @return Drawableの描画順リスト + */ + CubismModel.prototype.getDrawableRenderOrders = function () { + var renderOrders = this._model.drawables.renderOrders; + return renderOrders; + }; + /** + * @deprecated + * 関数名が誤っていたため、代替となる getDrawableTextureIndex を追加し、この関数は非推奨となりました。 + * + * Drawableのテクスチャインデックスリストの取得 + * @param drawableIndex Drawableのインデックス + * @return drawableのテクスチャインデックスリスト + */ + CubismModel.prototype.getDrawableTextureIndices = function (drawableIndex) { + return this.getDrawableTextureIndex(drawableIndex); + }; + /** + * Drawableのテクスチャインデックスの取得 + * @param drawableIndex Drawableのインデックス + * @return drawableのテクスチャインデックス + */ + CubismModel.prototype.getDrawableTextureIndex = function (drawableIndex) { + var textureIndices = this._model.drawables.textureIndices; + return textureIndices[drawableIndex]; + }; + /** + * DrawableのVertexPositionsの変化情報の取得 + * + * 直近のCubismModel.update関数でDrawableの頂点情報が変化したかを取得する。 + * + * @param drawableIndex Drawableのインデックス + * @retval true Drawableの頂点情報が直近のCubismModel.update関数で変化した + * @retval false Drawableの頂点情報が直近のCubismModel.update関数で変化していない + */ + CubismModel.prototype.getDrawableDynamicFlagVertexPositionsDidChange = function (drawableIndex) { + var dynamicFlags = this._model.drawables.dynamicFlags; + return Live2DCubismCore.Utils.hasVertexPositionsDidChangeBit(dynamicFlags[drawableIndex]); + }; + /** + * Drawableの頂点インデックスの個数の取得 + * @param drawableIndex Drawableのインデックス + * @return drawableの頂点インデックスの個数 + */ + CubismModel.prototype.getDrawableVertexIndexCount = function (drawableIndex) { + var indexCounts = this._model.drawables.indexCounts; + return indexCounts[drawableIndex]; + }; + /** + * Drawableの頂点の個数の取得 + * @param drawableIndex Drawableのインデックス + * @return drawableの頂点の個数 + */ + CubismModel.prototype.getDrawableVertexCount = function (drawableIndex) { + var vertexCounts = this._model.drawables.vertexCounts; + return vertexCounts[drawableIndex]; + }; + /** + * Drawableの頂点リストの取得 + * @param drawableIndex drawableのインデックス + * @return drawableの頂点リスト + */ + CubismModel.prototype.getDrawableVertices = function (drawableIndex) { + return this.getDrawableVertexPositions(drawableIndex); + }; + /** + * Drawableの頂点インデックスリストの取得 + * @param drawableIndex Drawableのインデックス + * @return drawableの頂点インデックスリスト + */ + CubismModel.prototype.getDrawableVertexIndices = function (drawableIndex) { + var indicesArray = this._model.drawables.indices; + return indicesArray[drawableIndex]; + }; + /** + * Drawableの頂点リストの取得 + * @param drawableIndex Drawableのインデックス + * @return drawableの頂点リスト + */ + CubismModel.prototype.getDrawableVertexPositions = function (drawableIndex) { + var verticesArray = this._model.drawables.vertexPositions; + return verticesArray[drawableIndex]; + }; + /** + * Drawableの頂点のUVリストの取得 + * @param drawableIndex Drawableのインデックス + * @return drawableの頂点UVリスト + */ + CubismModel.prototype.getDrawableVertexUvs = function (drawableIndex) { + var uvsArray = this._model.drawables.vertexUvs; + return uvsArray[drawableIndex]; + }; + /** + * Drawableの不透明度の取得 + * @param drawableIndex Drawableのインデックス + * @return drawableの不透明度 + */ + CubismModel.prototype.getDrawableOpacity = function (drawableIndex) { + var opacities = this._model.drawables.opacities; + return opacities[drawableIndex]; + }; + /** + * Drawableの乗算色の取得 + * @param drawableIndex Drawableのインデックス + * @return drawableの乗算色(RGBA) + * スクリーン色はRGBAで取得されるが、Aは必ず0 + */ + CubismModel.prototype.getDrawableMultiplyColor = function (drawableIndex) { + var multiplyColors = this._model.drawables.multiplyColors; + var index = drawableIndex * 4; + var multiplyColor = new cubismrenderer_1.CubismTextureColor(); + multiplyColor.R = multiplyColors[index]; + multiplyColor.G = multiplyColors[index + 1]; + multiplyColor.B = multiplyColors[index + 2]; + multiplyColor.A = multiplyColors[index + 3]; + return multiplyColor; + }; + /** + * Drawableのスクリーン色の取得 + * @param drawableIndex Drawableのインデックス + * @return drawableのスクリーン色(RGBA) + * スクリーン色はRGBAで取得されるが、Aは必ず0 + */ + CubismModel.prototype.getDrawableScreenColor = function (drawableIndex) { + var screenColors = this._model.drawables.screenColors; + var index = drawableIndex * 4; + var screenColor = new cubismrenderer_1.CubismTextureColor(); + screenColor.R = screenColors[index]; + screenColor.G = screenColors[index + 1]; + screenColor.B = screenColors[index + 2]; + screenColor.A = screenColors[index + 3]; + return screenColor; + }; + /** + * Drawableの親パーツのインデックスの取得 + * @param drawableIndex Drawableのインデックス + * @return drawableの親パーツのインデックス + */ + CubismModel.prototype.getDrawableParentPartIndex = function (drawableIndex) { + return this._model.drawables.parentPartIndices[drawableIndex]; + }; + /** + * Drawableのブレンドモードを取得 + * @param drawableIndex Drawableのインデックス + * @return drawableのブレンドモード + */ + CubismModel.prototype.getDrawableBlendMode = function (drawableIndex) { + var constantFlags = this._model.drawables.constantFlags; + return Live2DCubismCore.Utils.hasBlendAdditiveBit(constantFlags[drawableIndex]) + ? cubismrenderer_1.CubismBlendMode.CubismBlendMode_Additive + : Live2DCubismCore.Utils.hasBlendMultiplicativeBit(constantFlags[drawableIndex]) + ? cubismrenderer_1.CubismBlendMode.CubismBlendMode_Multiplicative + : cubismrenderer_1.CubismBlendMode.CubismBlendMode_Normal; + }; + /** + * Drawableのマスクの反転使用の取得 + * + * Drawableのマスク使用時の反転設定を取得する。 + * マスクを使用しない場合は無視される。 + * + * @param drawableIndex Drawableのインデックス + * @return Drawableの反転設定 + */ + CubismModel.prototype.getDrawableInvertedMaskBit = function (drawableIndex) { + var constantFlags = this._model.drawables.constantFlags; + return Live2DCubismCore.Utils.hasIsInvertedMaskBit(constantFlags[drawableIndex]); + }; + /** + * Drawableのクリッピングマスクリストの取得 + * @return Drawableのクリッピングマスクリスト + */ + CubismModel.prototype.getDrawableMasks = function () { + var masks = this._model.drawables.masks; + return masks; + }; + /** + * Drawableのクリッピングマスクの個数リストの取得 + * @return Drawableのクリッピングマスクの個数リスト + */ + CubismModel.prototype.getDrawableMaskCounts = function () { + var maskCounts = this._model.drawables.maskCounts; + return maskCounts; + }; + /** + * クリッピングマスクの使用状態 + * + * @return true クリッピングマスクを使用している + * @return false クリッピングマスクを使用していない + */ + CubismModel.prototype.isUsingMasking = function () { + for (var d = 0; d < this._model.drawables.count; ++d) { + if (this._model.drawables.maskCounts[d] <= 0) { + continue; + } + return true; + } + return false; + }; + /** + * Drawableの表示情報を取得する + * + * @param drawableIndex Drawableのインデックス + * @return true Drawableが表示 + * @return false Drawableが非表示 + */ + CubismModel.prototype.getDrawableDynamicFlagIsVisible = function (drawableIndex) { + var dynamicFlags = this._model.drawables.dynamicFlags; + return Live2DCubismCore.Utils.hasIsVisibleBit(dynamicFlags[drawableIndex]); + }; + /** + * DrawableのDrawOrderの変化情報の取得 + * + * 直近のCubismModel.update関数でdrawableのdrawOrderが変化したかを取得する。 + * drawOrderはartMesh上で指定する0から1000の情報 + * @param drawableIndex drawableのインデックス + * @return true drawableの不透明度が直近のCubismModel.update関数で変化した + * @return false drawableの不透明度が直近のCubismModel.update関数で変化している + */ + CubismModel.prototype.getDrawableDynamicFlagVisibilityDidChange = function (drawableIndex) { + var dynamicFlags = this._model.drawables.dynamicFlags; + return Live2DCubismCore.Utils.hasVisibilityDidChangeBit(dynamicFlags[drawableIndex]); + }; + /** + * Drawableの不透明度の変化情報の取得 + * + * 直近のCubismModel.update関数でdrawableの不透明度が変化したかを取得する。 + * + * @param drawableIndex drawableのインデックス + * @return true Drawableの不透明度が直近のCubismModel.update関数で変化した + * @return false Drawableの不透明度が直近のCubismModel.update関数で変化してない + */ + CubismModel.prototype.getDrawableDynamicFlagOpacityDidChange = function (drawableIndex) { + var dynamicFlags = this._model.drawables.dynamicFlags; + return Live2DCubismCore.Utils.hasOpacityDidChangeBit(dynamicFlags[drawableIndex]); + }; + /** + * Drawableの描画順序の変化情報の取得 + * + * 直近のCubismModel.update関数でDrawableの描画の順序が変化したかを取得する。 + * + * @param drawableIndex Drawableのインデックス + * @return true Drawableの描画の順序が直近のCubismModel.update関数で変化した + * @return false Drawableの描画の順序が直近のCubismModel.update関数で変化してない + */ + CubismModel.prototype.getDrawableDynamicFlagRenderOrderDidChange = function (drawableIndex) { + var dynamicFlags = this._model.drawables.dynamicFlags; + return Live2DCubismCore.Utils.hasRenderOrderDidChangeBit(dynamicFlags[drawableIndex]); + }; + /** + * Drawableの乗算色・スクリーン色の変化情報の取得 + * + * 直近のCubismModel.update関数でDrawableの乗算色・スクリーン色が変化したかを取得する。 + * + * @param drawableIndex Drawableのインデックス + * @return true Drawableの乗算色・スクリーン色が直近のCubismModel.update関数で変化した + * @return false Drawableの乗算色・スクリーン色が直近のCubismModel.update関数で変化してない + */ + CubismModel.prototype.getDrawableDynamicFlagBlendColorDidChange = function (drawableIndex) { + var dynamicFlags = this._model.drawables.dynamicFlags; + return Live2DCubismCore.Utils.hasBlendColorDidChangeBit(dynamicFlags[drawableIndex]); + }; + /** + * 保存されたパラメータの読み込み + */ + CubismModel.prototype.loadParameters = function () { + var parameterCount = this._model.parameters.count; + var savedParameterCount = this._savedParameters.getSize(); + if (parameterCount > savedParameterCount) { + parameterCount = savedParameterCount; + } + for (var i = 0; i < parameterCount; ++i) { + this._parameterValues[i] = this._savedParameters.at(i); + } + }; + /** + * 初期化する + */ + CubismModel.prototype.initialize = function () { + (0, cubismdebug_1.CSM_ASSERT)(this._model); + this._parameterValues = this._model.parameters.values; + this._partOpacities = this._model.parts.opacities; + this._parameterMaximumValues = this._model.parameters.maximumValues; + this._parameterMinimumValues = this._model.parameters.minimumValues; + { + var parameterIds = this._model.parameters.ids; + var parameterCount = this._model.parameters.count; + this._parameterIds.prepareCapacity(parameterCount); + for (var i = 0; i < parameterCount; ++i) { + this._parameterIds.pushBack(live2dcubismframework_1.CubismFramework.getIdManager().getId(parameterIds[i])); + } + } + var partCount = this._model.parts.count; + { + var partIds = this._model.parts.ids; + this._partIds.prepareCapacity(partCount); + for (var i = 0; i < partCount; ++i) { + this._partIds.pushBack(live2dcubismframework_1.CubismFramework.getIdManager().getId(partIds[i])); + } + this._userPartMultiplyColors.prepareCapacity(partCount); + this._userPartScreenColors.prepareCapacity(partCount); + this._partChildDrawables.prepareCapacity(partCount); + } + { + var drawableIds = this._model.drawables.ids; + var drawableCount = this._model.drawables.count; + this._userMultiplyColors.prepareCapacity(drawableCount); + this._userScreenColors.prepareCapacity(drawableCount); + // カリング設定 + this._userCullings.prepareCapacity(drawableCount); + var userCulling = new DrawableCullingData(false, false); + // Part + { + for (var i = 0; i < partCount; ++i) { + var multiplyColor = new cubismrenderer_1.CubismTextureColor(1.0, 1.0, 1.0, 1.0); + var screenColor = new cubismrenderer_1.CubismTextureColor(0.0, 0.0, 0.0, 1.0); + var userMultiplyColor = new PartColorData(false, multiplyColor); + var userScreenColor = new PartColorData(false, screenColor); + this._userPartMultiplyColors.pushBack(userMultiplyColor); + this._userPartScreenColors.pushBack(userScreenColor); + this._partChildDrawables.pushBack(new csmvector_1.csmVector()); + this._partChildDrawables.at(i).prepareCapacity(drawableCount); + } + } + // Drawables + { + for (var i = 0; i < drawableCount; ++i) { + var multiplyColor = new cubismrenderer_1.CubismTextureColor(1.0, 1.0, 1.0, 1.0); + var screenColor = new cubismrenderer_1.CubismTextureColor(0.0, 0.0, 0.0, 1.0); + var userMultiplyColor = new DrawableColorData(false, multiplyColor); + var userScreenColor = new DrawableColorData(false, screenColor); + this._drawableIds.pushBack(live2dcubismframework_1.CubismFramework.getIdManager().getId(drawableIds[i])); + this._userMultiplyColors.pushBack(userMultiplyColor); + this._userScreenColors.pushBack(userScreenColor); + this._userCullings.pushBack(userCulling); + var parentIndex = this.getDrawableParentPartIndex(i); + if (parentIndex >= 0) { + this._partChildDrawables.at(parentIndex).pushBack(i); + } + } + } + } + }; + /** + * デストラクタ相当の処理 + */ + CubismModel.prototype.release = function () { + this._model.release(); + this._model = null; + }; + return CubismModel; +}()); +exports.CubismModel = CubismModel; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismmodel")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismModel = $.CubismModel; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismmodel.js.map \ No newline at end of file diff --git a/live2demo/Framework/model/cubismmodel.js.map b/live2demo/Framework/model/cubismmodel.js.map new file mode 100644 index 0000000..cfb32de --- /dev/null +++ b/live2demo/Framework/model/cubismmodel.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismmodel.js","sourceRoot":"","sources":["../../src/model/cubismmodel.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/model/cubismmodeluserdata.d.ts b/live2demo/Framework/model/cubismmodeluserdata.d.ts new file mode 100644 index 0000000..07a6b72 --- /dev/null +++ b/live2demo/Framework/model/cubismmodeluserdata.d.ts @@ -0,0 +1,73 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { CubismIdHandle } from '../id/cubismid'; +import { csmString } from '../type/csmstring'; +import { csmVector } from '../type/csmvector'; +/** + * ユーザーデータインターフェース + * + * Jsonから読み込んだユーザーデータを記録しておくための構造体 + */ +export declare class CubismModelUserDataNode { + targetType: CubismIdHandle; + targetId: CubismIdHandle; + value: csmString; +} +/** + * ユーザデータの管理クラス + * + * ユーザデータをロード、管理、検索インターフェイス、解放までを行う。 + */ +export declare class CubismModelUserData { + /** + * インスタンスの作成 + * + * @param buffer userdata3.jsonが読み込まれているバッファ + * @param size バッファのサイズ + * @return 作成されたインスタンス + */ + static create(buffer: ArrayBuffer, size: number): CubismModelUserData; + /** + * インスタンスを破棄する + * + * @param modelUserData 破棄するインスタンス + */ + static delete(modelUserData: CubismModelUserData): void; + /** + * ArtMeshのユーザーデータのリストの取得 + * + * @return ユーザーデータリスト + */ + getArtMeshUserDatas(): csmVector; + /** + * userdata3.jsonのパース + * + * @param buffer userdata3.jsonが読み込まれているバッファ + * @param size バッファのサイズ + */ + parseUserData(buffer: ArrayBuffer, size: number): void; + /** + * コンストラクタ + */ + constructor(); + /** + * デストラクタ相当の処理 + * + * ユーザーデータ構造体配列を解放する + */ + release(): void; + private _userDataNodes; + private _artMeshUserDataNode; +} +import * as $ from './cubismmodeluserdata'; +export declare namespace Live2DCubismFramework { + const CubismModelUserData: typeof $.CubismModelUserData; + type CubismModelUserData = $.CubismModelUserData; + const CubismModelUserDataNode: typeof $.CubismModelUserDataNode; + type CubismModelUserDataNode = $.CubismModelUserDataNode; +} +//# sourceMappingURL=cubismmodeluserdata.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/model/cubismmodeluserdata.d.ts.map b/live2demo/Framework/model/cubismmodeluserdata.d.ts.map new file mode 100644 index 0000000..6a87e90 --- /dev/null +++ b/live2demo/Framework/model/cubismmodeluserdata.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismmodeluserdata.d.ts","sourceRoot":"","sources":["../../src/model/cubismmodeluserdata.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAK9C;;;;GAIG;AACH,qBAAa,uBAAuB;IAClC,UAAU,EAAE,cAAc,CAAC;IAC3B,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,EAAE,SAAS,CAAC;CAClB;AAED;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B;;;;;;OAMG;WACW,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,mBAAmB;IAQ5E;;;;OAIG;WACW,MAAM,CAAC,aAAa,EAAE,mBAAmB,GAAG,IAAI;IAO9D;;;;OAIG;IACI,mBAAmB,IAAI,SAAS,CAAC,uBAAuB,CAAC;IAIhE;;;;;OAKG;IACI,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IA4B7D;;OAEG;;IAMH;;;;OAIG;IACI,OAAO,IAAI,IAAI;IAQtB,OAAO,CAAC,cAAc,CAAqC;IAC3D,OAAO,CAAC,oBAAoB,CAAqC;CAClE;AAGD,OAAO,KAAK,CAAC,MAAM,uBAAuB,CAAC;AAE3C,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,mBAAmB,8BAAwB,CAAC;IACzD,KAAY,mBAAmB,GAAG,CAAC,CAAC,mBAAmB,CAAC;IACjD,MAAM,uBAAuB,kCAA4B,CAAC;IACjE,KAAY,uBAAuB,GAAG,CAAC,CAAC,uBAAuB,CAAC;CACjE"} \ No newline at end of file diff --git a/live2demo/Framework/model/cubismmodeluserdata.js b/live2demo/Framework/model/cubismmodeluserdata.js new file mode 100644 index 0000000..d87b798 --- /dev/null +++ b/live2demo/Framework/model/cubismmodeluserdata.js @@ -0,0 +1,138 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.CubismModelUserData = exports.CubismModelUserDataNode = void 0; +var live2dcubismframework_1 = require("../live2dcubismframework"); +var csmstring_1 = require("../type/csmstring"); +var csmvector_1 = require("../type/csmvector"); +var cubismmodeluserdatajson_1 = require("./cubismmodeluserdatajson"); +var ArtMesh = 'ArtMesh'; +/** + * ユーザーデータインターフェース + * + * Jsonから読み込んだユーザーデータを記録しておくための構造体 + */ +var CubismModelUserDataNode = /** @class */ (function () { + function CubismModelUserDataNode() { + } + return CubismModelUserDataNode; +}()); +exports.CubismModelUserDataNode = CubismModelUserDataNode; +/** + * ユーザデータの管理クラス + * + * ユーザデータをロード、管理、検索インターフェイス、解放までを行う。 + */ +var CubismModelUserData = /** @class */ (function () { + /** + * コンストラクタ + */ + function CubismModelUserData() { + this._userDataNodes = new csmvector_1.csmVector(); + this._artMeshUserDataNode = new csmvector_1.csmVector(); + } + /** + * インスタンスの作成 + * + * @param buffer userdata3.jsonが読み込まれているバッファ + * @param size バッファのサイズ + * @return 作成されたインスタンス + */ + CubismModelUserData.create = function (buffer, size) { + var ret = new CubismModelUserData(); + ret.parseUserData(buffer, size); + return ret; + }; + /** + * インスタンスを破棄する + * + * @param modelUserData 破棄するインスタンス + */ + CubismModelUserData.delete = function (modelUserData) { + if (modelUserData != null) { + modelUserData.release(); + modelUserData = null; + } + }; + /** + * ArtMeshのユーザーデータのリストの取得 + * + * @return ユーザーデータリスト + */ + CubismModelUserData.prototype.getArtMeshUserDatas = function () { + return this._artMeshUserDataNode; + }; + /** + * userdata3.jsonのパース + * + * @param buffer userdata3.jsonが読み込まれているバッファ + * @param size バッファのサイズ + */ + CubismModelUserData.prototype.parseUserData = function (buffer, size) { + var json = new cubismmodeluserdatajson_1.CubismModelUserDataJson(buffer, size); + var typeOfArtMesh = live2dcubismframework_1.CubismFramework.getIdManager().getId(ArtMesh); + var nodeCount = json.getUserDataCount(); + for (var i = 0; i < nodeCount; i++) { + var addNode = new CubismModelUserDataNode(); + addNode.targetId = json.getUserDataId(i); + addNode.targetType = live2dcubismframework_1.CubismFramework.getIdManager().getId(json.getUserDataTargetType(i)); + addNode.value = new csmstring_1.csmString(json.getUserDataValue(i)); + this._userDataNodes.pushBack(addNode); + if (addNode.targetType == typeOfArtMesh) { + this._artMeshUserDataNode.pushBack(addNode); + } + } + json.release(); + json = void 0; + }; + /** + * デストラクタ相当の処理 + * + * ユーザーデータ構造体配列を解放する + */ + CubismModelUserData.prototype.release = function () { + for (var i = 0; i < this._userDataNodes.getSize(); ++i) { + this._userDataNodes.set(i, null); + } + this._userDataNodes = null; + }; + return CubismModelUserData; +}()); +exports.CubismModelUserData = CubismModelUserData; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismmodeluserdata")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismModelUserData = $.CubismModelUserData; + Live2DCubismFramework.CubismModelUserDataNode = $.CubismModelUserDataNode; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismmodeluserdata.js.map \ No newline at end of file diff --git a/live2demo/Framework/model/cubismmodeluserdata.js.map b/live2demo/Framework/model/cubismmodeluserdata.js.map new file mode 100644 index 0000000..bbf18a4 --- /dev/null +++ b/live2demo/Framework/model/cubismmodeluserdata.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismmodeluserdata.js","sourceRoot":"","sources":["../../src/model/cubismmodeluserdata.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/model/cubismmodeluserdatajson.d.ts b/live2demo/Framework/model/cubismmodeluserdatajson.d.ts new file mode 100644 index 0000000..be742b4 --- /dev/null +++ b/live2demo/Framework/model/cubismmodeluserdatajson.d.ts @@ -0,0 +1,57 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { CubismIdHandle } from '../id/cubismid'; +export declare class CubismModelUserDataJson { + /** + * コンストラクタ + * @param buffer userdata3.jsonが読み込まれているバッファ + * @param size バッファのサイズ + */ + constructor(buffer: ArrayBuffer, size: number); + /** + * デストラクタ相当の処理 + */ + release(): void; + /** + * ユーザーデータ個数の取得 + * @return ユーザーデータの個数 + */ + getUserDataCount(): number; + /** + * ユーザーデータ総文字列数の取得 + * + * @return ユーザーデータ総文字列数 + */ + getTotalUserDataSize(): number; + /** + * ユーザーデータのタイプの取得 + * + * @return ユーザーデータのタイプ + */ + getUserDataTargetType(i: number): string; + /** + * ユーザーデータのターゲットIDの取得 + * + * @param i インデックス + * @return ユーザーデータターゲットID + */ + getUserDataId(i: number): CubismIdHandle; + /** + * ユーザーデータの文字列の取得 + * + * @param i インデックス + * @return ユーザーデータ + */ + getUserDataValue(i: number): string; + private _json; +} +import * as $ from './cubismmodeluserdatajson'; +export declare namespace Live2DCubismFramework { + const CubismModelUserDataJson: typeof $.CubismModelUserDataJson; + type CubismModelUserDataJson = $.CubismModelUserDataJson; +} +//# sourceMappingURL=cubismmodeluserdatajson.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/model/cubismmodeluserdatajson.d.ts.map b/live2demo/Framework/model/cubismmodeluserdatajson.d.ts.map new file mode 100644 index 0000000..4990b9e --- /dev/null +++ b/live2demo/Framework/model/cubismmodeluserdatajson.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismmodeluserdatajson.d.ts","sourceRoot":"","sources":["../../src/model/cubismmodeluserdatajson.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAYhD,qBAAa,uBAAuB;IAClC;;;;OAIG;gBACgB,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM;IAIpD;;OAEG;IACI,OAAO,IAAI,IAAI;IAItB;;;OAGG;IACI,gBAAgB,IAAI,MAAM;IAQjC;;;;OAIG;IACI,oBAAoB,IAAI,MAAM;IAQrC;;;;OAIG;IACI,qBAAqB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAS/C;;;;;OAKG;IACI,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,cAAc;IAW/C;;;;;OAKG;IACI,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAS1C,OAAO,CAAC,KAAK,CAAa;CAC3B;AAGD,OAAO,KAAK,CAAC,MAAM,2BAA2B,CAAC;AAE/C,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,uBAAuB,kCAA4B,CAAC;IACjE,KAAY,uBAAuB,GAAG,CAAC,CAAC,uBAAuB,CAAC;CACjE"} \ No newline at end of file diff --git a/live2demo/Framework/model/cubismmodeluserdatajson.js b/live2demo/Framework/model/cubismmodeluserdatajson.js new file mode 100644 index 0000000..51e09b9 --- /dev/null +++ b/live2demo/Framework/model/cubismmodeluserdatajson.js @@ -0,0 +1,131 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.CubismModelUserDataJson = void 0; +var live2dcubismframework_1 = require("../live2dcubismframework"); +var cubismjson_1 = require("../utils/cubismjson"); +var Meta = 'Meta'; +var UserDataCount = 'UserDataCount'; +var TotalUserDataSize = 'TotalUserDataSize'; +var UserData = 'UserData'; +var Target = 'Target'; +var Id = 'Id'; +var Value = 'Value'; +var CubismModelUserDataJson = /** @class */ (function () { + /** + * コンストラクタ + * @param buffer userdata3.jsonが読み込まれているバッファ + * @param size バッファのサイズ + */ + function CubismModelUserDataJson(buffer, size) { + this._json = cubismjson_1.CubismJson.create(buffer, size); + } + /** + * デストラクタ相当の処理 + */ + CubismModelUserDataJson.prototype.release = function () { + cubismjson_1.CubismJson.delete(this._json); + }; + /** + * ユーザーデータ個数の取得 + * @return ユーザーデータの個数 + */ + CubismModelUserDataJson.prototype.getUserDataCount = function () { + return this._json + .getRoot() + .getValueByString(Meta) + .getValueByString(UserDataCount) + .toInt(); + }; + /** + * ユーザーデータ総文字列数の取得 + * + * @return ユーザーデータ総文字列数 + */ + CubismModelUserDataJson.prototype.getTotalUserDataSize = function () { + return this._json + .getRoot() + .getValueByString(Meta) + .getValueByString(TotalUserDataSize) + .toInt(); + }; + /** + * ユーザーデータのタイプの取得 + * + * @return ユーザーデータのタイプ + */ + CubismModelUserDataJson.prototype.getUserDataTargetType = function (i) { + return this._json + .getRoot() + .getValueByString(UserData) + .getValueByIndex(i) + .getValueByString(Target) + .getRawString(); + }; + /** + * ユーザーデータのターゲットIDの取得 + * + * @param i インデックス + * @return ユーザーデータターゲットID + */ + CubismModelUserDataJson.prototype.getUserDataId = function (i) { + return live2dcubismframework_1.CubismFramework.getIdManager().getId(this._json + .getRoot() + .getValueByString(UserData) + .getValueByIndex(i) + .getValueByString(Id) + .getRawString()); + }; + /** + * ユーザーデータの文字列の取得 + * + * @param i インデックス + * @return ユーザーデータ + */ + CubismModelUserDataJson.prototype.getUserDataValue = function (i) { + return this._json + .getRoot() + .getValueByString(UserData) + .getValueByIndex(i) + .getValueByString(Value) + .getRawString(); + }; + return CubismModelUserDataJson; +}()); +exports.CubismModelUserDataJson = CubismModelUserDataJson; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismmodeluserdatajson")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismModelUserDataJson = $.CubismModelUserDataJson; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismmodeluserdatajson.js.map \ No newline at end of file diff --git a/live2demo/Framework/model/cubismmodeluserdatajson.js.map b/live2demo/Framework/model/cubismmodeluserdatajson.js.map new file mode 100644 index 0000000..c19cecc --- /dev/null +++ b/live2demo/Framework/model/cubismmodeluserdatajson.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismmodeluserdatajson.js","sourceRoot":"","sources":["../../src/model/cubismmodeluserdatajson.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,kEAA2D;AAC3D,kDAAiD;AAEjD,IAAM,IAAI,GAAG,MAAM,CAAC;AACpB,IAAM,aAAa,GAAG,eAAe,CAAC;AACtC,IAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAC9C,IAAM,QAAQ,GAAG,UAAU,CAAC;AAC5B,IAAM,MAAM,GAAG,QAAQ,CAAC;AACxB,IAAM,EAAE,GAAG,IAAI,CAAC;AAChB,IAAM,KAAK,GAAG,OAAO,CAAC;AAEtB;IACE;;;;OAIG;IACH,iCAAmB,MAAmB,EAAE,IAAY;QAClD,IAAI,CAAC,KAAK,GAAG,uBAAU,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACI,yCAAO,GAAd;QACE,uBAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED;;;OAGG;IACI,kDAAgB,GAAvB;QACE,OAAO,IAAI,CAAC,KAAK;aACd,OAAO,EAAE;aACT,gBAAgB,CAAC,IAAI,CAAC;aACtB,gBAAgB,CAAC,aAAa,CAAC;aAC/B,KAAK,EAAE,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,sDAAoB,GAA3B;QACE,OAAO,IAAI,CAAC,KAAK;aACd,OAAO,EAAE;aACT,gBAAgB,CAAC,IAAI,CAAC;aACtB,gBAAgB,CAAC,iBAAiB,CAAC;aACnC,KAAK,EAAE,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,uDAAqB,GAA5B,UAA6B,CAAS;QACpC,OAAO,IAAI,CAAC,KAAK;aACd,OAAO,EAAE;aACT,gBAAgB,CAAC,QAAQ,CAAC;aAC1B,eAAe,CAAC,CAAC,CAAC;aAClB,gBAAgB,CAAC,MAAM,CAAC;aACxB,YAAY,EAAE,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACI,+CAAa,GAApB,UAAqB,CAAS;QAC5B,OAAO,uCAAe,CAAC,YAAY,EAAE,CAAC,KAAK,CACzC,IAAI,CAAC,KAAK;aACP,OAAO,EAAE;aACT,gBAAgB,CAAC,QAAQ,CAAC;aAC1B,eAAe,CAAC,CAAC,CAAC;aAClB,gBAAgB,CAAC,EAAE,CAAC;aACpB,YAAY,EAAE,CAClB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,kDAAgB,GAAvB,UAAwB,CAAS;QAC/B,OAAO,IAAI,CAAC,KAAK;aACd,OAAO,EAAE;aACT,gBAAgB,CAAC,QAAQ,CAAC;aAC1B,eAAe,CAAC,CAAC,CAAC;aAClB,gBAAgB,CAAC,KAAK,CAAC;aACvB,YAAY,EAAE,CAAC;IACpB,CAAC;IAGH,8BAAC;AAAD,CAAC,AAzFD,IAyFC;AAzFY,0DAAuB;AA2FpC,0CAA0C;AAC1C,2DAA+C;AAC/C,2DAA2D;AAC3D,IAAiB,qBAAqB,CAGrC;AAHD,WAAiB,qBAAqB;IACvB,6CAAuB,GAAG,CAAC,CAAC,uBAAuB,CAAC;AAEnE,CAAC,EAHgB,qBAAqB,qCAArB,qBAAqB,QAGrC"} \ No newline at end of file diff --git a/live2demo/Framework/model/cubismusermodel.d.ts b/live2demo/Framework/model/cubismusermodel.d.ts new file mode 100644 index 0000000..37579e3 --- /dev/null +++ b/live2demo/Framework/model/cubismusermodel.d.ts @@ -0,0 +1,219 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { CubismBreath } from '../effect/cubismbreath'; +import { CubismEyeBlink } from '../effect/cubismeyeblink'; +import { CubismPose } from '../effect/cubismpose'; +import { CubismIdHandle } from '../id/cubismid'; +import { CubismModelMatrix } from '../math/cubismmodelmatrix'; +import { CubismTargetPoint } from '../math/cubismtargetpoint'; +import { ACubismMotion, FinishedMotionCallback } from '../motion/acubismmotion'; +import { CubismExpressionMotionManager } from '../motion/cubismexpressionmotionmanager'; +import { CubismMotion } from '../motion/cubismmotion'; +import { CubismMotionManager } from '../motion/cubismmotionmanager'; +import { CubismMotionQueueManager } from '../motion/cubismmotionqueuemanager'; +import { CubismPhysics } from '../physics/cubismphysics'; +import { CubismRenderer_WebGL } from '../rendering/cubismrenderer_webgl'; +import { csmString } from '../type/csmstring'; +import { CubismMoc } from './cubismmoc'; +import { CubismModel } from './cubismmodel'; +import { CubismModelUserData } from './cubismmodeluserdata'; +/** + * ユーザーが実際に使用するモデル + * + * ユーザーが実際に使用するモデルの基底クラス。これを継承してユーザーが実装する。 + */ +export declare class CubismUserModel { + /** + * 初期化状態の取得 + * + * 初期化されている状態か? + * + * @return true 初期化されている + * @return false 初期化されていない + */ + isInitialized(): boolean; + /** + * 初期化状態の設定 + * + * 初期化状態を設定する。 + * + * @param v 初期化状態 + */ + setInitialized(v: boolean): void; + /** + * 更新状態の取得 + * + * 更新されている状態か? + * + * @return true 更新されている + * @return false 更新されていない + */ + isUpdating(): boolean; + /** + * 更新状態の設定 + * + * 更新状態を設定する + * + * @param v 更新状態 + */ + setUpdating(v: boolean): void; + /** + * マウスドラッグ情報の設定 + * @param ドラッグしているカーソルのX位置 + * @param ドラッグしているカーソルのY位置 + */ + setDragging(x: number, y: number): void; + /** + * 加速度の情報を設定する + * @param x X軸方向の加速度 + * @param y Y軸方向の加速度 + * @param z Z軸方向の加速度 + */ + setAcceleration(x: number, y: number, z: number): void; + /** + * モデル行列を取得する + * @return モデル行列 + */ + getModelMatrix(): CubismModelMatrix; + /** + * 不透明度の設定 + * @param a 不透明度 + */ + setOpacity(a: number): void; + /** + * 不透明度の取得 + * @return 不透明度 + */ + getOpacity(): number; + /** + * モデルデータを読み込む + * + * @param buffer moc3ファイルが読み込まれているバッファ + */ + loadModel(buffer: ArrayBuffer, shouldCheckMocConsistency?: boolean): void; + /** + * モーションデータを読み込む + * @param buffer motion3.jsonファイルが読み込まれているバッファ + * @param size バッファのサイズ + * @param name モーションの名前 + * @param onFinishedMotionHandler モーション再生終了時に呼び出されるコールバック関数 + * @return モーションクラス + */ + loadMotion: (buffer: ArrayBuffer, size: number, name: string, onFinishedMotionHandler?: FinishedMotionCallback) => CubismMotion; + /** + * 表情データの読み込み + * @param buffer expファイルが読み込まれているバッファ + * @param size バッファのサイズ + * @param name 表情の名前 + */ + loadExpression(buffer: ArrayBuffer, size: number, name: string): ACubismMotion; + /** + * ポーズデータの読み込み + * @param buffer pose3.jsonが読み込まれているバッファ + * @param size バッファのサイズ + */ + loadPose(buffer: ArrayBuffer, size: number): void; + /** + * モデルに付属するユーザーデータを読み込む + * @param buffer userdata3.jsonが読み込まれているバッファ + * @param size バッファのサイズ + */ + loadUserData(buffer: ArrayBuffer, size: number): void; + /** + * 物理演算データの読み込み + * @param buffer physics3.jsonが読み込まれているバッファ + * @param size バッファのサイズ + */ + loadPhysics(buffer: ArrayBuffer, size: number): void; + /** + * 当たり判定の取得 + * @param drawableId 検証したいDrawableのID + * @param pointX X位置 + * @param pointY Y位置 + * @return true ヒットしている + * @return false ヒットしていない + */ + isHit(drawableId: CubismIdHandle, pointX: number, pointY: number): boolean; + /** + * モデルの取得 + * @return モデル + */ + getModel(): CubismModel; + /** + * レンダラの取得 + * @return レンダラ + */ + getRenderer(): CubismRenderer_WebGL; + /** + * レンダラを作成して初期化を実行する + * @param maskBufferCount バッファの生成数 + */ + createRenderer(maskBufferCount?: number): void; + /** + * レンダラの解放 + */ + deleteRenderer(): void; + /** + * イベント発火時の標準処理 + * + * Eventが再生処理時にあった場合の処理をする。 + * 継承で上書きすることを想定している。 + * 上書きしない場合はログ出力をする。 + * + * @param eventValue 発火したイベントの文字列データ + */ + motionEventFired(eventValue: csmString): void; + /** + * イベント用のコールバック + * + * CubismMotionQueueManagerにイベント用に登録するためのCallback。 + * CubismUserModelの継承先のEventFiredを呼ぶ。 + * + * @param caller 発火したイベントを管理していたモーションマネージャー、比較用 + * @param eventValue 発火したイベントの文字列データ + * @param customData CubismUserModelを継承したインスタンスを想定 + */ + static cubismDefaultMotionEventCallback(caller: CubismMotionQueueManager, eventValue: csmString, customData: CubismUserModel): void; + /** + * コンストラクタ + */ + constructor(); + /** + * デストラクタに相当する処理 + */ + release(): void; + protected _moc: CubismMoc; + protected _model: CubismModel; + protected _motionManager: CubismMotionManager; + protected _expressionManager: CubismExpressionMotionManager; + protected _eyeBlink: CubismEyeBlink; + protected _breath: CubismBreath; + protected _modelMatrix: CubismModelMatrix; + protected _pose: CubismPose; + protected _dragManager: CubismTargetPoint; + protected _physics: CubismPhysics; + protected _modelUserData: CubismModelUserData; + protected _initialized: boolean; + protected _updating: boolean; + protected _opacity: number; + protected _lipsync: boolean; + protected _lastLipSyncValue: number; + protected _dragX: number; + protected _dragY: number; + protected _accelerationX: number; + protected _accelerationY: number; + protected _accelerationZ: number; + protected _mocConsistency: boolean; + protected _debugMode: boolean; + private _renderer; +} +import * as $ from './cubismusermodel'; +export declare namespace Live2DCubismFramework { + const CubismUserModel: typeof $.CubismUserModel; + type CubismUserModel = $.CubismUserModel; +} +//# sourceMappingURL=cubismusermodel.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/model/cubismusermodel.d.ts.map b/live2demo/Framework/model/cubismusermodel.d.ts.map new file mode 100644 index 0000000..11dacd4 --- /dev/null +++ b/live2demo/Framework/model/cubismusermodel.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismusermodel.d.ts","sourceRoot":"","sources":["../../src/model/cubismusermodel.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/model/cubismusermodel.js b/live2demo/Framework/model/cubismusermodel.js new file mode 100644 index 0000000..8955339 --- /dev/null +++ b/live2demo/Framework/model/cubismusermodel.js @@ -0,0 +1,373 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.CubismUserModel = void 0; +var cubismbreath_1 = require("../effect/cubismbreath"); +var cubismeyeblink_1 = require("../effect/cubismeyeblink"); +var cubismpose_1 = require("../effect/cubismpose"); +var live2dcubismframework_1 = require("../live2dcubismframework"); +var cubismmodelmatrix_1 = require("../math/cubismmodelmatrix"); +var cubismtargetpoint_1 = require("../math/cubismtargetpoint"); +var cubismexpressionmotion_1 = require("../motion/cubismexpressionmotion"); +var cubismexpressionmotionmanager_1 = require("../motion/cubismexpressionmotionmanager"); +var cubismmotion_1 = require("../motion/cubismmotion"); +var cubismmotionmanager_1 = require("../motion/cubismmotionmanager"); +var cubismphysics_1 = require("../physics/cubismphysics"); +var cubismrenderer_webgl_1 = require("../rendering/cubismrenderer_webgl"); +var cubismdebug_1 = require("../utils/cubismdebug"); +var cubismmoc_1 = require("./cubismmoc"); +var cubismmodeluserdata_1 = require("./cubismmodeluserdata"); +/** + * ユーザーが実際に使用するモデル + * + * ユーザーが実際に使用するモデルの基底クラス。これを継承してユーザーが実装する。 + */ +var CubismUserModel = /** @class */ (function () { + /** + * コンストラクタ + */ + function CubismUserModel() { + /** + * モーションデータを読み込む + * @param buffer motion3.jsonファイルが読み込まれているバッファ + * @param size バッファのサイズ + * @param name モーションの名前 + * @param onFinishedMotionHandler モーション再生終了時に呼び出されるコールバック関数 + * @return モーションクラス + */ + this.loadMotion = function (buffer, size, name, onFinishedMotionHandler) { return cubismmotion_1.CubismMotion.create(buffer, size, onFinishedMotionHandler); }; + // 各変数初期化 + this._moc = null; + this._model = null; + this._motionManager = null; + this._expressionManager = null; + this._eyeBlink = null; + this._breath = null; + this._modelMatrix = null; + this._pose = null; + this._dragManager = null; + this._physics = null; + this._modelUserData = null; + this._initialized = false; + this._updating = false; + this._opacity = 1.0; + this._lipsync = true; + this._lastLipSyncValue = 0.0; + this._dragX = 0.0; + this._dragY = 0.0; + this._accelerationX = 0.0; + this._accelerationY = 0.0; + this._accelerationZ = 0.0; + this._mocConsistency = false; + this._debugMode = false; + this._renderer = null; + // モーションマネージャーを作成 + this._motionManager = new cubismmotionmanager_1.CubismMotionManager(); + this._motionManager.setEventCallback(CubismUserModel.cubismDefaultMotionEventCallback, this); + // 表情マネージャーを作成 + this._expressionManager = new cubismexpressionmotionmanager_1.CubismExpressionMotionManager(); + // ドラッグによるアニメーション + this._dragManager = new cubismtargetpoint_1.CubismTargetPoint(); + } + /** + * 初期化状態の取得 + * + * 初期化されている状態か? + * + * @return true 初期化されている + * @return false 初期化されていない + */ + CubismUserModel.prototype.isInitialized = function () { + return this._initialized; + }; + /** + * 初期化状態の設定 + * + * 初期化状態を設定する。 + * + * @param v 初期化状態 + */ + CubismUserModel.prototype.setInitialized = function (v) { + this._initialized = v; + }; + /** + * 更新状態の取得 + * + * 更新されている状態か? + * + * @return true 更新されている + * @return false 更新されていない + */ + CubismUserModel.prototype.isUpdating = function () { + return this._updating; + }; + /** + * 更新状態の設定 + * + * 更新状態を設定する + * + * @param v 更新状態 + */ + CubismUserModel.prototype.setUpdating = function (v) { + this._updating = v; + }; + /** + * マウスドラッグ情報の設定 + * @param ドラッグしているカーソルのX位置 + * @param ドラッグしているカーソルのY位置 + */ + CubismUserModel.prototype.setDragging = function (x, y) { + this._dragManager.set(x, y); + }; + /** + * 加速度の情報を設定する + * @param x X軸方向の加速度 + * @param y Y軸方向の加速度 + * @param z Z軸方向の加速度 + */ + CubismUserModel.prototype.setAcceleration = function (x, y, z) { + this._accelerationX = x; + this._accelerationY = y; + this._accelerationZ = z; + }; + /** + * モデル行列を取得する + * @return モデル行列 + */ + CubismUserModel.prototype.getModelMatrix = function () { + return this._modelMatrix; + }; + /** + * 不透明度の設定 + * @param a 不透明度 + */ + CubismUserModel.prototype.setOpacity = function (a) { + this._opacity = a; + }; + /** + * 不透明度の取得 + * @return 不透明度 + */ + CubismUserModel.prototype.getOpacity = function () { + return this._opacity; + }; + /** + * モデルデータを読み込む + * + * @param buffer moc3ファイルが読み込まれているバッファ + */ + CubismUserModel.prototype.loadModel = function (buffer, shouldCheckMocConsistency) { + if (shouldCheckMocConsistency === void 0) { shouldCheckMocConsistency = false; } + this._moc = cubismmoc_1.CubismMoc.create(buffer, shouldCheckMocConsistency); + if (this._moc == null) { + (0, cubismdebug_1.CubismLogError)('Failed to CubismMoc.create().'); + return; + } + this._model = this._moc.createModel(); + if (this._model == null) { + (0, cubismdebug_1.CubismLogError)('Failed to CreateModel().'); + return; + } + this._model.saveParameters(); + this._modelMatrix = new cubismmodelmatrix_1.CubismModelMatrix(this._model.getCanvasWidth(), this._model.getCanvasHeight()); + }; + /** + * 表情データの読み込み + * @param buffer expファイルが読み込まれているバッファ + * @param size バッファのサイズ + * @param name 表情の名前 + */ + CubismUserModel.prototype.loadExpression = function (buffer, size, name) { + return cubismexpressionmotion_1.CubismExpressionMotion.create(buffer, size); + }; + /** + * ポーズデータの読み込み + * @param buffer pose3.jsonが読み込まれているバッファ + * @param size バッファのサイズ + */ + CubismUserModel.prototype.loadPose = function (buffer, size) { + this._pose = cubismpose_1.CubismPose.create(buffer, size); + }; + /** + * モデルに付属するユーザーデータを読み込む + * @param buffer userdata3.jsonが読み込まれているバッファ + * @param size バッファのサイズ + */ + CubismUserModel.prototype.loadUserData = function (buffer, size) { + this._modelUserData = cubismmodeluserdata_1.CubismModelUserData.create(buffer, size); + }; + /** + * 物理演算データの読み込み + * @param buffer physics3.jsonが読み込まれているバッファ + * @param size バッファのサイズ + */ + CubismUserModel.prototype.loadPhysics = function (buffer, size) { + this._physics = cubismphysics_1.CubismPhysics.create(buffer, size); + }; + /** + * 当たり判定の取得 + * @param drawableId 検証したいDrawableのID + * @param pointX X位置 + * @param pointY Y位置 + * @return true ヒットしている + * @return false ヒットしていない + */ + CubismUserModel.prototype.isHit = function (drawableId, pointX, pointY) { + var drawIndex = this._model.getDrawableIndex(drawableId); + if (drawIndex < 0) { + return false; // 存在しない場合はfalse + } + var count = this._model.getDrawableVertexCount(drawIndex); + var vertices = this._model.getDrawableVertices(drawIndex); + var left = vertices[0]; + var right = vertices[0]; + var top = vertices[1]; + var bottom = vertices[1]; + for (var j = 1; j < count; ++j) { + var x = vertices[live2dcubismframework_1.Constant.vertexOffset + j * live2dcubismframework_1.Constant.vertexStep]; + var y = vertices[live2dcubismframework_1.Constant.vertexOffset + j * live2dcubismframework_1.Constant.vertexStep + 1]; + if (x < left) { + left = x; // Min x + } + if (x > right) { + right = x; // Max x + } + if (y < top) { + top = y; // Min y + } + if (y > bottom) { + bottom = y; // Max y + } + } + var tx = this._modelMatrix.invertTransformX(pointX); + var ty = this._modelMatrix.invertTransformY(pointY); + return left <= tx && tx <= right && top <= ty && ty <= bottom; + }; + /** + * モデルの取得 + * @return モデル + */ + CubismUserModel.prototype.getModel = function () { + return this._model; + }; + /** + * レンダラの取得 + * @return レンダラ + */ + CubismUserModel.prototype.getRenderer = function () { + return this._renderer; + }; + /** + * レンダラを作成して初期化を実行する + * @param maskBufferCount バッファの生成数 + */ + CubismUserModel.prototype.createRenderer = function (maskBufferCount) { + if (maskBufferCount === void 0) { maskBufferCount = 1; } + if (this._renderer) { + this.deleteRenderer(); + } + this._renderer = new cubismrenderer_webgl_1.CubismRenderer_WebGL(); + this._renderer.initialize(this._model, maskBufferCount); + }; + /** + * レンダラの解放 + */ + CubismUserModel.prototype.deleteRenderer = function () { + if (this._renderer != null) { + this._renderer.release(); + this._renderer = null; + } + }; + /** + * イベント発火時の標準処理 + * + * Eventが再生処理時にあった場合の処理をする。 + * 継承で上書きすることを想定している。 + * 上書きしない場合はログ出力をする。 + * + * @param eventValue 発火したイベントの文字列データ + */ + CubismUserModel.prototype.motionEventFired = function (eventValue) { + (0, cubismdebug_1.CubismLogInfo)('{0}', eventValue.s); + }; + /** + * イベント用のコールバック + * + * CubismMotionQueueManagerにイベント用に登録するためのCallback。 + * CubismUserModelの継承先のEventFiredを呼ぶ。 + * + * @param caller 発火したイベントを管理していたモーションマネージャー、比較用 + * @param eventValue 発火したイベントの文字列データ + * @param customData CubismUserModelを継承したインスタンスを想定 + */ + CubismUserModel.cubismDefaultMotionEventCallback = function (caller, eventValue, customData) { + var model = customData; + if (model != null) { + model.motionEventFired(eventValue); + } + }; + /** + * デストラクタに相当する処理 + */ + CubismUserModel.prototype.release = function () { + if (this._motionManager != null) { + this._motionManager.release(); + this._motionManager = null; + } + if (this._expressionManager != null) { + this._expressionManager.release(); + this._expressionManager = null; + } + if (this._moc != null) { + this._moc.deleteModel(this._model); + this._moc.release(); + this._moc = null; + } + this._modelMatrix = null; + cubismpose_1.CubismPose.delete(this._pose); + cubismeyeblink_1.CubismEyeBlink.delete(this._eyeBlink); + cubismbreath_1.CubismBreath.delete(this._breath); + this._dragManager = null; + cubismphysics_1.CubismPhysics.delete(this._physics); + cubismmodeluserdata_1.CubismModelUserData.delete(this._modelUserData); + this.deleteRenderer(); + }; + return CubismUserModel; +}()); +exports.CubismUserModel = CubismUserModel; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismusermodel")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismUserModel = $.CubismUserModel; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismusermodel.js.map \ No newline at end of file diff --git a/live2demo/Framework/model/cubismusermodel.js.map b/live2demo/Framework/model/cubismusermodel.js.map new file mode 100644 index 0000000..a1651c4 --- /dev/null +++ b/live2demo/Framework/model/cubismusermodel.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismusermodel.js","sourceRoot":"","sources":["../../src/model/cubismusermodel.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/motion/acubismmotion.d.ts b/live2demo/Framework/motion/acubismmotion.d.ts new file mode 100644 index 0000000..76f00f3 --- /dev/null +++ b/live2demo/Framework/motion/acubismmotion.d.ts @@ -0,0 +1,182 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { CubismModel } from '../model/cubismmodel'; +import { csmString } from '../type/csmstring'; +import { csmVector } from '../type/csmvector'; +import { CubismMotionQueueEntry } from './cubismmotionqueueentry'; +/** モーション再生終了コールバック関数定義 */ +export type FinishedMotionCallback = (self: ACubismMotion) => void; +/** + * モーションの抽象基底クラス + * + * モーションの抽象基底クラス。MotionQueueManagerによってモーションの再生を管理する。 + */ +export declare abstract class ACubismMotion { + /** + * インスタンスの破棄 + */ + static delete(motion: ACubismMotion): void; + /** + * コンストラクタ + */ + constructor(); + /** + * デストラクタ相当の処理 + */ + release(): void; + /** + * モデルのパラメータ + * @param model 対象のモデル + * @param motionQueueEntry CubismMotionQueueManagerで管理されているモーション + * @param userTimeSeconds デルタ時間の積算値[秒] + */ + updateParameters(model: CubismModel, motionQueueEntry: CubismMotionQueueEntry, userTimeSeconds: number): void; + /** + * @brief モデルのウェイト更新 + * + * モーションのウェイトを更新する。 + * + * @param[in] motionQueueEntry CubismMotionQueueManagerで管理されているモーション + * @param[in] userTimeSeconds デルタ時間の積算値[秒] + */ + updateFadeWeight(motionQueueEntry: CubismMotionQueueEntry, userTimeSeconds: number): number; + /** + * フェードインの時間を設定する + * @param fadeInSeconds フェードインにかかる時間[秒] + */ + setFadeInTime(fadeInSeconds: number): void; + /** + * フェードアウトの時間を設定する + * @param fadeOutSeconds フェードアウトにかかる時間[秒] + */ + setFadeOutTime(fadeOutSeconds: number): void; + /** + * フェードアウトにかかる時間の取得 + * @return フェードアウトにかかる時間[秒] + */ + getFadeOutTime(): number; + /** + * フェードインにかかる時間の取得 + * @return フェードインにかかる時間[秒] + */ + getFadeInTime(): number; + /** + * モーション適用の重みの設定 + * @param weight 重み(0.0 - 1.0) + */ + setWeight(weight: number): void; + /** + * モーション適用の重みの取得 + * @return 重み(0.0 - 1.0) + */ + getWeight(): number; + /** + * モーションの長さの取得 + * @return モーションの長さ[秒] + * + * @note ループの時は「-1」。 + * ループでない場合は、オーバーライドする。 + * 正の値の時は取得される時間で終了する。 + * 「-1」の時は外部から停止命令がない限り終わらない処理となる。 + */ + getDuration(): number; + /** + * モーションのループ1回分の長さの取得 + * @return モーションのループ一回分の長さ[秒] + * + * @note ループしない場合は、getDuration()と同じ値を返す + * ループ一回分の長さが定義できない場合(プログラム的に動き続けるサブクラスなど)の場合は「-1」を返す + */ + getLoopDuration(): number; + /** + * モーション再生の開始時刻の設定 + * @param offsetSeconds モーション再生の開始時刻[秒] + */ + setOffsetTime(offsetSeconds: number): void; + /** + * モデルのパラメータ更新 + * + * イベント発火のチェック。 + * 入力する時間は呼ばれるモーションタイミングを0とした秒数で行う。 + * + * @param beforeCheckTimeSeconds 前回のイベントチェック時間[秒] + * @param motionTimeSeconds 今回の再生時間[秒] + */ + getFiredEvent(beforeCheckTimeSeconds: number, motionTimeSeconds: number): csmVector; + /** + * モーションを更新して、モデルにパラメータ値を反映する + * @param model 対象のモデル + * @param userTimeSeconds デルタ時間の積算値[秒] + * @param weight モーションの重み + * @param motionQueueEntry CubismMotionQueueManagerで管理されているモーション + * @return true モデルへパラメータ値の反映あり + * @return false モデルへのパラメータ値の反映なし(モーションの変化なし) + */ + abstract doUpdateParameters(model: CubismModel, userTimeSeconds: number, weight: number, motionQueueEntry: CubismMotionQueueEntry): void; + /** + * モーション再生終了コールバックの登録 + * + * モーション再生終了コールバックを登録する。 + * isFinishedフラグを設定するタイミングで呼び出される。 + * 以下の状態の際には呼び出されない: + * 1. 再生中のモーションが「ループ」として設定されているとき + * 2. コールバックが登録されていない時 + * + * @param onFinishedMotionHandler モーション再生終了コールバック関数 + */ + setFinishedMotionHandler: (onFinishedMotionHandler: FinishedMotionCallback) => FinishedMotionCallback; + /** + * モーション再生終了コールバックの取得 + * + * モーション再生終了コールバックを取得する。 + * + * @return 登録されているモーション再生終了コールバック関数 + */ + getFinishedMotionHandler: () => FinishedMotionCallback; + /** + * 透明度のカーブが存在するかどうかを確認する + * + * @returns true -> キーが存在する + * false -> キーが存在しない + */ + isExistModelOpacity(): boolean; + /** + * 透明度のカーブのインデックスを返す + * + * @returns success:透明度のカーブのインデックス + */ + getModelOpacityIndex(): number; + /** + * 透明度のIdを返す + * + * @param index モーションカーブのインデックス + * @returns success:透明度のId + */ + getModelOpacityId(index: number): CubismIdHandle; + /** + * 指定時間の透明度の値を返す + * + * @returns success:モーションの現在時間におけるOpacityの値 + * + * @note 更新後の値を取るにはUpdateParameters() の後に呼び出す。 + */ + protected getModelOpacityValue(): number; + _fadeInSeconds: number; + _fadeOutSeconds: number; + _weight: number; + _offsetSeconds: number; + _firedEventValues: csmVector; + _onFinishedMotion?: FinishedMotionCallback; +} +import * as $ from './acubismmotion'; +import { CubismIdHandle } from '../id/cubismid'; +export declare namespace Live2DCubismFramework { + const ACubismMotion: typeof $.ACubismMotion; + type ACubismMotion = $.ACubismMotion; + type FinishedMotionCallback = $.FinishedMotionCallback; +} +//# sourceMappingURL=acubismmotion.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/motion/acubismmotion.d.ts.map b/live2demo/Framework/motion/acubismmotion.d.ts.map new file mode 100644 index 0000000..c7dd32d --- /dev/null +++ b/live2demo/Framework/motion/acubismmotion.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"acubismmotion.d.ts","sourceRoot":"","sources":["../../src/motion/acubismmotion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,0BAA0B;AAC1B,MAAM,MAAM,sBAAsB,GAAG,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;AAEnE;;;;GAIG;AACH,8BAAsB,aAAa;IACjC;;OAEG;WACW,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAKjD;;OAEG;;IASH;;OAEG;IACI,OAAO,IAAI,IAAI;IAItB;;;;;OAKG;IACI,gBAAgB,CACrB,KAAK,EAAE,WAAW,EAClB,gBAAgB,EAAE,sBAAsB,EACxC,eAAe,EAAE,MAAM,GACtB,IAAI;IAyCP;;;;;;;OAOG;IACI,gBAAgB,CACrB,gBAAgB,EAAE,sBAAsB,EACxC,eAAe,EAAE,MAAM,GACtB,MAAM;IA8BT;;;OAGG;IACI,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAIjD;;;OAGG;IACI,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAInD;;;OAGG;IACI,cAAc,IAAI,MAAM;IAI/B;;;OAGG;IACI,aAAa,IAAI,MAAM;IAI9B;;;OAGG;IACI,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAItC;;;OAGG;IACI,SAAS,IAAI,MAAM;IAI1B;;;;;;;;OAQG;IACI,WAAW,IAAI,MAAM;IAI5B;;;;;;OAMG;IACI,eAAe,IAAI,MAAM;IAIhC;;;OAGG;IACI,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAIjD;;;;;;;;OAQG;IACI,aAAa,CAClB,sBAAsB,EAAE,MAAM,EAC9B,iBAAiB,EAAE,MAAM,GACxB,SAAS,CAAC,SAAS,CAAC;IAIvB;;;;;;;;OAQG;aACa,kBAAkB,CAChC,KAAK,EAAE,WAAW,EAClB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,sBAAsB,GACvC,IAAI;IAEP;;;;;;;;;;OAUG;IACI,wBAAwB,4BACJ,sBAAsB,4BACO;IAExD;;;;;;OAMG;IACI,wBAAwB,+BAAgC;IAE/D;;;;;OAKG;IACI,mBAAmB,IAAI,OAAO;IAIrC;;;;OAIG;IACI,oBAAoB,IAAI,MAAM;IAIrC;;;;;OAKG;IACI,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc;IAIvD;;;;;;OAMG;IACH,SAAS,CAAC,oBAAoB,IAAI,MAAM;IAIjC,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IAEvB,iBAAiB,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAGxC,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;CACnD;AAGD,OAAO,KAAK,CAAC,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,aAAa,wBAAkB,CAAC;IAC7C,KAAY,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC;IAC5C,KAAY,sBAAsB,GAAG,CAAC,CAAC,sBAAsB,CAAC;CAC/D"} \ No newline at end of file diff --git a/live2demo/Framework/motion/acubismmotion.js b/live2demo/Framework/motion/acubismmotion.js new file mode 100644 index 0000000..478eb84 --- /dev/null +++ b/live2demo/Framework/motion/acubismmotion.js @@ -0,0 +1,271 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.ACubismMotion = void 0; +var cubismmath_1 = require("../math/cubismmath"); +var csmvector_1 = require("../type/csmvector"); +var cubismdebug_1 = require("../utils/cubismdebug"); +/** + * モーションの抽象基底クラス + * + * モーションの抽象基底クラス。MotionQueueManagerによってモーションの再生を管理する。 + */ +var ACubismMotion = /** @class */ (function () { + /** + * コンストラクタ + */ + function ACubismMotion() { + var _this = this; + /** + * モーション再生終了コールバックの登録 + * + * モーション再生終了コールバックを登録する。 + * isFinishedフラグを設定するタイミングで呼び出される。 + * 以下の状態の際には呼び出されない: + * 1. 再生中のモーションが「ループ」として設定されているとき + * 2. コールバックが登録されていない時 + * + * @param onFinishedMotionHandler モーション再生終了コールバック関数 + */ + this.setFinishedMotionHandler = function (onFinishedMotionHandler) { return (_this._onFinishedMotion = onFinishedMotionHandler); }; + /** + * モーション再生終了コールバックの取得 + * + * モーション再生終了コールバックを取得する。 + * + * @return 登録されているモーション再生終了コールバック関数 + */ + this.getFinishedMotionHandler = function () { return _this._onFinishedMotion; }; + this._fadeInSeconds = -1.0; + this._fadeOutSeconds = -1.0; + this._weight = 1.0; + this._offsetSeconds = 0.0; // 再生の開始時刻 + this._firedEventValues = new csmvector_1.csmVector(); + } + /** + * インスタンスの破棄 + */ + ACubismMotion.delete = function (motion) { + motion.release(); + motion = null; + }; + /** + * デストラクタ相当の処理 + */ + ACubismMotion.prototype.release = function () { + this._weight = 0.0; + }; + /** + * モデルのパラメータ + * @param model 対象のモデル + * @param motionQueueEntry CubismMotionQueueManagerで管理されているモーション + * @param userTimeSeconds デルタ時間の積算値[秒] + */ + ACubismMotion.prototype.updateParameters = function (model, motionQueueEntry, userTimeSeconds) { + if (!motionQueueEntry.isAvailable() || motionQueueEntry.isFinished()) { + return; + } + if (!motionQueueEntry.isStarted()) { + motionQueueEntry.setIsStarted(true); + motionQueueEntry.setStartTime(userTimeSeconds - this._offsetSeconds); // モーションの開始時刻を記録 + motionQueueEntry.setFadeInStartTime(userTimeSeconds); // フェードインの開始時刻 + var duration = this.getDuration(); + if (motionQueueEntry.getEndTime() < 0) { + // 開始していないうちに終了設定している場合がある。 + motionQueueEntry.setEndTime(duration <= 0 ? -1 : motionQueueEntry.getStartTime() + duration); + // duration == -1 の場合はループする + } + } + var fadeWeight = this.updateFadeWeight(motionQueueEntry, userTimeSeconds); + //---- 全てのパラメータIDをループする ---- + this.doUpdateParameters(model, userTimeSeconds, fadeWeight, motionQueueEntry); + // 後処理 + // 終了時刻を過ぎたら終了フラグを立てる(CubismMotionQueueManager) + if (motionQueueEntry.getEndTime() > 0 && + motionQueueEntry.getEndTime() < userTimeSeconds) { + motionQueueEntry.setIsFinished(true); // 終了 + } + }; + /** + * @brief モデルのウェイト更新 + * + * モーションのウェイトを更新する。 + * + * @param[in] motionQueueEntry CubismMotionQueueManagerで管理されているモーション + * @param[in] userTimeSeconds デルタ時間の積算値[秒] + */ + ACubismMotion.prototype.updateFadeWeight = function (motionQueueEntry, userTimeSeconds) { + var fadeWeight = this._weight; // 現在の値と掛け合わせる割合 + //---- フェードイン・アウトの処理 ---- + // 単純なサイン関数でイージングする + var fadeIn = this._fadeInSeconds == 0.0 + ? 1.0 + : cubismmath_1.CubismMath.getEasingSine((userTimeSeconds - motionQueueEntry.getFadeInStartTime()) / + this._fadeInSeconds); + var fadeOut = this._fadeOutSeconds == 0.0 || motionQueueEntry.getEndTime() < 0.0 + ? 1.0 + : cubismmath_1.CubismMath.getEasingSine((motionQueueEntry.getEndTime() - userTimeSeconds) / + this._fadeOutSeconds); + fadeWeight = fadeWeight * fadeIn * fadeOut; + motionQueueEntry.setState(userTimeSeconds, fadeWeight); + (0, cubismdebug_1.CSM_ASSERT)(0.0 <= fadeWeight && fadeWeight <= 1.0); + return fadeWeight; + }; + /** + * フェードインの時間を設定する + * @param fadeInSeconds フェードインにかかる時間[秒] + */ + ACubismMotion.prototype.setFadeInTime = function (fadeInSeconds) { + this._fadeInSeconds = fadeInSeconds; + }; + /** + * フェードアウトの時間を設定する + * @param fadeOutSeconds フェードアウトにかかる時間[秒] + */ + ACubismMotion.prototype.setFadeOutTime = function (fadeOutSeconds) { + this._fadeOutSeconds = fadeOutSeconds; + }; + /** + * フェードアウトにかかる時間の取得 + * @return フェードアウトにかかる時間[秒] + */ + ACubismMotion.prototype.getFadeOutTime = function () { + return this._fadeOutSeconds; + }; + /** + * フェードインにかかる時間の取得 + * @return フェードインにかかる時間[秒] + */ + ACubismMotion.prototype.getFadeInTime = function () { + return this._fadeInSeconds; + }; + /** + * モーション適用の重みの設定 + * @param weight 重み(0.0 - 1.0) + */ + ACubismMotion.prototype.setWeight = function (weight) { + this._weight = weight; + }; + /** + * モーション適用の重みの取得 + * @return 重み(0.0 - 1.0) + */ + ACubismMotion.prototype.getWeight = function () { + return this._weight; + }; + /** + * モーションの長さの取得 + * @return モーションの長さ[秒] + * + * @note ループの時は「-1」。 + * ループでない場合は、オーバーライドする。 + * 正の値の時は取得される時間で終了する。 + * 「-1」の時は外部から停止命令がない限り終わらない処理となる。 + */ + ACubismMotion.prototype.getDuration = function () { + return -1.0; + }; + /** + * モーションのループ1回分の長さの取得 + * @return モーションのループ一回分の長さ[秒] + * + * @note ループしない場合は、getDuration()と同じ値を返す + * ループ一回分の長さが定義できない場合(プログラム的に動き続けるサブクラスなど)の場合は「-1」を返す + */ + ACubismMotion.prototype.getLoopDuration = function () { + return -1.0; + }; + /** + * モーション再生の開始時刻の設定 + * @param offsetSeconds モーション再生の開始時刻[秒] + */ + ACubismMotion.prototype.setOffsetTime = function (offsetSeconds) { + this._offsetSeconds = offsetSeconds; + }; + /** + * モデルのパラメータ更新 + * + * イベント発火のチェック。 + * 入力する時間は呼ばれるモーションタイミングを0とした秒数で行う。 + * + * @param beforeCheckTimeSeconds 前回のイベントチェック時間[秒] + * @param motionTimeSeconds 今回の再生時間[秒] + */ + ACubismMotion.prototype.getFiredEvent = function (beforeCheckTimeSeconds, motionTimeSeconds) { + return this._firedEventValues; + }; + /** + * 透明度のカーブが存在するかどうかを確認する + * + * @returns true -> キーが存在する + * false -> キーが存在しない + */ + ACubismMotion.prototype.isExistModelOpacity = function () { + return false; + }; + /** + * 透明度のカーブのインデックスを返す + * + * @returns success:透明度のカーブのインデックス + */ + ACubismMotion.prototype.getModelOpacityIndex = function () { + return -1; + }; + /** + * 透明度のIdを返す + * + * @param index モーションカーブのインデックス + * @returns success:透明度のId + */ + ACubismMotion.prototype.getModelOpacityId = function (index) { + return null; + }; + /** + * 指定時間の透明度の値を返す + * + * @returns success:モーションの現在時間におけるOpacityの値 + * + * @note 更新後の値を取るにはUpdateParameters() の後に呼び出す。 + */ + ACubismMotion.prototype.getModelOpacityValue = function () { + return 1.0; + }; + return ACubismMotion; +}()); +exports.ACubismMotion = ACubismMotion; +// Namespace definition for compatibility. +var $ = __importStar(require("./acubismmotion")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.ACubismMotion = $.ACubismMotion; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=acubismmotion.js.map \ No newline at end of file diff --git a/live2demo/Framework/motion/acubismmotion.js.map b/live2demo/Framework/motion/acubismmotion.js.map new file mode 100644 index 0000000..885b195 --- /dev/null +++ b/live2demo/Framework/motion/acubismmotion.js.map @@ -0,0 +1 @@ +{"version":3,"file":"acubismmotion.js","sourceRoot":"","sources":["../../src/motion/acubismmotion.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,iDAAgD;AAGhD,+CAA8C;AAC9C,oDAAkD;AAMlD;;;;GAIG;AACH;IASE;;OAEG;IACH;QAAA,iBAMC;QAqND;;;;;;;;;;WAUG;QACI,6BAAwB,GAAG,UAChC,uBAA+C,IAC5C,OAAA,CAAC,KAAI,CAAC,iBAAiB,GAAG,uBAAuB,CAAC,EAAlD,CAAkD,CAAC;QAExD;;;;;;WAMG;QACI,6BAAwB,GAAG,cAAM,OAAA,KAAI,CAAC,iBAAiB,EAAtB,CAAsB,CAAC;QAhP7D,IAAI,CAAC,cAAc,GAAG,CAAC,GAAG,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,CAAC,GAAG,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,UAAU;QACrC,IAAI,CAAC,iBAAiB,GAAG,IAAI,qBAAS,EAAa,CAAC;IACtD,CAAC;IAjBD;;OAEG;IACW,oBAAM,GAApB,UAAqB,MAAqB;QACxC,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IAaD;;OAEG;IACI,+BAAO,GAAd;QACE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACI,wCAAgB,GAAvB,UACE,KAAkB,EAClB,gBAAwC,EACxC,eAAuB;QAEvB,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,gBAAgB,CAAC,UAAU,EAAE,EAAE;YACpE,OAAO;SACR;QAED,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAE;YACjC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACpC,gBAAgB,CAAC,YAAY,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB;YACtF,gBAAgB,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc;YAEpE,IAAM,QAAQ,GAAW,IAAI,CAAC,WAAW,EAAE,CAAC;YAE5C,IAAI,gBAAgB,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE;gBACrC,2BAA2B;gBAC3B,gBAAgB,CAAC,UAAU,CACzB,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,QAAQ,CAChE,CAAC;gBACF,2BAA2B;aAC5B;SACF;QAED,IAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;QAE5E,4BAA4B;QAC5B,IAAI,CAAC,kBAAkB,CACrB,KAAK,EACL,eAAe,EACf,UAAU,EACV,gBAAgB,CACjB,CAAC;QAEF,MAAM;QACN,+CAA+C;QAC/C,IACE,gBAAgB,CAAC,UAAU,EAAE,GAAG,CAAC;YACjC,gBAAgB,CAAC,UAAU,EAAE,GAAG,eAAe,EAC/C;YACA,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;SAC5C;IACH,CAAC;IAED;;;;;;;OAOG;IACI,wCAAgB,GAAvB,UACE,gBAAwC,EACxC,eAAuB;QAEvB,IAAI,UAAU,GAAW,IAAI,CAAC,OAAO,CAAC,CAAC,gBAAgB;QAEvD,yBAAyB;QACzB,mBAAmB;QACnB,IAAM,MAAM,GACV,IAAI,CAAC,cAAc,IAAI,GAAG;YACxB,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,uBAAU,CAAC,aAAa,CACtB,CAAC,eAAe,GAAG,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;gBACvD,IAAI,CAAC,cAAc,CACtB,CAAC;QAER,IAAM,OAAO,GACX,IAAI,CAAC,eAAe,IAAI,GAAG,IAAI,gBAAgB,CAAC,UAAU,EAAE,GAAG,GAAG;YAChE,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,uBAAU,CAAC,aAAa,CACtB,CAAC,gBAAgB,CAAC,UAAU,EAAE,GAAG,eAAe,CAAC;gBAC/C,IAAI,CAAC,eAAe,CACvB,CAAC;QAER,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;QAE3C,gBAAgB,CAAC,QAAQ,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAEvD,IAAA,wBAAU,EAAC,GAAG,IAAI,UAAU,IAAI,UAAU,IAAI,GAAG,CAAC,CAAC;QAEnD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;OAGG;IACI,qCAAa,GAApB,UAAqB,aAAqB;QACxC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACtC,CAAC;IAED;;;OAGG;IACI,sCAAc,GAArB,UAAsB,cAAsB;QAC1C,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;IACxC,CAAC;IAED;;;OAGG;IACI,sCAAc,GAArB;QACE,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACI,qCAAa,GAApB;QACE,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACI,iCAAS,GAAhB,UAAiB,MAAc;QAC7B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED;;;OAGG;IACI,iCAAS,GAAhB;QACE,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;;;;;OAQG;IACI,mCAAW,GAAlB;QACE,OAAO,CAAC,GAAG,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACI,uCAAe,GAAtB;QACE,OAAO,CAAC,GAAG,CAAC;IACd,CAAC;IAED;;;OAGG;IACI,qCAAa,GAApB,UAAqB,aAAqB;QACxC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACtC,CAAC;IAED;;;;;;;;OAQG;IACI,qCAAa,GAApB,UACE,sBAA8B,EAC9B,iBAAyB;QAEzB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IA0CD;;;;;OAKG;IACI,2CAAmB,GAA1B;QACE,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACI,4CAAoB,GAA3B;QACE,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAED;;;;;OAKG;IACI,yCAAiB,GAAxB,UAAyB,KAAa;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACO,4CAAoB,GAA9B;QACE,OAAO,GAAG,CAAC;IACb,CAAC;IAWH,oBAAC;AAAD,CAAC,AAhTD,IAgTC;AAhTqB,sCAAa;AAkTnC,0CAA0C;AAC1C,iDAAqC;AAErC,2DAA2D;AAC3D,IAAiB,qBAAqB,CAIrC;AAJD,WAAiB,qBAAqB;IACvB,mCAAa,GAAG,CAAC,CAAC,aAAa,CAAC;AAG/C,CAAC,EAJgB,qBAAqB,qCAArB,qBAAqB,QAIrC"} \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismexpressionmotion.d.ts b/live2demo/Framework/motion/cubismexpressionmotion.d.ts new file mode 100644 index 0000000..51e051b --- /dev/null +++ b/live2demo/Framework/motion/cubismexpressionmotion.d.ts @@ -0,0 +1,108 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { CubismIdHandle } from '../id/cubismid'; +import { CubismModel } from '../model/cubismmodel'; +import { csmVector } from '../type/csmvector'; +import { ACubismMotion } from './acubismmotion'; +import { CubismMotionQueueEntry } from './cubismmotionqueueentry'; +/** + * 表情のモーション + * + * 表情のモーションクラス。 + */ +export declare class CubismExpressionMotion extends ACubismMotion { + static readonly DefaultAdditiveValue = 0; + static readonly DefaultMultiplyValue = 1; + /** + * インスタンスを作成する。 + * @param buffer expファイルが読み込まれているバッファ + * @param size バッファのサイズ + * @return 作成されたインスタンス + */ + static create(buffer: ArrayBuffer, size: number): CubismExpressionMotion; + /** + * モデルのパラメータの更新の実行 + * @param model 対象のモデル + * @param userTimeSeconds デルタ時間の積算値[秒] + * @param weight モーションの重み + * @param motionQueueEntry CubismMotionQueueManagerで管理されているモーション + */ + doUpdateParameters(model: CubismModel, userTimeSeconds: number, weight: number, motionQueueEntry: CubismMotionQueueEntry): void; + /** + * @brief 表情によるモデルのパラメータの計算 + * + * モデルの表情に関するパラメータを計算する。 + * + * @param[in] model 対象のモデル + * @param[in] userTimeSeconds デルタ時間の積算値[秒] + * @param[in] motionQueueEntry CubismMotionQueueManagerで管理されているモーション + * @param[in] expressionParameterValues モデルに適用する各パラメータの値 + * @param[in] expressionIndex 表情のインデックス + */ + calculateExpressionParameters(model: CubismModel, userTimeSeconds: number, motionQueueEntry: CubismMotionQueueEntry, expressionParameterValues: csmVector, expressionIndex: number): void; + /** + * @brief 表情が参照しているパラメータを取得 + * + * 表情が参照しているパラメータを取得する + * + * @return 表情パラメータ + */ + getExpressionParameters(): csmVector; + /** + * @brief 表情のフェードの値を取得 + * + * 現在の表情のフェードのウェイト値を取得する + * + * @returns 表情のフェードのウェイト値 + */ + getFadeWeight(): number; + protected parse(buffer: ArrayBuffer, size: number): void; + /** + * @brief ブレンド計算 + * + * 入力された値でブレンド計算をする。 + * + * @param source 現在の値 + * @param destination 適用する値 + * @param weight ウェイト + * @returns 計算結果 + */ + calculateValue(source: number, destination: number): number; + /** + * コンストラクタ + */ + protected constructor(); + private _parameters; + private _fadeWeight; +} +/** + * 表情パラメータ値の計算方式 + */ +export declare enum ExpressionBlendType { + Additive = 0, + Multiply = 1, + Overwrite = 2 +} +/** + * 表情のパラメータ情報 + */ +export declare class ExpressionParameter { + parameterId: CubismIdHandle; + blendType: ExpressionBlendType; + value: number; +} +import * as $ from './cubismexpressionmotion'; +import { ExpressionParameterValue } from './cubismexpressionmotionmanager'; +export declare namespace Live2DCubismFramework { + const CubismExpressionMotion: typeof $.CubismExpressionMotion; + type CubismExpressionMotion = $.CubismExpressionMotion; + const ExpressionBlendType: typeof $.ExpressionBlendType; + type ExpressionBlendType = $.ExpressionBlendType; + const ExpressionParameter: typeof $.ExpressionParameter; + type ExpressionParameter = $.ExpressionParameter; +} +//# sourceMappingURL=cubismexpressionmotion.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismexpressionmotion.d.ts.map b/live2demo/Framework/motion/cubismexpressionmotion.d.ts.map new file mode 100644 index 0000000..c358c51 --- /dev/null +++ b/live2demo/Framework/motion/cubismexpressionmotion.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismexpressionmotion.d.ts","sourceRoot":"","sources":["../../src/motion/cubismexpressionmotion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAclE;;;;GAIG;AACH,qBAAa,sBAAuB,SAAQ,aAAa;IACvD,MAAM,CAAC,QAAQ,CAAC,oBAAoB,KAAO;IAC3C,MAAM,CAAC,QAAQ,CAAC,oBAAoB,KAAO;IAE3C;;;;;OAKG;WACW,MAAM,CAClB,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,GACX,sBAAsB;IAMzB;;;;;;OAMG;IACI,kBAAkB,CACvB,KAAK,EAAE,WAAW,EAClB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,sBAAsB,GACvC,IAAI;IAoCP;;;;;;;;;;OAUG;IACI,6BAA6B,CAClC,KAAK,EAAE,WAAW,EAClB,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,sBAAsB,EACxC,yBAAyB,EAAE,SAAS,CAAC,wBAAwB,CAAC,EAC9D,eAAe,EAAE,MAAM;IAuHzB;;;;;;OAMG;IACI,uBAAuB;IAI9B;;;;;;OAMG;IACI,aAAa;IAIpB,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM;IAiEjD;;;;;;;;;OASG;IACI,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAIlE;;OAEG;IACH,SAAS;IAMT,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,WAAW,CAAS;CAC7B;AAED;;GAEG;AACH,oBAAY,mBAAmB;IAC7B,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,SAAS,IAAI;CACd;AAED;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,WAAW,EAAE,cAAc,CAAC;IAC5B,SAAS,EAAE,mBAAmB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf;AAGD,OAAO,KAAK,CAAC,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAG3E,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,sBAAsB,iCAA2B,CAAC;IAC/D,KAAY,sBAAsB,GAAG,CAAC,CAAC,sBAAsB,CAAC;IACvD,MAAM,mBAAmB,8BAAwB,CAAC;IACzD,KAAY,mBAAmB,GAAG,CAAC,CAAC,mBAAmB,CAAC;IACjD,MAAM,mBAAmB,8BAAwB,CAAC;IACzD,KAAY,mBAAmB,GAAG,CAAC,CAAC,mBAAmB,CAAC;CACzD"} \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismexpressionmotion.js b/live2demo/Framework/motion/cubismexpressionmotion.js new file mode 100644 index 0000000..605e04a --- /dev/null +++ b/live2demo/Framework/motion/cubismexpressionmotion.js @@ -0,0 +1,330 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.ExpressionParameter = exports.ExpressionBlendType = exports.CubismExpressionMotion = void 0; +var live2dcubismframework_1 = require("../live2dcubismframework"); +var csmvector_1 = require("../type/csmvector"); +var cubismjson_1 = require("../utils/cubismjson"); +var acubismmotion_1 = require("./acubismmotion"); +// exp3.jsonのキーとデフォルト +var ExpressionKeyFadeIn = 'FadeInTime'; +var ExpressionKeyFadeOut = 'FadeOutTime'; +var ExpressionKeyParameters = 'Parameters'; +var ExpressionKeyId = 'Id'; +var ExpressionKeyValue = 'Value'; +var ExpressionKeyBlend = 'Blend'; +var BlendValueAdd = 'Add'; +var BlendValueMultiply = 'Multiply'; +var BlendValueOverwrite = 'Overwrite'; +var DefaultFadeTime = 1.0; +/** + * 表情のモーション + * + * 表情のモーションクラス。 + */ +var CubismExpressionMotion = /** @class */ (function (_super) { + __extends(CubismExpressionMotion, _super); + /** + * コンストラクタ + */ + function CubismExpressionMotion() { + var _this = _super.call(this) || this; + _this._parameters = new csmvector_1.csmVector(); + _this._fadeWeight = 0.0; + return _this; + } + /** + * インスタンスを作成する。 + * @param buffer expファイルが読み込まれているバッファ + * @param size バッファのサイズ + * @return 作成されたインスタンス + */ + CubismExpressionMotion.create = function (buffer, size) { + var expression = new CubismExpressionMotion(); + expression.parse(buffer, size); + return expression; + }; + /** + * モデルのパラメータの更新の実行 + * @param model 対象のモデル + * @param userTimeSeconds デルタ時間の積算値[秒] + * @param weight モーションの重み + * @param motionQueueEntry CubismMotionQueueManagerで管理されているモーション + */ + CubismExpressionMotion.prototype.doUpdateParameters = function (model, userTimeSeconds, weight, motionQueueEntry) { + for (var i = 0; i < this._parameters.getSize(); ++i) { + var parameter = this._parameters.at(i); + switch (parameter.blendType) { + case ExpressionBlendType.Additive: { + model.addParameterValueById(parameter.parameterId, parameter.value, weight); + break; + } + case ExpressionBlendType.Multiply: { + model.multiplyParameterValueById(parameter.parameterId, parameter.value, weight); + break; + } + case ExpressionBlendType.Overwrite: { + model.setParameterValueById(parameter.parameterId, parameter.value, weight); + break; + } + default: + // 仕様にない値を設定した時はすでに加算モードになっている + break; + } + } + }; + /** + * @brief 表情によるモデルのパラメータの計算 + * + * モデルの表情に関するパラメータを計算する。 + * + * @param[in] model 対象のモデル + * @param[in] userTimeSeconds デルタ時間の積算値[秒] + * @param[in] motionQueueEntry CubismMotionQueueManagerで管理されているモーション + * @param[in] expressionParameterValues モデルに適用する各パラメータの値 + * @param[in] expressionIndex 表情のインデックス + */ + CubismExpressionMotion.prototype.calculateExpressionParameters = function (model, userTimeSeconds, motionQueueEntry, expressionParameterValues, expressionIndex) { + if (!motionQueueEntry.isAvailable()) { + return; + } + if (!motionQueueEntry.isStarted()) { + motionQueueEntry.setIsStarted(true); + motionQueueEntry.setStartTime(userTimeSeconds - this._offsetSeconds); // モーションの開始時刻を記録 + motionQueueEntry.setFadeInStartTime(userTimeSeconds); // フェードインの開始時刻 + var duration = this.getDuration(); + if (motionQueueEntry.getEndTime() < 0.0) { + // 開始していないうちに終了設定している場合がある + motionQueueEntry.setEndTime(duration <= 0.0 ? -1 : motionQueueEntry.getStartTime() + duration); + // duration == -1 の場合はループする + } + } + this._fadeWeight = this.updateFadeWeight(motionQueueEntry, userTimeSeconds); + // モデルに適用する値を計算 + for (var i = 0; i < expressionParameterValues.getSize(); ++i) { + var expressionParameterValue = expressionParameterValues.at(i); + if (expressionParameterValue.parameterId == null) { + continue; + } + var currentParameterValue = (expressionParameterValue.overwriteValue = + model.getParameterValueById(expressionParameterValue.parameterId)); + var expressionParameters = this.getExpressionParameters(); + var parameterIndex = -1; + for (var j = 0; j < expressionParameters.getSize(); ++j) { + if (expressionParameterValue.parameterId != + expressionParameters.at(j).parameterId) { + continue; + } + parameterIndex = j; + break; + } + // 再生中のExpressionが参照していないパラメータは初期値を適用 + if (parameterIndex < 0) { + if (expressionIndex == 0) { + expressionParameterValue.additiveValue = + CubismExpressionMotion.DefaultAdditiveValue; + expressionParameterValue.multiplyValue = + CubismExpressionMotion.DefaultMultiplyValue; + expressionParameterValue.overwriteValue = currentParameterValue; + } + else { + expressionParameterValue.additiveValue = this.calculateValue(expressionParameterValue.additiveValue, CubismExpressionMotion.DefaultAdditiveValue); + expressionParameterValue.multiplyValue = this.calculateValue(expressionParameterValue.multiplyValue, CubismExpressionMotion.DefaultMultiplyValue); + expressionParameterValue.overwriteValue = this.calculateValue(expressionParameterValue.overwriteValue, currentParameterValue); + } + continue; + } + // 値を計算 + var value = expressionParameters.at(parameterIndex).value; + var newAdditiveValue = void 0, newMultiplyValue = void 0, newOverwriteValue = void 0; + switch (expressionParameters.at(parameterIndex).blendType) { + case ExpressionBlendType.Additive: + newAdditiveValue = value; + newMultiplyValue = CubismExpressionMotion.DefaultMultiplyValue; + newOverwriteValue = currentParameterValue; + break; + case ExpressionBlendType.Multiply: + newAdditiveValue = CubismExpressionMotion.DefaultAdditiveValue; + newMultiplyValue = value; + newOverwriteValue = currentParameterValue; + break; + case ExpressionBlendType.Overwrite: + newAdditiveValue = CubismExpressionMotion.DefaultAdditiveValue; + newMultiplyValue = CubismExpressionMotion.DefaultMultiplyValue; + newOverwriteValue = value; + break; + default: + return; + } + if (expressionIndex == 0) { + expressionParameterValue.additiveValue = newAdditiveValue; + expressionParameterValue.multiplyValue = newMultiplyValue; + expressionParameterValue.overwriteValue = newOverwriteValue; + } + else { + expressionParameterValue.additiveValue = + expressionParameterValue.additiveValue * (1.0 - this._fadeWeight) + + newAdditiveValue * this._fadeWeight; + expressionParameterValue.multiplyValue = + expressionParameterValue.multiplyValue * (1.0 - this._fadeWeight) + + newMultiplyValue * this._fadeWeight; + expressionParameterValue.overwriteValue = + expressionParameterValue.overwriteValue * (1.0 - this._fadeWeight) + + newOverwriteValue * this._fadeWeight; + } + } + }; + /** + * @brief 表情が参照しているパラメータを取得 + * + * 表情が参照しているパラメータを取得する + * + * @return 表情パラメータ + */ + CubismExpressionMotion.prototype.getExpressionParameters = function () { + return this._parameters; + }; + /** + * @brief 表情のフェードの値を取得 + * + * 現在の表情のフェードのウェイト値を取得する + * + * @returns 表情のフェードのウェイト値 + */ + CubismExpressionMotion.prototype.getFadeWeight = function () { + return this._fadeWeight; + }; + CubismExpressionMotion.prototype.parse = function (buffer, size) { + var json = cubismjson_1.CubismJson.create(buffer, size); + var root = json.getRoot(); + this.setFadeInTime(root.getValueByString(ExpressionKeyFadeIn).toFloat(DefaultFadeTime)); // フェードイン + this.setFadeOutTime(root.getValueByString(ExpressionKeyFadeOut).toFloat(DefaultFadeTime)); // フェードアウト + // 各パラメータについて + var parameterCount = root + .getValueByString(ExpressionKeyParameters) + .getSize(); + this._parameters.prepareCapacity(parameterCount); + for (var i = 0; i < parameterCount; ++i) { + var param = root + .getValueByString(ExpressionKeyParameters) + .getValueByIndex(i); + var parameterId = live2dcubismframework_1.CubismFramework.getIdManager().getId(param.getValueByString(ExpressionKeyId).getRawString()); // パラメータID + var value = param + .getValueByString(ExpressionKeyValue) + .toFloat(); // 値 + // 計算方法の設定 + var blendType = void 0; + if (param.getValueByString(ExpressionKeyBlend).isNull() || + param.getValueByString(ExpressionKeyBlend).getString() == BlendValueAdd) { + blendType = ExpressionBlendType.Additive; + } + else if (param.getValueByString(ExpressionKeyBlend).getString() == + BlendValueMultiply) { + blendType = ExpressionBlendType.Multiply; + } + else if (param.getValueByString(ExpressionKeyBlend).getString() == + BlendValueOverwrite) { + blendType = ExpressionBlendType.Overwrite; + } + else { + // その他 仕様にない値を設定した時は加算モードにすることで復旧 + blendType = ExpressionBlendType.Additive; + } + // 設定オブジェクトを作成してリストに追加する + var item = new ExpressionParameter(); + item.parameterId = parameterId; + item.blendType = blendType; + item.value = value; + this._parameters.pushBack(item); + } + cubismjson_1.CubismJson.delete(json); // JSONデータは不要になったら削除する + }; + /** + * @brief ブレンド計算 + * + * 入力された値でブレンド計算をする。 + * + * @param source 現在の値 + * @param destination 適用する値 + * @param weight ウェイト + * @returns 計算結果 + */ + CubismExpressionMotion.prototype.calculateValue = function (source, destination) { + return source * (1.0 - this._fadeWeight) + destination * this._fadeWeight; + }; + CubismExpressionMotion.DefaultAdditiveValue = 0.0; // 加算適用の初期値 + CubismExpressionMotion.DefaultMultiplyValue = 1.0; // 乗算適用の初期値 + return CubismExpressionMotion; +}(acubismmotion_1.ACubismMotion)); +exports.CubismExpressionMotion = CubismExpressionMotion; +/** + * 表情パラメータ値の計算方式 + */ +var ExpressionBlendType; +(function (ExpressionBlendType) { + ExpressionBlendType[ExpressionBlendType["Additive"] = 0] = "Additive"; + ExpressionBlendType[ExpressionBlendType["Multiply"] = 1] = "Multiply"; + ExpressionBlendType[ExpressionBlendType["Overwrite"] = 2] = "Overwrite"; // 上書き +})(ExpressionBlendType || (exports.ExpressionBlendType = ExpressionBlendType = {})); +/** + * 表情のパラメータ情報 + */ +var ExpressionParameter = /** @class */ (function () { + function ExpressionParameter() { + } + return ExpressionParameter; +}()); +exports.ExpressionParameter = ExpressionParameter; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismexpressionmotion")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismExpressionMotion = $.CubismExpressionMotion; + Live2DCubismFramework.ExpressionBlendType = $.ExpressionBlendType; + Live2DCubismFramework.ExpressionParameter = $.ExpressionParameter; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismexpressionmotion.js.map \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismexpressionmotion.js.map b/live2demo/Framework/motion/cubismexpressionmotion.js.map new file mode 100644 index 0000000..8cf2a9c --- /dev/null +++ b/live2demo/Framework/motion/cubismexpressionmotion.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismexpressionmotion.js","sourceRoot":"","sources":["../../src/motion/cubismexpressionmotion.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,kEAA2D;AAE3D,+CAA8C;AAC9C,kDAAwD;AACxD,iDAAgD;AAGhD,qBAAqB;AACrB,IAAM,mBAAmB,GAAG,YAAY,CAAC;AACzC,IAAM,oBAAoB,GAAG,aAAa,CAAC;AAC3C,IAAM,uBAAuB,GAAG,YAAY,CAAC;AAC7C,IAAM,eAAe,GAAG,IAAI,CAAC;AAC7B,IAAM,kBAAkB,GAAG,OAAO,CAAC;AACnC,IAAM,kBAAkB,GAAG,OAAO,CAAC;AACnC,IAAM,aAAa,GAAG,KAAK,CAAC;AAC5B,IAAM,kBAAkB,GAAG,UAAU,CAAC;AACtC,IAAM,mBAAmB,GAAG,WAAW,CAAC;AACxC,IAAM,eAAe,GAAG,GAAG,CAAC;AAE5B;;;;GAIG;AACH;IAA4C,0CAAa;IA+SvD;;OAEG;IACH;QAAA,YACE,iBAAO,SAGR;QAFC,KAAI,CAAC,WAAW,GAAG,IAAI,qBAAS,EAAuB,CAAC;QACxD,KAAI,CAAC,WAAW,GAAG,GAAG,CAAC;;IACzB,CAAC;IAlTD;;;;;OAKG;IACW,6BAAM,GAApB,UACE,MAAmB,EACnB,IAAY;QAEZ,IAAM,UAAU,GAA2B,IAAI,sBAAsB,EAAE,CAAC;QACxE,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;OAMG;IACI,mDAAkB,GAAzB,UACE,KAAkB,EAClB,eAAuB,EACvB,MAAc,EACd,gBAAwC;QAExC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE;YACnD,IAAM,SAAS,GAAwB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAE9D,QAAQ,SAAS,CAAC,SAAS,EAAE;gBAC3B,KAAK,mBAAmB,CAAC,QAAQ,CAAC,CAAC;oBACjC,KAAK,CAAC,qBAAqB,CACzB,SAAS,CAAC,WAAW,EACrB,SAAS,CAAC,KAAK,EACf,MAAM,CACP,CAAC;oBACF,MAAM;iBACP;gBACD,KAAK,mBAAmB,CAAC,QAAQ,CAAC,CAAC;oBACjC,KAAK,CAAC,0BAA0B,CAC9B,SAAS,CAAC,WAAW,EACrB,SAAS,CAAC,KAAK,EACf,MAAM,CACP,CAAC;oBACF,MAAM;iBACP;gBACD,KAAK,mBAAmB,CAAC,SAAS,CAAC,CAAC;oBAClC,KAAK,CAAC,qBAAqB,CACzB,SAAS,CAAC,WAAW,EACrB,SAAS,CAAC,KAAK,EACf,MAAM,CACP,CAAC;oBACF,MAAM;iBACP;gBACD;oBACE,8BAA8B;oBAC9B,MAAM;aACT;SACF;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACI,8DAA6B,GAApC,UACE,KAAkB,EAClB,eAAuB,EACvB,gBAAwC,EACxC,yBAA8D,EAC9D,eAAuB;QAEvB,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE;YACnC,OAAO;SACR;QAED,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAE;YACjC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACpC,gBAAgB,CAAC,YAAY,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB;YACtF,gBAAgB,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc;YAEpE,IAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAEpC,IAAI,gBAAgB,CAAC,UAAU,EAAE,GAAG,GAAG,EAAE;gBACvC,0BAA0B;gBAC1B,gBAAgB,CAAC,UAAU,CACzB,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,QAAQ,CAClE,CAAC;gBACF,2BAA2B;aAC5B;SACF;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;QAE5E,eAAe;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,yBAAyB,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE;YAC5D,IAAM,wBAAwB,GAAG,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAEjE,IAAI,wBAAwB,CAAC,WAAW,IAAI,IAAI,EAAE;gBAChD,SAAS;aACV;YAED,IAAM,qBAAqB,GAAG,CAAC,wBAAwB,CAAC,cAAc;gBACpE,KAAK,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC;YAErE,IAAM,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC5D,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;YACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE;gBACvD,IACE,wBAAwB,CAAC,WAAW;oBACpC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EACtC;oBACA,SAAS;iBACV;gBAED,cAAc,GAAG,CAAC,CAAC;gBAEnB,MAAM;aACP;YAED,qCAAqC;YACrC,IAAI,cAAc,GAAG,CAAC,EAAE;gBACtB,IAAI,eAAe,IAAI,CAAC,EAAE;oBACxB,wBAAwB,CAAC,aAAa;wBACpC,sBAAsB,CAAC,oBAAoB,CAAC;oBAC9C,wBAAwB,CAAC,aAAa;wBACpC,sBAAsB,CAAC,oBAAoB,CAAC;oBAC9C,wBAAwB,CAAC,cAAc,GAAG,qBAAqB,CAAC;iBACjE;qBAAM;oBACL,wBAAwB,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAC1D,wBAAwB,CAAC,aAAa,EACtC,sBAAsB,CAAC,oBAAoB,CAC5C,CAAC;oBACF,wBAAwB,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAC1D,wBAAwB,CAAC,aAAa,EACtC,sBAAsB,CAAC,oBAAoB,CAC5C,CAAC;oBACF,wBAAwB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAC3D,wBAAwB,CAAC,cAAc,EACvC,qBAAqB,CACtB,CAAC;iBACH;gBACD,SAAS;aACV;YAED,OAAO;YACP,IAAM,KAAK,GAAG,oBAAoB,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;YAC5D,IAAI,gBAAgB,SAAA,EAAE,gBAAgB,SAAA,EAAE,iBAAiB,SAAA,CAAC;YAC1D,QAAQ,oBAAoB,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,SAAS,EAAE;gBACzD,KAAK,mBAAmB,CAAC,QAAQ;oBAC/B,gBAAgB,GAAG,KAAK,CAAC;oBACzB,gBAAgB,GAAG,sBAAsB,CAAC,oBAAoB,CAAC;oBAC/D,iBAAiB,GAAG,qBAAqB,CAAC;oBAC1C,MAAM;gBAER,KAAK,mBAAmB,CAAC,QAAQ;oBAC/B,gBAAgB,GAAG,sBAAsB,CAAC,oBAAoB,CAAC;oBAC/D,gBAAgB,GAAG,KAAK,CAAC;oBACzB,iBAAiB,GAAG,qBAAqB,CAAC;oBAC1C,MAAM;gBAER,KAAK,mBAAmB,CAAC,SAAS;oBAChC,gBAAgB,GAAG,sBAAsB,CAAC,oBAAoB,CAAC;oBAC/D,gBAAgB,GAAG,sBAAsB,CAAC,oBAAoB,CAAC;oBAC/D,iBAAiB,GAAG,KAAK,CAAC;oBAC1B,MAAM;gBAER;oBACE,OAAO;aACV;YAED,IAAI,eAAe,IAAI,CAAC,EAAE;gBACxB,wBAAwB,CAAC,aAAa,GAAG,gBAAgB,CAAC;gBAC1D,wBAAwB,CAAC,aAAa,GAAG,gBAAgB,CAAC;gBAC1D,wBAAwB,CAAC,cAAc,GAAG,iBAAiB,CAAC;aAC7D;iBAAM;gBACL,wBAAwB,CAAC,aAAa;oBACpC,wBAAwB,CAAC,aAAa,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;wBACjE,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC;gBACtC,wBAAwB,CAAC,aAAa;oBACpC,wBAAwB,CAAC,aAAa,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;wBACjE,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC;gBACtC,wBAAwB,CAAC,cAAc;oBACrC,wBAAwB,CAAC,cAAc,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;wBAClE,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC;aACxC;SACF;IACH,CAAC;IAED;;;;;;OAMG;IACI,wDAAuB,GAA9B;QACE,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;;;OAMG;IACI,8CAAa,GAApB;QACE,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAES,sCAAK,GAAf,UAAgB,MAAmB,EAAE,IAAY;QAC/C,IAAM,IAAI,GAAe,uBAAU,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACzD,IAAM,IAAI,GAAU,IAAI,CAAC,OAAO,EAAE,CAAC;QAEnC,IAAI,CAAC,aAAa,CAChB,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CACpE,CAAC,CAAC,SAAS;QACZ,IAAI,CAAC,cAAc,CACjB,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CACrE,CAAC,CAAC,UAAU;QAEb,aAAa;QACb,IAAM,cAAc,GAAG,IAAI;aACxB,gBAAgB,CAAC,uBAAuB,CAAC;aACzC,OAAO,EAAE,CAAC;QACb,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,EAAE,CAAC,EAAE;YACvC,IAAM,KAAK,GAAU,IAAI;iBACtB,gBAAgB,CAAC,uBAAuB,CAAC;iBACzC,eAAe,CAAC,CAAC,CAAC,CAAC;YACtB,IAAM,WAAW,GAAmB,uCAAe,CAAC,YAAY,EAAE,CAAC,KAAK,CACtE,KAAK,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,YAAY,EAAE,CACvD,CAAC,CAAC,UAAU;YAEb,IAAM,KAAK,GAAW,KAAK;iBACxB,gBAAgB,CAAC,kBAAkB,CAAC;iBACpC,OAAO,EAAE,CAAC,CAAC,IAAI;YAElB,UAAU;YACV,IAAI,SAAS,SAAqB,CAAC;YAEnC,IACE,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,MAAM,EAAE;gBACnD,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,SAAS,EAAE,IAAI,aAAa,EACvE;gBACA,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC;aAC1C;iBAAM,IACL,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,SAAS,EAAE;gBACtD,kBAAkB,EAClB;gBACA,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC;aAC1C;iBAAM,IACL,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,SAAS,EAAE;gBACtD,mBAAmB,EACnB;gBACA,SAAS,GAAG,mBAAmB,CAAC,SAAS,CAAC;aAC3C;iBAAM;gBACL,iCAAiC;gBACjC,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC;aAC1C;YAED,wBAAwB;YACxB,IAAM,IAAI,GAAwB,IAAI,mBAAmB,EAAE,CAAC;YAE5D,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YAEnB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACjC;QAED,uBAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB;IACjD,CAAC;IAED;;;;;;;;;OASG;IACI,+CAAc,GAArB,UAAsB,MAAc,EAAE,WAAmB;QACvD,OAAO,MAAM,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IAC5E,CAAC;IA5Se,2CAAoB,GAAG,GAAG,CAAC,CAAC,WAAW;IACvC,2CAAoB,GAAG,GAAG,CAAC,CAAC,WAAW;IAwTzD,6BAAC;CAAA,AA1TD,CAA4C,6BAAa,GA0TxD;AA1TY,wDAAsB;AA4TnC;;GAEG;AACH,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,qEAAY,CAAA;IACZ,qEAAY,CAAA;IACZ,uEAAa,CAAA,CAAC,MAAM;AACtB,CAAC,EAJW,mBAAmB,mCAAnB,mBAAmB,QAI9B;AAED;;GAEG;AACH;IAAA;IAIA,CAAC;IAAD,0BAAC;AAAD,CAAC,AAJD,IAIC;AAJY,kDAAmB;AAMhC,0CAA0C;AAC1C,0DAA8C;AAG9C,2DAA2D;AAC3D,IAAiB,qBAAqB,CAOrC;AAPD,WAAiB,qBAAqB;IACvB,4CAAsB,GAAG,CAAC,CAAC,sBAAsB,CAAC;IAElD,yCAAmB,GAAG,CAAC,CAAC,mBAAmB,CAAC;IAE5C,yCAAmB,GAAG,CAAC,CAAC,mBAAmB,CAAC;AAE3D,CAAC,EAPgB,qBAAqB,qCAArB,qBAAqB,QAOrC"} \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismexpressionmotionmanager.d.ts b/live2demo/Framework/motion/cubismexpressionmotionmanager.d.ts new file mode 100644 index 0000000..bb59a35 --- /dev/null +++ b/live2demo/Framework/motion/cubismexpressionmotionmanager.d.ts @@ -0,0 +1,84 @@ +import { CubismIdHandle } from '../id/cubismid'; +import { CubismModel } from '../model/cubismmodel'; +import { ACubismMotion } from './acubismmotion'; +import { CubismMotionQueueEntryHandle, CubismMotionQueueManager } from './cubismmotionqueuemanager'; +/** + * @brief パラメータに適用する表情の値を持たせる構造体 + */ +export declare class ExpressionParameterValue { + parameterId: CubismIdHandle; + additiveValue: number; + multiplyValue: number; + overwriteValue: number; +} +/** + * @brief 表情モーションの管理 + * + * 表情モーションの管理をおこなうクラス。 + */ +export declare class CubismExpressionMotionManager extends CubismMotionQueueManager { + /** + * コンストラクタ + */ + constructor(); + /** + * デストラクタ相当の処理 + */ + release(): void; + /** + * @brief 再生中のモーションの優先度の取得 + * + * 再生中のモーションの優先度を取得する。 + * + * @returns モーションの優先度 + */ + getCurrentPriority(): number; + /** + * @brief 予約中のモーションの優先度の取得 + * + * 予約中のモーションの優先度を取得する。 + * + * @return モーションの優先度 + */ + getReservePriority(): number; + /** + * @brief 予約中のモーションの優先度の設定 + * + * 予約中のモーションの優先度を設定する。 + * + * @param[in] priority 優先度 + */ + setReservePriority(priority: number): void; + /** + * @brief 優先度を設定してモーションの開始 + * + * 優先度を設定してモーションを開始する。 + * + * @param[in] motion モーション + * @param[in] autoDelete 再生が終了したモーションのインスタンスを削除するならtrue + * @param[in] priority 優先度 + * @return 開始したモーションの識別番号を返す。個別のモーションが終了したか否かを判定するIsFinished()の引数で使用する。開始できない時は「-1」 + */ + startMotionPriority(motion: ACubismMotion, autoDelete: boolean, priority: number): CubismMotionQueueEntryHandle; + /** + * @brief モーションの更新 + * + * モーションを更新して、モデルにパラメータ値を反映する。 + * + * @param[in] model 対象のモデル + * @param[in] deltaTimeSeconds デルタ時間[秒] + * @retval true 更新されている + * @retval false 更新されていない + */ + updateMotion(model: CubismModel, deltaTimeSeconds: number): boolean; + private _expressionParameterValues; + private _currentPriority; + private _reservePriority; + private _startExpressionTime; +} +import * as $ from './cubismexpressionmotionmanager'; +export declare namespace Live2DCubismFramework { + const CubismExpressionMotionManager: typeof $.CubismExpressionMotionManager; + type CubismExpressionMotionManager = $.CubismExpressionMotionManager; +} +//# sourceMappingURL=cubismexpressionmotionmanager.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismexpressionmotionmanager.d.ts.map b/live2demo/Framework/motion/cubismexpressionmotionmanager.d.ts.map new file mode 100644 index 0000000..df9172d --- /dev/null +++ b/live2demo/Framework/motion/cubismexpressionmotionmanager.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismexpressionmotionmanager.d.ts","sourceRoot":"","sources":["../../src/motion/cubismexpressionmotionmanager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACzB,MAAM,4BAA4B,CAAC;AAEpC;;GAEG;AACH,qBAAa,wBAAwB;IACnC,WAAW,EAAE,cAAc,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,qBAAa,6BAA8B,SAAQ,wBAAwB;IACzE;;OAEG;;IAQH;;OAEG;IACI,OAAO,IAAI,IAAI;IAOtB;;;;;;OAMG;IACI,kBAAkB,IAAI,MAAM;IAInC;;;;;;OAMG;IACI,kBAAkB,IAAI,MAAM;IAInC;;;;;;OAMG;IACI,kBAAkB,CAAC,QAAQ,EAAE,MAAM;IAI1C;;;;;;;;;OASG;IACI,mBAAmB,CACxB,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,OAAO,EACnB,QAAQ,EAAE,MAAM,GACf,4BAA4B;IAS/B;;;;;;;;;OASG;IACI,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO;IA2I1E,OAAO,CAAC,0BAA0B,CAAsC;IACxE,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,oBAAoB,CAAS;CACtC;AAGD,OAAO,KAAK,CAAC,MAAM,iCAAiC,CAAC;AAGrD,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,6BAA6B,wCAAkC,CAAC;IAC7E,KAAY,6BAA6B,GAAG,CAAC,CAAC,6BAA6B,CAAC;CAC7E"} \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismexpressionmotionmanager.js b/live2demo/Framework/motion/cubismexpressionmotionmanager.js new file mode 100644 index 0000000..e329541 --- /dev/null +++ b/live2demo/Framework/motion/cubismexpressionmotionmanager.js @@ -0,0 +1,241 @@ +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.CubismExpressionMotionManager = exports.ExpressionParameterValue = void 0; +var live2dcubismframework_1 = require("../live2dcubismframework"); +var csmvector_1 = require("../type/csmvector"); +var cubismexpressionmotion_1 = require("./cubismexpressionmotion"); +var cubismmotionqueuemanager_1 = require("./cubismmotionqueuemanager"); +/** + * @brief パラメータに適用する表情の値を持たせる構造体 + */ +var ExpressionParameterValue = /** @class */ (function () { + function ExpressionParameterValue() { + } + return ExpressionParameterValue; +}()); +exports.ExpressionParameterValue = ExpressionParameterValue; +/** + * @brief 表情モーションの管理 + * + * 表情モーションの管理をおこなうクラス。 + */ +var CubismExpressionMotionManager = /** @class */ (function (_super) { + __extends(CubismExpressionMotionManager, _super); + /** + * コンストラクタ + */ + function CubismExpressionMotionManager() { + var _this = _super.call(this) || this; + _this._currentPriority = 0; + _this._reservePriority = 0; + _this._expressionParameterValues = new csmvector_1.csmVector(); + return _this; + } + /** + * デストラクタ相当の処理 + */ + CubismExpressionMotionManager.prototype.release = function () { + if (this._expressionParameterValues) { + (0, live2dcubismframework_1.csmDelete)(this._expressionParameterValues); + this._expressionParameterValues = null; + } + }; + /** + * @brief 再生中のモーションの優先度の取得 + * + * 再生中のモーションの優先度を取得する。 + * + * @returns モーションの優先度 + */ + CubismExpressionMotionManager.prototype.getCurrentPriority = function () { + return this._currentPriority; + }; + /** + * @brief 予約中のモーションの優先度の取得 + * + * 予約中のモーションの優先度を取得する。 + * + * @return モーションの優先度 + */ + CubismExpressionMotionManager.prototype.getReservePriority = function () { + return this._reservePriority; + }; + /** + * @brief 予約中のモーションの優先度の設定 + * + * 予約中のモーションの優先度を設定する。 + * + * @param[in] priority 優先度 + */ + CubismExpressionMotionManager.prototype.setReservePriority = function (priority) { + this._reservePriority = priority; + }; + /** + * @brief 優先度を設定してモーションの開始 + * + * 優先度を設定してモーションを開始する。 + * + * @param[in] motion モーション + * @param[in] autoDelete 再生が終了したモーションのインスタンスを削除するならtrue + * @param[in] priority 優先度 + * @return 開始したモーションの識別番号を返す。個別のモーションが終了したか否かを判定するIsFinished()の引数で使用する。開始できない時は「-1」 + */ + CubismExpressionMotionManager.prototype.startMotionPriority = function (motion, autoDelete, priority) { + if (priority == this.getReservePriority()) { + this.setReservePriority(0); + } + this._currentPriority = priority; + return this.startMotion(motion, autoDelete, this._userTimeSeconds); + }; + /** + * @brief モーションの更新 + * + * モーションを更新して、モデルにパラメータ値を反映する。 + * + * @param[in] model 対象のモデル + * @param[in] deltaTimeSeconds デルタ時間[秒] + * @retval true 更新されている + * @retval false 更新されていない + */ + CubismExpressionMotionManager.prototype.updateMotion = function (model, deltaTimeSeconds) { + this._userTimeSeconds += deltaTimeSeconds; + var updated = false; + var motions = this.getCubismMotionQueueEntries(); + var expressionWeight = 0.0; + var expressionIndex = 0; + // ------- 処理を行う -------- + // 既にモーションがあれば終了フラグを立てる + for (var ite = this._motions.begin(); ite.notEqual(this._motions.end());) { + var motionQueueEntry = ite.ptr(); + if (motionQueueEntry == null) { + ite = motions.erase(ite); //削除 + continue; + } + var expressionMotion = (motionQueueEntry.getCubismMotion()); + if (expressionMotion == null) { + (0, live2dcubismframework_1.csmDelete)(motionQueueEntry); + ite = motions.erase(ite); //削除 + continue; + } + var expressionParameters = expressionMotion.getExpressionParameters(); + if (motionQueueEntry.isAvailable()) { + // 再生中のExpressionが参照しているパラメータをすべてリストアップ + for (var i = 0; i < expressionParameters.getSize(); ++i) { + if (expressionParameters.at(i).parameterId == null) { + continue; + } + var index = -1; + // リストにパラメータIDが存在するか検索 + for (var j = 0; j < this._expressionParameterValues.getSize(); ++j) { + if (this._expressionParameterValues.at(j).parameterId != + expressionParameters.at(i).parameterId) { + continue; + } + index = j; + break; + } + if (index >= 0) { + continue; + } + // パラメータがリストに存在しないなら新規追加 + var item = new ExpressionParameterValue(); + item.parameterId = expressionParameters.at(i).parameterId; + item.additiveValue = cubismexpressionmotion_1.CubismExpressionMotion.DefaultAdditiveValue; + item.multiplyValue = cubismexpressionmotion_1.CubismExpressionMotion.DefaultMultiplyValue; + item.overwriteValue = model.getParameterValueById(item.parameterId); + this._expressionParameterValues.pushBack(item); + } + } + // ------ 値を計算する ------ + expressionMotion.calculateExpressionParameters(model, this._userTimeSeconds, motionQueueEntry, this._expressionParameterValues, expressionIndex); + expressionWeight += + expressionMotion.getFadeInTime() == 0.0 + ? 1.0 + : cubismmath_1.CubismMath.getEasingSine((this._userTimeSeconds - motionQueueEntry.getFadeInStartTime()) / + expressionMotion.getFadeInTime()); + updated = true; + if (motionQueueEntry.isTriggeredFadeOut()) { + // フェードアウト開始 + motionQueueEntry.startFadeOut(motionQueueEntry.getFadeOutSeconds(), this._userTimeSeconds); + } + ite.preIncrement(); + ++expressionIndex; + } + // ----- 最新のExpressionのフェードが完了していればそれ以前を削除する ------ + if (motions.getSize() > 1) { + var expressionMotion = (motions.at(motions.getSize() - 1).getCubismMotion()); + if (expressionMotion.getFadeWeight() >= 1.0) { + // 配列の最後の要素は削除しない + for (var i = motions.getSize() - 2; i >= 0; --i) { + var motionQueueEntry = motions.at(i); + (0, live2dcubismframework_1.csmDelete)(motionQueueEntry); + motions.remove(i); + } + } + } + if (expressionWeight > 1.0) { + expressionWeight = 1.0; + } + // モデルに各値を適用 + for (var i = 0; i < this._expressionParameterValues.getSize(); ++i) { + var expressionParameterValue = this._expressionParameterValues.at(i); + model.setParameterValueById(expressionParameterValue.parameterId, (expressionParameterValue.overwriteValue + + expressionParameterValue.additiveValue) * + expressionParameterValue.multiplyValue, expressionWeight); + expressionParameterValue.additiveValue = + cubismexpressionmotion_1.CubismExpressionMotion.DefaultAdditiveValue; + expressionParameterValue.multiplyValue = + cubismexpressionmotion_1.CubismExpressionMotion.DefaultMultiplyValue; + } + return updated; + }; + return CubismExpressionMotionManager; +}(cubismmotionqueuemanager_1.CubismMotionQueueManager)); +exports.CubismExpressionMotionManager = CubismExpressionMotionManager; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismexpressionmotionmanager")); +var cubismmath_1 = require("../math/cubismmath"); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismExpressionMotionManager = $.CubismExpressionMotionManager; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismexpressionmotionmanager.js.map \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismexpressionmotionmanager.js.map b/live2demo/Framework/motion/cubismexpressionmotionmanager.js.map new file mode 100644 index 0000000..c06d4db --- /dev/null +++ b/live2demo/Framework/motion/cubismexpressionmotionmanager.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismexpressionmotionmanager.js","sourceRoot":"","sources":["../../src/motion/cubismexpressionmotionmanager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismmotion.d.ts b/live2demo/Framework/motion/cubismmotion.d.ts new file mode 100644 index 0000000..ba74268 --- /dev/null +++ b/live2demo/Framework/motion/cubismmotion.d.ts @@ -0,0 +1,173 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { CubismIdHandle } from '../id/cubismid'; +import { CubismModel } from '../model/cubismmodel'; +import { csmString } from '../type/csmstring'; +import { csmVector } from '../type/csmvector'; +import { ACubismMotion, FinishedMotionCallback } from './acubismmotion'; +import { CubismMotionData } from './cubismmotioninternal'; +import { CubismMotionQueueEntry } from './cubismmotionqueueentry'; +/** + * モーションクラス + * + * モーションのクラス。 + */ +export declare class CubismMotion extends ACubismMotion { + /** + * インスタンスを作成する + * + * @param buffer motion3.jsonが読み込まれているバッファ + * @param size バッファのサイズ + * @param onFinishedMotionHandler モーション再生終了時に呼び出されるコールバック関数 + * @return 作成されたインスタンス + */ + static create(buffer: ArrayBuffer, size: number, onFinishedMotionHandler?: FinishedMotionCallback): CubismMotion; + /** + * モデルのパラメータの更新の実行 + * @param model 対象のモデル + * @param userTimeSeconds 現在の時刻[秒] + * @param fadeWeight モーションの重み + * @param motionQueueEntry CubismMotionQueueManagerで管理されているモーション + */ + doUpdateParameters(model: CubismModel, userTimeSeconds: number, fadeWeight: number, motionQueueEntry: CubismMotionQueueEntry): void; + /** + * ループ情報の設定 + * @param loop ループ情報 + */ + setIsLoop(loop: boolean): void; + /** + * ループ情報の取得 + * @return true ループする + * @return false ループしない + */ + isLoop(): boolean; + /** + * ループ時のフェードイン情報の設定 + * @param loopFadeIn ループ時のフェードイン情報 + */ + setIsLoopFadeIn(loopFadeIn: boolean): void; + /** + * ループ時のフェードイン情報の取得 + * + * @return true する + * @return false しない + */ + isLoopFadeIn(): boolean; + /** + * モーションの長さを取得する。 + * + * @return モーションの長さ[秒] + */ + getDuration(): number; + /** + * モーションのループ時の長さを取得する。 + * + * @return モーションのループ時の長さ[秒] + */ + getLoopDuration(): number; + /** + * パラメータに対するフェードインの時間を設定する。 + * + * @param parameterId パラメータID + * @param value フェードインにかかる時間[秒] + */ + setParameterFadeInTime(parameterId: CubismIdHandle, value: number): void; + /** + * パラメータに対するフェードアウトの時間の設定 + * @param parameterId パラメータID + * @param value フェードアウトにかかる時間[秒] + */ + setParameterFadeOutTime(parameterId: CubismIdHandle, value: number): void; + /** + * パラメータに対するフェードインの時間の取得 + * @param parameterId パラメータID + * @return フェードインにかかる時間[秒] + */ + getParameterFadeInTime(parameterId: CubismIdHandle): number; + /** + * パラメータに対するフェードアウトの時間を取得 + * + * @param parameterId パラメータID + * @return フェードアウトにかかる時間[秒] + */ + getParameterFadeOutTime(parameterId: CubismIdHandle): number; + /** + * 自動エフェクトがかかっているパラメータIDリストの設定 + * @param eyeBlinkParameterIds 自動まばたきがかかっているパラメータIDのリスト + * @param lipSyncParameterIds リップシンクがかかっているパラメータIDのリスト + */ + setEffectIds(eyeBlinkParameterIds: csmVector, lipSyncParameterIds: csmVector): void; + /** + * コンストラクタ + */ + constructor(); + /** + * デストラクタ相当の処理 + */ + release(): void; + /** + * motion3.jsonをパースする。 + * + * @param motionJson motion3.jsonが読み込まれているバッファ + * @param size バッファのサイズ + */ + parse(motionJson: ArrayBuffer, size: number): void; + /** + * モデルのパラメータ更新 + * + * イベント発火のチェック。 + * 入力する時間は呼ばれるモーションタイミングを0とした秒数で行う。 + * + * @param beforeCheckTimeSeconds 前回のイベントチェック時間[秒] + * @param motionTimeSeconds 今回の再生時間[秒] + */ + getFiredEvent(beforeCheckTimeSeconds: number, motionTimeSeconds: number): csmVector; + /** + * 透明度のカーブが存在するかどうかを確認する + * + * @returns true -> キーが存在する + * false -> キーが存在しない + */ + isExistModelOpacity(): boolean; + /** + * 透明度のカーブのインデックスを返す + * + * @returns success:透明度のカーブのインデックス + */ + getModelOpacityIndex(): number; + /** + * 透明度のIdを返す + * + * @param index モーションカーブのインデックス + * @returns success:透明度のカーブのインデックス + */ + getModelOpacityId(index: number): CubismIdHandle; + /** + * 現在時間の透明度の値を返す + * + * @returns success:モーションの当該時間におけるOpacityの値 + */ + getModelOpacityValue(): number; + _sourceFrameRate: number; + _loopDurationSeconds: number; + _isLoop: boolean; + _isLoopFadeIn: boolean; + _lastWeight: number; + _motionData: CubismMotionData; + _eyeBlinkParameterIds: csmVector; + _lipSyncParameterIds: csmVector; + _modelCurveIdEyeBlink: CubismIdHandle; + _modelCurveIdLipSync: CubismIdHandle; + _modelCurveIdOpacity: CubismIdHandle; + _modelOpacity: number; +} +import * as $ from './cubismmotion'; +export declare namespace Live2DCubismFramework { + const CubismMotion: typeof $.CubismMotion; + type CubismMotion = $.CubismMotion; +} +//# sourceMappingURL=cubismmotion.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismmotion.d.ts.map b/live2demo/Framework/motion/cubismmotion.d.ts.map new file mode 100644 index 0000000..33a63dc --- /dev/null +++ b/live2demo/Framework/motion/cubismmotion.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismmotion.d.ts","sourceRoot":"","sources":["../../src/motion/cubismmotion.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismmotion.js b/live2demo/Framework/motion/cubismmotion.js new file mode 100644 index 0000000..9d29ecc --- /dev/null +++ b/live2demo/Framework/motion/cubismmotion.js @@ -0,0 +1,821 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.CubismMotion = void 0; +var live2dcubismframework_1 = require("../live2dcubismframework"); +var cubismmath_1 = require("../math/cubismmath"); +var csmstring_1 = require("../type/csmstring"); +var cubismdebug_1 = require("../utils/cubismdebug"); +var acubismmotion_1 = require("./acubismmotion"); +var cubismmotioninternal_1 = require("./cubismmotioninternal"); +var cubismmotionjson_1 = require("./cubismmotionjson"); +var EffectNameEyeBlink = 'EyeBlink'; +var EffectNameLipSync = 'LipSync'; +var TargetNameModel = 'Model'; +var TargetNameParameter = 'Parameter'; +var TargetNamePartOpacity = 'PartOpacity'; +// Id +var IdNameOpacity = 'Opacity'; +/** + * Cubism SDK R2 以前のモーションを再現させるなら true 、アニメータのモーションを正しく再現するなら false 。 + */ +var UseOldBeziersCurveMotion = false; +function lerpPoints(a, b, t) { + var result = new cubismmotioninternal_1.CubismMotionPoint(); + result.time = a.time + (b.time - a.time) * t; + result.value = a.value + (b.value - a.value) * t; + return result; +} +function linearEvaluate(points, time) { + var t = (time - points[0].time) / (points[1].time - points[0].time); + if (t < 0.0) { + t = 0.0; + } + return points[0].value + (points[1].value - points[0].value) * t; +} +function bezierEvaluate(points, time) { + var t = (time - points[0].time) / (points[3].time - points[0].time); + if (t < 0.0) { + t = 0.0; + } + var p01 = lerpPoints(points[0], points[1], t); + var p12 = lerpPoints(points[1], points[2], t); + var p23 = lerpPoints(points[2], points[3], t); + var p012 = lerpPoints(p01, p12, t); + var p123 = lerpPoints(p12, p23, t); + return lerpPoints(p012, p123, t).value; +} +function bezierEvaluateBinarySearch(points, time) { + var x_error = 0.01; + var x = time; + var x1 = points[0].time; + var x2 = points[3].time; + var cx1 = points[1].time; + var cx2 = points[2].time; + var ta = 0.0; + var tb = 1.0; + var t = 0.0; + var i = 0; + for (var var33 = true; i < 20; ++i) { + if (x < x1 + x_error) { + t = ta; + break; + } + if (x2 - x_error < x) { + t = tb; + break; + } + var centerx = (cx1 + cx2) * 0.5; + cx1 = (x1 + cx1) * 0.5; + cx2 = (x2 + cx2) * 0.5; + var ctrlx12 = (cx1 + centerx) * 0.5; + var ctrlx21 = (cx2 + centerx) * 0.5; + centerx = (ctrlx12 + ctrlx21) * 0.5; + if (x < centerx) { + tb = (ta + tb) * 0.5; + if (centerx - x_error < x) { + t = tb; + break; + } + x2 = centerx; + cx2 = ctrlx12; + } + else { + ta = (ta + tb) * 0.5; + if (x < centerx + x_error) { + t = ta; + break; + } + x1 = centerx; + cx1 = ctrlx21; + } + } + if (i == 20) { + t = (ta + tb) * 0.5; + } + if (t < 0.0) { + t = 0.0; + } + if (t > 1.0) { + t = 1.0; + } + var p01 = lerpPoints(points[0], points[1], t); + var p12 = lerpPoints(points[1], points[2], t); + var p23 = lerpPoints(points[2], points[3], t); + var p012 = lerpPoints(p01, p12, t); + var p123 = lerpPoints(p12, p23, t); + return lerpPoints(p012, p123, t).value; +} +function bezierEvaluateCardanoInterpretation(points, time) { + var x = time; + var x1 = points[0].time; + var x2 = points[3].time; + var cx1 = points[1].time; + var cx2 = points[2].time; + var a = x2 - 3.0 * cx2 + 3.0 * cx1 - x1; + var b = 3.0 * cx2 - 6.0 * cx1 + 3.0 * x1; + var c = 3.0 * cx1 - 3.0 * x1; + var d = x1 - x; + var t = cubismmath_1.CubismMath.cardanoAlgorithmForBezier(a, b, c, d); + var p01 = lerpPoints(points[0], points[1], t); + var p12 = lerpPoints(points[1], points[2], t); + var p23 = lerpPoints(points[2], points[3], t); + var p012 = lerpPoints(p01, p12, t); + var p123 = lerpPoints(p12, p23, t); + return lerpPoints(p012, p123, t).value; +} +function steppedEvaluate(points, time) { + return points[0].value; +} +function inverseSteppedEvaluate(points, time) { + return points[1].value; +} +function evaluateCurve(motionData, index, time) { + // Find segment to evaluate. + var curve = motionData.curves.at(index); + var target = -1; + var totalSegmentCount = curve.baseSegmentIndex + curve.segmentCount; + var pointPosition = 0; + for (var i = curve.baseSegmentIndex; i < totalSegmentCount; ++i) { + // Get first point of next segment. + pointPosition = + motionData.segments.at(i).basePointIndex + + (motionData.segments.at(i).segmentType == + cubismmotioninternal_1.CubismMotionSegmentType.CubismMotionSegmentType_Bezier + ? 3 + : 1); + // Break if time lies within current segment. + if (motionData.points.at(pointPosition).time > time) { + target = i; + break; + } + } + if (target == -1) { + return motionData.points.at(pointPosition).value; + } + var segment = motionData.segments.at(target); + return segment.evaluate(motionData.points.get(segment.basePointIndex), time); +} +/** + * モーションクラス + * + * モーションのクラス。 + */ +var CubismMotion = /** @class */ (function (_super) { + __extends(CubismMotion, _super); + /** + * コンストラクタ + */ + function CubismMotion() { + var _this = _super.call(this) || this; + _this._sourceFrameRate = 30.0; + _this._loopDurationSeconds = -1.0; + _this._isLoop = false; // trueから false へデフォルトを変更 + _this._isLoopFadeIn = true; // ループ時にフェードインが有効かどうかのフラグ + _this._lastWeight = 0.0; + _this._motionData = null; + _this._modelCurveIdEyeBlink = null; + _this._modelCurveIdLipSync = null; + _this._modelCurveIdOpacity = null; + _this._eyeBlinkParameterIds = null; + _this._lipSyncParameterIds = null; + _this._modelOpacity = 1.0; + return _this; + } + /** + * インスタンスを作成する + * + * @param buffer motion3.jsonが読み込まれているバッファ + * @param size バッファのサイズ + * @param onFinishedMotionHandler モーション再生終了時に呼び出されるコールバック関数 + * @return 作成されたインスタンス + */ + CubismMotion.create = function (buffer, size, onFinishedMotionHandler) { + var ret = new CubismMotion(); + ret.parse(buffer, size); + ret._sourceFrameRate = ret._motionData.fps; + ret._loopDurationSeconds = ret._motionData.duration; + ret._onFinishedMotion = onFinishedMotionHandler; + // NOTE: Editorではループありのモーション書き出しは非対応 + // ret->_loop = (ret->_motionData->Loop > 0); + return ret; + }; + /** + * モデルのパラメータの更新の実行 + * @param model 対象のモデル + * @param userTimeSeconds 現在の時刻[秒] + * @param fadeWeight モーションの重み + * @param motionQueueEntry CubismMotionQueueManagerで管理されているモーション + */ + CubismMotion.prototype.doUpdateParameters = function (model, userTimeSeconds, fadeWeight, motionQueueEntry) { + if (this._modelCurveIdEyeBlink == null) { + this._modelCurveIdEyeBlink = + live2dcubismframework_1.CubismFramework.getIdManager().getId(EffectNameEyeBlink); + } + if (this._modelCurveIdLipSync == null) { + this._modelCurveIdLipSync = + live2dcubismframework_1.CubismFramework.getIdManager().getId(EffectNameLipSync); + } + if (this._modelCurveIdOpacity == null) { + this._modelCurveIdOpacity = + live2dcubismframework_1.CubismFramework.getIdManager().getId(IdNameOpacity); + } + var timeOffsetSeconds = userTimeSeconds - motionQueueEntry.getStartTime(); + if (timeOffsetSeconds < 0.0) { + timeOffsetSeconds = 0.0; // エラー回避 + } + var lipSyncValue = Number.MAX_VALUE; + var eyeBlinkValue = Number.MAX_VALUE; + //まばたき、リップシンクのうちモーションの適用を検出するためのビット(maxFlagCount個まで + var MaxTargetSize = 64; + var lipSyncFlags = 0; + var eyeBlinkFlags = 0; + //瞬き、リップシンクのターゲット数が上限を超えている場合 + if (this._eyeBlinkParameterIds.getSize() > MaxTargetSize) { + (0, cubismdebug_1.CubismLogDebug)('too many eye blink targets : {0}', this._eyeBlinkParameterIds.getSize()); + } + if (this._lipSyncParameterIds.getSize() > MaxTargetSize) { + (0, cubismdebug_1.CubismLogDebug)('too many lip sync targets : {0}', this._lipSyncParameterIds.getSize()); + } + var tmpFadeIn = this._fadeInSeconds <= 0.0 + ? 1.0 + : cubismmath_1.CubismMath.getEasingSine((userTimeSeconds - motionQueueEntry.getFadeInStartTime()) / + this._fadeInSeconds); + var tmpFadeOut = this._fadeOutSeconds <= 0.0 || motionQueueEntry.getEndTime() < 0.0 + ? 1.0 + : cubismmath_1.CubismMath.getEasingSine((motionQueueEntry.getEndTime() - userTimeSeconds) / + this._fadeOutSeconds); + var value; + var c, parameterIndex; + // 'Repeat' time as necessary. + var time = timeOffsetSeconds; + if (this._isLoop) { + while (time > this._motionData.duration) { + time -= this._motionData.duration; + } + } + var curves = this._motionData.curves; + // Evaluate model curves. + for (c = 0; c < this._motionData.curveCount && + curves.at(c).type == + cubismmotioninternal_1.CubismMotionCurveTarget.CubismMotionCurveTarget_Model; ++c) { + // Evaluate curve and call handler. + value = evaluateCurve(this._motionData, c, time); + if (curves.at(c).id == this._modelCurveIdEyeBlink) { + eyeBlinkValue = value; + } + else if (curves.at(c).id == this._modelCurveIdLipSync) { + lipSyncValue = value; + } + else if (curves.at(c).id == this._modelCurveIdOpacity) { + this._modelOpacity = value; + model.setModelOapcity(this.getModelOpacityValue()); + } + } + var parameterMotionCurveCount = 0; + for (; c < this._motionData.curveCount && + curves.at(c).type == + cubismmotioninternal_1.CubismMotionCurveTarget.CubismMotionCurveTarget_Parameter; ++c) { + parameterMotionCurveCount++; + // Find parameter index. + parameterIndex = model.getParameterIndex(curves.at(c).id); + // Skip curve evaluation if no value in sink. + if (parameterIndex == -1) { + continue; + } + var sourceValue = model.getParameterValueByIndex(parameterIndex); + // Evaluate curve and apply value. + value = evaluateCurve(this._motionData, c, time); + if (eyeBlinkValue != Number.MAX_VALUE) { + for (var i = 0; i < this._eyeBlinkParameterIds.getSize() && i < MaxTargetSize; ++i) { + if (this._eyeBlinkParameterIds.at(i) == curves.at(c).id) { + value *= eyeBlinkValue; + eyeBlinkFlags |= 1 << i; + break; + } + } + } + if (lipSyncValue != Number.MAX_VALUE) { + for (var i = 0; i < this._lipSyncParameterIds.getSize() && i < MaxTargetSize; ++i) { + if (this._lipSyncParameterIds.at(i) == curves.at(c).id) { + value += lipSyncValue; + lipSyncFlags |= 1 << i; + break; + } + } + } + var v = void 0; + // パラメータごとのフェード + if (curves.at(c).fadeInTime < 0.0 && curves.at(c).fadeOutTime < 0.0) { + // モーションのフェードを適用 + v = sourceValue + (value - sourceValue) * fadeWeight; + } + else { + // パラメータに対してフェードインかフェードアウトが設定してある場合はそちらを適用 + var fin = void 0; + var fout = void 0; + if (curves.at(c).fadeInTime < 0.0) { + fin = tmpFadeIn; + } + else { + fin = + curves.at(c).fadeInTime == 0.0 + ? 1.0 + : cubismmath_1.CubismMath.getEasingSine((userTimeSeconds - motionQueueEntry.getFadeInStartTime()) / + curves.at(c).fadeInTime); + } + if (curves.at(c).fadeOutTime < 0.0) { + fout = tmpFadeOut; + } + else { + fout = + curves.at(c).fadeOutTime == 0.0 || + motionQueueEntry.getEndTime() < 0.0 + ? 1.0 + : cubismmath_1.CubismMath.getEasingSine((motionQueueEntry.getEndTime() - userTimeSeconds) / + curves.at(c).fadeOutTime); + } + var paramWeight = this._weight * fin * fout; + // パラメータごとのフェードを適用 + v = sourceValue + (value - sourceValue) * paramWeight; + } + model.setParameterValueByIndex(parameterIndex, v, 1.0); + } + { + if (eyeBlinkValue != Number.MAX_VALUE) { + for (var i = 0; i < this._eyeBlinkParameterIds.getSize() && i < MaxTargetSize; ++i) { + var sourceValue = model.getParameterValueById(this._eyeBlinkParameterIds.at(i)); + // モーションでの上書きがあった時にはまばたきは適用しない + if ((eyeBlinkFlags >> i) & 0x01) { + continue; + } + var v = sourceValue + (eyeBlinkValue - sourceValue) * fadeWeight; + model.setParameterValueById(this._eyeBlinkParameterIds.at(i), v); + } + } + if (lipSyncValue != Number.MAX_VALUE) { + for (var i = 0; i < this._lipSyncParameterIds.getSize() && i < MaxTargetSize; ++i) { + var sourceValue = model.getParameterValueById(this._lipSyncParameterIds.at(i)); + // モーションでの上書きがあった時にはリップシンクは適用しない + if ((lipSyncFlags >> i) & 0x01) { + continue; + } + var v = sourceValue + (lipSyncValue - sourceValue) * fadeWeight; + model.setParameterValueById(this._lipSyncParameterIds.at(i), v); + } + } + } + for (; c < this._motionData.curveCount && + curves.at(c).type == + cubismmotioninternal_1.CubismMotionCurveTarget.CubismMotionCurveTarget_PartOpacity; ++c) { + // Find parameter index. + parameterIndex = model.getParameterIndex(curves.at(c).id); + // Skip curve evaluation if no value in sink. + if (parameterIndex == -1) { + continue; + } + // Evaluate curve and apply value. + value = evaluateCurve(this._motionData, c, time); + model.setParameterValueByIndex(parameterIndex, value); + } + if (timeOffsetSeconds >= this._motionData.duration) { + if (this._isLoop) { + motionQueueEntry.setStartTime(userTimeSeconds); // 最初の状態へ + if (this._isLoopFadeIn) { + // ループ内でループ用フェードインが有効の時は、フェードイン設定し直し + motionQueueEntry.setFadeInStartTime(userTimeSeconds); + } + } + else { + if (this._onFinishedMotion) { + this._onFinishedMotion(this); + } + motionQueueEntry.setIsFinished(true); + } + } + this._lastWeight = fadeWeight; + }; + /** + * ループ情報の設定 + * @param loop ループ情報 + */ + CubismMotion.prototype.setIsLoop = function (loop) { + this._isLoop = loop; + }; + /** + * ループ情報の取得 + * @return true ループする + * @return false ループしない + */ + CubismMotion.prototype.isLoop = function () { + return this._isLoop; + }; + /** + * ループ時のフェードイン情報の設定 + * @param loopFadeIn ループ時のフェードイン情報 + */ + CubismMotion.prototype.setIsLoopFadeIn = function (loopFadeIn) { + this._isLoopFadeIn = loopFadeIn; + }; + /** + * ループ時のフェードイン情報の取得 + * + * @return true する + * @return false しない + */ + CubismMotion.prototype.isLoopFadeIn = function () { + return this._isLoopFadeIn; + }; + /** + * モーションの長さを取得する。 + * + * @return モーションの長さ[秒] + */ + CubismMotion.prototype.getDuration = function () { + return this._isLoop ? -1.0 : this._loopDurationSeconds; + }; + /** + * モーションのループ時の長さを取得する。 + * + * @return モーションのループ時の長さ[秒] + */ + CubismMotion.prototype.getLoopDuration = function () { + return this._loopDurationSeconds; + }; + /** + * パラメータに対するフェードインの時間を設定する。 + * + * @param parameterId パラメータID + * @param value フェードインにかかる時間[秒] + */ + CubismMotion.prototype.setParameterFadeInTime = function (parameterId, value) { + var curves = this._motionData.curves; + for (var i = 0; i < this._motionData.curveCount; ++i) { + if (parameterId == curves.at(i).id) { + curves.at(i).fadeInTime = value; + return; + } + } + }; + /** + * パラメータに対するフェードアウトの時間の設定 + * @param parameterId パラメータID + * @param value フェードアウトにかかる時間[秒] + */ + CubismMotion.prototype.setParameterFadeOutTime = function (parameterId, value) { + var curves = this._motionData.curves; + for (var i = 0; i < this._motionData.curveCount; ++i) { + if (parameterId == curves.at(i).id) { + curves.at(i).fadeOutTime = value; + return; + } + } + }; + /** + * パラメータに対するフェードインの時間の取得 + * @param parameterId パラメータID + * @return フェードインにかかる時間[秒] + */ + CubismMotion.prototype.getParameterFadeInTime = function (parameterId) { + var curves = this._motionData.curves; + for (var i = 0; i < this._motionData.curveCount; ++i) { + if (parameterId == curves.at(i).id) { + return curves.at(i).fadeInTime; + } + } + return -1; + }; + /** + * パラメータに対するフェードアウトの時間を取得 + * + * @param parameterId パラメータID + * @return フェードアウトにかかる時間[秒] + */ + CubismMotion.prototype.getParameterFadeOutTime = function (parameterId) { + var curves = this._motionData.curves; + for (var i = 0; i < this._motionData.curveCount; ++i) { + if (parameterId == curves.at(i).id) { + return curves.at(i).fadeOutTime; + } + } + return -1; + }; + /** + * 自動エフェクトがかかっているパラメータIDリストの設定 + * @param eyeBlinkParameterIds 自動まばたきがかかっているパラメータIDのリスト + * @param lipSyncParameterIds リップシンクがかかっているパラメータIDのリスト + */ + CubismMotion.prototype.setEffectIds = function (eyeBlinkParameterIds, lipSyncParameterIds) { + this._eyeBlinkParameterIds = eyeBlinkParameterIds; + this._lipSyncParameterIds = lipSyncParameterIds; + }; + /** + * デストラクタ相当の処理 + */ + CubismMotion.prototype.release = function () { + this._motionData = void 0; + this._motionData = null; + }; + /** + * motion3.jsonをパースする。 + * + * @param motionJson motion3.jsonが読み込まれているバッファ + * @param size バッファのサイズ + */ + CubismMotion.prototype.parse = function (motionJson, size) { + this._motionData = new cubismmotioninternal_1.CubismMotionData(); + var json = new cubismmotionjson_1.CubismMotionJson(motionJson, size); + this._motionData.duration = json.getMotionDuration(); + this._motionData.loop = json.isMotionLoop(); + this._motionData.curveCount = json.getMotionCurveCount(); + this._motionData.fps = json.getMotionFps(); + this._motionData.eventCount = json.getEventCount(); + var areBeziersRestructed = json.getEvaluationOptionFlag(cubismmotionjson_1.EvaluationOptionFlag.EvaluationOptionFlag_AreBeziersRistricted); + if (json.isExistMotionFadeInTime()) { + this._fadeInSeconds = + json.getMotionFadeInTime() < 0.0 ? 1.0 : json.getMotionFadeInTime(); + } + else { + this._fadeInSeconds = 1.0; + } + if (json.isExistMotionFadeOutTime()) { + this._fadeOutSeconds = + json.getMotionFadeOutTime() < 0.0 ? 1.0 : json.getMotionFadeOutTime(); + } + else { + this._fadeOutSeconds = 1.0; + } + this._motionData.curves.updateSize(this._motionData.curveCount, cubismmotioninternal_1.CubismMotionCurve, true); + this._motionData.segments.updateSize(json.getMotionTotalSegmentCount(), cubismmotioninternal_1.CubismMotionSegment, true); + this._motionData.points.updateSize(json.getMotionTotalPointCount(), cubismmotioninternal_1.CubismMotionPoint, true); + this._motionData.events.updateSize(this._motionData.eventCount, cubismmotioninternal_1.CubismMotionEvent, true); + var totalPointCount = 0; + var totalSegmentCount = 0; + // Curves + for (var curveCount = 0; curveCount < this._motionData.curveCount; ++curveCount) { + if (json.getMotionCurveTarget(curveCount) == TargetNameModel) { + this._motionData.curves.at(curveCount).type = + cubismmotioninternal_1.CubismMotionCurveTarget.CubismMotionCurveTarget_Model; + } + else if (json.getMotionCurveTarget(curveCount) == TargetNameParameter) { + this._motionData.curves.at(curveCount).type = + cubismmotioninternal_1.CubismMotionCurveTarget.CubismMotionCurveTarget_Parameter; + } + else if (json.getMotionCurveTarget(curveCount) == TargetNamePartOpacity) { + this._motionData.curves.at(curveCount).type = + cubismmotioninternal_1.CubismMotionCurveTarget.CubismMotionCurveTarget_PartOpacity; + } + else { + (0, cubismdebug_1.CubismLogWarning)('Warning : Unable to get segment type from Curve! The number of "CurveCount" may be incorrect!'); + } + this._motionData.curves.at(curveCount).id = + json.getMotionCurveId(curveCount); + this._motionData.curves.at(curveCount).baseSegmentIndex = + totalSegmentCount; + this._motionData.curves.at(curveCount).fadeInTime = + json.isExistMotionCurveFadeInTime(curveCount) + ? json.getMotionCurveFadeInTime(curveCount) + : -1.0; + this._motionData.curves.at(curveCount).fadeOutTime = + json.isExistMotionCurveFadeOutTime(curveCount) + ? json.getMotionCurveFadeOutTime(curveCount) + : -1.0; + // Segments + for (var segmentPosition = 0; segmentPosition < json.getMotionCurveSegmentCount(curveCount);) { + if (segmentPosition == 0) { + this._motionData.segments.at(totalSegmentCount).basePointIndex = + totalPointCount; + this._motionData.points.at(totalPointCount).time = + json.getMotionCurveSegment(curveCount, segmentPosition); + this._motionData.points.at(totalPointCount).value = + json.getMotionCurveSegment(curveCount, segmentPosition + 1); + totalPointCount += 1; + segmentPosition += 2; + } + else { + this._motionData.segments.at(totalSegmentCount).basePointIndex = + totalPointCount - 1; + } + var segment = json.getMotionCurveSegment(curveCount, segmentPosition); + switch (segment) { + case cubismmotioninternal_1.CubismMotionSegmentType.CubismMotionSegmentType_Linear: { + this._motionData.segments.at(totalSegmentCount).segmentType = + cubismmotioninternal_1.CubismMotionSegmentType.CubismMotionSegmentType_Linear; + this._motionData.segments.at(totalSegmentCount).evaluate = + linearEvaluate; + this._motionData.points.at(totalPointCount).time = + json.getMotionCurveSegment(curveCount, segmentPosition + 1); + this._motionData.points.at(totalPointCount).value = + json.getMotionCurveSegment(curveCount, segmentPosition + 2); + totalPointCount += 1; + segmentPosition += 3; + break; + } + case cubismmotioninternal_1.CubismMotionSegmentType.CubismMotionSegmentType_Bezier: { + this._motionData.segments.at(totalSegmentCount).segmentType = + cubismmotioninternal_1.CubismMotionSegmentType.CubismMotionSegmentType_Bezier; + if (areBeziersRestructed || UseOldBeziersCurveMotion) { + this._motionData.segments.at(totalSegmentCount).evaluate = + bezierEvaluate; + } + else { + this._motionData.segments.at(totalSegmentCount).evaluate = + bezierEvaluateCardanoInterpretation; + } + this._motionData.points.at(totalPointCount).time = + json.getMotionCurveSegment(curveCount, segmentPosition + 1); + this._motionData.points.at(totalPointCount).value = + json.getMotionCurveSegment(curveCount, segmentPosition + 2); + this._motionData.points.at(totalPointCount + 1).time = + json.getMotionCurveSegment(curveCount, segmentPosition + 3); + this._motionData.points.at(totalPointCount + 1).value = + json.getMotionCurveSegment(curveCount, segmentPosition + 4); + this._motionData.points.at(totalPointCount + 2).time = + json.getMotionCurveSegment(curveCount, segmentPosition + 5); + this._motionData.points.at(totalPointCount + 2).value = + json.getMotionCurveSegment(curveCount, segmentPosition + 6); + totalPointCount += 3; + segmentPosition += 7; + break; + } + case cubismmotioninternal_1.CubismMotionSegmentType.CubismMotionSegmentType_Stepped: { + this._motionData.segments.at(totalSegmentCount).segmentType = + cubismmotioninternal_1.CubismMotionSegmentType.CubismMotionSegmentType_Stepped; + this._motionData.segments.at(totalSegmentCount).evaluate = + steppedEvaluate; + this._motionData.points.at(totalPointCount).time = + json.getMotionCurveSegment(curveCount, segmentPosition + 1); + this._motionData.points.at(totalPointCount).value = + json.getMotionCurveSegment(curveCount, segmentPosition + 2); + totalPointCount += 1; + segmentPosition += 3; + break; + } + case cubismmotioninternal_1.CubismMotionSegmentType.CubismMotionSegmentType_InverseStepped: { + this._motionData.segments.at(totalSegmentCount).segmentType = + cubismmotioninternal_1.CubismMotionSegmentType.CubismMotionSegmentType_InverseStepped; + this._motionData.segments.at(totalSegmentCount).evaluate = + inverseSteppedEvaluate; + this._motionData.points.at(totalPointCount).time = + json.getMotionCurveSegment(curveCount, segmentPosition + 1); + this._motionData.points.at(totalPointCount).value = + json.getMotionCurveSegment(curveCount, segmentPosition + 2); + totalPointCount += 1; + segmentPosition += 3; + break; + } + default: { + (0, cubismdebug_1.CSM_ASSERT)(0); + break; + } + } + ++this._motionData.curves.at(curveCount).segmentCount; + ++totalSegmentCount; + } + } + for (var userdatacount = 0; userdatacount < json.getEventCount(); ++userdatacount) { + this._motionData.events.at(userdatacount).fireTime = + json.getEventTime(userdatacount); + this._motionData.events.at(userdatacount).value = + json.getEventValue(userdatacount); + } + json.release(); + json = void 0; + json = null; + }; + /** + * モデルのパラメータ更新 + * + * イベント発火のチェック。 + * 入力する時間は呼ばれるモーションタイミングを0とした秒数で行う。 + * + * @param beforeCheckTimeSeconds 前回のイベントチェック時間[秒] + * @param motionTimeSeconds 今回の再生時間[秒] + */ + CubismMotion.prototype.getFiredEvent = function (beforeCheckTimeSeconds, motionTimeSeconds) { + this._firedEventValues.updateSize(0); + // イベントの発火チェック + for (var u = 0; u < this._motionData.eventCount; ++u) { + if (this._motionData.events.at(u).fireTime > beforeCheckTimeSeconds && + this._motionData.events.at(u).fireTime <= motionTimeSeconds) { + this._firedEventValues.pushBack(new csmstring_1.csmString(this._motionData.events.at(u).value.s)); + } + } + return this._firedEventValues; + }; + /** + * 透明度のカーブが存在するかどうかを確認する + * + * @returns true -> キーが存在する + * false -> キーが存在しない + */ + CubismMotion.prototype.isExistModelOpacity = function () { + for (var i = 0; i < this._motionData.curveCount; i++) { + var curve = this._motionData.curves.at(i); + if (curve.type != cubismmotioninternal_1.CubismMotionCurveTarget.CubismMotionCurveTarget_Model) { + continue; + } + if (curve.id.getString().s.localeCompare(IdNameOpacity) == 0) { + return true; + } + } + return false; + }; + /** + * 透明度のカーブのインデックスを返す + * + * @returns success:透明度のカーブのインデックス + */ + CubismMotion.prototype.getModelOpacityIndex = function () { + if (this.isExistModelOpacity()) { + for (var i = 0; i < this._motionData.curveCount; i++) { + var curve = this._motionData.curves.at(i); + if (curve.type != cubismmotioninternal_1.CubismMotionCurveTarget.CubismMotionCurveTarget_Model) { + continue; + } + if (curve.id.getString().s.localeCompare(IdNameOpacity) == 0) { + return i; + } + } + } + return -1; + }; + /** + * 透明度のIdを返す + * + * @param index モーションカーブのインデックス + * @returns success:透明度のカーブのインデックス + */ + CubismMotion.prototype.getModelOpacityId = function (index) { + if (index != -1) { + var curve = this._motionData.curves.at(index); + if (curve.type == cubismmotioninternal_1.CubismMotionCurveTarget.CubismMotionCurveTarget_Model) { + if (curve.id.getString().s.localeCompare(IdNameOpacity) == 0) { + return live2dcubismframework_1.CubismFramework.getIdManager().getId(curve.id.getString().s); + } + } + } + return null; + }; + /** + * 現在時間の透明度の値を返す + * + * @returns success:モーションの当該時間におけるOpacityの値 + */ + CubismMotion.prototype.getModelOpacityValue = function () { + return this._modelOpacity; + }; + return CubismMotion; +}(acubismmotion_1.ACubismMotion)); +exports.CubismMotion = CubismMotion; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismmotion")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismMotion = $.CubismMotion; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismmotion.js.map \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismmotion.js.map b/live2demo/Framework/motion/cubismmotion.js.map new file mode 100644 index 0000000..57a6528 --- /dev/null +++ b/live2demo/Framework/motion/cubismmotion.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismmotion.js","sourceRoot":"","sources":["../../src/motion/cubismmotion.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismmotioninternal.d.ts b/live2demo/Framework/motion/cubismmotioninternal.d.ts new file mode 100644 index 0000000..953f8ab --- /dev/null +++ b/live2demo/Framework/motion/cubismmotioninternal.d.ts @@ -0,0 +1,121 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { CubismIdHandle } from '../id/cubismid'; +import { csmString } from '../type/csmstring'; +import { csmVector } from '../type/csmvector'; +/** + * @brief モーションカーブの種類 + * + * モーションカーブの種類。 + */ +export declare enum CubismMotionCurveTarget { + CubismMotionCurveTarget_Model = 0, + CubismMotionCurveTarget_Parameter = 1, + CubismMotionCurveTarget_PartOpacity = 2 +} +/** + * @brief モーションカーブのセグメントの種類 + * + * モーションカーブのセグメントの種類。 + */ +export declare enum CubismMotionSegmentType { + CubismMotionSegmentType_Linear = 0, + CubismMotionSegmentType_Bezier = 1, + CubismMotionSegmentType_Stepped = 2, + CubismMotionSegmentType_InverseStepped = 3 +} +/** + * @brief モーションカーブの制御点 + * + * モーションカーブの制御点。 + */ +export declare class CubismMotionPoint { + time: number; + value: number; +} +/** + * モーションカーブのセグメントの評価関数 + * + * @param points モーションカーブの制御点リスト + * @param time 評価する時間[秒] + */ +export interface csmMotionSegmentEvaluationFunction { + (points: CubismMotionPoint[], time: number): number; +} +/** + * @brief モーションカーブのセグメント + * + * モーションカーブのセグメント。 + */ +export declare class CubismMotionSegment { + /** + * @brief コンストラクタ + * + * コンストラクタ。 + */ + constructor(); + evaluate: csmMotionSegmentEvaluationFunction; + basePointIndex: number; + segmentType: number; +} +/** + * @brief モーションカーブ + * + * モーションカーブ。 + */ +export declare class CubismMotionCurve { + constructor(); + type: CubismMotionCurveTarget; + id: CubismIdHandle; + segmentCount: number; + baseSegmentIndex: number; + fadeInTime: number; + fadeOutTime: number; +} +/** + * イベント。 + */ +export declare class CubismMotionEvent { + fireTime: number; + value: csmString; +} +/** + * @brief モーションデータ + * + * モーションデータ。 + */ +export declare class CubismMotionData { + constructor(); + duration: number; + loop: boolean; + curveCount: number; + eventCount: number; + fps: number; + curves: csmVector; + segments: csmVector; + points: csmVector; + events: csmVector; +} +import * as $ from './cubismmotioninternal'; +export declare namespace Live2DCubismFramework { + const CubismMotionCurve: typeof $.CubismMotionCurve; + type CubismMotionCurve = $.CubismMotionCurve; + const CubismMotionCurveTarget: typeof $.CubismMotionCurveTarget; + type CubismMotionCurveTarget = $.CubismMotionCurveTarget; + const CubismMotionData: typeof $.CubismMotionData; + type CubismMotionData = $.CubismMotionData; + const CubismMotionEvent: typeof $.CubismMotionEvent; + type CubismMotionEvent = $.CubismMotionEvent; + const CubismMotionPoint: typeof $.CubismMotionPoint; + type CubismMotionPoint = $.CubismMotionPoint; + const CubismMotionSegment: typeof $.CubismMotionSegment; + type CubismMotionSegment = $.CubismMotionSegment; + const CubismMotionSegmentType: typeof $.CubismMotionSegmentType; + type CubismMotionSegmentType = $.CubismMotionSegmentType; + type csmMotionSegmentEvaluationFunction = $.csmMotionSegmentEvaluationFunction; +} +//# sourceMappingURL=cubismmotioninternal.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismmotioninternal.d.ts.map b/live2demo/Framework/motion/cubismmotioninternal.d.ts.map new file mode 100644 index 0000000..6b2abe3 --- /dev/null +++ b/live2demo/Framework/motion/cubismmotioninternal.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismmotioninternal.d.ts","sourceRoot":"","sources":["../../src/motion/cubismmotioninternal.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C;;;;GAIG;AACH,oBAAY,uBAAuB;IACjC,6BAA6B,IAAA;IAC7B,iCAAiC,IAAA;IACjC,mCAAmC,IAAA;CACpC;AAED;;;;GAIG;AACH,oBAAY,uBAAuB;IACjC,8BAA8B,IAAI;IAClC,8BAA8B,IAAI;IAClC,+BAA+B,IAAI;IACnC,sCAAsC,IAAI;CAC3C;AAED;;;;GAIG;AACH,qBAAa,iBAAiB;IAC5B,IAAI,SAAO;IACX,KAAK,SAAO;CACb;AAED;;;;;GAKG;AACH,MAAM,WAAW,kCAAkC;IACjD,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACrD;AAED;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B;;;;OAIG;;IAOH,QAAQ,EAAE,kCAAkC,CAAC;IAC7C,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,qBAAa,iBAAiB;;IAS5B,IAAI,EAAE,uBAAuB,CAAC;IAC9B,EAAE,EAAE,cAAc,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,QAAQ,SAAO;IACf,KAAK,EAAE,SAAS,CAAC;CAClB;AAED;;;;GAIG;AACH,qBAAa,gBAAgB;;IAc3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACrC,QAAQ,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAC;IACzC,MAAM,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACrC,MAAM,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;CACtC;AAGD,OAAO,KAAK,CAAC,MAAM,wBAAwB,CAAC;AAE5C,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,iBAAiB,4BAAsB,CAAC;IACrD,KAAY,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,CAAC;IAC7C,MAAM,uBAAuB,kCAA4B,CAAC;IACjE,KAAY,uBAAuB,GAAG,CAAC,CAAC,uBAAuB,CAAC;IACzD,MAAM,gBAAgB,2BAAqB,CAAC;IACnD,KAAY,gBAAgB,GAAG,CAAC,CAAC,gBAAgB,CAAC;IAC3C,MAAM,iBAAiB,4BAAsB,CAAC;IACrD,KAAY,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,CAAC;IAC7C,MAAM,iBAAiB,4BAAsB,CAAC;IACrD,KAAY,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,CAAC;IAC7C,MAAM,mBAAmB,8BAAwB,CAAC;IACzD,KAAY,mBAAmB,GAAG,CAAC,CAAC,mBAAmB,CAAC;IACjD,MAAM,uBAAuB,kCAA4B,CAAC;IACjE,KAAY,uBAAuB,GAAG,CAAC,CAAC,uBAAuB,CAAC;IAChE,KAAY,kCAAkC,GAC5C,CAAC,CAAC,kCAAkC,CAAC;CACxC"} \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismmotioninternal.js b/live2demo/Framework/motion/cubismmotioninternal.js new file mode 100644 index 0000000..ba84ee1 --- /dev/null +++ b/live2demo/Framework/motion/cubismmotioninternal.js @@ -0,0 +1,148 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.CubismMotionData = exports.CubismMotionEvent = exports.CubismMotionCurve = exports.CubismMotionSegment = exports.CubismMotionPoint = exports.CubismMotionSegmentType = exports.CubismMotionCurveTarget = void 0; +var csmvector_1 = require("../type/csmvector"); +/** + * @brief モーションカーブの種類 + * + * モーションカーブの種類。 + */ +var CubismMotionCurveTarget; +(function (CubismMotionCurveTarget) { + CubismMotionCurveTarget[CubismMotionCurveTarget["CubismMotionCurveTarget_Model"] = 0] = "CubismMotionCurveTarget_Model"; + CubismMotionCurveTarget[CubismMotionCurveTarget["CubismMotionCurveTarget_Parameter"] = 1] = "CubismMotionCurveTarget_Parameter"; + CubismMotionCurveTarget[CubismMotionCurveTarget["CubismMotionCurveTarget_PartOpacity"] = 2] = "CubismMotionCurveTarget_PartOpacity"; // パーツの不透明度に対して +})(CubismMotionCurveTarget || (exports.CubismMotionCurveTarget = CubismMotionCurveTarget = {})); +/** + * @brief モーションカーブのセグメントの種類 + * + * モーションカーブのセグメントの種類。 + */ +var CubismMotionSegmentType; +(function (CubismMotionSegmentType) { + CubismMotionSegmentType[CubismMotionSegmentType["CubismMotionSegmentType_Linear"] = 0] = "CubismMotionSegmentType_Linear"; + CubismMotionSegmentType[CubismMotionSegmentType["CubismMotionSegmentType_Bezier"] = 1] = "CubismMotionSegmentType_Bezier"; + CubismMotionSegmentType[CubismMotionSegmentType["CubismMotionSegmentType_Stepped"] = 2] = "CubismMotionSegmentType_Stepped"; + CubismMotionSegmentType[CubismMotionSegmentType["CubismMotionSegmentType_InverseStepped"] = 3] = "CubismMotionSegmentType_InverseStepped"; // インバースステップ +})(CubismMotionSegmentType || (exports.CubismMotionSegmentType = CubismMotionSegmentType = {})); +/** + * @brief モーションカーブの制御点 + * + * モーションカーブの制御点。 + */ +var CubismMotionPoint = /** @class */ (function () { + function CubismMotionPoint() { + this.time = 0.0; // 時間[秒] + this.value = 0.0; // 値 + } + return CubismMotionPoint; +}()); +exports.CubismMotionPoint = CubismMotionPoint; +/** + * @brief モーションカーブのセグメント + * + * モーションカーブのセグメント。 + */ +var CubismMotionSegment = /** @class */ (function () { + /** + * @brief コンストラクタ + * + * コンストラクタ。 + */ + function CubismMotionSegment() { + this.evaluate = null; + this.basePointIndex = 0; + this.segmentType = 0; + } + return CubismMotionSegment; +}()); +exports.CubismMotionSegment = CubismMotionSegment; +/** + * @brief モーションカーブ + * + * モーションカーブ。 + */ +var CubismMotionCurve = /** @class */ (function () { + function CubismMotionCurve() { + this.type = CubismMotionCurveTarget.CubismMotionCurveTarget_Model; + this.segmentCount = 0; + this.baseSegmentIndex = 0; + this.fadeInTime = 0.0; + this.fadeOutTime = 0.0; + } + return CubismMotionCurve; +}()); +exports.CubismMotionCurve = CubismMotionCurve; +/** + * イベント。 + */ +var CubismMotionEvent = /** @class */ (function () { + function CubismMotionEvent() { + this.fireTime = 0.0; + } + return CubismMotionEvent; +}()); +exports.CubismMotionEvent = CubismMotionEvent; +/** + * @brief モーションデータ + * + * モーションデータ。 + */ +var CubismMotionData = /** @class */ (function () { + function CubismMotionData() { + this.duration = 0.0; + this.loop = false; + this.curveCount = 0; + this.eventCount = 0; + this.fps = 0.0; + this.curves = new csmvector_1.csmVector(); + this.segments = new csmvector_1.csmVector(); + this.points = new csmvector_1.csmVector(); + this.events = new csmvector_1.csmVector(); + } + return CubismMotionData; +}()); +exports.CubismMotionData = CubismMotionData; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismmotioninternal")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismMotionCurve = $.CubismMotionCurve; + Live2DCubismFramework.CubismMotionCurveTarget = $.CubismMotionCurveTarget; + Live2DCubismFramework.CubismMotionData = $.CubismMotionData; + Live2DCubismFramework.CubismMotionEvent = $.CubismMotionEvent; + Live2DCubismFramework.CubismMotionPoint = $.CubismMotionPoint; + Live2DCubismFramework.CubismMotionSegment = $.CubismMotionSegment; + Live2DCubismFramework.CubismMotionSegmentType = $.CubismMotionSegmentType; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismmotioninternal.js.map \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismmotioninternal.js.map b/live2demo/Framework/motion/cubismmotioninternal.js.map new file mode 100644 index 0000000..f96805f --- /dev/null +++ b/live2demo/Framework/motion/cubismmotioninternal.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismmotioninternal.js","sourceRoot":"","sources":["../../src/motion/cubismmotioninternal.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;AAIH,+CAA8C;AAE9C;;;;GAIG;AACH,IAAY,uBAIX;AAJD,WAAY,uBAAuB;IACjC,uHAA6B,CAAA;IAC7B,+HAAiC,CAAA;IACjC,mIAAmC,CAAA,CAAC,eAAe;AACrD,CAAC,EAJW,uBAAuB,uCAAvB,uBAAuB,QAIlC;AAED;;;;GAIG;AACH,IAAY,uBAKX;AALD,WAAY,uBAAuB;IACjC,yHAAkC,CAAA;IAClC,yHAAkC,CAAA;IAClC,2HAAmC,CAAA;IACnC,yIAA0C,CAAA,CAAC,YAAY;AACzD,CAAC,EALW,uBAAuB,uCAAvB,uBAAuB,QAKlC;AAED;;;;GAIG;AACH;IAAA;QACE,SAAI,GAAG,GAAG,CAAC,CAAC,QAAQ;QACpB,UAAK,GAAG,GAAG,CAAC,CAAC,IAAI;IACnB,CAAC;IAAD,wBAAC;AAAD,CAAC,AAHD,IAGC;AAHY,8CAAiB;AAe9B;;;;GAIG;AACH;IACE;;;;OAIG;IACH;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;IAKH,0BAAC;AAAD,CAAC,AAfD,IAeC;AAfY,kDAAmB;AAiBhC;;;;GAIG;AACH;IACE;QACE,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC,6BAA6B,CAAC;QAClE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;IACzB,CAAC;IAQH,wBAAC;AAAD,CAAC,AAfD,IAeC;AAfY,8CAAiB;AAiB9B;;GAEG;AACH;IAAA;QACE,aAAQ,GAAG,GAAG,CAAC;IAEjB,CAAC;IAAD,wBAAC;AAAD,CAAC,AAHD,IAGC;AAHY,8CAAiB;AAK9B;;;;GAIG;AACH;IACE;QACE,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QAEf,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAS,EAAqB,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,qBAAS,EAAuB,CAAC;QACrD,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAS,EAAqB,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAS,EAAqB,CAAC;IACnD,CAAC;IAWH,uBAAC;AAAD,CAAC,AAvBD,IAuBC;AAvBY,4CAAgB;AAyB7B,0CAA0C;AAC1C,wDAA4C;AAC5C,2DAA2D;AAC3D,IAAiB,qBAAqB,CAiBrC;AAjBD,WAAiB,qBAAqB;IACvB,uCAAiB,GAAG,CAAC,CAAC,iBAAiB,CAAC;IAExC,6CAAuB,GAAG,CAAC,CAAC,uBAAuB,CAAC;IAEpD,sCAAgB,GAAG,CAAC,CAAC,gBAAgB,CAAC;IAEtC,uCAAiB,GAAG,CAAC,CAAC,iBAAiB,CAAC;IAExC,uCAAiB,GAAG,CAAC,CAAC,iBAAiB,CAAC;IAExC,yCAAmB,GAAG,CAAC,CAAC,mBAAmB,CAAC;IAE5C,6CAAuB,GAAG,CAAC,CAAC,uBAAuB,CAAC;AAInE,CAAC,EAjBgB,qBAAqB,qCAArB,qBAAqB,QAiBrC"} \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismmotionjson.d.ts b/live2demo/Framework/motion/cubismmotionjson.d.ts new file mode 100644 index 0000000..1dda6b4 --- /dev/null +++ b/live2demo/Framework/motion/cubismmotionjson.d.ts @@ -0,0 +1,164 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { CubismIdHandle } from '../id/cubismid'; +import { csmString } from '../type/csmstring'; +import { CubismJson } from '../utils/cubismjson'; +/** + * motion3.jsonのコンテナ。 + */ +export declare class CubismMotionJson { + /** + * コンストラクタ + * @param buffer motion3.jsonが読み込まれているバッファ + * @param size バッファのサイズ + */ + constructor(buffer: ArrayBuffer, size: number); + /** + * デストラクタ相当の処理 + */ + release(): void; + /** + * モーションの長さを取得する + * @return モーションの長さ[秒] + */ + getMotionDuration(): number; + /** + * モーションのループ情報の取得 + * @return true ループする + * @return false ループしない + */ + isMotionLoop(): boolean; + getEvaluationOptionFlag(flagType: EvaluationOptionFlag): boolean; + /** + * モーションカーブの個数の取得 + * @return モーションカーブの個数 + */ + getMotionCurveCount(): number; + /** + * モーションのフレームレートの取得 + * @return フレームレート[FPS] + */ + getMotionFps(): number; + /** + * モーションのセグメントの総合計の取得 + * @return モーションのセグメントの取得 + */ + getMotionTotalSegmentCount(): number; + /** + * モーションのカーブの制御店の総合計の取得 + * @return モーションのカーブの制御点の総合計 + */ + getMotionTotalPointCount(): number; + /** + * モーションのフェードイン時間の存在 + * @return true 存在する + * @return false 存在しない + */ + isExistMotionFadeInTime(): boolean; + /** + * モーションのフェードアウト時間の存在 + * @return true 存在する + * @return false 存在しない + */ + isExistMotionFadeOutTime(): boolean; + /** + * モーションのフェードイン時間の取得 + * @return フェードイン時間[秒] + */ + getMotionFadeInTime(): number; + /** + * モーションのフェードアウト時間の取得 + * @return フェードアウト時間[秒] + */ + getMotionFadeOutTime(): number; + /** + * モーションのカーブの種類の取得 + * @param curveIndex カーブのインデックス + * @return カーブの種類 + */ + getMotionCurveTarget(curveIndex: number): string; + /** + * モーションのカーブのIDの取得 + * @param curveIndex カーブのインデックス + * @return カーブのID + */ + getMotionCurveId(curveIndex: number): CubismIdHandle; + /** + * モーションのカーブのフェードイン時間の存在 + * @param curveIndex カーブのインデックス + * @return true 存在する + * @return false 存在しない + */ + isExistMotionCurveFadeInTime(curveIndex: number): boolean; + /** + * モーションのカーブのフェードアウト時間の存在 + * @param curveIndex カーブのインデックス + * @return true 存在する + * @return false 存在しない + */ + isExistMotionCurveFadeOutTime(curveIndex: number): boolean; + /** + * モーションのカーブのフェードイン時間の取得 + * @param curveIndex カーブのインデックス + * @return フェードイン時間[秒] + */ + getMotionCurveFadeInTime(curveIndex: number): number; + /** + * モーションのカーブのフェードアウト時間の取得 + * @param curveIndex カーブのインデックス + * @return フェードアウト時間[秒] + */ + getMotionCurveFadeOutTime(curveIndex: number): number; + /** + * モーションのカーブのセグメントの個数を取得する + * @param curveIndex カーブのインデックス + * @return モーションのカーブのセグメントの個数 + */ + getMotionCurveSegmentCount(curveIndex: number): number; + /** + * モーションのカーブのセグメントの値の取得 + * @param curveIndex カーブのインデックス + * @param segmentIndex セグメントのインデックス + * @return セグメントの値 + */ + getMotionCurveSegment(curveIndex: number, segmentIndex: number): number; + /** + * イベントの個数の取得 + * @return イベントの個数 + */ + getEventCount(): number; + /** + * イベントの総文字数の取得 + * @return イベントの総文字数 + */ + getTotalEventValueSize(): number; + /** + * イベントの時間の取得 + * @param userDataIndex イベントのインデックス + * @return イベントの時間[秒] + */ + getEventTime(userDataIndex: number): number; + /** + * イベントの取得 + * @param userDataIndex イベントのインデックス + * @return イベントの文字列 + */ + getEventValue(userDataIndex: number): csmString; + _json: CubismJson; +} +/** + * @brief ベジェカーブの解釈方法のフラグタイプ + */ +export declare enum EvaluationOptionFlag { + EvaluationOptionFlag_AreBeziersRistricted = 0 +} +import * as $ from './cubismmotionjson'; +export declare namespace Live2DCubismFramework { + const CubismMotionJson: typeof $.CubismMotionJson; + type CubismMotionJson = $.CubismMotionJson; +} +//# sourceMappingURL=cubismmotionjson.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismmotionjson.d.ts.map b/live2demo/Framework/motion/cubismmotionjson.d.ts.map new file mode 100644 index 0000000..fb65843 --- /dev/null +++ b/live2demo/Framework/motion/cubismmotionjson.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismmotionjson.d.ts","sourceRoot":"","sources":["../../src/motion/cubismmotionjson.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAW,MAAM,qBAAqB,CAAC;AAuB1D;;GAEG;AACH,qBAAa,gBAAgB;IAC3B;;;;OAIG;gBACgB,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM;IAIpD;;OAEG;IACI,OAAO,IAAI,IAAI;IAItB;;;OAGG;IACI,iBAAiB,IAAI,MAAM;IAQlC;;;;OAIG;IACI,YAAY,IAAI,OAAO;IAQvB,uBAAuB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO;IAcvE;;;OAGG;IACI,mBAAmB,IAAI,MAAM;IAQpC;;;OAGG;IACI,YAAY,IAAI,MAAM;IAQ7B;;;OAGG;IACI,0BAA0B,IAAI,MAAM;IAQ3C;;;OAGG;IACI,wBAAwB,IAAI,MAAM;IAQzC;;;;OAIG;IACI,uBAAuB,IAAI,OAAO;IAQzC;;;;OAIG;IACI,wBAAwB,IAAI,OAAO;IAQ1C;;;OAGG;IACI,mBAAmB,IAAI,MAAM;IAQpC;;;OAGG;IACI,oBAAoB,IAAI,MAAM;IAQrC;;;;OAIG;IACI,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IASvD;;;;OAIG;IACI,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc;IAW3D;;;;;OAKG;IACI,4BAA4B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAShE;;;;;OAKG;IACI,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IASjE;;;;OAIG;IACI,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAS3D;;;;OAIG;IACI,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAS5D;;;;OAIG;IACI,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAU7D;;;;;OAKG;IACI,qBAAqB,CAC1B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,MAAM;IAUT;;;OAGG;IACI,aAAa,IAAI,MAAM;IAQ9B;;;OAGG;IACI,sBAAsB,IAAI,MAAM;IAQvC;;;;OAIG;IACI,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IASlD;;;;OAIG;IACI,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS;IAWtD,KAAK,EAAE,UAAU,CAAC;CACnB;AAED;;GAEG;AACH,oBAAY,oBAAoB;IAC9B,yCAAyC,IAAI;CAC9C;AAGD,OAAO,KAAK,CAAC,MAAM,oBAAoB,CAAC;AAExC,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,gBAAgB,2BAAqB,CAAC;IACnD,KAAY,gBAAgB,GAAG,CAAC,CAAC,gBAAgB,CAAC;CACnD"} \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismmotionjson.js b/live2demo/Framework/motion/cubismmotionjson.js new file mode 100644 index 0000000..76d3309 --- /dev/null +++ b/live2demo/Framework/motion/cubismmotionjson.js @@ -0,0 +1,371 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.EvaluationOptionFlag = exports.CubismMotionJson = void 0; +var live2dcubismframework_1 = require("../live2dcubismframework"); +var csmstring_1 = require("../type/csmstring"); +var cubismjson_1 = require("../utils/cubismjson"); +// JSON keys +var Meta = 'Meta'; +var Duration = 'Duration'; +var Loop = 'Loop'; +var AreBeziersRestricted = 'AreBeziersRestricted'; +var CurveCount = 'CurveCount'; +var Fps = 'Fps'; +var TotalSegmentCount = 'TotalSegmentCount'; +var TotalPointCount = 'TotalPointCount'; +var Curves = 'Curves'; +var Target = 'Target'; +var Id = 'Id'; +var FadeInTime = 'FadeInTime'; +var FadeOutTime = 'FadeOutTime'; +var Segments = 'Segments'; +var UserData = 'UserData'; +var UserDataCount = 'UserDataCount'; +var TotalUserDataSize = 'TotalUserDataSize'; +var Time = 'Time'; +var Value = 'Value'; +/** + * motion3.jsonのコンテナ。 + */ +var CubismMotionJson = /** @class */ (function () { + /** + * コンストラクタ + * @param buffer motion3.jsonが読み込まれているバッファ + * @param size バッファのサイズ + */ + function CubismMotionJson(buffer, size) { + this._json = cubismjson_1.CubismJson.create(buffer, size); + } + /** + * デストラクタ相当の処理 + */ + CubismMotionJson.prototype.release = function () { + cubismjson_1.CubismJson.delete(this._json); + }; + /** + * モーションの長さを取得する + * @return モーションの長さ[秒] + */ + CubismMotionJson.prototype.getMotionDuration = function () { + return this._json + .getRoot() + .getValueByString(Meta) + .getValueByString(Duration) + .toFloat(); + }; + /** + * モーションのループ情報の取得 + * @return true ループする + * @return false ループしない + */ + CubismMotionJson.prototype.isMotionLoop = function () { + return this._json + .getRoot() + .getValueByString(Meta) + .getValueByString(Loop) + .toBoolean(); + }; + CubismMotionJson.prototype.getEvaluationOptionFlag = function (flagType) { + if (EvaluationOptionFlag.EvaluationOptionFlag_AreBeziersRistricted == flagType) { + return this._json + .getRoot() + .getValueByString(Meta) + .getValueByString(AreBeziersRestricted) + .toBoolean(); + } + return false; + }; + /** + * モーションカーブの個数の取得 + * @return モーションカーブの個数 + */ + CubismMotionJson.prototype.getMotionCurveCount = function () { + return this._json + .getRoot() + .getValueByString(Meta) + .getValueByString(CurveCount) + .toInt(); + }; + /** + * モーションのフレームレートの取得 + * @return フレームレート[FPS] + */ + CubismMotionJson.prototype.getMotionFps = function () { + return this._json + .getRoot() + .getValueByString(Meta) + .getValueByString(Fps) + .toFloat(); + }; + /** + * モーションのセグメントの総合計の取得 + * @return モーションのセグメントの取得 + */ + CubismMotionJson.prototype.getMotionTotalSegmentCount = function () { + return this._json + .getRoot() + .getValueByString(Meta) + .getValueByString(TotalSegmentCount) + .toInt(); + }; + /** + * モーションのカーブの制御店の総合計の取得 + * @return モーションのカーブの制御点の総合計 + */ + CubismMotionJson.prototype.getMotionTotalPointCount = function () { + return this._json + .getRoot() + .getValueByString(Meta) + .getValueByString(TotalPointCount) + .toInt(); + }; + /** + * モーションのフェードイン時間の存在 + * @return true 存在する + * @return false 存在しない + */ + CubismMotionJson.prototype.isExistMotionFadeInTime = function () { + return !this._json + .getRoot() + .getValueByString(Meta) + .getValueByString(FadeInTime) + .isNull(); + }; + /** + * モーションのフェードアウト時間の存在 + * @return true 存在する + * @return false 存在しない + */ + CubismMotionJson.prototype.isExistMotionFadeOutTime = function () { + return !this._json + .getRoot() + .getValueByString(Meta) + .getValueByString(FadeOutTime) + .isNull(); + }; + /** + * モーションのフェードイン時間の取得 + * @return フェードイン時間[秒] + */ + CubismMotionJson.prototype.getMotionFadeInTime = function () { + return this._json + .getRoot() + .getValueByString(Meta) + .getValueByString(FadeInTime) + .toFloat(); + }; + /** + * モーションのフェードアウト時間の取得 + * @return フェードアウト時間[秒] + */ + CubismMotionJson.prototype.getMotionFadeOutTime = function () { + return this._json + .getRoot() + .getValueByString(Meta) + .getValueByString(FadeOutTime) + .toFloat(); + }; + /** + * モーションのカーブの種類の取得 + * @param curveIndex カーブのインデックス + * @return カーブの種類 + */ + CubismMotionJson.prototype.getMotionCurveTarget = function (curveIndex) { + return this._json + .getRoot() + .getValueByString(Curves) + .getValueByIndex(curveIndex) + .getValueByString(Target) + .getRawString(); + }; + /** + * モーションのカーブのIDの取得 + * @param curveIndex カーブのインデックス + * @return カーブのID + */ + CubismMotionJson.prototype.getMotionCurveId = function (curveIndex) { + return live2dcubismframework_1.CubismFramework.getIdManager().getId(this._json + .getRoot() + .getValueByString(Curves) + .getValueByIndex(curveIndex) + .getValueByString(Id) + .getRawString()); + }; + /** + * モーションのカーブのフェードイン時間の存在 + * @param curveIndex カーブのインデックス + * @return true 存在する + * @return false 存在しない + */ + CubismMotionJson.prototype.isExistMotionCurveFadeInTime = function (curveIndex) { + return !this._json + .getRoot() + .getValueByString(Curves) + .getValueByIndex(curveIndex) + .getValueByString(FadeInTime) + .isNull(); + }; + /** + * モーションのカーブのフェードアウト時間の存在 + * @param curveIndex カーブのインデックス + * @return true 存在する + * @return false 存在しない + */ + CubismMotionJson.prototype.isExistMotionCurveFadeOutTime = function (curveIndex) { + return !this._json + .getRoot() + .getValueByString(Curves) + .getValueByIndex(curveIndex) + .getValueByString(FadeOutTime) + .isNull(); + }; + /** + * モーションのカーブのフェードイン時間の取得 + * @param curveIndex カーブのインデックス + * @return フェードイン時間[秒] + */ + CubismMotionJson.prototype.getMotionCurveFadeInTime = function (curveIndex) { + return this._json + .getRoot() + .getValueByString(Curves) + .getValueByIndex(curveIndex) + .getValueByString(FadeInTime) + .toFloat(); + }; + /** + * モーションのカーブのフェードアウト時間の取得 + * @param curveIndex カーブのインデックス + * @return フェードアウト時間[秒] + */ + CubismMotionJson.prototype.getMotionCurveFadeOutTime = function (curveIndex) { + return this._json + .getRoot() + .getValueByString(Curves) + .getValueByIndex(curveIndex) + .getValueByString(FadeOutTime) + .toFloat(); + }; + /** + * モーションのカーブのセグメントの個数を取得する + * @param curveIndex カーブのインデックス + * @return モーションのカーブのセグメントの個数 + */ + CubismMotionJson.prototype.getMotionCurveSegmentCount = function (curveIndex) { + return this._json + .getRoot() + .getValueByString(Curves) + .getValueByIndex(curveIndex) + .getValueByString(Segments) + .getVector() + .getSize(); + }; + /** + * モーションのカーブのセグメントの値の取得 + * @param curveIndex カーブのインデックス + * @param segmentIndex セグメントのインデックス + * @return セグメントの値 + */ + CubismMotionJson.prototype.getMotionCurveSegment = function (curveIndex, segmentIndex) { + return this._json + .getRoot() + .getValueByString(Curves) + .getValueByIndex(curveIndex) + .getValueByString(Segments) + .getValueByIndex(segmentIndex) + .toFloat(); + }; + /** + * イベントの個数の取得 + * @return イベントの個数 + */ + CubismMotionJson.prototype.getEventCount = function () { + return this._json + .getRoot() + .getValueByString(Meta) + .getValueByString(UserDataCount) + .toInt(); + }; + /** + * イベントの総文字数の取得 + * @return イベントの総文字数 + */ + CubismMotionJson.prototype.getTotalEventValueSize = function () { + return this._json + .getRoot() + .getValueByString(Meta) + .getValueByString(TotalUserDataSize) + .toInt(); + }; + /** + * イベントの時間の取得 + * @param userDataIndex イベントのインデックス + * @return イベントの時間[秒] + */ + CubismMotionJson.prototype.getEventTime = function (userDataIndex) { + return this._json + .getRoot() + .getValueByString(UserData) + .getValueByIndex(userDataIndex) + .getValueByString(Time) + .toFloat(); + }; + /** + * イベントの取得 + * @param userDataIndex イベントのインデックス + * @return イベントの文字列 + */ + CubismMotionJson.prototype.getEventValue = function (userDataIndex) { + return new csmstring_1.csmString(this._json + .getRoot() + .getValueByString(UserData) + .getValueByIndex(userDataIndex) + .getValueByString(Value) + .getRawString()); + }; + return CubismMotionJson; +}()); +exports.CubismMotionJson = CubismMotionJson; +/** + * @brief ベジェカーブの解釈方法のフラグタイプ + */ +var EvaluationOptionFlag; +(function (EvaluationOptionFlag) { + EvaluationOptionFlag[EvaluationOptionFlag["EvaluationOptionFlag_AreBeziersRistricted"] = 0] = "EvaluationOptionFlag_AreBeziersRistricted"; ///< ベジェハンドルの規制状態 +})(EvaluationOptionFlag || (exports.EvaluationOptionFlag = EvaluationOptionFlag = {})); +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismmotionjson")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismMotionJson = $.CubismMotionJson; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismmotionjson.js.map \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismmotionjson.js.map b/live2demo/Framework/motion/cubismmotionjson.js.map new file mode 100644 index 0000000..1709541 --- /dev/null +++ b/live2demo/Framework/motion/cubismmotionjson.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismmotionjson.js","sourceRoot":"","sources":["../../src/motion/cubismmotionjson.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismmotionmanager.d.ts b/live2demo/Framework/motion/cubismmotionmanager.d.ts new file mode 100644 index 0000000..462228f --- /dev/null +++ b/live2demo/Framework/motion/cubismmotionmanager.d.ts @@ -0,0 +1,69 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { CubismModel } from '../model/cubismmodel'; +import { ACubismMotion } from './acubismmotion'; +import { CubismMotionQueueEntryHandle, CubismMotionQueueManager } from './cubismmotionqueuemanager'; +/** + * モーションの管理 + * + * モーションの管理を行うクラス + */ +export declare class CubismMotionManager extends CubismMotionQueueManager { + /** + * コンストラクタ + */ + constructor(); + /** + * 再生中のモーションの優先度の取得 + * @return モーションの優先度 + */ + getCurrentPriority(): number; + /** + * 予約中のモーションの優先度を取得する。 + * @return モーションの優先度 + */ + getReservePriority(): number; + /** + * 予約中のモーションの優先度を設定する。 + * @param val 優先度 + */ + setReservePriority(val: number): void; + /** + * 優先度を設定してモーションを開始する。 + * + * @param motion モーション + * @param autoDelete 再生が狩猟したモーションのインスタンスを削除するならtrue + * @param priority 優先度 + * @return 開始したモーションの識別番号を返す。個別のモーションが終了したか否かを判定するIsFinished()の引数で使用する。開始できない時は「-1」 + */ + startMotionPriority(motion: ACubismMotion, autoDelete: boolean, priority: number): CubismMotionQueueEntryHandle; + /** + * モーションを更新して、モデルにパラメータ値を反映する。 + * + * @param model 対象のモデル + * @param deltaTimeSeconds デルタ時間[秒] + * @return true 更新されている + * @return false 更新されていない + */ + updateMotion(model: CubismModel, deltaTimeSeconds: number): boolean; + /** + * モーションを予約する。 + * + * @param priority 優先度 + * @return true 予約できた + * @return false 予約できなかった + */ + reserveMotion(priority: number): boolean; + _currentPriority: number; + _reservePriority: number; +} +import * as $ from './cubismmotionmanager'; +export declare namespace Live2DCubismFramework { + const CubismMotionManager: typeof $.CubismMotionManager; + type CubismMotionManager = $.CubismMotionManager; +} +//# sourceMappingURL=cubismmotionmanager.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismmotionmanager.d.ts.map b/live2demo/Framework/motion/cubismmotionmanager.d.ts.map new file mode 100644 index 0000000..5ff2d41 --- /dev/null +++ b/live2demo/Framework/motion/cubismmotionmanager.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismmotionmanager.d.ts","sourceRoot":"","sources":["../../src/motion/cubismmotionmanager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACzB,MAAM,4BAA4B,CAAC;AAEpC;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,wBAAwB;IAC/D;;OAEG;;IAOH;;;OAGG;IACI,kBAAkB,IAAI,MAAM;IAInC;;;OAGG;IACI,kBAAkB,IAAI,MAAM;IAInC;;;OAGG;IACI,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI5C;;;;;;;OAOG;IACI,mBAAmB,CACxB,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,OAAO,EACnB,QAAQ,EAAE,MAAM,GACf,4BAA4B;IAU/B;;;;;;;OAOG;IACI,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO;IAY1E;;;;;;OAMG;IACI,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAa/C,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAGD,OAAO,KAAK,CAAC,MAAM,uBAAuB,CAAC;AAE3C,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,mBAAmB,8BAAwB,CAAC;IACzD,KAAY,mBAAmB,GAAG,CAAC,CAAC,mBAAmB,CAAC;CACzD"} \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismmotionmanager.js b/live2demo/Framework/motion/cubismmotionmanager.js new file mode 100644 index 0000000..e603a57 --- /dev/null +++ b/live2demo/Framework/motion/cubismmotionmanager.js @@ -0,0 +1,142 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.CubismMotionManager = void 0; +var cubismmotionqueuemanager_1 = require("./cubismmotionqueuemanager"); +/** + * モーションの管理 + * + * モーションの管理を行うクラス + */ +var CubismMotionManager = /** @class */ (function (_super) { + __extends(CubismMotionManager, _super); + /** + * コンストラクタ + */ + function CubismMotionManager() { + var _this = _super.call(this) || this; + _this._currentPriority = 0; + _this._reservePriority = 0; + return _this; + } + /** + * 再生中のモーションの優先度の取得 + * @return モーションの優先度 + */ + CubismMotionManager.prototype.getCurrentPriority = function () { + return this._currentPriority; + }; + /** + * 予約中のモーションの優先度を取得する。 + * @return モーションの優先度 + */ + CubismMotionManager.prototype.getReservePriority = function () { + return this._reservePriority; + }; + /** + * 予約中のモーションの優先度を設定する。 + * @param val 優先度 + */ + CubismMotionManager.prototype.setReservePriority = function (val) { + this._reservePriority = val; + }; + /** + * 優先度を設定してモーションを開始する。 + * + * @param motion モーション + * @param autoDelete 再生が狩猟したモーションのインスタンスを削除するならtrue + * @param priority 優先度 + * @return 開始したモーションの識別番号を返す。個別のモーションが終了したか否かを判定するIsFinished()の引数で使用する。開始できない時は「-1」 + */ + CubismMotionManager.prototype.startMotionPriority = function (motion, autoDelete, priority) { + if (priority == this._reservePriority) { + this._reservePriority = 0; // 予約を解除 + } + this._currentPriority = priority; // 再生中モーションの優先度を設定 + return _super.prototype.startMotion.call(this, motion, autoDelete, this._userTimeSeconds); + }; + /** + * モーションを更新して、モデルにパラメータ値を反映する。 + * + * @param model 対象のモデル + * @param deltaTimeSeconds デルタ時間[秒] + * @return true 更新されている + * @return false 更新されていない + */ + CubismMotionManager.prototype.updateMotion = function (model, deltaTimeSeconds) { + this._userTimeSeconds += deltaTimeSeconds; + var updated = _super.prototype.doUpdateMotion.call(this, model, this._userTimeSeconds); + if (this.isFinished()) { + this._currentPriority = 0; // 再生中のモーションの優先度を解除 + } + return updated; + }; + /** + * モーションを予約する。 + * + * @param priority 優先度 + * @return true 予約できた + * @return false 予約できなかった + */ + CubismMotionManager.prototype.reserveMotion = function (priority) { + if (priority <= this._reservePriority || + priority <= this._currentPriority) { + return false; + } + this._reservePriority = priority; + return true; + }; + return CubismMotionManager; +}(cubismmotionqueuemanager_1.CubismMotionQueueManager)); +exports.CubismMotionManager = CubismMotionManager; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismmotionmanager")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismMotionManager = $.CubismMotionManager; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismmotionmanager.js.map \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismmotionmanager.js.map b/live2demo/Framework/motion/cubismmotionmanager.js.map new file mode 100644 index 0000000..227e2f8 --- /dev/null +++ b/live2demo/Framework/motion/cubismmotionmanager.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismmotionmanager.js","sourceRoot":"","sources":["../../src/motion/cubismmotionmanager.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIH,uEAGoC;AAEpC;;;;GAIG;AACH;IAAyC,uCAAwB;IAC/D;;OAEG;IACH;QAAA,YACE,iBAAO,SAGR;QAFC,KAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,KAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;;IAC5B,CAAC;IAED;;;OAGG;IACI,gDAAkB,GAAzB;QACE,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACI,gDAAkB,GAAzB;QACE,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACI,gDAAkB,GAAzB,UAA0B,GAAW;QACnC,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;IAC9B,CAAC;IAED;;;;;;;OAOG;IACI,iDAAmB,GAA1B,UACE,MAAqB,EACrB,UAAmB,EACnB,QAAgB;QAEhB,IAAI,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACrC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,QAAQ;SACpC;QAED,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,CAAC,kBAAkB;QAEpD,OAAO,iBAAM,WAAW,YAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;;OAOG;IACI,0CAAY,GAAnB,UAAoB,KAAkB,EAAE,gBAAwB;QAC9D,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC;QAE1C,IAAM,OAAO,GAAY,iBAAM,cAAc,YAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAE5E,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACrB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,mBAAmB;SAC/C;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACI,2CAAa,GAApB,UAAqB,QAAgB;QACnC,IACE,QAAQ,IAAI,IAAI,CAAC,gBAAgB;YACjC,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EACjC;YACA,OAAO,KAAK,CAAC;SACd;QAED,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QAEjC,OAAO,IAAI,CAAC;IACd,CAAC;IAIH,0BAAC;AAAD,CAAC,AAlGD,CAAyC,mDAAwB,GAkGhE;AAlGY,kDAAmB;AAoGhC,0CAA0C;AAC1C,uDAA2C;AAC3C,2DAA2D;AAC3D,IAAiB,qBAAqB,CAGrC;AAHD,WAAiB,qBAAqB;IACvB,yCAAmB,GAAG,CAAC,CAAC,mBAAmB,CAAC;AAE3D,CAAC,EAHgB,qBAAqB,qCAArB,qBAAqB,QAGrC"} \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismmotionqueueentry.d.ts b/live2demo/Framework/motion/cubismmotionqueueentry.d.ts new file mode 100644 index 0000000..84aad88 --- /dev/null +++ b/live2demo/Framework/motion/cubismmotionqueueentry.d.ts @@ -0,0 +1,159 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { ACubismMotion } from './acubismmotion'; +import { CubismMotionQueueEntryHandle } from './cubismmotionqueuemanager'; +/** + * CubismMotionQueueManagerで再生している各モーションの管理クラス。 + */ +export declare class CubismMotionQueueEntry { + /** + * コンストラクタ + */ + constructor(); + /** + * デストラクタ相当の処理 + */ + release(): void; + /** + * フェードアウト時間と開始判定の設定 + * @param fadeOutSeconds フェードアウトにかかる時間[秒] + */ + setFadeOut(fadeOutSeconds: number): void; + /** + * フェードアウトの開始 + * @param fadeOutSeconds フェードアウトにかかる時間[秒] + * @param userTimeSeconds デルタ時間の積算値[秒] + */ + startFadeOut(fadeOutSeconds: number, userTimeSeconds: number): void; + /** + * モーションの終了の確認 + * + * @return true モーションが終了した + * @return false 終了していない + */ + isFinished(): boolean; + /** + * モーションの開始の確認 + * @return true モーションが開始した + * @return false 開始していない + */ + isStarted(): boolean; + /** + * モーションの開始時刻の取得 + * @return モーションの開始時刻[秒] + */ + getStartTime(): number; + /** + * フェードインの開始時刻の取得 + * @return フェードインの開始時刻[秒] + */ + getFadeInStartTime(): number; + /** + * フェードインの終了時刻の取得 + * @return フェードインの終了時刻の取得 + */ + getEndTime(): number; + /** + * モーションの開始時刻の設定 + * @param startTime モーションの開始時刻 + */ + setStartTime(startTime: number): void; + /** + * フェードインの開始時刻の設定 + * @param startTime フェードインの開始時刻[秒] + */ + setFadeInStartTime(startTime: number): void; + /** + * フェードインの終了時刻の設定 + * @param endTime フェードインの終了時刻[秒] + */ + setEndTime(endTime: number): void; + /** + * モーションの終了の設定 + * @param f trueならモーションの終了 + */ + setIsFinished(f: boolean): void; + /** + * モーション開始の設定 + * @param f trueならモーションの開始 + */ + setIsStarted(f: boolean): void; + /** + * モーションの有効性の確認 + * @return true モーションは有効 + * @return false モーションは無効 + */ + isAvailable(): boolean; + /** + * モーションの有効性の設定 + * @param v trueならモーションは有効 + */ + setIsAvailable(v: boolean): void; + /** + * モーションの状態の設定 + * @param timeSeconds 現在時刻[秒] + * @param weight モーション尾重み + */ + setState(timeSeconds: number, weight: number): void; + /** + * モーションの現在時刻の取得 + * @return モーションの現在時刻[秒] + */ + getStateTime(): number; + /** + * モーションの重みの取得 + * @return モーションの重み + */ + getStateWeight(): number; + /** + * 最後にイベントの発火をチェックした時間を取得 + * + * @return 最後にイベントの発火をチェックした時間[秒] + */ + getLastCheckEventSeconds(): number; + /** + * 最後にイベントをチェックした時間を設定 + * @param checkSeconds 最後にイベントをチェックした時間[秒] + */ + setLastCheckEventSeconds(checkSeconds: number): void; + /** + * フェードアウト開始判定の取得 + * @return フェードアウト開始するかどうか + */ + isTriggeredFadeOut(): boolean; + /** + * フェードアウト時間の取得 + * @return フェードアウト時間[秒] + */ + getFadeOutSeconds(): number; + /** + * モーションの取得 + * + * @return モーション + */ + getCubismMotion(): ACubismMotion; + _autoDelete: boolean; + _motion: ACubismMotion; + _available: boolean; + _finished: boolean; + _started: boolean; + _startTimeSeconds: number; + _fadeInStartTimeSeconds: number; + _endTimeSeconds: number; + _stateTimeSeconds: number; + _stateWeight: number; + _lastEventCheckSeconds: number; + private _fadeOutSeconds; + private _isTriggeredFadeOut; + _motionQueueEntryHandle: CubismMotionQueueEntryHandle; +} +import * as $ from './cubismmotionqueueentry'; +export declare namespace Live2DCubismFramework { + const CubismMotionQueueEntry: typeof $.CubismMotionQueueEntry; + type CubismMotionQueueEntry = $.CubismMotionQueueEntry; +} +//# sourceMappingURL=cubismmotionqueueentry.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismmotionqueueentry.d.ts.map b/live2demo/Framework/motion/cubismmotionqueueentry.d.ts.map new file mode 100644 index 0000000..fde8b22 --- /dev/null +++ b/live2demo/Framework/motion/cubismmotionqueueentry.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismmotionqueueentry.d.ts","sourceRoot":"","sources":["../../src/motion/cubismmotionqueueentry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAE1E;;GAEG;AACH,qBAAa,sBAAsB;IACjC;;OAEG;;IAkBH;;OAEG;IACI,OAAO,IAAI,IAAI;IAMtB;;;OAGG;IACI,UAAU,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAK/C;;;;OAIG;IACI,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI;IAY1E;;;;;OAKG;IACI,UAAU,IAAI,OAAO;IAI5B;;;;OAIG;IACI,SAAS,IAAI,OAAO;IAI3B;;;OAGG;IACI,YAAY,IAAI,MAAM;IAI7B;;;OAGG;IACI,kBAAkB,IAAI,MAAM;IAInC;;;OAGG;IACI,UAAU,IAAI,MAAM;IAI3B;;;OAGG;IACI,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI5C;;;OAGG;IACI,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIlD;;;OAGG;IACI,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIxC;;;OAGG;IACI,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI;IAItC;;;OAGG;IACI,YAAY,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI;IAIrC;;;;OAIG;IACI,WAAW,IAAI,OAAO;IAI7B;;;OAGG;IACI,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI;IAIvC;;;;OAIG;IACI,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAK1D;;;OAGG;IACI,YAAY,IAAI,MAAM;IAI7B;;;OAGG;IACI,cAAc,IAAI,MAAM;IAI/B;;;;OAIG;IACI,wBAAwB,IAAI,MAAM;IAIzC;;;OAGG;IACI,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAI3D;;;OAGG;IACI,kBAAkB,IAAI,OAAO;IAIpC;;;OAGG;IACI,iBAAiB,IAAI,MAAM;IAIlC;;;;OAIG;IACI,eAAe,IAAI,aAAa;IAIvC,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,aAAa,CAAC;IAEvB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uBAAuB,EAAE,MAAM,CAAC;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,mBAAmB,CAAU;IAErC,uBAAuB,EAAE,4BAA4B,CAAC;CACvD;AAGD,OAAO,KAAK,CAAC,MAAM,0BAA0B,CAAC;AAE9C,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,sBAAsB,iCAA2B,CAAC;IAC/D,KAAY,sBAAsB,GAAG,CAAC,CAAC,sBAAsB,CAAC;CAC/D"} \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismmotionqueueentry.js b/live2demo/Framework/motion/cubismmotionqueueentry.js new file mode 100644 index 0000000..e08a592 --- /dev/null +++ b/live2demo/Framework/motion/cubismmotionqueueentry.js @@ -0,0 +1,244 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.CubismMotionQueueEntry = void 0; +var acubismmotion_1 = require("./acubismmotion"); +/** + * CubismMotionQueueManagerで再生している各モーションの管理クラス。 + */ +var CubismMotionQueueEntry = /** @class */ (function () { + /** + * コンストラクタ + */ + function CubismMotionQueueEntry() { + this._autoDelete = false; + this._motion = null; + this._available = true; + this._finished = false; + this._started = false; + this._startTimeSeconds = -1.0; + this._fadeInStartTimeSeconds = 0.0; + this._endTimeSeconds = -1.0; + this._stateTimeSeconds = 0.0; + this._stateWeight = 0.0; + this._lastEventCheckSeconds = 0.0; + this._motionQueueEntryHandle = this; + this._fadeOutSeconds = 0.0; + this._isTriggeredFadeOut = false; + } + /** + * デストラクタ相当の処理 + */ + CubismMotionQueueEntry.prototype.release = function () { + if (this._autoDelete && this._motion) { + acubismmotion_1.ACubismMotion.delete(this._motion); // + } + }; + /** + * フェードアウト時間と開始判定の設定 + * @param fadeOutSeconds フェードアウトにかかる時間[秒] + */ + CubismMotionQueueEntry.prototype.setFadeOut = function (fadeOutSeconds) { + this._fadeOutSeconds = fadeOutSeconds; + this._isTriggeredFadeOut = true; + }; + /** + * フェードアウトの開始 + * @param fadeOutSeconds フェードアウトにかかる時間[秒] + * @param userTimeSeconds デルタ時間の積算値[秒] + */ + CubismMotionQueueEntry.prototype.startFadeOut = function (fadeOutSeconds, userTimeSeconds) { + var newEndTimeSeconds = userTimeSeconds + fadeOutSeconds; + this._isTriggeredFadeOut = true; + if (this._endTimeSeconds < 0.0 || + newEndTimeSeconds < this._endTimeSeconds) { + this._endTimeSeconds = newEndTimeSeconds; + } + }; + /** + * モーションの終了の確認 + * + * @return true モーションが終了した + * @return false 終了していない + */ + CubismMotionQueueEntry.prototype.isFinished = function () { + return this._finished; + }; + /** + * モーションの開始の確認 + * @return true モーションが開始した + * @return false 開始していない + */ + CubismMotionQueueEntry.prototype.isStarted = function () { + return this._started; + }; + /** + * モーションの開始時刻の取得 + * @return モーションの開始時刻[秒] + */ + CubismMotionQueueEntry.prototype.getStartTime = function () { + return this._startTimeSeconds; + }; + /** + * フェードインの開始時刻の取得 + * @return フェードインの開始時刻[秒] + */ + CubismMotionQueueEntry.prototype.getFadeInStartTime = function () { + return this._fadeInStartTimeSeconds; + }; + /** + * フェードインの終了時刻の取得 + * @return フェードインの終了時刻の取得 + */ + CubismMotionQueueEntry.prototype.getEndTime = function () { + return this._endTimeSeconds; + }; + /** + * モーションの開始時刻の設定 + * @param startTime モーションの開始時刻 + */ + CubismMotionQueueEntry.prototype.setStartTime = function (startTime) { + this._startTimeSeconds = startTime; + }; + /** + * フェードインの開始時刻の設定 + * @param startTime フェードインの開始時刻[秒] + */ + CubismMotionQueueEntry.prototype.setFadeInStartTime = function (startTime) { + this._fadeInStartTimeSeconds = startTime; + }; + /** + * フェードインの終了時刻の設定 + * @param endTime フェードインの終了時刻[秒] + */ + CubismMotionQueueEntry.prototype.setEndTime = function (endTime) { + this._endTimeSeconds = endTime; + }; + /** + * モーションの終了の設定 + * @param f trueならモーションの終了 + */ + CubismMotionQueueEntry.prototype.setIsFinished = function (f) { + this._finished = f; + }; + /** + * モーション開始の設定 + * @param f trueならモーションの開始 + */ + CubismMotionQueueEntry.prototype.setIsStarted = function (f) { + this._started = f; + }; + /** + * モーションの有効性の確認 + * @return true モーションは有効 + * @return false モーションは無効 + */ + CubismMotionQueueEntry.prototype.isAvailable = function () { + return this._available; + }; + /** + * モーションの有効性の設定 + * @param v trueならモーションは有効 + */ + CubismMotionQueueEntry.prototype.setIsAvailable = function (v) { + this._available = v; + }; + /** + * モーションの状態の設定 + * @param timeSeconds 現在時刻[秒] + * @param weight モーション尾重み + */ + CubismMotionQueueEntry.prototype.setState = function (timeSeconds, weight) { + this._stateTimeSeconds = timeSeconds; + this._stateWeight = weight; + }; + /** + * モーションの現在時刻の取得 + * @return モーションの現在時刻[秒] + */ + CubismMotionQueueEntry.prototype.getStateTime = function () { + return this._stateTimeSeconds; + }; + /** + * モーションの重みの取得 + * @return モーションの重み + */ + CubismMotionQueueEntry.prototype.getStateWeight = function () { + return this._stateWeight; + }; + /** + * 最後にイベントの発火をチェックした時間を取得 + * + * @return 最後にイベントの発火をチェックした時間[秒] + */ + CubismMotionQueueEntry.prototype.getLastCheckEventSeconds = function () { + return this._lastEventCheckSeconds; + }; + /** + * 最後にイベントをチェックした時間を設定 + * @param checkSeconds 最後にイベントをチェックした時間[秒] + */ + CubismMotionQueueEntry.prototype.setLastCheckEventSeconds = function (checkSeconds) { + this._lastEventCheckSeconds = checkSeconds; + }; + /** + * フェードアウト開始判定の取得 + * @return フェードアウト開始するかどうか + */ + CubismMotionQueueEntry.prototype.isTriggeredFadeOut = function () { + return this._isTriggeredFadeOut; + }; + /** + * フェードアウト時間の取得 + * @return フェードアウト時間[秒] + */ + CubismMotionQueueEntry.prototype.getFadeOutSeconds = function () { + return this._fadeOutSeconds; + }; + /** + * モーションの取得 + * + * @return モーション + */ + CubismMotionQueueEntry.prototype.getCubismMotion = function () { + return this._motion; + }; + return CubismMotionQueueEntry; +}()); +exports.CubismMotionQueueEntry = CubismMotionQueueEntry; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismmotionqueueentry")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismMotionQueueEntry = $.CubismMotionQueueEntry; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismmotionqueueentry.js.map \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismmotionqueueentry.js.map b/live2demo/Framework/motion/cubismmotionqueueentry.js.map new file mode 100644 index 0000000..f439d2b --- /dev/null +++ b/live2demo/Framework/motion/cubismmotionqueueentry.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismmotionqueueentry.js","sourceRoot":"","sources":["../../src/motion/cubismmotionqueueentry.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismmotionqueuemanager.d.ts b/live2demo/Framework/motion/cubismmotionqueuemanager.d.ts new file mode 100644 index 0000000..71dddd7 --- /dev/null +++ b/live2demo/Framework/motion/cubismmotionqueuemanager.d.ts @@ -0,0 +1,122 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { ACubismMotion } from './acubismmotion'; +import { CubismMotionQueueEntry } from './cubismmotionqueueentry'; +import { csmVector } from '../type/csmvector'; +import { CubismModel } from '../model/cubismmodel'; +import { csmString } from '../type/csmstring'; +/** + * モーション再生の管理 + * + * モーション再生の管理用クラス。CubismMotionモーションなどACubismMotionのサブクラスを再生するために使用する。 + * + * @note 再生中に別のモーションが StartMotion()された場合は、新しいモーションに滑らかに変化し旧モーションは中断する。 + * 表情用モーション、体用モーションなどを分けてモーション化した場合など、 + * 複数のモーションを同時に再生させる場合は、複数のCubismMotionQueueManagerインスタンスを使用する。 + */ +export declare class CubismMotionQueueManager { + /** + * コンストラクタ + */ + constructor(); + /** + * デストラクタ + */ + release(): void; + /** + * 指定したモーションの開始 + * + * 指定したモーションを開始する。同じタイプのモーションが既にある場合は、既存のモーションに終了フラグを立て、フェードアウトを開始させる。 + * + * @param motion 開始するモーション + * @param autoDelete 再生が終了したモーションのインスタンスを削除するなら true + * @param userTimeSeconds デルタ時間の積算値[秒] + * @return 開始したモーションの識別番号を返す。個別のモーションが終了したか否かを判定するIsFinished()の引数で使用する。開始できない時は「-1」 + */ + startMotion(motion: ACubismMotion, autoDelete: boolean, userTimeSeconds: number): CubismMotionQueueEntryHandle; + /** + * 全てのモーションの終了の確認 + * @return true 全て終了している + * @return false 終了していない + */ + isFinished(): boolean; + /** + * 指定したモーションの終了の確認 + * @param motionQueueEntryNumber モーションの識別番号 + * @return true 全て終了している + * @return false 終了していない + */ + isFinishedByHandle(motionQueueEntryNumber: CubismMotionQueueEntryHandle): boolean; + /** + * 全てのモーションを停止する + */ + stopAllMotions(): void; + /** + * @brief CubismMotionQueueEntryの配列の取得 + * + * CubismMotionQueueEntryの配列を取得する。 + * + * @return CubismMotionQueueEntryの配列へのポインタ + * @retval NULL 見つからなかった + */ + getCubismMotionQueueEntries(): csmVector; + /** + * 指定したCubismMotionQueueEntryの取得 + + * @param motionQueueEntryNumber モーションの識別番号 + * @return 指定したCubismMotionQueueEntry + * @return null 見つからなかった + */ + getCubismMotionQueueEntry(motionQueueEntryNumber: any): CubismMotionQueueEntry; + /** + * イベントを受け取るCallbackの登録 + * + * @param callback コールバック関数 + * @param customData コールバックに返されるデータ + */ + setEventCallback(callback: CubismMotionEventFunction, customData?: any): void; + /** + * モーションを更新して、モデルにパラメータ値を反映する。 + * + * @param model 対象のモデル + * @param userTimeSeconds デルタ時間の積算値[秒] + * @return true モデルへパラメータ値の反映あり + * @return false モデルへパラメータ値の反映なし(モーションの変化なし) + */ + doUpdateMotion(model: CubismModel, userTimeSeconds: number): boolean; + _userTimeSeconds: number; + _motions: csmVector; + _eventCallBack: CubismMotionEventFunction; + _eventCustomData: any; +} +/** + * イベントのコールバック関数を定義 + * + * イベントのコールバックに登録できる関数の型情報 + * @param caller 発火したイベントを再生させたCubismMotionQueueManager + * @param eventValue 発火したイベントの文字列データ + * @param customData コールバックに返される登録時に指定されたデータ + */ +export interface CubismMotionEventFunction { + (caller: CubismMotionQueueManager, eventValue: csmString, customData: any): void; +} +/** + * モーションの識別番号 + * + * モーションの識別番号の定義 + */ +export declare type CubismMotionQueueEntryHandle = any; +export declare const InvalidMotionQueueEntryHandleValue: CubismMotionQueueEntryHandle; +import * as $ from './cubismmotionqueuemanager'; +export declare namespace Live2DCubismFramework { + const CubismMotionQueueManager: typeof $.CubismMotionQueueManager; + type CubismMotionQueueManager = $.CubismMotionQueueManager; + const InvalidMotionQueueEntryHandleValue: any; + type CubismMotionQueueEntryHandle = $.CubismMotionQueueEntryHandle; + type CubismMotionEventFunction = $.CubismMotionEventFunction; +} +//# sourceMappingURL=cubismmotionqueuemanager.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismmotionqueuemanager.d.ts.map b/live2demo/Framework/motion/cubismmotionqueuemanager.d.ts.map new file mode 100644 index 0000000..1a9014c --- /dev/null +++ b/live2demo/Framework/motion/cubismmotionqueuemanager.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismmotionqueuemanager.d.ts","sourceRoot":"","sources":["../../src/motion/cubismmotionqueuemanager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAY,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C;;;;;;;;GAQG;AACH,qBAAa,wBAAwB;IACnC;;OAEG;;IAQH;;OAEG;IACI,OAAO,IAAI,IAAI;IAWtB;;;;;;;;;OASG;IACI,WAAW,CAChB,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,OAAO,EACnB,eAAe,EAAE,MAAM,GACtB,4BAA4B;IA0B/B;;;;OAIG;IACI,UAAU,IAAI,OAAO;IAoC5B;;;;;OAKG;IACI,kBAAkB,CACvB,sBAAsB,EAAE,4BAA4B,GACnD,OAAO;IAsBV;;OAEG;IACI,cAAc,IAAI,IAAI;IAwB7B;;;;;;;OAOG;IACI,2BAA2B,IAAI,SAAS,CAAC,sBAAsB,CAAC;IAIvE;;;;;;OAMG;IACI,yBAAyB,CAC9B,sBAAsB,EAAE,GAAG,GAC1B,sBAAsB;IAqBzB;;;;;OAKG;IACI,gBAAgB,CACrB,QAAQ,EAAE,yBAAyB,EACnC,UAAU,GAAE,GAAU,GACrB,IAAI;IAKP;;;;;;;OAOG;IACI,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO;IA+D3E,gBAAgB,EAAE,MAAM,CAAC;IAEzB,QAAQ,EAAE,SAAS,CAAC,sBAAsB,CAAC,CAAC;IAC5C,cAAc,EAAE,yBAAyB,CAAC;IAC1C,gBAAgB,EAAE,GAAG,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,yBAAyB;IACxC,CACE,MAAM,EAAE,wBAAwB,EAChC,UAAU,EAAE,SAAS,EACrB,UAAU,EAAE,GAAG,GACd,IAAI,CAAC;CACT;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,MAAM,4BAA4B,GAAG,GAAG,CAAC;AACvD,eAAO,MAAM,kCAAkC,EAAE,4BAC7C,CAAC;AAGL,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAC;AAEhD,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,wBAAwB,mCAA6B,CAAC;IACnE,KAAY,wBAAwB,GAAG,CAAC,CAAC,wBAAwB,CAAC;IAC3D,MAAM,kCAAkC,KACT,CAAC;IACvC,KAAY,4BAA4B,GAAG,CAAC,CAAC,4BAA4B,CAAC;IAC1E,KAAY,yBAAyB,GAAG,CAAC,CAAC,yBAAyB,CAAC;CACrE"} \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismmotionqueuemanager.js b/live2demo/Framework/motion/cubismmotionqueuemanager.js new file mode 100644 index 0000000..89b03b6 --- /dev/null +++ b/live2demo/Framework/motion/cubismmotionqueuemanager.js @@ -0,0 +1,267 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.InvalidMotionQueueEntryHandleValue = exports.CubismMotionQueueManager = void 0; +var cubismmotionqueueentry_1 = require("./cubismmotionqueueentry"); +var csmvector_1 = require("../type/csmvector"); +/** + * モーション再生の管理 + * + * モーション再生の管理用クラス。CubismMotionモーションなどACubismMotionのサブクラスを再生するために使用する。 + * + * @note 再生中に別のモーションが StartMotion()された場合は、新しいモーションに滑らかに変化し旧モーションは中断する。 + * 表情用モーション、体用モーションなどを分けてモーション化した場合など、 + * 複数のモーションを同時に再生させる場合は、複数のCubismMotionQueueManagerインスタンスを使用する。 + */ +var CubismMotionQueueManager = /** @class */ (function () { + /** + * コンストラクタ + */ + function CubismMotionQueueManager() { + this._userTimeSeconds = 0.0; + this._eventCallBack = null; + this._eventCustomData = null; + this._motions = new csmvector_1.csmVector(); + } + /** + * デストラクタ + */ + CubismMotionQueueManager.prototype.release = function () { + for (var i = 0; i < this._motions.getSize(); ++i) { + if (this._motions.at(i)) { + this._motions.at(i).release(); + this._motions.set(i, null); + } + } + this._motions = null; + }; + /** + * 指定したモーションの開始 + * + * 指定したモーションを開始する。同じタイプのモーションが既にある場合は、既存のモーションに終了フラグを立て、フェードアウトを開始させる。 + * + * @param motion 開始するモーション + * @param autoDelete 再生が終了したモーションのインスタンスを削除するなら true + * @param userTimeSeconds デルタ時間の積算値[秒] + * @return 開始したモーションの識別番号を返す。個別のモーションが終了したか否かを判定するIsFinished()の引数で使用する。開始できない時は「-1」 + */ + CubismMotionQueueManager.prototype.startMotion = function (motion, autoDelete, userTimeSeconds) { + if (motion == null) { + return exports.InvalidMotionQueueEntryHandleValue; + } + var motionQueueEntry = null; + // 既にモーションがあれば終了フラグを立てる + for (var i = 0; i < this._motions.getSize(); ++i) { + motionQueueEntry = this._motions.at(i); + if (motionQueueEntry == null) { + continue; + } + motionQueueEntry.setFadeOut(motionQueueEntry._motion.getFadeOutTime()); // フェードアウト設定 + } + motionQueueEntry = new cubismmotionqueueentry_1.CubismMotionQueueEntry(); // 終了時に破棄する + motionQueueEntry._autoDelete = autoDelete; + motionQueueEntry._motion = motion; + this._motions.pushBack(motionQueueEntry); + return motionQueueEntry._motionQueueEntryHandle; + }; + /** + * 全てのモーションの終了の確認 + * @return true 全て終了している + * @return false 終了していない + */ + CubismMotionQueueManager.prototype.isFinished = function () { + // ------- 処理を行う ------- + // 既にモーションがあれば終了フラグを立てる + for (var ite = this._motions.begin(); ite.notEqual(this._motions.end());) { + var motionQueueEntry = ite.ptr(); + if (motionQueueEntry == null) { + ite = this._motions.erase(ite); // 削除 + continue; + } + var motion = motionQueueEntry._motion; + if (motion == null) { + motionQueueEntry.release(); + motionQueueEntry = null; + ite = this._motions.erase(ite); // 削除 + continue; + } + // ----- 終了済みの処理があれば削除する ------ + if (!motionQueueEntry.isFinished()) { + return false; + } + else { + ite.preIncrement(); + } + } + return true; + }; + /** + * 指定したモーションの終了の確認 + * @param motionQueueEntryNumber モーションの識別番号 + * @return true 全て終了している + * @return false 終了していない + */ + CubismMotionQueueManager.prototype.isFinishedByHandle = function (motionQueueEntryNumber) { + for (var ite = this._motions.begin(); ite.notEqual(this._motions.end()); ite.increment()) { + var motionQueueEntry = ite.ptr(); + if (motionQueueEntry == null) { + continue; + } + if (motionQueueEntry._motionQueueEntryHandle == motionQueueEntryNumber && + !motionQueueEntry.isFinished()) { + return false; + } + } + return true; + }; + /** + * 全てのモーションを停止する + */ + CubismMotionQueueManager.prototype.stopAllMotions = function () { + // ------- 処理を行う ------- + // 既にモーションがあれば終了フラグを立てる + for (var ite = this._motions.begin(); ite.notEqual(this._motions.end());) { + var motionQueueEntry = ite.ptr(); + if (motionQueueEntry == null) { + ite = this._motions.erase(ite); + continue; + } + // ----- 終了済みの処理があれば削除する ------ + motionQueueEntry.release(); + motionQueueEntry = null; + ite = this._motions.erase(ite); // 削除 + } + }; + /** + * @brief CubismMotionQueueEntryの配列の取得 + * + * CubismMotionQueueEntryの配列を取得する。 + * + * @return CubismMotionQueueEntryの配列へのポインタ + * @retval NULL 見つからなかった + */ + CubismMotionQueueManager.prototype.getCubismMotionQueueEntries = function () { + return this._motions; + }; + /** + * 指定したCubismMotionQueueEntryの取得 + + * @param motionQueueEntryNumber モーションの識別番号 + * @return 指定したCubismMotionQueueEntry + * @return null 見つからなかった + */ + CubismMotionQueueManager.prototype.getCubismMotionQueueEntry = function (motionQueueEntryNumber) { + //------- 処理を行う ------- + for (var ite = this._motions.begin(); ite.notEqual(this._motions.end()); ite.preIncrement()) { + var motionQueueEntry = ite.ptr(); + if (motionQueueEntry == null) { + continue; + } + if (motionQueueEntry._motionQueueEntryHandle == motionQueueEntryNumber) { + return motionQueueEntry; + } + } + return null; + }; + /** + * イベントを受け取るCallbackの登録 + * + * @param callback コールバック関数 + * @param customData コールバックに返されるデータ + */ + CubismMotionQueueManager.prototype.setEventCallback = function (callback, customData) { + if (customData === void 0) { customData = null; } + this._eventCallBack = callback; + this._eventCustomData = customData; + }; + /** + * モーションを更新して、モデルにパラメータ値を反映する。 + * + * @param model 対象のモデル + * @param userTimeSeconds デルタ時間の積算値[秒] + * @return true モデルへパラメータ値の反映あり + * @return false モデルへパラメータ値の反映なし(モーションの変化なし) + */ + CubismMotionQueueManager.prototype.doUpdateMotion = function (model, userTimeSeconds) { + var updated = false; + // ------- 処理を行う -------- + // 既にモーションがあれば終了フラグを立てる + for (var ite = this._motions.begin(); ite.notEqual(this._motions.end());) { + var motionQueueEntry = ite.ptr(); + if (motionQueueEntry == null) { + ite = this._motions.erase(ite); // 削除 + continue; + } + var motion = motionQueueEntry._motion; + if (motion == null) { + motionQueueEntry.release(); + motionQueueEntry = null; + ite = this._motions.erase(ite); // 削除 + continue; + } + // ------ 値を反映する ------ + motion.updateParameters(model, motionQueueEntry, userTimeSeconds); + updated = true; + // ------ ユーザトリガーイベントを検査する ---- + var firedList = motion.getFiredEvent(motionQueueEntry.getLastCheckEventSeconds() - + motionQueueEntry.getStartTime(), userTimeSeconds - motionQueueEntry.getStartTime()); + for (var i = 0; i < firedList.getSize(); ++i) { + this._eventCallBack(this, firedList.at(i), this._eventCustomData); + } + motionQueueEntry.setLastCheckEventSeconds(userTimeSeconds); + // ------ 終了済みの処理があれば削除する ------ + if (motionQueueEntry.isFinished()) { + motionQueueEntry.release(); + motionQueueEntry = null; + ite = this._motions.erase(ite); // 削除 + } + else { + if (motionQueueEntry.isTriggeredFadeOut()) { + motionQueueEntry.startFadeOut(motionQueueEntry.getFadeOutSeconds(), userTimeSeconds); + } + ite.preIncrement(); + } + } + return updated; + }; + return CubismMotionQueueManager; +}()); +exports.CubismMotionQueueManager = CubismMotionQueueManager; +exports.InvalidMotionQueueEntryHandleValue = -1; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismmotionqueuemanager")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismMotionQueueManager = $.CubismMotionQueueManager; + Live2DCubismFramework.InvalidMotionQueueEntryHandleValue = $.InvalidMotionQueueEntryHandleValue; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismmotionqueuemanager.js.map \ No newline at end of file diff --git a/live2demo/Framework/motion/cubismmotionqueuemanager.js.map b/live2demo/Framework/motion/cubismmotionqueuemanager.js.map new file mode 100644 index 0000000..b0d761b --- /dev/null +++ b/live2demo/Framework/motion/cubismmotionqueuemanager.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismmotionqueuemanager.js","sourceRoot":"","sources":["../../src/motion/cubismmotionqueuemanager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/physics/cubismphysics.d.ts b/live2demo/Framework/physics/cubismphysics.d.ts new file mode 100644 index 0000000..b98123f --- /dev/null +++ b/live2demo/Framework/physics/cubismphysics.d.ts @@ -0,0 +1,139 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { CubismVector2 } from '../math/cubismvector2'; +import { csmVector } from '../type/csmvector'; +import { CubismModel } from '../model/cubismmodel'; +import { CubismPhysicsRig } from './cubismphysicsinternal'; +/** + * 物理演算クラス + */ +export declare class CubismPhysics { + /** + * インスタンスの作成 + * @param buffer physics3.jsonが読み込まれているバッファ + * @param size バッファのサイズ + * @return 作成されたインスタンス + */ + static create(buffer: ArrayBuffer, size: number): CubismPhysics; + /** + * インスタンスを破棄する + * @param physics 破棄するインスタンス + */ + static delete(physics: CubismPhysics): void; + /** + * physics3.jsonをパースする。 + * @param physicsJson physics3.jsonが読み込まれているバッファ + * @param size バッファのサイズ + */ + parse(physicsJson: ArrayBuffer, size: number): void; + /** + * 現在のパラメータ値で物理演算が安定化する状態を演算する。 + * @param model 物理演算の結果を適用するモデル + */ + stabilization(model: CubismModel): void; + /** + * 物理演算の評価 + * + * Pendulum interpolation weights + * + * 振り子の計算結果は保存され、パラメータへの出力は保存された前回の結果で補間されます。 + * The result of the pendulum calculation is saved and + * the output to the parameters is interpolated with the saved previous result of the pendulum calculation. + * + * 図で示すと[1]と[2]で補間されます。 + * The figure shows the interpolation between [1] and [2]. + * + * 補間の重みは最新の振り子計算タイミングと次回のタイミングの間で見た現在時間で決定する。 + * The weight of the interpolation are determined by the current time seen between + * the latest pendulum calculation timing and the next timing. + * + * 図で示すと[2]と[4]の間でみた(3)の位置の重みになる。 + * Figure shows the weight of position (3) as seen between [2] and [4]. + * + * 解釈として振り子計算のタイミングと重み計算のタイミングがズレる。 + * As an interpretation, the pendulum calculation and weights are misaligned. + * + * physics3.jsonにFPS情報が存在しない場合は常に前の振り子状態で設定される。 + * If there is no FPS information in physics3.json, it is always set in the previous pendulum state. + * + * この仕様は補間範囲を逸脱したことが原因の震えたような見た目を回避を目的にしている。 + * The purpose of this specification is to avoid the quivering appearance caused by deviations from the interpolation range. + * + * ------------ time --------------> + * + * |+++++|------| <- weight + * ==[1]====#=====[2]---(3)----(4) + * ^ output contents + * + * 1:_previousRigOutputs + * 2:_currentRigOutputs + * 3:_currentRemainTime (now rendering) + * 4:next particles timing + * @param model 物理演算の結果を適用するモデル + * @param deltaTimeSeconds デルタ時間[秒] + */ + evaluate(model: CubismModel, deltaTimeSeconds: number): void; + /** + * 物理演算結果の適用 + * 振り子演算の最新の結果と一つ前の結果から指定した重みで適用する。 + * @param model 物理演算の結果を適用するモデル + * @param weight 最新結果の重み + */ + interpolate(model: CubismModel, weight: number): void; + /** + * オプションの設定 + * @param options オプション + */ + setOptions(options: Options): void; + /** + * オプションの取得 + * @return オプション + */ + getOption(): Options; + /** + * コンストラクタ + */ + constructor(); + /** + * デストラクタ相当の処理 + */ + release(): void; + /** + * 初期化する + */ + initialize(): void; + _physicsRig: CubismPhysicsRig; + _options: Options; + _currentRigOutputs: csmVector; + _previousRigOutputs: csmVector; + _currentRemainTime: number; + _parameterCaches: Float32Array; + _parameterInputCaches: Float32Array; +} +/** + * 物理演算のオプション + */ +export declare class Options { + constructor(); + gravity: CubismVector2; + wind: CubismVector2; +} +/** + * パラメータに適用する前の物理演算の出力結果 + */ +export declare class PhysicsOutput { + constructor(); + outputs: csmVector; +} +import * as $ from './cubismphysics'; +export declare namespace Live2DCubismFramework { + const CubismPhysics: typeof $.CubismPhysics; + type CubismPhysics = $.CubismPhysics; + const Options: typeof $.Options; + type Options = $.Options; +} +//# sourceMappingURL=cubismphysics.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/physics/cubismphysics.d.ts.map b/live2demo/Framework/physics/cubismphysics.d.ts.map new file mode 100644 index 0000000..2e5f364 --- /dev/null +++ b/live2demo/Framework/physics/cubismphysics.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismphysics.d.ts","sourceRoot":"","sources":["../../src/physics/cubismphysics.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAKL,gBAAgB,EAIjB,MAAM,yBAAyB,CAAC;AAoBjC;;GAEG;AACH,qBAAa,aAAa;IACxB;;;;;OAKG;WACW,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa;IAStE;;;OAGG;WACW,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAOlD;;;;OAIG;IACI,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IA6L1D;;;OAGG;IACI,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAqK9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACI,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAwNnE;;;;;OAKG;IACI,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IA4D5D;;;OAGG;IACI,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzC;;;OAGG;IACI,SAAS,IAAI,OAAO;IAI3B;;OAEG;;IAiBH;;OAEG;IACI,OAAO,IAAI,IAAI;IAKtB;;OAEG;IACI,UAAU,IAAI,IAAI;IAgDzB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAElB,kBAAkB,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;IAC7C,mBAAmB,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;IAE9C,kBAAkB,EAAE,MAAM,CAAC;IAE3B,gBAAgB,EAAE,YAAY,CAAC;IAC/B,qBAAqB,EAAE,YAAY,CAAC;CACrC;AAED;;GAEG;AACH,qBAAa,OAAO;;IAMlB,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,EAAE,aAAa,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,aAAa;;IAKxB,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;CAC5B;AAidD,OAAO,KAAK,CAAC,MAAM,iBAAiB,CAAC;AAErC,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,aAAa,wBAAkB,CAAC;IAC7C,KAAY,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC;IACrC,MAAM,OAAO,kBAAY,CAAC;IACjC,KAAY,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;CACjC"} \ No newline at end of file diff --git a/live2demo/Framework/physics/cubismphysics.js b/live2demo/Framework/physics/cubismphysics.js new file mode 100644 index 0000000..7a63643 --- /dev/null +++ b/live2demo/Framework/physics/cubismphysics.js @@ -0,0 +1,856 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.PhysicsOutput = exports.Options = exports.CubismPhysics = void 0; +var cubismmath_1 = require("../math/cubismmath"); +var cubismvector2_1 = require("../math/cubismvector2"); +var csmvector_1 = require("../type/csmvector"); +var cubismphysicsinternal_1 = require("./cubismphysicsinternal"); +var cubismphysicsjson_1 = require("./cubismphysicsjson"); +// physics types tags. +var PhysicsTypeTagX = 'X'; +var PhysicsTypeTagY = 'Y'; +var PhysicsTypeTagAngle = 'Angle'; +// Constant of air resistance. +var AirResistance = 5.0; +// Constant of maximum weight of input and output ratio. +var MaximumWeight = 100.0; +// Constant of threshold of movement. +var MovementThreshold = 0.001; +// Constant of maximum allowed delta time +var MaxDeltaTime = 5.0; +/** + * 物理演算クラス + */ +var CubismPhysics = /** @class */ (function () { + /** + * コンストラクタ + */ + function CubismPhysics() { + this._physicsRig = null; + // set default options + this._options = new Options(); + this._options.gravity.y = -1.0; + this._options.gravity.x = 0.0; + this._options.wind.x = 0.0; + this._options.wind.y = 0.0; + this._currentRigOutputs = new csmvector_1.csmVector(); + this._previousRigOutputs = new csmvector_1.csmVector(); + this._currentRemainTime = 0.0; + this._parameterCaches = null; + this._parameterInputCaches = null; + } + /** + * インスタンスの作成 + * @param buffer physics3.jsonが読み込まれているバッファ + * @param size バッファのサイズ + * @return 作成されたインスタンス + */ + CubismPhysics.create = function (buffer, size) { + var ret = new CubismPhysics(); + ret.parse(buffer, size); + ret._physicsRig.gravity.y = 0; + return ret; + }; + /** + * インスタンスを破棄する + * @param physics 破棄するインスタンス + */ + CubismPhysics.delete = function (physics) { + if (physics != null) { + physics.release(); + physics = null; + } + }; + /** + * physics3.jsonをパースする。 + * @param physicsJson physics3.jsonが読み込まれているバッファ + * @param size バッファのサイズ + */ + CubismPhysics.prototype.parse = function (physicsJson, size) { + this._physicsRig = new cubismphysicsinternal_1.CubismPhysicsRig(); + var json = new cubismphysicsjson_1.CubismPhysicsJson(physicsJson, size); + this._physicsRig.gravity = json.getGravity(); + this._physicsRig.wind = json.getWind(); + this._physicsRig.subRigCount = json.getSubRigCount(); + this._physicsRig.fps = json.getFps(); + this._physicsRig.settings.updateSize(this._physicsRig.subRigCount, cubismphysicsinternal_1.CubismPhysicsSubRig, true); + this._physicsRig.inputs.updateSize(json.getTotalInputCount(), cubismphysicsinternal_1.CubismPhysicsInput, true); + this._physicsRig.outputs.updateSize(json.getTotalOutputCount(), cubismphysicsinternal_1.CubismPhysicsOutput, true); + this._physicsRig.particles.updateSize(json.getVertexCount(), cubismphysicsinternal_1.CubismPhysicsParticle, true); + this._currentRigOutputs.clear(); + this._previousRigOutputs.clear(); + var inputIndex = 0, outputIndex = 0, particleIndex = 0; + for (var i = 0; i < this._physicsRig.settings.getSize(); ++i) { + this._physicsRig.settings.at(i).normalizationPosition.minimum = + json.getNormalizationPositionMinimumValue(i); + this._physicsRig.settings.at(i).normalizationPosition.maximum = + json.getNormalizationPositionMaximumValue(i); + this._physicsRig.settings.at(i).normalizationPosition.defalut = + json.getNormalizationPositionDefaultValue(i); + this._physicsRig.settings.at(i).normalizationAngle.minimum = + json.getNormalizationAngleMinimumValue(i); + this._physicsRig.settings.at(i).normalizationAngle.maximum = + json.getNormalizationAngleMaximumValue(i); + this._physicsRig.settings.at(i).normalizationAngle.defalut = + json.getNormalizationAngleDefaultValue(i); + // Input + this._physicsRig.settings.at(i).inputCount = json.getInputCount(i); + this._physicsRig.settings.at(i).baseInputIndex = inputIndex; + for (var j = 0; j < this._physicsRig.settings.at(i).inputCount; ++j) { + this._physicsRig.inputs.at(inputIndex + j).sourceParameterIndex = -1; + this._physicsRig.inputs.at(inputIndex + j).weight = json.getInputWeight(i, j); + this._physicsRig.inputs.at(inputIndex + j).reflect = + json.getInputReflect(i, j); + if (json.getInputType(i, j) == PhysicsTypeTagX) { + this._physicsRig.inputs.at(inputIndex + j).type = + cubismphysicsinternal_1.CubismPhysicsSource.CubismPhysicsSource_X; + this._physicsRig.inputs.at(inputIndex + j).getNormalizedParameterValue = + getInputTranslationXFromNormalizedParameterValue; + } + else if (json.getInputType(i, j) == PhysicsTypeTagY) { + this._physicsRig.inputs.at(inputIndex + j).type = + cubismphysicsinternal_1.CubismPhysicsSource.CubismPhysicsSource_Y; + this._physicsRig.inputs.at(inputIndex + j).getNormalizedParameterValue = + getInputTranslationYFromNormalizedParamterValue; + } + else if (json.getInputType(i, j) == PhysicsTypeTagAngle) { + this._physicsRig.inputs.at(inputIndex + j).type = + cubismphysicsinternal_1.CubismPhysicsSource.CubismPhysicsSource_Angle; + this._physicsRig.inputs.at(inputIndex + j).getNormalizedParameterValue = + getInputAngleFromNormalizedParameterValue; + } + this._physicsRig.inputs.at(inputIndex + j).source.targetType = + cubismphysicsinternal_1.CubismPhysicsTargetType.CubismPhysicsTargetType_Parameter; + this._physicsRig.inputs.at(inputIndex + j).source.id = + json.getInputSourceId(i, j); + } + inputIndex += this._physicsRig.settings.at(i).inputCount; + // Output + this._physicsRig.settings.at(i).outputCount = json.getOutputCount(i); + this._physicsRig.settings.at(i).baseOutputIndex = outputIndex; + var currentRigOutput = new PhysicsOutput(); + currentRigOutput.outputs.resize(this._physicsRig.settings.at(i).outputCount); + var previousRigOutput = new PhysicsOutput(); + previousRigOutput.outputs.resize(this._physicsRig.settings.at(i).outputCount); + for (var j = 0; j < this._physicsRig.settings.at(i).outputCount; ++j) { + // initialize + currentRigOutput.outputs.set(j, 0.0); + previousRigOutput.outputs.set(j, 0.0); + this._physicsRig.outputs.at(outputIndex + j).destinationParameterIndex = + -1; + this._physicsRig.outputs.at(outputIndex + j).vertexIndex = + json.getOutputVertexIndex(i, j); + this._physicsRig.outputs.at(outputIndex + j).angleScale = + json.getOutputAngleScale(i, j); + this._physicsRig.outputs.at(outputIndex + j).weight = + json.getOutputWeight(i, j); + this._physicsRig.outputs.at(outputIndex + j).destination.targetType = + cubismphysicsinternal_1.CubismPhysicsTargetType.CubismPhysicsTargetType_Parameter; + this._physicsRig.outputs.at(outputIndex + j).destination.id = + json.getOutputDestinationId(i, j); + if (json.getOutputType(i, j) == PhysicsTypeTagX) { + this._physicsRig.outputs.at(outputIndex + j).type = + cubismphysicsinternal_1.CubismPhysicsSource.CubismPhysicsSource_X; + this._physicsRig.outputs.at(outputIndex + j).getValue = + getOutputTranslationX; + this._physicsRig.outputs.at(outputIndex + j).getScale = + getOutputScaleTranslationX; + } + else if (json.getOutputType(i, j) == PhysicsTypeTagY) { + this._physicsRig.outputs.at(outputIndex + j).type = + cubismphysicsinternal_1.CubismPhysicsSource.CubismPhysicsSource_Y; + this._physicsRig.outputs.at(outputIndex + j).getValue = + getOutputTranslationY; + this._physicsRig.outputs.at(outputIndex + j).getScale = + getOutputScaleTranslationY; + } + else if (json.getOutputType(i, j) == PhysicsTypeTagAngle) { + this._physicsRig.outputs.at(outputIndex + j).type = + cubismphysicsinternal_1.CubismPhysicsSource.CubismPhysicsSource_Angle; + this._physicsRig.outputs.at(outputIndex + j).getValue = + getOutputAngle; + this._physicsRig.outputs.at(outputIndex + j).getScale = + getOutputScaleAngle; + } + this._physicsRig.outputs.at(outputIndex + j).reflect = + json.getOutputReflect(i, j); + } + this._currentRigOutputs.pushBack(currentRigOutput); + this._previousRigOutputs.pushBack(previousRigOutput); + outputIndex += this._physicsRig.settings.at(i).outputCount; + // Particle + this._physicsRig.settings.at(i).particleCount = json.getParticleCount(i); + this._physicsRig.settings.at(i).baseParticleIndex = particleIndex; + for (var j = 0; j < this._physicsRig.settings.at(i).particleCount; ++j) { + this._physicsRig.particles.at(particleIndex + j).mobility = + json.getParticleMobility(i, j); + this._physicsRig.particles.at(particleIndex + j).delay = + json.getParticleDelay(i, j); + this._physicsRig.particles.at(particleIndex + j).acceleration = + json.getParticleAcceleration(i, j); + this._physicsRig.particles.at(particleIndex + j).radius = + json.getParticleRadius(i, j); + this._physicsRig.particles.at(particleIndex + j).position = + json.getParticlePosition(i, j); + } + particleIndex += this._physicsRig.settings.at(i).particleCount; + } + this.initialize(); + json.release(); + json = void 0; + json = null; + }; + /** + * 現在のパラメータ値で物理演算が安定化する状態を演算する。 + * @param model 物理演算の結果を適用するモデル + */ + CubismPhysics.prototype.stabilization = function (model) { + var _a, _b, _c, _d; + var totalAngle; + var weight; + var radAngle; + var outputValue; + var totalTranslation = new cubismvector2_1.CubismVector2(); + var currentSetting; + var currentInputs; + var currentOutputs; + var currentParticles; + var parameterValues; + var parameterMaximumValues; + var parameterMinimumValues; + var parameterDefaultValues; + parameterValues = model.getModel().parameters.values; + parameterMaximumValues = model.getModel().parameters.maximumValues; + parameterMinimumValues = model.getModel().parameters.minimumValues; + parameterDefaultValues = model.getModel().parameters.defaultValues; + if (((_b = (_a = this._parameterCaches) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) < model.getParameterCount()) { + this._parameterCaches = new Float32Array(model.getParameterCount()); + } + if (((_d = (_c = this._parameterInputCaches) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0) < model.getParameterCount()) { + this._parameterInputCaches = new Float32Array(model.getParameterCount()); + } + for (var j = 0; j < model.getParameterCount(); ++j) { + this._parameterCaches[j] = parameterValues[j]; + this._parameterInputCaches[j] = parameterValues[j]; + } + for (var settingIndex = 0; settingIndex < this._physicsRig.subRigCount; ++settingIndex) { + totalAngle = { angle: 0.0 }; + totalTranslation.x = 0.0; + totalTranslation.y = 0.0; + currentSetting = this._physicsRig.settings.at(settingIndex); + currentInputs = this._physicsRig.inputs.get(currentSetting.baseInputIndex); + currentOutputs = this._physicsRig.outputs.get(currentSetting.baseOutputIndex); + currentParticles = this._physicsRig.particles.get(currentSetting.baseParticleIndex); + // Load input parameters + for (var i = 0; i < currentSetting.inputCount; ++i) { + weight = currentInputs[i].weight / MaximumWeight; + if (currentInputs[i].sourceParameterIndex == -1) { + currentInputs[i].sourceParameterIndex = model.getParameterIndex(currentInputs[i].source.id); + } + currentInputs[i].getNormalizedParameterValue(totalTranslation, totalAngle, parameterValues[currentInputs[i].sourceParameterIndex], parameterMinimumValues[currentInputs[i].sourceParameterIndex], parameterMaximumValues[currentInputs[i].sourceParameterIndex], parameterDefaultValues[currentInputs[i].sourceParameterIndex], currentSetting.normalizationPosition, currentSetting.normalizationAngle, currentInputs[i].reflect, weight); + this._parameterCaches[currentInputs[i].sourceParameterIndex] = + parameterValues[currentInputs[i].sourceParameterIndex]; + } + radAngle = cubismmath_1.CubismMath.degreesToRadian(-totalAngle.angle); + totalTranslation.x = + totalTranslation.x * cubismmath_1.CubismMath.cos(radAngle) - + totalTranslation.y * cubismmath_1.CubismMath.sin(radAngle); + totalTranslation.y = + totalTranslation.x * cubismmath_1.CubismMath.sin(radAngle) + + totalTranslation.y * cubismmath_1.CubismMath.cos(radAngle); + // Calculate particles position. + updateParticlesForStabilization(currentParticles, currentSetting.particleCount, totalTranslation, totalAngle.angle, this._options.wind, MovementThreshold * currentSetting.normalizationPosition.maximum); + // Update output parameters. + for (var i = 0; i < currentSetting.outputCount; ++i) { + var particleIndex = currentOutputs[i].vertexIndex; + if (currentOutputs[i].destinationParameterIndex == -1) { + currentOutputs[i].destinationParameterIndex = model.getParameterIndex(currentOutputs[i].destination.id); + } + if (particleIndex < 1 || + particleIndex >= currentSetting.particleCount) { + continue; + } + var translation = new cubismvector2_1.CubismVector2(); + translation = currentParticles[particleIndex].position.substract(currentParticles[particleIndex - 1].position); + outputValue = currentOutputs[i].getValue(translation, currentParticles, particleIndex, currentOutputs[i].reflect, this._options.gravity); + this._currentRigOutputs.at(settingIndex).outputs.set(i, outputValue); + this._previousRigOutputs.at(settingIndex).outputs.set(i, outputValue); + var destinationParameterIndex = currentOutputs[i].destinationParameterIndex; + var outParameterCaches = !Float32Array.prototype.slice && 'subarray' in Float32Array.prototype + ? JSON.parse(JSON.stringify(parameterValues.subarray(destinationParameterIndex))) // 値渡しするため、JSON.parse, JSON.stringify + : parameterValues.slice(destinationParameterIndex); + updateOutputParameterValue(outParameterCaches, parameterMinimumValues[destinationParameterIndex], parameterMaximumValues[destinationParameterIndex], outputValue, currentOutputs[i]); + // 値を反映 + for (var offset = destinationParameterIndex, outParamIndex = 0; offset < this._parameterCaches.length; offset++, outParamIndex++) { + parameterValues[offset] = this._parameterCaches[offset] = + outParameterCaches[outParamIndex]; + } + } + } + }; + /** + * 物理演算の評価 + * + * Pendulum interpolation weights + * + * 振り子の計算結果は保存され、パラメータへの出力は保存された前回の結果で補間されます。 + * The result of the pendulum calculation is saved and + * the output to the parameters is interpolated with the saved previous result of the pendulum calculation. + * + * 図で示すと[1]と[2]で補間されます。 + * The figure shows the interpolation between [1] and [2]. + * + * 補間の重みは最新の振り子計算タイミングと次回のタイミングの間で見た現在時間で決定する。 + * The weight of the interpolation are determined by the current time seen between + * the latest pendulum calculation timing and the next timing. + * + * 図で示すと[2]と[4]の間でみた(3)の位置の重みになる。 + * Figure shows the weight of position (3) as seen between [2] and [4]. + * + * 解釈として振り子計算のタイミングと重み計算のタイミングがズレる。 + * As an interpretation, the pendulum calculation and weights are misaligned. + * + * physics3.jsonにFPS情報が存在しない場合は常に前の振り子状態で設定される。 + * If there is no FPS information in physics3.json, it is always set in the previous pendulum state. + * + * この仕様は補間範囲を逸脱したことが原因の震えたような見た目を回避を目的にしている。 + * The purpose of this specification is to avoid the quivering appearance caused by deviations from the interpolation range. + * + * ------------ time --------------> + * + * |+++++|------| <- weight + * ==[1]====#=====[2]---(3)----(4) + * ^ output contents + * + * 1:_previousRigOutputs + * 2:_currentRigOutputs + * 3:_currentRemainTime (now rendering) + * 4:next particles timing + * @param model 物理演算の結果を適用するモデル + * @param deltaTimeSeconds デルタ時間[秒] + */ + CubismPhysics.prototype.evaluate = function (model, deltaTimeSeconds) { + var _a, _b, _c, _d; + var totalAngle; + var weight; + var radAngle; + var outputValue; + var totalTranslation = new cubismvector2_1.CubismVector2(); + var currentSetting; + var currentInputs; + var currentOutputs; + var currentParticles; + if (0.0 >= deltaTimeSeconds) { + return; + } + var parameterValues; + var parameterMaximumValues; + var parameterMinimumValues; + var parameterDefaultValues; + var physicsDeltaTime; + this._currentRemainTime += deltaTimeSeconds; + if (this._currentRemainTime > MaxDeltaTime) { + this._currentRemainTime = 0.0; + } + parameterValues = model.getModel().parameters.values; + parameterMaximumValues = model.getModel().parameters.maximumValues; + parameterMinimumValues = model.getModel().parameters.minimumValues; + parameterDefaultValues = model.getModel().parameters.defaultValues; + if (((_b = (_a = this._parameterCaches) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) < model.getParameterCount()) { + this._parameterCaches = new Float32Array(model.getParameterCount()); + } + if (((_d = (_c = this._parameterInputCaches) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0) < model.getParameterCount()) { + this._parameterInputCaches = new Float32Array(model.getParameterCount()); + for (var j = 0; j < model.getParameterCount(); ++j) { + this._parameterInputCaches[j] = parameterValues[j]; + } + } + if (this._physicsRig.fps > 0.0) { + physicsDeltaTime = 1.0 / this._physicsRig.fps; + } + else { + physicsDeltaTime = deltaTimeSeconds; + } + while (this._currentRemainTime >= physicsDeltaTime) { + // copyRigOutputs _currentRigOutputs to _previousRigOutputs + for (var settingIndex = 0; settingIndex < this._physicsRig.subRigCount; ++settingIndex) { + currentSetting = this._physicsRig.settings.at(settingIndex); + currentOutputs = this._physicsRig.outputs.get(currentSetting.baseOutputIndex); + for (var i = 0; i < currentSetting.outputCount; ++i) { + this._previousRigOutputs + .at(settingIndex) + .outputs.set(i, this._currentRigOutputs.at(settingIndex).outputs.at(i)); + } + } + // 入力キャッシュとパラメータで線形補間してUpdateParticlesするタイミングでの入力を計算する。 + // Calculate the input at the timing to UpdateParticles by linear interpolation with the _parameterInputCache and parameterValue. + // _parameterCacheはグループ間での値の伝搬の役割があるので_parameterInputCacheとの分離が必要。 + // _parameterCache needs to be separated from _parameterInputCache because of its role in propagating values between groups. + var inputWeight = physicsDeltaTime / this._currentRemainTime; + for (var j = 0; j < model.getParameterCount(); ++j) { + this._parameterCaches[j] = + this._parameterInputCaches[j] * (1.0 - inputWeight) + + parameterValues[j] * inputWeight; + this._parameterInputCaches[j] = this._parameterCaches[j]; + } + for (var settingIndex = 0; settingIndex < this._physicsRig.subRigCount; ++settingIndex) { + totalAngle = { angle: 0.0 }; + totalTranslation.x = 0.0; + totalTranslation.y = 0.0; + currentSetting = this._physicsRig.settings.at(settingIndex); + currentInputs = this._physicsRig.inputs.get(currentSetting.baseInputIndex); + currentOutputs = this._physicsRig.outputs.get(currentSetting.baseOutputIndex); + currentParticles = this._physicsRig.particles.get(currentSetting.baseParticleIndex); + // Load input parameters + for (var i = 0; i < currentSetting.inputCount; ++i) { + weight = currentInputs[i].weight / MaximumWeight; + if (currentInputs[i].sourceParameterIndex == -1) { + currentInputs[i].sourceParameterIndex = model.getParameterIndex(currentInputs[i].source.id); + } + currentInputs[i].getNormalizedParameterValue(totalTranslation, totalAngle, this._parameterCaches[currentInputs[i].sourceParameterIndex], parameterMinimumValues[currentInputs[i].sourceParameterIndex], parameterMaximumValues[currentInputs[i].sourceParameterIndex], parameterDefaultValues[currentInputs[i].sourceParameterIndex], currentSetting.normalizationPosition, currentSetting.normalizationAngle, currentInputs[i].reflect, weight); + } + radAngle = cubismmath_1.CubismMath.degreesToRadian(-totalAngle.angle); + totalTranslation.x = + totalTranslation.x * cubismmath_1.CubismMath.cos(radAngle) - + totalTranslation.y * cubismmath_1.CubismMath.sin(radAngle); + totalTranslation.y = + totalTranslation.x * cubismmath_1.CubismMath.sin(radAngle) + + totalTranslation.y * cubismmath_1.CubismMath.cos(radAngle); + // Calculate particles position. + updateParticles(currentParticles, currentSetting.particleCount, totalTranslation, totalAngle.angle, this._options.wind, MovementThreshold * currentSetting.normalizationPosition.maximum, physicsDeltaTime, AirResistance); + // Update output parameters. + for (var i = 0; i < currentSetting.outputCount; ++i) { + var particleIndex = currentOutputs[i].vertexIndex; + if (currentOutputs[i].destinationParameterIndex == -1) { + currentOutputs[i].destinationParameterIndex = + model.getParameterIndex(currentOutputs[i].destination.id); + } + if (particleIndex < 1 || + particleIndex >= currentSetting.particleCount) { + continue; + } + var translation = new cubismvector2_1.CubismVector2(); + translation.x = + currentParticles[particleIndex].position.x - + currentParticles[particleIndex - 1].position.x; + translation.y = + currentParticles[particleIndex].position.y - + currentParticles[particleIndex - 1].position.y; + outputValue = currentOutputs[i].getValue(translation, currentParticles, particleIndex, currentOutputs[i].reflect, this._options.gravity); + this._currentRigOutputs.at(settingIndex).outputs.set(i, outputValue); + var destinationParameterIndex = currentOutputs[i].destinationParameterIndex; + var outParameterCaches = !Float32Array.prototype.slice && + 'subarray' in Float32Array.prototype + ? JSON.parse(JSON.stringify(this._parameterCaches.subarray(destinationParameterIndex))) // 値渡しするため、JSON.parse, JSON.stringify + : this._parameterCaches.slice(destinationParameterIndex); + updateOutputParameterValue(outParameterCaches, parameterMinimumValues[destinationParameterIndex], parameterMaximumValues[destinationParameterIndex], outputValue, currentOutputs[i]); + // 値を反映 + for (var offset = destinationParameterIndex, outParamIndex = 0; offset < this._parameterCaches.length; offset++, outParamIndex++) { + this._parameterCaches[offset] = outParameterCaches[outParamIndex]; + } + } + } + this._currentRemainTime -= physicsDeltaTime; + } + var alpha = this._currentRemainTime / physicsDeltaTime; + this.interpolate(model, alpha); + }; + /** + * 物理演算結果の適用 + * 振り子演算の最新の結果と一つ前の結果から指定した重みで適用する。 + * @param model 物理演算の結果を適用するモデル + * @param weight 最新結果の重み + */ + CubismPhysics.prototype.interpolate = function (model, weight) { + var currentOutputs; + var currentSetting; + var parameterValues; + var parameterMaximumValues; + var parameterMinimumValues; + parameterValues = model.getModel().parameters.values; + parameterMaximumValues = model.getModel().parameters.maximumValues; + parameterMinimumValues = model.getModel().parameters.minimumValues; + for (var settingIndex = 0; settingIndex < this._physicsRig.subRigCount; ++settingIndex) { + currentSetting = this._physicsRig.settings.at(settingIndex); + currentOutputs = this._physicsRig.outputs.get(currentSetting.baseOutputIndex); + // Load input parameters. + for (var i = 0; i < currentSetting.outputCount; ++i) { + if (currentOutputs[i].destinationParameterIndex == -1) { + continue; + } + var destinationParameterIndex = currentOutputs[i].destinationParameterIndex; + var outParameterValues = !Float32Array.prototype.slice && 'subarray' in Float32Array.prototype + ? JSON.parse(JSON.stringify(parameterValues.subarray(destinationParameterIndex))) // 値渡しするため、JSON.parse, JSON.stringify + : parameterValues.slice(destinationParameterIndex); + updateOutputParameterValue(outParameterValues, parameterMinimumValues[destinationParameterIndex], parameterMaximumValues[destinationParameterIndex], this._previousRigOutputs.at(settingIndex).outputs.at(i) * + (1 - weight) + + this._currentRigOutputs.at(settingIndex).outputs.at(i) * weight, currentOutputs[i]); + // 値を反映 + for (var offset = destinationParameterIndex, outParamIndex = 0; offset < parameterValues.length; offset++, outParamIndex++) { + parameterValues[offset] = outParameterValues[outParamIndex]; + } + } + } + }; + /** + * オプションの設定 + * @param options オプション + */ + CubismPhysics.prototype.setOptions = function (options) { + this._options = options; + }; + /** + * オプションの取得 + * @return オプション + */ + CubismPhysics.prototype.getOption = function () { + return this._options; + }; + /** + * デストラクタ相当の処理 + */ + CubismPhysics.prototype.release = function () { + this._physicsRig = void 0; + this._physicsRig = null; + }; + /** + * 初期化する + */ + CubismPhysics.prototype.initialize = function () { + var strand; + var currentSetting; + var radius; + for (var settingIndex = 0; settingIndex < this._physicsRig.subRigCount; ++settingIndex) { + currentSetting = this._physicsRig.settings.at(settingIndex); + strand = this._physicsRig.particles.get(currentSetting.baseParticleIndex); + // Initialize the top of particle. + strand[0].initialPosition = new cubismvector2_1.CubismVector2(0.0, 0.0); + strand[0].lastPosition = new cubismvector2_1.CubismVector2(strand[0].initialPosition.x, strand[0].initialPosition.y); + strand[0].lastGravity = new cubismvector2_1.CubismVector2(0.0, -1.0); + strand[0].lastGravity.y *= -1.0; + strand[0].velocity = new cubismvector2_1.CubismVector2(0.0, 0.0); + strand[0].force = new cubismvector2_1.CubismVector2(0.0, 0.0); + // Initialize particles. + for (var i = 1; i < currentSetting.particleCount; ++i) { + radius = new cubismvector2_1.CubismVector2(0.0, 0.0); + radius.y = strand[i].radius; + strand[i].initialPosition = new cubismvector2_1.CubismVector2(strand[i - 1].initialPosition.x + radius.x, strand[i - 1].initialPosition.y + radius.y); + strand[i].position = new cubismvector2_1.CubismVector2(strand[i].initialPosition.x, strand[i].initialPosition.y); + strand[i].lastPosition = new cubismvector2_1.CubismVector2(strand[i].initialPosition.x, strand[i].initialPosition.y); + strand[i].lastGravity = new cubismvector2_1.CubismVector2(0.0, -1.0); + strand[i].lastGravity.y *= -1.0; + strand[i].velocity = new cubismvector2_1.CubismVector2(0.0, 0.0); + strand[i].force = new cubismvector2_1.CubismVector2(0.0, 0.0); + } + } + }; + return CubismPhysics; +}()); +exports.CubismPhysics = CubismPhysics; +/** + * 物理演算のオプション + */ +var Options = /** @class */ (function () { + function Options() { + this.gravity = new cubismvector2_1.CubismVector2(0, 0); + this.wind = new cubismvector2_1.CubismVector2(0, 0); + } + return Options; +}()); +exports.Options = Options; +/** + * パラメータに適用する前の物理演算の出力結果 + */ +var PhysicsOutput = /** @class */ (function () { + function PhysicsOutput() { + this.outputs = new csmvector_1.csmVector(0); + } + return PhysicsOutput; +}()); +exports.PhysicsOutput = PhysicsOutput; +/** + * Gets sign. + * + * @param value Evaluation target value. + * + * @return Sign of value. + */ +function sign(value) { + var ret = 0; + if (value > 0.0) { + ret = 1; + } + else if (value < 0.0) { + ret = -1; + } + return ret; +} +function getInputTranslationXFromNormalizedParameterValue(targetTranslation, targetAngle, value, parameterMinimumValue, parameterMaximumValue, parameterDefaultValue, normalizationPosition, normalizationAngle, isInverted, weight) { + targetTranslation.x += + normalizeParameterValue(value, parameterMinimumValue, parameterMaximumValue, parameterDefaultValue, normalizationPosition.minimum, normalizationPosition.maximum, normalizationPosition.defalut, isInverted) * weight; +} +function getInputTranslationYFromNormalizedParamterValue(targetTranslation, targetAngle, value, parameterMinimumValue, parameterMaximumValue, parameterDefaultValue, normalizationPosition, normalizationAngle, isInverted, weight) { + targetTranslation.y += + normalizeParameterValue(value, parameterMinimumValue, parameterMaximumValue, parameterDefaultValue, normalizationPosition.minimum, normalizationPosition.maximum, normalizationPosition.defalut, isInverted) * weight; +} +function getInputAngleFromNormalizedParameterValue(targetTranslation, targetAngle, value, parameterMinimumValue, parameterMaximumValue, parameterDefaultValue, normalizaitionPosition, normalizationAngle, isInverted, weight) { + targetAngle.angle += + normalizeParameterValue(value, parameterMinimumValue, parameterMaximumValue, parameterDefaultValue, normalizationAngle.minimum, normalizationAngle.maximum, normalizationAngle.defalut, isInverted) * weight; +} +function getOutputTranslationX(translation, particles, particleIndex, isInverted, parentGravity) { + var outputValue = translation.x; + if (isInverted) { + outputValue *= -1.0; + } + return outputValue; +} +function getOutputTranslationY(translation, particles, particleIndex, isInverted, parentGravity) { + var outputValue = translation.y; + if (isInverted) { + outputValue *= -1.0; + } + return outputValue; +} +function getOutputAngle(translation, particles, particleIndex, isInverted, parentGravity) { + var outputValue; + if (particleIndex >= 2) { + parentGravity = particles[particleIndex - 1].position.substract(particles[particleIndex - 2].position); + } + else { + parentGravity = parentGravity.multiplyByScaler(-1.0); + } + outputValue = cubismmath_1.CubismMath.directionToRadian(parentGravity, translation); + if (isInverted) { + outputValue *= -1.0; + } + return outputValue; +} +function getRangeValue(min, max) { + var maxValue = cubismmath_1.CubismMath.max(min, max); + var minValue = cubismmath_1.CubismMath.min(min, max); + return cubismmath_1.CubismMath.abs(maxValue - minValue); +} +function getDefaultValue(min, max) { + var minValue = cubismmath_1.CubismMath.min(min, max); + return minValue + getRangeValue(min, max) / 2.0; +} +function getOutputScaleTranslationX(translationScale, angleScale) { + return JSON.parse(JSON.stringify(translationScale.x)); +} +function getOutputScaleTranslationY(translationScale, angleScale) { + return JSON.parse(JSON.stringify(translationScale.y)); +} +function getOutputScaleAngle(translationScale, angleScale) { + return JSON.parse(JSON.stringify(angleScale)); +} +/** + * Updates particles. + * + * @param strand Target array of particle. + * @param strandCount Count of particle. + * @param totalTranslation Total translation value. + * @param totalAngle Total angle. + * @param windDirection Direction of Wind. + * @param thresholdValue Threshold of movement. + * @param deltaTimeSeconds Delta time. + * @param airResistance Air resistance. + */ +function updateParticles(strand, strandCount, totalTranslation, totalAngle, windDirection, thresholdValue, deltaTimeSeconds, airResistance) { + var totalRadian; + var delay; + var radian; + var currentGravity; + var direction = new cubismvector2_1.CubismVector2(0.0, 0.0); + var velocity = new cubismvector2_1.CubismVector2(0.0, 0.0); + var force = new cubismvector2_1.CubismVector2(0.0, 0.0); + var newDirection = new cubismvector2_1.CubismVector2(0.0, 0.0); + strand[0].position = new cubismvector2_1.CubismVector2(totalTranslation.x, totalTranslation.y); + totalRadian = cubismmath_1.CubismMath.degreesToRadian(totalAngle); + currentGravity = cubismmath_1.CubismMath.radianToDirection(totalRadian); + currentGravity.normalize(); + for (var i = 1; i < strandCount; ++i) { + strand[i].force = currentGravity + .multiplyByScaler(strand[i].acceleration) + .add(windDirection); + strand[i].lastPosition = new cubismvector2_1.CubismVector2(strand[i].position.x, strand[i].position.y); + delay = strand[i].delay * deltaTimeSeconds * 30.0; + direction = strand[i].position.substract(strand[i - 1].position); + radian = + cubismmath_1.CubismMath.directionToRadian(strand[i].lastGravity, currentGravity) / + airResistance; + direction.x = + cubismmath_1.CubismMath.cos(radian) * direction.x - + direction.y * cubismmath_1.CubismMath.sin(radian); + direction.y = + cubismmath_1.CubismMath.sin(radian) * direction.x + + direction.y * cubismmath_1.CubismMath.cos(radian); + strand[i].position = strand[i - 1].position.add(direction); + velocity = strand[i].velocity.multiplyByScaler(delay); + force = strand[i].force.multiplyByScaler(delay).multiplyByScaler(delay); + strand[i].position = strand[i].position.add(velocity).add(force); + newDirection = strand[i].position.substract(strand[i - 1].position); + newDirection.normalize(); + strand[i].position = strand[i - 1].position.add(newDirection.multiplyByScaler(strand[i].radius)); + if (cubismmath_1.CubismMath.abs(strand[i].position.x) < thresholdValue) { + strand[i].position.x = 0.0; + } + if (delay != 0.0) { + strand[i].velocity = strand[i].position.substract(strand[i].lastPosition); + strand[i].velocity = strand[i].velocity.divisionByScalar(delay); + strand[i].velocity = strand[i].velocity.multiplyByScaler(strand[i].mobility); + } + strand[i].force = new cubismvector2_1.CubismVector2(0.0, 0.0); + strand[i].lastGravity = new cubismvector2_1.CubismVector2(currentGravity.x, currentGravity.y); + } +} +/** + * Updates particles for stabilization. + * + * @param strand Target array of particle. + * @param strandCount Count of particle. + * @param totalTranslation Total translation value. + * @param totalAngle Total angle. + * @param windDirection Direction of Wind. + * @param thresholdValue Threshold of movement. + */ +function updateParticlesForStabilization(strand, strandCount, totalTranslation, totalAngle, windDirection, thresholdValue) { + var totalRadian; + var currentGravity; + var force = new cubismvector2_1.CubismVector2(0.0, 0.0); + strand[0].position = new cubismvector2_1.CubismVector2(totalTranslation.x, totalTranslation.y); + totalRadian = cubismmath_1.CubismMath.degreesToRadian(totalAngle); + currentGravity = cubismmath_1.CubismMath.radianToDirection(totalRadian); + currentGravity.normalize(); + for (var i = 1; i < strandCount; ++i) { + strand[i].force = currentGravity + .multiplyByScaler(strand[i].acceleration) + .add(windDirection); + strand[i].lastPosition = new cubismvector2_1.CubismVector2(strand[i].position.x, strand[i].position.y); + strand[i].velocity = new cubismvector2_1.CubismVector2(0.0, 0.0); + force = strand[i].force; + force.normalize(); + force = force.multiplyByScaler(strand[i].radius); + strand[i].position = strand[i - 1].position.add(force); + if (cubismmath_1.CubismMath.abs(strand[i].position.x) < thresholdValue) { + strand[i].position.x = 0.0; + } + strand[i].force = new cubismvector2_1.CubismVector2(0.0, 0.0); + strand[i].lastGravity = new cubismvector2_1.CubismVector2(currentGravity.x, currentGravity.y); + } +} +/** + * Updates output parameter value. + * @param parameterValue Target parameter value. + * @param parameterValueMinimum Minimum of parameter value. + * @param parameterValueMaximum Maximum of parameter value. + * @param translation Translation value. + */ +function updateOutputParameterValue(parameterValue, parameterValueMinimum, parameterValueMaximum, translation, output) { + var outputScale; + var value; + var weight; + outputScale = output.getScale(output.translationScale, output.angleScale); + value = translation * outputScale; + if (value < parameterValueMinimum) { + if (value < output.valueBelowMinimum) { + output.valueBelowMinimum = value; + } + value = parameterValueMinimum; + } + else if (value > parameterValueMaximum) { + if (value > output.valueExceededMaximum) { + output.valueExceededMaximum = value; + } + value = parameterValueMaximum; + } + weight = output.weight / MaximumWeight; + if (weight >= 1.0) { + parameterValue[0] = value; + } + else { + value = parameterValue[0] * (1.0 - weight) + value * weight; + parameterValue[0] = value; + } +} +function normalizeParameterValue(value, parameterMinimum, parameterMaximum, parameterDefault, normalizedMinimum, normalizedMaximum, normalizedDefault, isInverted) { + var result = 0.0; + var maxValue = cubismmath_1.CubismMath.max(parameterMaximum, parameterMinimum); + if (maxValue < value) { + value = maxValue; + } + var minValue = cubismmath_1.CubismMath.min(parameterMaximum, parameterMinimum); + if (minValue > value) { + value = minValue; + } + var minNormValue = cubismmath_1.CubismMath.min(normalizedMinimum, normalizedMaximum); + var maxNormValue = cubismmath_1.CubismMath.max(normalizedMinimum, normalizedMaximum); + var middleNormValue = normalizedDefault; + var middleValue = getDefaultValue(minValue, maxValue); + var paramValue = value - middleValue; + switch (sign(paramValue)) { + case 1: { + var nLength = maxNormValue - middleNormValue; + var pLength = maxValue - middleValue; + if (pLength != 0.0) { + result = paramValue * (nLength / pLength); + result += middleNormValue; + } + break; + } + case -1: { + var nLength = minNormValue - middleNormValue; + var pLength = minValue - middleValue; + if (pLength != 0.0) { + result = paramValue * (nLength / pLength); + result += middleNormValue; + } + break; + } + case 0: { + result = middleNormValue; + break; + } + default: { + break; + } + } + return isInverted ? result : result * -1.0; +} +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismphysics")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismPhysics = $.CubismPhysics; + Live2DCubismFramework.Options = $.Options; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismphysics.js.map \ No newline at end of file diff --git a/live2demo/Framework/physics/cubismphysics.js.map b/live2demo/Framework/physics/cubismphysics.js.map new file mode 100644 index 0000000..65eaad7 --- /dev/null +++ b/live2demo/Framework/physics/cubismphysics.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismphysics.js","sourceRoot":"","sources":["../../src/physics/cubismphysics.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/physics/cubismphysicsinternal.d.ts b/live2demo/Framework/physics/cubismphysicsinternal.d.ts new file mode 100644 index 0000000..0c7fbc1 --- /dev/null +++ b/live2demo/Framework/physics/cubismphysicsinternal.d.ts @@ -0,0 +1,191 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { CubismIdHandle } from '../id/cubismid'; +import { CubismVector2 } from '../math/cubismvector2'; +import { csmVector } from '../type/csmvector'; +/** + * 物理演算の適用先の種類 + */ +export declare enum CubismPhysicsTargetType { + CubismPhysicsTargetType_Parameter = 0 +} +/** + * 物理演算の入力の種類 + */ +export declare enum CubismPhysicsSource { + CubismPhysicsSource_X = 0, + CubismPhysicsSource_Y = 1, + CubismPhysicsSource_Angle = 2 +} +/** + * @brief 物理演算で使用する外部の力 + * + * 物理演算で使用する外部の力。 + */ +export declare class PhysicsJsonEffectiveForces { + constructor(); + gravity: CubismVector2; + wind: CubismVector2; +} +/** + * 物理演算のパラメータ情報 + */ +export declare class CubismPhysicsParameter { + id: CubismIdHandle; + targetType: CubismPhysicsTargetType; +} +/** + * 物理演算の正規化情報 + */ +export declare class CubismPhysicsNormalization { + minimum: number; + maximum: number; + defalut: number; +} +/** + * 物理演算の演算委使用する物理点の情報 + */ +export declare class CubismPhysicsParticle { + constructor(); + initialPosition: CubismVector2; + mobility: number; + delay: number; + acceleration: number; + radius: number; + position: CubismVector2; + lastPosition: CubismVector2; + lastGravity: CubismVector2; + force: CubismVector2; + velocity: CubismVector2; +} +/** + * 物理演算の物理点の管理 + */ +export declare class CubismPhysicsSubRig { + constructor(); + inputCount: number; + outputCount: number; + particleCount: number; + baseInputIndex: number; + baseOutputIndex: number; + baseParticleIndex: number; + normalizationPosition: CubismPhysicsNormalization; + normalizationAngle: CubismPhysicsNormalization; +} +/** + * 正規化されたパラメータの取得関数の宣言 + * @param targetTranslation // 演算結果の移動値 + * @param targetAngle // 演算結果の角度 + * @param value // パラメータの値 + * @param parameterMinimunValue // パラメータの最小値 + * @param parameterMaximumValue // パラメータの最大値 + * @param parameterDefaultValue // パラメータのデフォルト値 + * @param normalizationPosition // 正規化された位置 + * @param normalizationAngle // 正規化された角度 + * @param isInverted // 値が反転されているか? + * @param weight // 重み + */ +export interface normalizedPhysicsParameterValueGetter { + (targetTranslation: CubismVector2, targetAngle: { + angle: number; + }, value: number, parameterMinimunValue: number, parameterMaximumValue: number, parameterDefaultValue: number, normalizationPosition: CubismPhysicsNormalization, normalizationAngle: CubismPhysicsNormalization, isInverted: boolean, weight: number): void; +} +/** + * 物理演算の値の取得関数の宣言 + * @param translation 移動値 + * @param particles 物理点のリスト + * @param isInverted 値が反映されているか + * @param parentGravity 重力 + * @return 値 + */ +export interface physicsValueGetter { + (translation: CubismVector2, particles: CubismPhysicsParticle[], particleIndex: number, isInverted: boolean, parentGravity: CubismVector2): number; +} +/** + * 物理演算のスケールの取得関数の宣言 + * @param translationScale 移動値のスケール + * @param angleScale 角度のスケール + * @return スケール値 + */ +export interface physicsScaleGetter { + (translationScale: CubismVector2, angleScale: number): number; +} +/** + * 物理演算の入力情報 + */ +export declare class CubismPhysicsInput { + constructor(); + source: CubismPhysicsParameter; + sourceParameterIndex: number; + weight: number; + type: number; + reflect: boolean; + getNormalizedParameterValue: normalizedPhysicsParameterValueGetter; +} +/** + * @brief 物理演算の出力情報 + * + * 物理演算の出力情報。 + */ +export declare class CubismPhysicsOutput { + constructor(); + destination: CubismPhysicsParameter; + destinationParameterIndex: number; + vertexIndex: number; + translationScale: CubismVector2; + angleScale: number; + weight: number; + type: CubismPhysicsSource; + reflect: boolean; + valueBelowMinimum: number; + valueExceededMaximum: number; + getValue: physicsValueGetter; + getScale: physicsScaleGetter; +} +/** + * @brief 物理演算のデータ + * + * 物理演算のデータ。 + */ +export declare class CubismPhysicsRig { + constructor(); + subRigCount: number; + settings: csmVector; + inputs: csmVector; + outputs: csmVector; + particles: csmVector; + gravity: CubismVector2; + wind: CubismVector2; + fps: number; +} +import * as $ from './cubismphysicsinternal'; +export declare namespace Live2DCubismFramework { + const CubismPhysicsInput: typeof $.CubismPhysicsInput; + type CubismPhysicsInput = $.CubismPhysicsInput; + const CubismPhysicsNormalization: typeof $.CubismPhysicsNormalization; + type CubismPhysicsNormalization = $.CubismPhysicsNormalization; + const CubismPhysicsOutput: typeof $.CubismPhysicsOutput; + type CubismPhysicsOutput = $.CubismPhysicsOutput; + const CubismPhysicsParameter: typeof $.CubismPhysicsParameter; + type CubismPhysicsParameter = $.CubismPhysicsParameter; + const CubismPhysicsParticle: typeof $.CubismPhysicsParticle; + type CubismPhysicsParticle = $.CubismPhysicsParticle; + const CubismPhysicsRig: typeof $.CubismPhysicsRig; + type CubismPhysicsRig = $.CubismPhysicsRig; + const CubismPhysicsSource: typeof $.CubismPhysicsSource; + type CubismPhysicsSource = $.CubismPhysicsSource; + const CubismPhysicsSubRig: typeof $.CubismPhysicsSubRig; + type CubismPhysicsSubRig = $.CubismPhysicsSubRig; + const CubismPhysicsTargetType: typeof $.CubismPhysicsTargetType; + type CubismPhysicsTargetType = $.CubismPhysicsTargetType; + const PhysicsJsonEffectiveForces: typeof $.PhysicsJsonEffectiveForces; + type PhysicsJsonEffectiveForces = $.PhysicsJsonEffectiveForces; + type normalizedPhysicsParameterValueGetter = $.normalizedPhysicsParameterValueGetter; + type physicsScaleGetter = $.physicsScaleGetter; + type physicsValueGetter = $.physicsValueGetter; +} +//# sourceMappingURL=cubismphysicsinternal.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/physics/cubismphysicsinternal.d.ts.map b/live2demo/Framework/physics/cubismphysicsinternal.d.ts.map new file mode 100644 index 0000000..dfbd7e0 --- /dev/null +++ b/live2demo/Framework/physics/cubismphysicsinternal.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismphysicsinternal.d.ts","sourceRoot":"","sources":["../../src/physics/cubismphysicsinternal.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/physics/cubismphysicsinternal.js b/live2demo/Framework/physics/cubismphysicsinternal.js new file mode 100644 index 0000000..4ce8926 --- /dev/null +++ b/live2demo/Framework/physics/cubismphysicsinternal.js @@ -0,0 +1,165 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.CubismPhysicsRig = exports.CubismPhysicsOutput = exports.CubismPhysicsInput = exports.CubismPhysicsSubRig = exports.CubismPhysicsParticle = exports.CubismPhysicsNormalization = exports.CubismPhysicsParameter = exports.PhysicsJsonEffectiveForces = exports.CubismPhysicsSource = exports.CubismPhysicsTargetType = void 0; +var cubismvector2_1 = require("../math/cubismvector2"); +var csmvector_1 = require("../type/csmvector"); +/** + * 物理演算の適用先の種類 + */ +var CubismPhysicsTargetType; +(function (CubismPhysicsTargetType) { + CubismPhysicsTargetType[CubismPhysicsTargetType["CubismPhysicsTargetType_Parameter"] = 0] = "CubismPhysicsTargetType_Parameter"; // パラメータに対して適用 +})(CubismPhysicsTargetType || (exports.CubismPhysicsTargetType = CubismPhysicsTargetType = {})); +/** + * 物理演算の入力の種類 + */ +var CubismPhysicsSource; +(function (CubismPhysicsSource) { + CubismPhysicsSource[CubismPhysicsSource["CubismPhysicsSource_X"] = 0] = "CubismPhysicsSource_X"; + CubismPhysicsSource[CubismPhysicsSource["CubismPhysicsSource_Y"] = 1] = "CubismPhysicsSource_Y"; + CubismPhysicsSource[CubismPhysicsSource["CubismPhysicsSource_Angle"] = 2] = "CubismPhysicsSource_Angle"; // 角度から +})(CubismPhysicsSource || (exports.CubismPhysicsSource = CubismPhysicsSource = {})); +/** + * @brief 物理演算で使用する外部の力 + * + * 物理演算で使用する外部の力。 + */ +var PhysicsJsonEffectiveForces = /** @class */ (function () { + function PhysicsJsonEffectiveForces() { + this.gravity = new cubismvector2_1.CubismVector2(0, 0); + this.wind = new cubismvector2_1.CubismVector2(0, 0); + } + return PhysicsJsonEffectiveForces; +}()); +exports.PhysicsJsonEffectiveForces = PhysicsJsonEffectiveForces; +/** + * 物理演算のパラメータ情報 + */ +var CubismPhysicsParameter = /** @class */ (function () { + function CubismPhysicsParameter() { + } + return CubismPhysicsParameter; +}()); +exports.CubismPhysicsParameter = CubismPhysicsParameter; +/** + * 物理演算の正規化情報 + */ +var CubismPhysicsNormalization = /** @class */ (function () { + function CubismPhysicsNormalization() { + } + return CubismPhysicsNormalization; +}()); +exports.CubismPhysicsNormalization = CubismPhysicsNormalization; +/** + * 物理演算の演算委使用する物理点の情報 + */ +var CubismPhysicsParticle = /** @class */ (function () { + function CubismPhysicsParticle() { + this.initialPosition = new cubismvector2_1.CubismVector2(0, 0); + this.position = new cubismvector2_1.CubismVector2(0, 0); + this.lastPosition = new cubismvector2_1.CubismVector2(0, 0); + this.lastGravity = new cubismvector2_1.CubismVector2(0, 0); + this.force = new cubismvector2_1.CubismVector2(0, 0); + this.velocity = new cubismvector2_1.CubismVector2(0, 0); + } + return CubismPhysicsParticle; +}()); +exports.CubismPhysicsParticle = CubismPhysicsParticle; +/** + * 物理演算の物理点の管理 + */ +var CubismPhysicsSubRig = /** @class */ (function () { + function CubismPhysicsSubRig() { + this.normalizationPosition = new CubismPhysicsNormalization(); + this.normalizationAngle = new CubismPhysicsNormalization(); + } + return CubismPhysicsSubRig; +}()); +exports.CubismPhysicsSubRig = CubismPhysicsSubRig; +/** + * 物理演算の入力情報 + */ +var CubismPhysicsInput = /** @class */ (function () { + function CubismPhysicsInput() { + this.source = new CubismPhysicsParameter(); + } + return CubismPhysicsInput; +}()); +exports.CubismPhysicsInput = CubismPhysicsInput; +/** + * @brief 物理演算の出力情報 + * + * 物理演算の出力情報。 + */ +var CubismPhysicsOutput = /** @class */ (function () { + function CubismPhysicsOutput() { + this.destination = new CubismPhysicsParameter(); + this.translationScale = new cubismvector2_1.CubismVector2(0, 0); + } + return CubismPhysicsOutput; +}()); +exports.CubismPhysicsOutput = CubismPhysicsOutput; +/** + * @brief 物理演算のデータ + * + * 物理演算のデータ。 + */ +var CubismPhysicsRig = /** @class */ (function () { + function CubismPhysicsRig() { + this.settings = new csmvector_1.csmVector(); + this.inputs = new csmvector_1.csmVector(); + this.outputs = new csmvector_1.csmVector(); + this.particles = new csmvector_1.csmVector(); + this.gravity = new cubismvector2_1.CubismVector2(0, 0); + this.wind = new cubismvector2_1.CubismVector2(0, 0); + this.fps = 0.0; + } + return CubismPhysicsRig; +}()); +exports.CubismPhysicsRig = CubismPhysicsRig; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismphysicsinternal")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismPhysicsInput = $.CubismPhysicsInput; + Live2DCubismFramework.CubismPhysicsNormalization = $.CubismPhysicsNormalization; + Live2DCubismFramework.CubismPhysicsOutput = $.CubismPhysicsOutput; + Live2DCubismFramework.CubismPhysicsParameter = $.CubismPhysicsParameter; + Live2DCubismFramework.CubismPhysicsParticle = $.CubismPhysicsParticle; + Live2DCubismFramework.CubismPhysicsRig = $.CubismPhysicsRig; + Live2DCubismFramework.CubismPhysicsSource = $.CubismPhysicsSource; + Live2DCubismFramework.CubismPhysicsSubRig = $.CubismPhysicsSubRig; + Live2DCubismFramework.CubismPhysicsTargetType = $.CubismPhysicsTargetType; + Live2DCubismFramework.PhysicsJsonEffectiveForces = $.PhysicsJsonEffectiveForces; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismphysicsinternal.js.map \ No newline at end of file diff --git a/live2demo/Framework/physics/cubismphysicsinternal.js.map b/live2demo/Framework/physics/cubismphysicsinternal.js.map new file mode 100644 index 0000000..12eb97e --- /dev/null +++ b/live2demo/Framework/physics/cubismphysicsinternal.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismphysicsinternal.js","sourceRoot":"","sources":["../../src/physics/cubismphysicsinternal.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/physics/cubismphysicsjson.d.ts b/live2demo/Framework/physics/cubismphysicsjson.d.ts new file mode 100644 index 0000000..732b26f --- /dev/null +++ b/live2demo/Framework/physics/cubismphysicsjson.d.ts @@ -0,0 +1,225 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { CubismIdHandle } from '../id/cubismid'; +import { CubismVector2 } from '../math/cubismvector2'; +import { CubismJson } from '../utils/cubismjson'; +/** + * physics3.jsonのコンテナ。 + */ +export declare class CubismPhysicsJson { + /** + * コンストラクタ + * @param buffer physics3.jsonが読み込まれているバッファ + * @param size バッファのサイズ + */ + constructor(buffer: ArrayBuffer, size: number); + /** + * デストラクタ相当の処理 + */ + release(): void; + /** + * 重力の取得 + * @return 重力 + */ + getGravity(): CubismVector2; + /** + * 風の取得 + * @return 風 + */ + getWind(): CubismVector2; + /** + * 物理演算設定FPSの取得 + * @return 物理演算設定FPS + */ + getFps(): number; + /** + * 物理店の管理の個数の取得 + * @return 物理店の管理の個数 + */ + getSubRigCount(): number; + /** + * 入力の総合計の取得 + * @return 入力の総合計 + */ + getTotalInputCount(): number; + /** + * 出力の総合計の取得 + * @return 出力の総合計 + */ + getTotalOutputCount(): number; + /** + * 物理点の個数の取得 + * @return 物理点の個数 + */ + getVertexCount(): number; + /** + * 正規化された位置の最小値の取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @return 正規化された位置の最小値 + */ + getNormalizationPositionMinimumValue(physicsSettingIndex: number): number; + /** + * 正規化された位置の最大値の取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @return 正規化された位置の最大値 + */ + getNormalizationPositionMaximumValue(physicsSettingIndex: number): number; + /** + * 正規化された位置のデフォルト値の取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @return 正規化された位置のデフォルト値 + */ + getNormalizationPositionDefaultValue(physicsSettingIndex: number): number; + /** + * 正規化された角度の最小値の取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @return 正規化された角度の最小値 + */ + getNormalizationAngleMinimumValue(physicsSettingIndex: number): number; + /** + * 正規化された角度の最大値の取得 + * @param physicsSettingIndex + * @return 正規化された角度の最大値 + */ + getNormalizationAngleMaximumValue(physicsSettingIndex: number): number; + /** + * 正規化された角度のデフォルト値の取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @return 正規化された角度のデフォルト値 + */ + getNormalizationAngleDefaultValue(physicsSettingIndex: number): number; + /** + * 入力の個数の取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @return 入力の個数 + */ + getInputCount(physicsSettingIndex: number): number; + /** + * 入力の重みの取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @param inputIndex 入力のインデックス + * @return 入力の重み + */ + getInputWeight(physicsSettingIndex: number, inputIndex: number): number; + /** + * 入力の反転の取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @param inputIndex 入力のインデックス + * @return 入力の反転 + */ + getInputReflect(physicsSettingIndex: number, inputIndex: number): boolean; + /** + * 入力の種類の取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @param inputIndex 入力のインデックス + * @return 入力の種類 + */ + getInputType(physicsSettingIndex: number, inputIndex: number): string; + /** + * 入力元のIDの取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @param inputIndex 入力のインデックス + * @return 入力元のID + */ + getInputSourceId(physicsSettingIndex: number, inputIndex: number): CubismIdHandle; + /** + * 出力の個数の取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @return 出力の個数 + */ + getOutputCount(physicsSettingIndex: number): number; + /** + * 出力の物理点のインデックスの取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @param outputIndex 出力のインデックス + * @return 出力の物理点のインデックス + */ + getOutputVertexIndex(physicsSettingIndex: number, outputIndex: number): number; + /** + * 出力の角度のスケールを取得する + * @param physicsSettingIndex 物理演算の設定のインデックス + * @param outputIndex 出力のインデックス + * @return 出力の角度のスケール + */ + getOutputAngleScale(physicsSettingIndex: number, outputIndex: number): number; + /** + * 出力の重みの取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @param outputIndex 出力のインデックス + * @return 出力の重み + */ + getOutputWeight(physicsSettingIndex: number, outputIndex: number): number; + /** + * 出力先のIDの取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @param outputIndex 出力のインデックス + * @return 出力先のID + */ + getOutputDestinationId(physicsSettingIndex: number, outputIndex: number): CubismIdHandle; + /** + * 出力の種類の取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @param outputIndex 出力のインデックス + * @return 出力の種類 + */ + getOutputType(physicsSettingIndex: number, outputIndex: number): string; + /** + * 出力の反転の取得 + * @param physicsSettingIndex 物理演算のインデックス + * @param outputIndex 出力のインデックス + * @return 出力の反転 + */ + getOutputReflect(physicsSettingIndex: number, outputIndex: number): boolean; + /** + * 物理点の個数の取得 + * @param physicsSettingIndex 物理演算男設定のインデックス + * @return 物理点の個数 + */ + getParticleCount(physicsSettingIndex: number): number; + /** + * 物理点の動きやすさの取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @param vertexIndex 物理点のインデックス + * @return 物理点の動きやすさ + */ + getParticleMobility(physicsSettingIndex: number, vertexIndex: number): number; + /** + * 物理点の遅れの取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @param vertexIndex 物理点のインデックス + * @return 物理点の遅れ + */ + getParticleDelay(physicsSettingIndex: number, vertexIndex: number): number; + /** + * 物理点の加速度の取得 + * @param physicsSettingIndex 物理演算の設定 + * @param vertexIndex 物理点のインデックス + * @return 物理点の加速度 + */ + getParticleAcceleration(physicsSettingIndex: number, vertexIndex: number): number; + /** + * 物理点の距離の取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @param vertexIndex 物理点のインデックス + * @return 物理点の距離 + */ + getParticleRadius(physicsSettingIndex: number, vertexIndex: number): number; + /** + * 物理点の位置の取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @param vertexInde 物理点のインデックス + * @return 物理点の位置 + */ + getParticlePosition(physicsSettingIndex: number, vertexIndex: number): CubismVector2; + _json: CubismJson; +} +import * as $ from './cubismphysicsjson'; +export declare namespace Live2DCubismFramework { + const CubismPhysicsJson: typeof $.CubismPhysicsJson; + type CubismPhysicsJson = $.CubismPhysicsJson; +} +//# sourceMappingURL=cubismphysicsjson.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/physics/cubismphysicsjson.d.ts.map b/live2demo/Framework/physics/cubismphysicsjson.d.ts.map new file mode 100644 index 0000000..fbb3804 --- /dev/null +++ b/live2demo/Framework/physics/cubismphysicsjson.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismphysicsjson.d.ts","sourceRoot":"","sources":["../../src/physics/cubismphysicsjson.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/physics/cubismphysicsjson.js b/live2demo/Framework/physics/cubismphysicsjson.js new file mode 100644 index 0000000..372fb5d --- /dev/null +++ b/live2demo/Framework/physics/cubismphysicsjson.js @@ -0,0 +1,588 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.CubismPhysicsJson = void 0; +var live2dcubismframework_1 = require("../live2dcubismframework"); +var cubismvector2_1 = require("../math/cubismvector2"); +var cubismjson_1 = require("../utils/cubismjson"); +// JSON keys +var Position = 'Position'; +var X = 'X'; +var Y = 'Y'; +var Angle = 'Angle'; +var Type = 'Type'; +var Id = 'Id'; +// Meta +var Meta = 'Meta'; +var EffectiveForces = 'EffectiveForces'; +var TotalInputCount = 'TotalInputCount'; +var TotalOutputCount = 'TotalOutputCount'; +var PhysicsSettingCount = 'PhysicsSettingCount'; +var Gravity = 'Gravity'; +var Wind = 'Wind'; +var VertexCount = 'VertexCount'; +var Fps = 'Fps'; +// PhysicsSettings +var PhysicsSettings = 'PhysicsSettings'; +var Normalization = 'Normalization'; +var Minimum = 'Minimum'; +var Maximum = 'Maximum'; +var Default = 'Default'; +var Reflect = 'Reflect'; +var Weight = 'Weight'; +// Input +var Input = 'Input'; +var Source = 'Source'; +// Output +var Output = 'Output'; +var Scale = 'Scale'; +var VertexIndex = 'VertexIndex'; +var Destination = 'Destination'; +// Particle +var Vertices = 'Vertices'; +var Mobility = 'Mobility'; +var Delay = 'Delay'; +var Radius = 'Radius'; +var Acceleration = 'Acceleration'; +/** + * physics3.jsonのコンテナ。 + */ +var CubismPhysicsJson = /** @class */ (function () { + /** + * コンストラクタ + * @param buffer physics3.jsonが読み込まれているバッファ + * @param size バッファのサイズ + */ + function CubismPhysicsJson(buffer, size) { + this._json = cubismjson_1.CubismJson.create(buffer, size); + } + /** + * デストラクタ相当の処理 + */ + CubismPhysicsJson.prototype.release = function () { + cubismjson_1.CubismJson.delete(this._json); + }; + /** + * 重力の取得 + * @return 重力 + */ + CubismPhysicsJson.prototype.getGravity = function () { + var ret = new cubismvector2_1.CubismVector2(0, 0); + ret.x = this._json + .getRoot() + .getValueByString(Meta) + .getValueByString(EffectiveForces) + .getValueByString(Gravity) + .getValueByString(X) + .toFloat(); + ret.y = this._json + .getRoot() + .getValueByString(Meta) + .getValueByString(EffectiveForces) + .getValueByString(Gravity) + .getValueByString(Y) + .toFloat(); + return ret; + }; + /** + * 風の取得 + * @return 風 + */ + CubismPhysicsJson.prototype.getWind = function () { + var ret = new cubismvector2_1.CubismVector2(0, 0); + ret.x = this._json + .getRoot() + .getValueByString(Meta) + .getValueByString(EffectiveForces) + .getValueByString(Wind) + .getValueByString(X) + .toFloat(); + ret.y = this._json + .getRoot() + .getValueByString(Meta) + .getValueByString(EffectiveForces) + .getValueByString(Wind) + .getValueByString(Y) + .toFloat(); + return ret; + }; + /** + * 物理演算設定FPSの取得 + * @return 物理演算設定FPS + */ + CubismPhysicsJson.prototype.getFps = function () { + return this._json + .getRoot() + .getValueByString(Meta) + .getValueByString(Fps) + .toFloat(0.0); + }; + /** + * 物理店の管理の個数の取得 + * @return 物理店の管理の個数 + */ + CubismPhysicsJson.prototype.getSubRigCount = function () { + return this._json + .getRoot() + .getValueByString(Meta) + .getValueByString(PhysicsSettingCount) + .toInt(); + }; + /** + * 入力の総合計の取得 + * @return 入力の総合計 + */ + CubismPhysicsJson.prototype.getTotalInputCount = function () { + return this._json + .getRoot() + .getValueByString(Meta) + .getValueByString(TotalInputCount) + .toInt(); + }; + /** + * 出力の総合計の取得 + * @return 出力の総合計 + */ + CubismPhysicsJson.prototype.getTotalOutputCount = function () { + return this._json + .getRoot() + .getValueByString(Meta) + .getValueByString(TotalOutputCount) + .toInt(); + }; + /** + * 物理点の個数の取得 + * @return 物理点の個数 + */ + CubismPhysicsJson.prototype.getVertexCount = function () { + return this._json + .getRoot() + .getValueByString(Meta) + .getValueByString(VertexCount) + .toInt(); + }; + /** + * 正規化された位置の最小値の取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @return 正規化された位置の最小値 + */ + CubismPhysicsJson.prototype.getNormalizationPositionMinimumValue = function (physicsSettingIndex) { + return this._json + .getRoot() + .getValueByString(PhysicsSettings) + .getValueByIndex(physicsSettingIndex) + .getValueByString(Normalization) + .getValueByString(Position) + .getValueByString(Minimum) + .toFloat(); + }; + /** + * 正規化された位置の最大値の取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @return 正規化された位置の最大値 + */ + CubismPhysicsJson.prototype.getNormalizationPositionMaximumValue = function (physicsSettingIndex) { + return this._json + .getRoot() + .getValueByString(PhysicsSettings) + .getValueByIndex(physicsSettingIndex) + .getValueByString(Normalization) + .getValueByString(Position) + .getValueByString(Maximum) + .toFloat(); + }; + /** + * 正規化された位置のデフォルト値の取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @return 正規化された位置のデフォルト値 + */ + CubismPhysicsJson.prototype.getNormalizationPositionDefaultValue = function (physicsSettingIndex) { + return this._json + .getRoot() + .getValueByString(PhysicsSettings) + .getValueByIndex(physicsSettingIndex) + .getValueByString(Normalization) + .getValueByString(Position) + .getValueByString(Default) + .toFloat(); + }; + /** + * 正規化された角度の最小値の取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @return 正規化された角度の最小値 + */ + CubismPhysicsJson.prototype.getNormalizationAngleMinimumValue = function (physicsSettingIndex) { + return this._json + .getRoot() + .getValueByString(PhysicsSettings) + .getValueByIndex(physicsSettingIndex) + .getValueByString(Normalization) + .getValueByString(Angle) + .getValueByString(Minimum) + .toFloat(); + }; + /** + * 正規化された角度の最大値の取得 + * @param physicsSettingIndex + * @return 正規化された角度の最大値 + */ + CubismPhysicsJson.prototype.getNormalizationAngleMaximumValue = function (physicsSettingIndex) { + return this._json + .getRoot() + .getValueByString(PhysicsSettings) + .getValueByIndex(physicsSettingIndex) + .getValueByString(Normalization) + .getValueByString(Angle) + .getValueByString(Maximum) + .toFloat(); + }; + /** + * 正規化された角度のデフォルト値の取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @return 正規化された角度のデフォルト値 + */ + CubismPhysicsJson.prototype.getNormalizationAngleDefaultValue = function (physicsSettingIndex) { + return this._json + .getRoot() + .getValueByString(PhysicsSettings) + .getValueByIndex(physicsSettingIndex) + .getValueByString(Normalization) + .getValueByString(Angle) + .getValueByString(Default) + .toFloat(); + }; + /** + * 入力の個数の取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @return 入力の個数 + */ + CubismPhysicsJson.prototype.getInputCount = function (physicsSettingIndex) { + return this._json + .getRoot() + .getValueByString(PhysicsSettings) + .getValueByIndex(physicsSettingIndex) + .getValueByString(Input) + .getVector() + .getSize(); + }; + /** + * 入力の重みの取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @param inputIndex 入力のインデックス + * @return 入力の重み + */ + CubismPhysicsJson.prototype.getInputWeight = function (physicsSettingIndex, inputIndex) { + return this._json + .getRoot() + .getValueByString(PhysicsSettings) + .getValueByIndex(physicsSettingIndex) + .getValueByString(Input) + .getValueByIndex(inputIndex) + .getValueByString(Weight) + .toFloat(); + }; + /** + * 入力の反転の取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @param inputIndex 入力のインデックス + * @return 入力の反転 + */ + CubismPhysicsJson.prototype.getInputReflect = function (physicsSettingIndex, inputIndex) { + return this._json + .getRoot() + .getValueByString(PhysicsSettings) + .getValueByIndex(physicsSettingIndex) + .getValueByString(Input) + .getValueByIndex(inputIndex) + .getValueByString(Reflect) + .toBoolean(); + }; + /** + * 入力の種類の取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @param inputIndex 入力のインデックス + * @return 入力の種類 + */ + CubismPhysicsJson.prototype.getInputType = function (physicsSettingIndex, inputIndex) { + return this._json + .getRoot() + .getValueByString(PhysicsSettings) + .getValueByIndex(physicsSettingIndex) + .getValueByString(Input) + .getValueByIndex(inputIndex) + .getValueByString(Type) + .getRawString(); + }; + /** + * 入力元のIDの取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @param inputIndex 入力のインデックス + * @return 入力元のID + */ + CubismPhysicsJson.prototype.getInputSourceId = function (physicsSettingIndex, inputIndex) { + return live2dcubismframework_1.CubismFramework.getIdManager().getId(this._json + .getRoot() + .getValueByString(PhysicsSettings) + .getValueByIndex(physicsSettingIndex) + .getValueByString(Input) + .getValueByIndex(inputIndex) + .getValueByString(Source) + .getValueByString(Id) + .getRawString()); + }; + /** + * 出力の個数の取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @return 出力の個数 + */ + CubismPhysicsJson.prototype.getOutputCount = function (physicsSettingIndex) { + return this._json + .getRoot() + .getValueByString(PhysicsSettings) + .getValueByIndex(physicsSettingIndex) + .getValueByString(Output) + .getVector() + .getSize(); + }; + /** + * 出力の物理点のインデックスの取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @param outputIndex 出力のインデックス + * @return 出力の物理点のインデックス + */ + CubismPhysicsJson.prototype.getOutputVertexIndex = function (physicsSettingIndex, outputIndex) { + return this._json + .getRoot() + .getValueByString(PhysicsSettings) + .getValueByIndex(physicsSettingIndex) + .getValueByString(Output) + .getValueByIndex(outputIndex) + .getValueByString(VertexIndex) + .toInt(); + }; + /** + * 出力の角度のスケールを取得する + * @param physicsSettingIndex 物理演算の設定のインデックス + * @param outputIndex 出力のインデックス + * @return 出力の角度のスケール + */ + CubismPhysicsJson.prototype.getOutputAngleScale = function (physicsSettingIndex, outputIndex) { + return this._json + .getRoot() + .getValueByString(PhysicsSettings) + .getValueByIndex(physicsSettingIndex) + .getValueByString(Output) + .getValueByIndex(outputIndex) + .getValueByString(Scale) + .toFloat(); + }; + /** + * 出力の重みの取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @param outputIndex 出力のインデックス + * @return 出力の重み + */ + CubismPhysicsJson.prototype.getOutputWeight = function (physicsSettingIndex, outputIndex) { + return this._json + .getRoot() + .getValueByString(PhysicsSettings) + .getValueByIndex(physicsSettingIndex) + .getValueByString(Output) + .getValueByIndex(outputIndex) + .getValueByString(Weight) + .toFloat(); + }; + /** + * 出力先のIDの取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @param outputIndex 出力のインデックス + * @return 出力先のID + */ + CubismPhysicsJson.prototype.getOutputDestinationId = function (physicsSettingIndex, outputIndex) { + return live2dcubismframework_1.CubismFramework.getIdManager().getId(this._json + .getRoot() + .getValueByString(PhysicsSettings) + .getValueByIndex(physicsSettingIndex) + .getValueByString(Output) + .getValueByIndex(outputIndex) + .getValueByString(Destination) + .getValueByString(Id) + .getRawString()); + }; + /** + * 出力の種類の取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @param outputIndex 出力のインデックス + * @return 出力の種類 + */ + CubismPhysicsJson.prototype.getOutputType = function (physicsSettingIndex, outputIndex) { + return this._json + .getRoot() + .getValueByString(PhysicsSettings) + .getValueByIndex(physicsSettingIndex) + .getValueByString(Output) + .getValueByIndex(outputIndex) + .getValueByString(Type) + .getRawString(); + }; + /** + * 出力の反転の取得 + * @param physicsSettingIndex 物理演算のインデックス + * @param outputIndex 出力のインデックス + * @return 出力の反転 + */ + CubismPhysicsJson.prototype.getOutputReflect = function (physicsSettingIndex, outputIndex) { + return this._json + .getRoot() + .getValueByString(PhysicsSettings) + .getValueByIndex(physicsSettingIndex) + .getValueByString(Output) + .getValueByIndex(outputIndex) + .getValueByString(Reflect) + .toBoolean(); + }; + /** + * 物理点の個数の取得 + * @param physicsSettingIndex 物理演算男設定のインデックス + * @return 物理点の個数 + */ + CubismPhysicsJson.prototype.getParticleCount = function (physicsSettingIndex) { + return this._json + .getRoot() + .getValueByString(PhysicsSettings) + .getValueByIndex(physicsSettingIndex) + .getValueByString(Vertices) + .getVector() + .getSize(); + }; + /** + * 物理点の動きやすさの取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @param vertexIndex 物理点のインデックス + * @return 物理点の動きやすさ + */ + CubismPhysicsJson.prototype.getParticleMobility = function (physicsSettingIndex, vertexIndex) { + return this._json + .getRoot() + .getValueByString(PhysicsSettings) + .getValueByIndex(physicsSettingIndex) + .getValueByString(Vertices) + .getValueByIndex(vertexIndex) + .getValueByString(Mobility) + .toFloat(); + }; + /** + * 物理点の遅れの取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @param vertexIndex 物理点のインデックス + * @return 物理点の遅れ + */ + CubismPhysicsJson.prototype.getParticleDelay = function (physicsSettingIndex, vertexIndex) { + return this._json + .getRoot() + .getValueByString(PhysicsSettings) + .getValueByIndex(physicsSettingIndex) + .getValueByString(Vertices) + .getValueByIndex(vertexIndex) + .getValueByString(Delay) + .toFloat(); + }; + /** + * 物理点の加速度の取得 + * @param physicsSettingIndex 物理演算の設定 + * @param vertexIndex 物理点のインデックス + * @return 物理点の加速度 + */ + CubismPhysicsJson.prototype.getParticleAcceleration = function (physicsSettingIndex, vertexIndex) { + return this._json + .getRoot() + .getValueByString(PhysicsSettings) + .getValueByIndex(physicsSettingIndex) + .getValueByString(Vertices) + .getValueByIndex(vertexIndex) + .getValueByString(Acceleration) + .toFloat(); + }; + /** + * 物理点の距離の取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @param vertexIndex 物理点のインデックス + * @return 物理点の距離 + */ + CubismPhysicsJson.prototype.getParticleRadius = function (physicsSettingIndex, vertexIndex) { + return this._json + .getRoot() + .getValueByString(PhysicsSettings) + .getValueByIndex(physicsSettingIndex) + .getValueByString(Vertices) + .getValueByIndex(vertexIndex) + .getValueByString(Radius) + .toFloat(); + }; + /** + * 物理点の位置の取得 + * @param physicsSettingIndex 物理演算の設定のインデックス + * @param vertexInde 物理点のインデックス + * @return 物理点の位置 + */ + CubismPhysicsJson.prototype.getParticlePosition = function (physicsSettingIndex, vertexIndex) { + var ret = new cubismvector2_1.CubismVector2(0, 0); + ret.x = this._json + .getRoot() + .getValueByString(PhysicsSettings) + .getValueByIndex(physicsSettingIndex) + .getValueByString(Vertices) + .getValueByIndex(vertexIndex) + .getValueByString(Position) + .getValueByString(X) + .toFloat(); + ret.y = this._json + .getRoot() + .getValueByString(PhysicsSettings) + .getValueByIndex(physicsSettingIndex) + .getValueByString(Vertices) + .getValueByIndex(vertexIndex) + .getValueByString(Position) + .getValueByString(Y) + .toFloat(); + return ret; + }; + return CubismPhysicsJson; +}()); +exports.CubismPhysicsJson = CubismPhysicsJson; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismphysicsjson")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismPhysicsJson = $.CubismPhysicsJson; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismphysicsjson.js.map \ No newline at end of file diff --git a/live2demo/Framework/physics/cubismphysicsjson.js.map b/live2demo/Framework/physics/cubismphysicsjson.js.map new file mode 100644 index 0000000..a88a454 --- /dev/null +++ b/live2demo/Framework/physics/cubismphysicsjson.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismphysicsjson.js","sourceRoot":"","sources":["../../src/physics/cubismphysicsjson.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/rendering/cubismclippingmanager.d.ts b/live2demo/Framework/rendering/cubismclippingmanager.d.ts new file mode 100644 index 0000000..fdb1ea8 --- /dev/null +++ b/live2demo/Framework/rendering/cubismclippingmanager.d.ts @@ -0,0 +1,106 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { csmVector } from '../type/csmvector'; +import { csmRect } from '../type/csmrectf'; +import { CubismMatrix44 } from '../math/cubismmatrix44'; +import { CubismModel } from '../model/cubismmodel'; +import { CubismClippingContext, CubismTextureColor } from './cubismrenderer'; +export type ClippingContextConstructor = new (manager: CubismClippingManager, drawableMasks: Int32Array, drawableMaskCounts: number) => T_ClippingContext; +export interface ICubismClippingManager { + getClippingMaskBufferSize(): number; +} +export declare abstract class CubismClippingManager implements ICubismClippingManager { + /** + * コンストラクタ + */ + constructor(clippingContextFactory: ClippingContextConstructor); + /** + * デストラクタ相当の処理 + */ + release(): void; + /** + * マネージャの初期化処理 + * クリッピングマスクを使う描画オブジェクトの登録を行う + * @param model モデルのインスタンス + * @param renderTextureCount バッファの生成数 + */ + initialize(model: CubismModel, renderTextureCount: number): void; + /** + * 既にマスクを作っているかを確認 + * 作っている様であれば該当するクリッピングマスクのインスタンスを返す + * 作っていなければNULLを返す + * @param drawableMasks 描画オブジェクトをマスクする描画オブジェクトのリスト + * @param drawableMaskCounts 描画オブジェクトをマスクする描画オブジェクトの数 + * @return 該当するクリッピングマスクが存在すればインスタンスを返し、なければNULLを返す + */ + findSameClip(drawableMasks: Int32Array, drawableMaskCounts: number): T_ClippingContext; + /** + * 高精細マスク処理用の行列を計算する + * @param model モデルのインスタンス + * @param isRightHanded 処理が右手系であるか + */ + setupMatrixForHighPrecision(model: CubismModel, isRightHanded: boolean): void; + /** + * マスク作成・描画用の行列を作成する。 + * @param isRightHanded 座標を右手系として扱うかを指定 + * @param layoutBoundsOnTex01 マスクを収める領域 + * @param scaleX 描画オブジェクトの伸縮率 + * @param scaleY 描画オブジェクトの伸縮率 + */ + createMatrixForMask(isRightHanded: boolean, layoutBoundsOnTex01: csmRect, scaleX: number, scaleY: number): void; + /** + * クリッピングコンテキストを配置するレイアウト + * 指定された数のレンダーテクスチャを極力いっぱいに使ってマスクをレイアウトする + * マスクグループの数が4以下ならRGBA各チャンネルに一つずつマスクを配置し、5以上6以下ならRGBAを2,2,1,1と配置する。 + * + * @param usingClipCount 配置するクリッピングコンテキストの数 + */ + setupLayoutBounds(usingClipCount: number): void; + /** + * マスクされる描画オブジェクト群全体を囲む矩形(モデル座標系)を計算する + * @param model モデルのインスタンス + * @param clippingContext クリッピングマスクのコンテキスト + */ + calcClippedDrawTotalBounds(model: CubismModel, clippingContext: T_ClippingContext): void; + /** + * 画面描画に使用するクリッピングマスクのリストを取得する + * @return 画面描画に使用するクリッピングマスクのリスト + */ + getClippingContextListForDraw(): csmVector; + /** + * クリッピングマスクバッファのサイズを取得する + * @return クリッピングマスクバッファのサイズ + */ + getClippingMaskBufferSize(): number; + /** + * このバッファのレンダーテクスチャの枚数を取得する + * @return このバッファのレンダーテクスチャの枚数 + */ + getRenderTextureCount(): number; + /** + * カラーチャンネル(RGBA)のフラグを取得する + * @param channelNo カラーチャンネル(RGBA)の番号(0:R, 1:G, 2:B, 3:A) + */ + getChannelFlagAsColor(channelNo: number): CubismTextureColor; + /** + * クリッピングマスクバッファのサイズを設定する + * @param size クリッピングマスクバッファのサイズ + */ + setClippingMaskBufferSize(size: number): void; + protected _clearedFrameBufferFlags: csmVector; + protected _channelColors: csmVector; + protected _clippingContextListForMask: csmVector; + protected _clippingContextListForDraw: csmVector; + protected _clippingMaskBufferSize: number; + protected _renderTextureCount: number; + protected _tmpMatrix: CubismMatrix44; + protected _tmpMatrixForMask: CubismMatrix44; + protected _tmpMatrixForDraw: CubismMatrix44; + protected _tmpBoundsOnModel: csmRect; + protected _clippingContexttConstructor: ClippingContextConstructor; +} +//# sourceMappingURL=cubismclippingmanager.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/rendering/cubismclippingmanager.d.ts.map b/live2demo/Framework/rendering/cubismclippingmanager.d.ts.map new file mode 100644 index 0000000..fb95f8b --- /dev/null +++ b/live2demo/Framework/rendering/cubismclippingmanager.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismclippingmanager.d.ts","sourceRoot":"","sources":["../../src/rendering/cubismclippingmanager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAO7E,MAAM,MAAM,0BAA0B,CACpC,iBAAiB,SAAS,qBAAqB,IAC7C,KACF,OAAO,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,EACjD,aAAa,EAAE,UAAU,EACzB,kBAAkB,EAAE,MAAM,KACvB,iBAAiB,CAAC;AAEvB,MAAM,WAAW,sBAAsB;IACrC,yBAAyB,IAAI,MAAM,CAAC;CACrC;AAED,8BAAsB,qBAAqB,CACzC,iBAAiB,SAAS,qBAAqB,CAC/C,YAAW,sBAAsB;IAEjC;;OAEG;gBAED,sBAAsB,EAAE,0BAA0B,CAAC,iBAAiB,CAAC;IA2CvE;;OAEG;IACI,OAAO,IAAI,IAAI;IA4BtB;;;;;OAKG;IACI,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,GAAG,IAAI;IAqDvE;;;;;;;OAOG;IACI,YAAY,CACjB,aAAa,EAAE,UAAU,EACzB,kBAAkB,EAAE,MAAM,GACzB,iBAAiB;IAkCpB;;;;OAIG;IACI,2BAA2B,CAChC,KAAK,EAAE,WAAW,EAClB,aAAa,EAAE,OAAO,GACrB,IAAI;IA8FP;;;;;;OAMG;IACI,mBAAmB,CACxB,aAAa,EAAE,OAAO,EACtB,mBAAmB,EAAE,OAAO,EAC5B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,IAAI;IAyCP;;;;;;OAMG;IACI,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IA6KtD;;;;OAIG;IACI,0BAA0B,CAC/B,KAAK,EAAE,WAAW,EAClB,eAAe,EAAE,iBAAiB,GACjC,IAAI;IA2FP;;;OAGG;IACI,6BAA6B,IAAI,SAAS,CAAC,iBAAiB,CAAC;IAIpE;;;OAGG;IACI,yBAAyB,IAAI,MAAM;IAI1C;;;OAGG;IACI,qBAAqB,IAAI,MAAM;IAItC;;;OAGG;IACI,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB;IAInE;;;OAGG;IACI,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIpD,SAAS,CAAC,wBAAwB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAEvD,SAAS,CAAC,cAAc,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC;IACxD,SAAS,CAAC,2BAA2B,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACpE,SAAS,CAAC,2BAA2B,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACpE,SAAS,CAAC,uBAAuB,EAAE,MAAM,CAAC;IAC1C,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAC;IAEtC,SAAS,CAAC,UAAU,EAAE,cAAc,CAAC;IACrC,SAAS,CAAC,iBAAiB,EAAE,cAAc,CAAC;IAC5C,SAAS,CAAC,iBAAiB,EAAE,cAAc,CAAC;IAC5C,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC;IAErC,SAAS,CAAC,4BAA4B,EAAE,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;CACvF"} \ No newline at end of file diff --git a/live2demo/Framework/rendering/cubismclippingmanager.js b/live2demo/Framework/rendering/cubismclippingmanager.js new file mode 100644 index 0000000..9a7a74d --- /dev/null +++ b/live2demo/Framework/rendering/cubismclippingmanager.js @@ -0,0 +1,508 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CubismClippingManager = void 0; +var live2dcubismframework_1 = require("../live2dcubismframework"); +var csmvector_1 = require("../type/csmvector"); +var csmrectf_1 = require("../type/csmrectf"); +var cubismmatrix44_1 = require("../math/cubismmatrix44"); +var cubismrenderer_1 = require("./cubismrenderer"); +var cubismdebug_1 = require("../utils/cubismdebug"); +var ColorChannelCount = 4; // 実験時に1チャンネルの場合は1、RGBだけの場合は3、アルファも含める場合は4 +var ClippingMaskMaxCountOnDefault = 36; // 通常のフレームバッファ一枚あたりのマスク最大数 +var ClippingMaskMaxCountOnMultiRenderTexture = 32; // フレームバッファが2枚以上ある場合のフレームバッファ一枚あたりのマスク最大数 +var CubismClippingManager = /** @class */ (function () { + /** + * コンストラクタ + */ + function CubismClippingManager(clippingContextFactory) { + this._renderTextureCount = 0; + this._clippingMaskBufferSize = 256; + this._clippingContextListForMask = new csmvector_1.csmVector(); + this._clippingContextListForDraw = new csmvector_1.csmVector(); + this._channelColors = new csmvector_1.csmVector(); + this._tmpBoundsOnModel = new csmrectf_1.csmRect(); + this._tmpMatrix = new cubismmatrix44_1.CubismMatrix44(); + this._tmpMatrixForMask = new cubismmatrix44_1.CubismMatrix44(); + this._tmpMatrixForDraw = new cubismmatrix44_1.CubismMatrix44(); + this._clippingContexttConstructor = clippingContextFactory; + var tmp = new cubismrenderer_1.CubismTextureColor(); + tmp.R = 1.0; + tmp.G = 0.0; + tmp.B = 0.0; + tmp.A = 0.0; + this._channelColors.pushBack(tmp); + tmp = new cubismrenderer_1.CubismTextureColor(); + tmp.R = 0.0; + tmp.G = 1.0; + tmp.B = 0.0; + tmp.A = 0.0; + this._channelColors.pushBack(tmp); + tmp = new cubismrenderer_1.CubismTextureColor(); + tmp.R = 0.0; + tmp.G = 0.0; + tmp.B = 1.0; + tmp.A = 0.0; + this._channelColors.pushBack(tmp); + tmp = new cubismrenderer_1.CubismTextureColor(); + tmp.R = 0.0; + tmp.G = 0.0; + tmp.B = 0.0; + tmp.A = 1.0; + this._channelColors.pushBack(tmp); + } + /** + * デストラクタ相当の処理 + */ + CubismClippingManager.prototype.release = function () { + for (var i = 0; i < this._clippingContextListForMask.getSize(); i++) { + if (this._clippingContextListForMask.at(i)) { + this._clippingContextListForMask.at(i).release(); + this._clippingContextListForMask.set(i, void 0); + } + this._clippingContextListForMask.set(i, null); + } + this._clippingContextListForMask = null; + // _clippingContextListForDrawは_clippingContextListForMaskにあるインスタンスを指している。上記の処理により要素ごとのDELETEは不要。 + for (var i = 0; i < this._clippingContextListForDraw.getSize(); i++) { + this._clippingContextListForDraw.set(i, null); + } + this._clippingContextListForDraw = null; + for (var i = 0; i < this._channelColors.getSize(); i++) { + this._channelColors.set(i, null); + } + this._channelColors = null; + if (this._clearedFrameBufferFlags != null) { + this._clearedFrameBufferFlags.clear(); + } + this._clearedFrameBufferFlags = null; + }; + /** + * マネージャの初期化処理 + * クリッピングマスクを使う描画オブジェクトの登録を行う + * @param model モデルのインスタンス + * @param renderTextureCount バッファの生成数 + */ + CubismClippingManager.prototype.initialize = function (model, renderTextureCount) { + // レンダーテクスチャの合計枚数の設定 + // 1以上の整数でない場合はそれぞれ警告を出す + if (renderTextureCount % 1 != 0) { + (0, cubismdebug_1.CubismLogWarning)('The number of render textures must be specified as an integer. The decimal point is rounded down and corrected to an integer.'); + // 小数点以下を除去 + renderTextureCount = ~~renderTextureCount; + } + if (renderTextureCount < 1) { + (0, cubismdebug_1.CubismLogWarning)('The number of render textures must be an integer greater than or equal to 1. Set the number of render textures to 1.'); + } + // 負の値が使われている場合は強制的に1枚と設定する + this._renderTextureCount = renderTextureCount < 1 ? 1 : renderTextureCount; + this._clearedFrameBufferFlags = new csmvector_1.csmVector(this._renderTextureCount); + // クリッピングマスクを使う描画オブジェクトをすべて登録する + // クリッピングマスクは、通常数個程度に限定して使うものとする + for (var i = 0; i < model.getDrawableCount(); i++) { + if (model.getDrawableMaskCounts()[i] <= 0) { + // クリッピングマスクが使用されていないアートメッシュ(多くの場合使用しない) + this._clippingContextListForDraw.pushBack(null); + continue; + } + // 既にあるClipContextと同じかチェックする + var clippingContext = this.findSameClip(model.getDrawableMasks()[i], model.getDrawableMaskCounts()[i]); + if (clippingContext == null) { + // 同一のマスクが存在していない場合は生成する + clippingContext = new this._clippingContexttConstructor(this, model.getDrawableMasks()[i], model.getDrawableMaskCounts()[i]); + this._clippingContextListForMask.pushBack(clippingContext); + } + clippingContext.addClippedDrawable(i); + this._clippingContextListForDraw.pushBack(clippingContext); + } + }; + /** + * 既にマスクを作っているかを確認 + * 作っている様であれば該当するクリッピングマスクのインスタンスを返す + * 作っていなければNULLを返す + * @param drawableMasks 描画オブジェクトをマスクする描画オブジェクトのリスト + * @param drawableMaskCounts 描画オブジェクトをマスクする描画オブジェクトの数 + * @return 該当するクリッピングマスクが存在すればインスタンスを返し、なければNULLを返す + */ + CubismClippingManager.prototype.findSameClip = function (drawableMasks, drawableMaskCounts) { + // 作成済みClippingContextと一致するか確認 + for (var i = 0; i < this._clippingContextListForMask.getSize(); i++) { + var clippingContext = this._clippingContextListForMask.at(i); + var count = clippingContext._clippingIdCount; + // 個数が違う場合は別物 + if (count != drawableMaskCounts) { + continue; + } + var sameCount = 0; + // 同じIDを持つか確認。配列の数が同じなので、一致した個数が同じなら同じ物を持つとする + for (var j = 0; j < count; j++) { + var clipId = clippingContext._clippingIdList[j]; + for (var k = 0; k < count; k++) { + if (drawableMasks[k] == clipId) { + sameCount++; + break; + } + } + } + if (sameCount == count) { + return clippingContext; + } + } + return null; // 見つからなかった + }; + /** + * 高精細マスク処理用の行列を計算する + * @param model モデルのインスタンス + * @param isRightHanded 処理が右手系であるか + */ + CubismClippingManager.prototype.setupMatrixForHighPrecision = function (model, isRightHanded) { + // 全てのクリッピングを用意する + // 同じクリップ(複数の場合はまとめて一つのクリップ)を使う場合は1度だけ設定する + var usingClipCount = 0; + for (var clipIndex = 0; clipIndex < this._clippingContextListForMask.getSize(); clipIndex++) { + // 1つのクリッピングマスクに関して + var cc = this._clippingContextListForMask.at(clipIndex); + // このクリップを利用する描画オブジェクト群全体を囲む矩形を計算 + this.calcClippedDrawTotalBounds(model, cc); + if (cc._isUsing) { + usingClipCount++; // 使用中としてカウント + } + } + // マスク行列作成処理 + if (usingClipCount > 0) { + this.setupLayoutBounds(0); + // サイズがレンダーテクスチャの枚数と合わない場合は合わせる + if (this._clearedFrameBufferFlags.getSize() != this._renderTextureCount) { + this._clearedFrameBufferFlags.clear(); + for (var i = 0; i < this._renderTextureCount; i++) { + this._clearedFrameBufferFlags.pushBack(false); + } + } + else { + // マスクのクリアフラグを毎フレーム開始時に初期化 + for (var i = 0; i < this._renderTextureCount; i++) { + this._clearedFrameBufferFlags.set(i, false); + } + } + // 実際にマスクを生成する + // 全てのマスクをどの様にレイアウトして描くかを決定し、ClipContext , ClippedDrawContext に記憶する + for (var clipIndex = 0; clipIndex < this._clippingContextListForMask.getSize(); clipIndex++) { + // --- 実際に1つのマスクを描く --- + var clipContext = this._clippingContextListForMask.at(clipIndex); + var allClippedDrawRect = clipContext._allClippedDrawRect; //このマスクを使う、全ての描画オブジェクトの論理座標上の囲み矩形 + var layoutBoundsOnTex01 = clipContext._layoutBounds; //この中にマスクを収める + var MARGIN = 0.05; + var scaleX = 0.0; + var scaleY = 0.0; + var ppu = model.getPixelsPerUnit(); + var maskPixelSize = clipContext + .getClippingManager() + .getClippingMaskBufferSize(); + var physicalMaskWidth = layoutBoundsOnTex01.width * maskPixelSize; + var physicalMaskHeight = layoutBoundsOnTex01.height * maskPixelSize; + this._tmpBoundsOnModel.setRect(allClippedDrawRect); + if (this._tmpBoundsOnModel.width * ppu > physicalMaskWidth) { + this._tmpBoundsOnModel.expand(allClippedDrawRect.width * MARGIN, 0.0); + scaleX = layoutBoundsOnTex01.width / this._tmpBoundsOnModel.width; + } + else { + scaleX = ppu / physicalMaskWidth; + } + if (this._tmpBoundsOnModel.height * ppu > physicalMaskHeight) { + this._tmpBoundsOnModel.expand(0.0, allClippedDrawRect.height * MARGIN); + scaleY = layoutBoundsOnTex01.height / this._tmpBoundsOnModel.height; + } + else { + scaleY = ppu / physicalMaskHeight; + } + // マスク生成時に使う行列を求める + this.createMatrixForMask(isRightHanded, layoutBoundsOnTex01, scaleX, scaleY); + clipContext._matrixForMask.setMatrix(this._tmpMatrixForMask.getArray()); + clipContext._matrixForDraw.setMatrix(this._tmpMatrixForDraw.getArray()); + } + } + }; + /** + * マスク作成・描画用の行列を作成する。 + * @param isRightHanded 座標を右手系として扱うかを指定 + * @param layoutBoundsOnTex01 マスクを収める領域 + * @param scaleX 描画オブジェクトの伸縮率 + * @param scaleY 描画オブジェクトの伸縮率 + */ + CubismClippingManager.prototype.createMatrixForMask = function (isRightHanded, layoutBoundsOnTex01, scaleX, scaleY) { + this._tmpMatrix.loadIdentity(); + { + // Layout0..1 を -1..1に変換 + this._tmpMatrix.translateRelative(-1.0, -1.0); + this._tmpMatrix.scaleRelative(2.0, 2.0); + } + { + // view to Layout0..1 + this._tmpMatrix.translateRelative(layoutBoundsOnTex01.x, layoutBoundsOnTex01.y); //new = [translate] + this._tmpMatrix.scaleRelative(scaleX, scaleY); //new = [translate][scale] + this._tmpMatrix.translateRelative(-this._tmpBoundsOnModel.x, -this._tmpBoundsOnModel.y); //new = [translate][scale][translate] + } + // tmpMatrixForMask が計算結果 + this._tmpMatrixForMask.setMatrix(this._tmpMatrix.getArray()); + this._tmpMatrix.loadIdentity(); + { + this._tmpMatrix.translateRelative(layoutBoundsOnTex01.x, layoutBoundsOnTex01.y * (isRightHanded ? -1.0 : 1.0)); //new = [translate] + this._tmpMatrix.scaleRelative(scaleX, scaleY * (isRightHanded ? -1.0 : 1.0)); //new = [translate][scale] + this._tmpMatrix.translateRelative(-this._tmpBoundsOnModel.x, -this._tmpBoundsOnModel.y); //new = [translate][scale][translate] + } + this._tmpMatrixForDraw.setMatrix(this._tmpMatrix.getArray()); + }; + /** + * クリッピングコンテキストを配置するレイアウト + * 指定された数のレンダーテクスチャを極力いっぱいに使ってマスクをレイアウトする + * マスクグループの数が4以下ならRGBA各チャンネルに一つずつマスクを配置し、5以上6以下ならRGBAを2,2,1,1と配置する。 + * + * @param usingClipCount 配置するクリッピングコンテキストの数 + */ + CubismClippingManager.prototype.setupLayoutBounds = function (usingClipCount) { + var useClippingMaskMaxCount = this._renderTextureCount <= 1 + ? ClippingMaskMaxCountOnDefault + : ClippingMaskMaxCountOnMultiRenderTexture * this._renderTextureCount; + if (usingClipCount <= 0 || usingClipCount > useClippingMaskMaxCount) { + if (usingClipCount > useClippingMaskMaxCount) { + // マスクの制限数の警告を出す + (0, cubismdebug_1.CubismLogError)('not supported mask count : {0}\n[Details] render texture count : {1}, mask count : {2}', usingClipCount - useClippingMaskMaxCount, this._renderTextureCount, usingClipCount); + } + // この場合は一つのマスクターゲットを毎回クリアして使用する + for (var index = 0; index < this._clippingContextListForMask.getSize(); index++) { + var clipContext = this._clippingContextListForMask.at(index); + clipContext._layoutChannelNo = 0; // どうせ毎回消すので固定 + clipContext._layoutBounds.x = 0.0; + clipContext._layoutBounds.y = 0.0; + clipContext._layoutBounds.width = 1.0; + clipContext._layoutBounds.height = 1.0; + clipContext._bufferIndex = 0; + } + return; + } + // レンダーテクスチャが1枚なら9分割する(最大36枚) + var layoutCountMaxValue = this._renderTextureCount <= 1 ? 9 : 8; + // 指定された数のレンダーテクスチャを極力いっぱいに使ってマスクをレイアウトする(デフォルトなら1) + // マスクグループの数が4以下ならRGBA各チャンネルに1つずつマスクを配置し、5以上6以下ならRGBAを2,2,1,1と配置する + var countPerSheetDiv = usingClipCount / this._renderTextureCount; // レンダーテクスチャ1枚あたり何枚割り当てるか + var countPerSheetMod = usingClipCount % this._renderTextureCount; // この番号のレンダーテクスチャまでに一つずつ配分する + // 小数点は切り捨てる + countPerSheetDiv = ~~countPerSheetDiv; + countPerSheetMod = ~~countPerSheetMod; + // RGBAを順番に使っていく + var div = countPerSheetDiv / ColorChannelCount; // 1チャンネルに配置する基本のマスク + var mod = countPerSheetDiv % ColorChannelCount; // 余り、この番号のチャンネルまでに一つずつ配分する + // 小数点は切り捨てる + div = ~~div; + mod = ~~mod; + // RGBAそれぞれのチャンネルを用意していく(0:R, 1:G, 2:B, 3:A) + var curClipIndex = 0; // 順番に設定していく + for (var renderTextureNo = 0; renderTextureNo < this._renderTextureCount; renderTextureNo++) { + for (var channelNo = 0; channelNo < ColorChannelCount; channelNo++) { + // このチャンネルにレイアウトする数 + var layoutCount = div + (channelNo < mod ? 1 : 0); + // このレンダーテクスチャにまだ割り当てられていなければ追加する + var checkChannelNo = mod + 1 >= ColorChannelCount ? 0 : mod + 1; + if (layoutCount < layoutCountMaxValue && channelNo == checkChannelNo) { + layoutCount += renderTextureNo < countPerSheetMod ? 1 : 0; + } + // 分割方法を決定する + if (layoutCount == 0) { + // 何もしない + } + else if (layoutCount == 1) { + // 全てをそのまま使う + var clipContext = this._clippingContextListForMask.at(curClipIndex++); + clipContext._layoutChannelNo = channelNo; + clipContext._layoutBounds.x = 0.0; + clipContext._layoutBounds.y = 0.0; + clipContext._layoutBounds.width = 1.0; + clipContext._layoutBounds.height = 1.0; + clipContext._bufferIndex = renderTextureNo; + } + else if (layoutCount == 2) { + for (var i = 0; i < layoutCount; i++) { + var xpos = i % 2; + // 小数点は切り捨てる + xpos = ~~xpos; + var cc = this._clippingContextListForMask.at(curClipIndex++); + cc._layoutChannelNo = channelNo; + // UVを2つに分解して使う + cc._layoutBounds.x = xpos * 0.5; + cc._layoutBounds.y = 0.0; + cc._layoutBounds.width = 0.5; + cc._layoutBounds.height = 1.0; + cc._bufferIndex = renderTextureNo; + } + } + else if (layoutCount <= 4) { + // 4分割して使う + for (var i = 0; i < layoutCount; i++) { + var xpos = i % 2; + var ypos = i / 2; + // 小数点は切り捨てる + xpos = ~~xpos; + ypos = ~~ypos; + var cc = this._clippingContextListForMask.at(curClipIndex++); + cc._layoutChannelNo = channelNo; + cc._layoutBounds.x = xpos * 0.5; + cc._layoutBounds.y = ypos * 0.5; + cc._layoutBounds.width = 0.5; + cc._layoutBounds.height = 0.5; + cc._bufferIndex = renderTextureNo; + } + } + else if (layoutCount <= layoutCountMaxValue) { + // 9分割して使う + for (var i = 0; i < layoutCount; i++) { + var xpos = i % 3; + var ypos = i / 3; + // 小数点は切り捨てる + xpos = ~~xpos; + ypos = ~~ypos; + var cc = this._clippingContextListForMask.at(curClipIndex++); + cc._layoutChannelNo = channelNo; + cc._layoutBounds.x = xpos / 3.0; + cc._layoutBounds.y = ypos / 3.0; + cc._layoutBounds.width = 1.0 / 3.0; + cc._layoutBounds.height = 1.0 / 3.0; + cc._bufferIndex = renderTextureNo; + } + } + else { + // マスクの制限枚数を超えた場合の処理 + (0, cubismdebug_1.CubismLogError)('not supported mask count : {0}\n[Details] render texture count : {1}, mask count : {2}', usingClipCount - useClippingMaskMaxCount, this._renderTextureCount, usingClipCount); + // SetupShaderProgramでオーバーアクセスが発生するので仮で数値を入れる + // もちろん描画結果は正しいものではなくなる + for (var index = 0; index < layoutCount; index++) { + var cc = this._clippingContextListForMask.at(curClipIndex++); + cc._layoutChannelNo = 0; + cc._layoutBounds.x = 0.0; + cc._layoutBounds.y = 0.0; + cc._layoutBounds.width = 1.0; + cc._layoutBounds.height = 1.0; + cc._bufferIndex = 0; + } + } + } + } + }; + /** + * マスクされる描画オブジェクト群全体を囲む矩形(モデル座標系)を計算する + * @param model モデルのインスタンス + * @param clippingContext クリッピングマスクのコンテキスト + */ + CubismClippingManager.prototype.calcClippedDrawTotalBounds = function (model, clippingContext) { + // 被クリッピングマスク(マスクされる描画オブジェクト)の全体の矩形 + var clippedDrawTotalMinX = Number.MAX_VALUE; + var clippedDrawTotalMinY = Number.MAX_VALUE; + var clippedDrawTotalMaxX = Number.MIN_VALUE; + var clippedDrawTotalMaxY = Number.MIN_VALUE; + // このマスクが実際に必要か判定する + // このクリッピングを利用する「描画オブジェクト」がひとつでも使用可能であればマスクを生成する必要がある + var clippedDrawCount = clippingContext._clippedDrawableIndexList.length; + for (var clippedDrawableIndex = 0; clippedDrawableIndex < clippedDrawCount; clippedDrawableIndex++) { + // マスクを使用する描画オブジェクトの描画される矩形を求める + var drawableIndex = clippingContext._clippedDrawableIndexList[clippedDrawableIndex]; + var drawableVertexCount = model.getDrawableVertexCount(drawableIndex); + var drawableVertexes = model.getDrawableVertices(drawableIndex); + var minX = Number.MAX_VALUE; + var minY = Number.MAX_VALUE; + var maxX = -Number.MAX_VALUE; + var maxY = -Number.MAX_VALUE; + var loop = drawableVertexCount * live2dcubismframework_1.Constant.vertexStep; + for (var pi = live2dcubismframework_1.Constant.vertexOffset; pi < loop; pi += live2dcubismframework_1.Constant.vertexStep) { + var x = drawableVertexes[pi]; + var y = drawableVertexes[pi + 1]; + if (x < minX) { + minX = x; + } + if (x > maxX) { + maxX = x; + } + if (y < minY) { + minY = y; + } + if (y > maxY) { + maxY = y; + } + } + // 有効な点が一つも取れなかったのでスキップ + if (minX == Number.MAX_VALUE) { + continue; + } + // 全体の矩形に反映 + if (minX < clippedDrawTotalMinX) { + clippedDrawTotalMinX = minX; + } + if (minY < clippedDrawTotalMinY) { + clippedDrawTotalMinY = minY; + } + if (maxX > clippedDrawTotalMaxX) { + clippedDrawTotalMaxX = maxX; + } + if (maxY > clippedDrawTotalMaxY) { + clippedDrawTotalMaxY = maxY; + } + if (clippedDrawTotalMinX == Number.MAX_VALUE) { + clippingContext._allClippedDrawRect.x = 0.0; + clippingContext._allClippedDrawRect.y = 0.0; + clippingContext._allClippedDrawRect.width = 0.0; + clippingContext._allClippedDrawRect.height = 0.0; + clippingContext._isUsing = false; + } + else { + clippingContext._isUsing = true; + var w = clippedDrawTotalMaxX - clippedDrawTotalMinX; + var h = clippedDrawTotalMaxY - clippedDrawTotalMinY; + clippingContext._allClippedDrawRect.x = clippedDrawTotalMinX; + clippingContext._allClippedDrawRect.y = clippedDrawTotalMinY; + clippingContext._allClippedDrawRect.width = w; + clippingContext._allClippedDrawRect.height = h; + } + } + }; + /** + * 画面描画に使用するクリッピングマスクのリストを取得する + * @return 画面描画に使用するクリッピングマスクのリスト + */ + CubismClippingManager.prototype.getClippingContextListForDraw = function () { + return this._clippingContextListForDraw; + }; + /** + * クリッピングマスクバッファのサイズを取得する + * @return クリッピングマスクバッファのサイズ + */ + CubismClippingManager.prototype.getClippingMaskBufferSize = function () { + return this._clippingMaskBufferSize; + }; + /** + * このバッファのレンダーテクスチャの枚数を取得する + * @return このバッファのレンダーテクスチャの枚数 + */ + CubismClippingManager.prototype.getRenderTextureCount = function () { + return this._renderTextureCount; + }; + /** + * カラーチャンネル(RGBA)のフラグを取得する + * @param channelNo カラーチャンネル(RGBA)の番号(0:R, 1:G, 2:B, 3:A) + */ + CubismClippingManager.prototype.getChannelFlagAsColor = function (channelNo) { + return this._channelColors.at(channelNo); + }; + /** + * クリッピングマスクバッファのサイズを設定する + * @param size クリッピングマスクバッファのサイズ + */ + CubismClippingManager.prototype.setClippingMaskBufferSize = function (size) { + this._clippingMaskBufferSize = size; + }; + return CubismClippingManager; +}()); +exports.CubismClippingManager = CubismClippingManager; +//# sourceMappingURL=cubismclippingmanager.js.map \ No newline at end of file diff --git a/live2demo/Framework/rendering/cubismclippingmanager.js.map b/live2demo/Framework/rendering/cubismclippingmanager.js.map new file mode 100644 index 0000000..c38e460 --- /dev/null +++ b/live2demo/Framework/rendering/cubismclippingmanager.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismclippingmanager.js","sourceRoot":"","sources":["../../src/rendering/cubismclippingmanager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/rendering/cubismrenderer.d.ts b/live2demo/Framework/rendering/cubismrenderer.d.ts new file mode 100644 index 0000000..89c742a --- /dev/null +++ b/live2demo/Framework/rendering/cubismrenderer.d.ts @@ -0,0 +1,214 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { CubismMatrix44 } from '../math/cubismmatrix44'; +import { CubismModel } from '../model/cubismmodel'; +import { csmRect } from '../type/csmrectf'; +import { ICubismClippingManager } from './cubismclippingmanager'; +/** + * モデル描画を処理するレンダラ + * + * サブクラスに環境依存の描画命令を記述する。 + */ +export declare abstract class CubismRenderer { + /** + * レンダラのインスタンスを生成して取得する + * + * @return レンダラのインスタンス + */ + static create(): CubismRenderer; + /** + * レンダラのインスタンスを解放する + */ + static delete(renderer: CubismRenderer): void; + /** + * レンダラの初期化処理を実行する + * 引数に渡したモデルからレンダラの初期化処理に必要な情報を取り出すことができる + * @param model モデルのインスタンス + */ + initialize(model: CubismModel): void; + /** + * モデルを描画する + */ + drawModel(): void; + /** + * Model-View-Projection 行列をセットする + * 配列は複製されるので、元の配列は外で破棄して良い + * @param matrix44 Model-View-Projection 行列 + */ + setMvpMatrix(matrix44: CubismMatrix44): void; + /** + * Model-View-Projection 行列を取得する + * @return Model-View-Projection 行列 + */ + getMvpMatrix(): CubismMatrix44; + /** + * モデルの色をセットする + * 各色0.0~1.0の間で指定する(1.0が標準の状態) + * @param red 赤チャンネルの値 + * @param green 緑チャンネルの値 + * @param blue 青チャンネルの値 + * @param alpha αチャンネルの値 + */ + setModelColor(red: number, green: number, blue: number, alpha: number): void; + /** + * モデルの色を取得する + * 各色0.0~1.0の間で指定する(1.0が標準の状態) + * + * @return RGBAのカラー情報 + */ + getModelColor(): CubismTextureColor; + /** + * 透明度を考慮したモデルの色を計算する。 + * + * @param opacity 透明度 + * + * @return RGBAのカラー情報 + */ + getModelColorWithOpacity(opacity: number): CubismTextureColor; + /** + * 乗算済みαの有効・無効をセットする + * 有効にするならtrue、無効にするならfalseをセットする + */ + setIsPremultipliedAlpha(enable: boolean): void; + /** + * 乗算済みαの有効・無効を取得する + * @return true 乗算済みのα有効 + * @return false 乗算済みのα無効 + */ + isPremultipliedAlpha(): boolean; + /** + * カリング(片面描画)の有効・無効をセットする。 + * 有効にするならtrue、無効にするならfalseをセットする + */ + setIsCulling(culling: boolean): void; + /** + * カリング(片面描画)の有効・無効を取得する。 + * @return true カリング有効 + * @return false カリング無効 + */ + isCulling(): boolean; + /** + * テクスチャの異方性フィルタリングのパラメータをセットする + * パラメータ値の影響度はレンダラの実装に依存する + * @param n パラメータの値 + */ + setAnisotropy(n: number): void; + /** + * テクスチャの異方性フィルタリングのパラメータをセットする + * @return 異方性フィルタリングのパラメータ + */ + getAnisotropy(): number; + /** + * レンダリングするモデルを取得する + * @return レンダリングするモデル + */ + getModel(): CubismModel; + /** + * マスク描画の方式を変更する。 + * falseの場合、マスクを1枚のテクスチャに分割してレンダリングする(デフォルト) + * 高速だが、マスク個数の上限が36に限定され、質も荒くなる + * trueの場合、パーツ描画の前にその都度必要なマスクを描き直す + * レンダリング品質は高いが描画処理負荷は増す + * @param high 高精細マスクに切り替えるか? + */ + useHighPrecisionMask(high: boolean): void; + /** + * マスクの描画方式を取得する + * @return true 高精細方式 + * @return false デフォルト + */ + isUsingHighPrecisionMask(): boolean; + /** + * コンストラクタ + */ + protected constructor(); + /** + * モデル描画の実装 + */ + abstract doDrawModel(): void; + /** + * モデル描画直前のレンダラのステートを保持する + */ + protected abstract saveProfile(): void; + /** + * モデル描画直前のレンダラのステートを復帰する + */ + protected abstract restoreProfile(): void; + /** + * レンダラが保持する静的なリソースを開放する + */ + static staticRelease: any; + protected _mvpMatrix4x4: CubismMatrix44; + protected _modelColor: CubismTextureColor; + protected _isCulling: boolean; + protected _isPremultipliedAlpha: boolean; + protected _anisotropy: any; + protected _model: CubismModel; + protected _useHighPrecisionMask: boolean; +} +export declare enum CubismBlendMode { + CubismBlendMode_Normal = 0, + CubismBlendMode_Additive = 1, + CubismBlendMode_Multiplicative = 2 +} +/** + * テクスチャの色をRGBAで扱うためのクラス + */ +export declare class CubismTextureColor { + /** + * コンストラクタ + */ + constructor(r?: number, g?: number, b?: number, a?: number); + R: number; + G: number; + B: number; + A: number; +} +/** + * クリッピングマスクのコンテキスト + */ +export declare abstract class CubismClippingContext { + /** + * 引数付きコンストラクタ + */ + constructor(clippingDrawableIndices: Int32Array, clipCount: number); + /** + * このマスクを管理するマネージャのインスタンスを取得する + * @return クリッピングマネージャのインスタンス + */ + abstract getClippingManager(): ICubismClippingManager; + /** + * デストラクタ相当の処理 + */ + release(): void; + /** + * このマスクにクリップされる描画オブジェクトを追加する + * + * @param drawableIndex クリッピング対象に追加する描画オブジェクトのインデックス + */ + addClippedDrawable(drawableIndex: number): void; + _isUsing: boolean; + readonly _clippingIdList: Int32Array; + _clippingIdCount: number; + _layoutChannelNo: number; + _layoutBounds: csmRect; + _allClippedDrawRect: csmRect; + _matrixForMask: CubismMatrix44; + _matrixForDraw: CubismMatrix44; + _clippedDrawableIndexList: number[]; + _bufferIndex: number; +} +import * as $ from './cubismrenderer'; +export declare namespace Live2DCubismFramework { + const CubismBlendMode: typeof $.CubismBlendMode; + type CubismBlendMode = $.CubismBlendMode; + const CubismRenderer: typeof $.CubismRenderer; + type CubismRenderer = $.CubismRenderer; + const CubismTextureColor: typeof $.CubismTextureColor; + type CubismTextureColor = $.CubismTextureColor; +} +//# sourceMappingURL=cubismrenderer.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/rendering/cubismrenderer.d.ts.map b/live2demo/Framework/rendering/cubismrenderer.d.ts.map new file mode 100644 index 0000000..1313aae --- /dev/null +++ b/live2demo/Framework/rendering/cubismrenderer.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismrenderer.d.ts","sourceRoot":"","sources":["../../src/rendering/cubismrenderer.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/rendering/cubismrenderer.js b/live2demo/Framework/rendering/cubismrenderer.js new file mode 100644 index 0000000..d6f98d7 --- /dev/null +++ b/live2demo/Framework/rendering/cubismrenderer.js @@ -0,0 +1,319 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.CubismClippingContext = exports.CubismTextureColor = exports.CubismBlendMode = exports.CubismRenderer = void 0; +var cubismmatrix44_1 = require("../math/cubismmatrix44"); +var csmrectf_1 = require("../type/csmrectf"); +/** + * モデル描画を処理するレンダラ + * + * サブクラスに環境依存の描画命令を記述する。 + */ +var CubismRenderer = /** @class */ (function () { + /** + * コンストラクタ + */ + function CubismRenderer() { + this._isCulling = false; + this._isPremultipliedAlpha = false; + this._anisotropy = 0.0; + this._model = null; + this._modelColor = new CubismTextureColor(); + this._useHighPrecisionMask = false; + // 単位行列に初期化 + this._mvpMatrix4x4 = new cubismmatrix44_1.CubismMatrix44(); + this._mvpMatrix4x4.loadIdentity(); + } + /** + * レンダラのインスタンスを生成して取得する + * + * @return レンダラのインスタンス + */ + CubismRenderer.create = function () { + return null; + }; + /** + * レンダラのインスタンスを解放する + */ + CubismRenderer.delete = function (renderer) { + renderer = null; + }; + /** + * レンダラの初期化処理を実行する + * 引数に渡したモデルからレンダラの初期化処理に必要な情報を取り出すことができる + * @param model モデルのインスタンス + */ + CubismRenderer.prototype.initialize = function (model) { + this._model = model; + }; + /** + * モデルを描画する + */ + CubismRenderer.prototype.drawModel = function () { + if (this.getModel() == null) + return; + this.saveProfile(); + this.doDrawModel(); + this.restoreProfile(); + }; + /** + * Model-View-Projection 行列をセットする + * 配列は複製されるので、元の配列は外で破棄して良い + * @param matrix44 Model-View-Projection 行列 + */ + CubismRenderer.prototype.setMvpMatrix = function (matrix44) { + this._mvpMatrix4x4.setMatrix(matrix44.getArray()); + }; + /** + * Model-View-Projection 行列を取得する + * @return Model-View-Projection 行列 + */ + CubismRenderer.prototype.getMvpMatrix = function () { + return this._mvpMatrix4x4; + }; + /** + * モデルの色をセットする + * 各色0.0~1.0の間で指定する(1.0が標準の状態) + * @param red 赤チャンネルの値 + * @param green 緑チャンネルの値 + * @param blue 青チャンネルの値 + * @param alpha αチャンネルの値 + */ + CubismRenderer.prototype.setModelColor = function (red, green, blue, alpha) { + if (red < 0.0) { + red = 0.0; + } + else if (red > 1.0) { + red = 1.0; + } + if (green < 0.0) { + green = 0.0; + } + else if (green > 1.0) { + green = 1.0; + } + if (blue < 0.0) { + blue = 0.0; + } + else if (blue > 1.0) { + blue = 1.0; + } + if (alpha < 0.0) { + alpha = 0.0; + } + else if (alpha > 1.0) { + alpha = 1.0; + } + this._modelColor.R = red; + this._modelColor.G = green; + this._modelColor.B = blue; + this._modelColor.A = alpha; + }; + /** + * モデルの色を取得する + * 各色0.0~1.0の間で指定する(1.0が標準の状態) + * + * @return RGBAのカラー情報 + */ + CubismRenderer.prototype.getModelColor = function () { + return JSON.parse(JSON.stringify(this._modelColor)); + }; + /** + * 透明度を考慮したモデルの色を計算する。 + * + * @param opacity 透明度 + * + * @return RGBAのカラー情報 + */ + CubismRenderer.prototype.getModelColorWithOpacity = function (opacity) { + var modelColorRGBA = this.getModelColor(); + modelColorRGBA.A *= opacity; + if (this.isPremultipliedAlpha()) { + modelColorRGBA.R *= modelColorRGBA.A; + modelColorRGBA.G *= modelColorRGBA.A; + modelColorRGBA.B *= modelColorRGBA.A; + } + return modelColorRGBA; + }; + /** + * 乗算済みαの有効・無効をセットする + * 有効にするならtrue、無効にするならfalseをセットする + */ + CubismRenderer.prototype.setIsPremultipliedAlpha = function (enable) { + this._isPremultipliedAlpha = enable; + }; + /** + * 乗算済みαの有効・無効を取得する + * @return true 乗算済みのα有効 + * @return false 乗算済みのα無効 + */ + CubismRenderer.prototype.isPremultipliedAlpha = function () { + return this._isPremultipliedAlpha; + }; + /** + * カリング(片面描画)の有効・無効をセットする。 + * 有効にするならtrue、無効にするならfalseをセットする + */ + CubismRenderer.prototype.setIsCulling = function (culling) { + this._isCulling = culling; + }; + /** + * カリング(片面描画)の有効・無効を取得する。 + * @return true カリング有効 + * @return false カリング無効 + */ + CubismRenderer.prototype.isCulling = function () { + return this._isCulling; + }; + /** + * テクスチャの異方性フィルタリングのパラメータをセットする + * パラメータ値の影響度はレンダラの実装に依存する + * @param n パラメータの値 + */ + CubismRenderer.prototype.setAnisotropy = function (n) { + this._anisotropy = n; + }; + /** + * テクスチャの異方性フィルタリングのパラメータをセットする + * @return 異方性フィルタリングのパラメータ + */ + CubismRenderer.prototype.getAnisotropy = function () { + return this._anisotropy; + }; + /** + * レンダリングするモデルを取得する + * @return レンダリングするモデル + */ + CubismRenderer.prototype.getModel = function () { + return this._model; + }; + /** + * マスク描画の方式を変更する。 + * falseの場合、マスクを1枚のテクスチャに分割してレンダリングする(デフォルト) + * 高速だが、マスク個数の上限が36に限定され、質も荒くなる + * trueの場合、パーツ描画の前にその都度必要なマスクを描き直す + * レンダリング品質は高いが描画処理負荷は増す + * @param high 高精細マスクに切り替えるか? + */ + CubismRenderer.prototype.useHighPrecisionMask = function (high) { + this._useHighPrecisionMask = high; + }; + /** + * マスクの描画方式を取得する + * @return true 高精細方式 + * @return false デフォルト + */ + CubismRenderer.prototype.isUsingHighPrecisionMask = function () { + return this._useHighPrecisionMask; + }; + return CubismRenderer; +}()); +exports.CubismRenderer = CubismRenderer; +var CubismBlendMode; +(function (CubismBlendMode) { + CubismBlendMode[CubismBlendMode["CubismBlendMode_Normal"] = 0] = "CubismBlendMode_Normal"; + CubismBlendMode[CubismBlendMode["CubismBlendMode_Additive"] = 1] = "CubismBlendMode_Additive"; + CubismBlendMode[CubismBlendMode["CubismBlendMode_Multiplicative"] = 2] = "CubismBlendMode_Multiplicative"; // 乗算 +})(CubismBlendMode || (exports.CubismBlendMode = CubismBlendMode = {})); +/** + * テクスチャの色をRGBAで扱うためのクラス + */ +var CubismTextureColor = /** @class */ (function () { + /** + * コンストラクタ + */ + function CubismTextureColor(r, g, b, a) { + if (r === void 0) { r = 1.0; } + if (g === void 0) { g = 1.0; } + if (b === void 0) { b = 1.0; } + if (a === void 0) { a = 1.0; } + this.R = r; + this.G = g; + this.B = b; + this.A = a; + } + return CubismTextureColor; +}()); +exports.CubismTextureColor = CubismTextureColor; +/** + * クリッピングマスクのコンテキスト + */ +var CubismClippingContext = /** @class */ (function () { + /** + * 引数付きコンストラクタ + */ + function CubismClippingContext(clippingDrawableIndices, clipCount) { + // クリップしている(=マスク用の)Drawableのインデックスリスト + this._clippingIdList = clippingDrawableIndices; + // マスクの数 + this._clippingIdCount = clipCount; + this._allClippedDrawRect = new csmrectf_1.csmRect(); + this._layoutBounds = new csmrectf_1.csmRect(); + this._clippedDrawableIndexList = []; + this._matrixForMask = new cubismmatrix44_1.CubismMatrix44(); + this._matrixForDraw = new cubismmatrix44_1.CubismMatrix44(); + this._bufferIndex = 0; + } + /** + * デストラクタ相当の処理 + */ + CubismClippingContext.prototype.release = function () { + if (this._layoutBounds != null) { + this._layoutBounds = null; + } + if (this._allClippedDrawRect != null) { + this._allClippedDrawRect = null; + } + if (this._clippedDrawableIndexList != null) { + this._clippedDrawableIndexList = null; + } + }; + /** + * このマスクにクリップされる描画オブジェクトを追加する + * + * @param drawableIndex クリッピング対象に追加する描画オブジェクトのインデックス + */ + CubismClippingContext.prototype.addClippedDrawable = function (drawableIndex) { + this._clippedDrawableIndexList.push(drawableIndex); + }; + return CubismClippingContext; +}()); +exports.CubismClippingContext = CubismClippingContext; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismrenderer")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismBlendMode = $.CubismBlendMode; + Live2DCubismFramework.CubismRenderer = $.CubismRenderer; + Live2DCubismFramework.CubismTextureColor = $.CubismTextureColor; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismrenderer.js.map \ No newline at end of file diff --git a/live2demo/Framework/rendering/cubismrenderer.js.map b/live2demo/Framework/rendering/cubismrenderer.js.map new file mode 100644 index 0000000..bc0bb73 --- /dev/null +++ b/live2demo/Framework/rendering/cubismrenderer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismrenderer.js","sourceRoot":"","sources":["../../src/rendering/cubismrenderer.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/rendering/cubismrenderer_webgl.d.ts b/live2demo/Framework/rendering/cubismrenderer_webgl.d.ts new file mode 100644 index 0000000..225bc81 --- /dev/null +++ b/live2demo/Framework/rendering/cubismrenderer_webgl.d.ts @@ -0,0 +1,240 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { CubismModel } from '../model/cubismmodel'; +import { csmMap } from '../type/csmmap'; +import { csmVector } from '../type/csmvector'; +import { CubismClippingManager } from './cubismclippingmanager'; +import { CubismClippingContext, CubismRenderer } from './cubismrenderer'; +/** + * クリッピングマスクの処理を実行するクラス + */ +export declare class CubismClippingManager_WebGL extends CubismClippingManager { + /** + * テンポラリのレンダーテクスチャのアドレスを取得する + * FrameBufferObjectが存在しない場合、新しく生成する + * + * @return レンダーテクスチャの配列 + */ + getMaskRenderTexture(): csmVector; + /** + * WebGLレンダリングコンテキストを設定する + * @param gl WebGLレンダリングコンテキスト + */ + setGL(gl: WebGLRenderingContext): void; + /** + * コンストラクタ + */ + constructor(); + /** + * クリッピングコンテキストを作成する。モデル描画時に実行する。 + * @param model モデルのインスタンス + * @param renderer レンダラのインスタンス + */ + setupClippingContext(model: CubismModel, renderer: CubismRenderer_WebGL): void; + /** + * カラーバッファを取得する + * @return カラーバッファ + */ + getColorBuffer(): csmVector; + /** + * マスクの合計数をカウント + * @returns + */ + getClippingMaskCount(): number; + _currentMaskRenderTexture: WebGLFramebuffer; + _maskRenderTextures: csmVector; + _maskColorBuffers: csmVector; + _currentFrameNo: number; + _maskTexture: CubismRenderTextureResource; + gl: WebGLRenderingContext; +} +/** + * レンダーテクスチャのリソースを定義する構造体 + * クリッピングマスクで使用する + */ +export declare class CubismRenderTextureResource { + /** + * 引数付きコンストラクタ + * @param frameNo レンダラーのフレーム番号 + * @param texture テクスチャのアドレス + */ + constructor(frameNo: number, texture: csmVector); + frameNo: number; + textures: csmVector; +} +/** + * クリッピングマスクのコンテキスト + */ +export declare class CubismClippingContext_WebGL extends CubismClippingContext { + /** + * 引数付きコンストラクタ + */ + constructor(manager: CubismClippingManager_WebGL, clippingDrawableIndices: Int32Array, clipCount: number); + /** + * このマスクを管理するマネージャのインスタンスを取得する + * @return クリッピングマネージャのインスタンス + */ + getClippingManager(): CubismClippingManager_WebGL; + setGl(gl: WebGLRenderingContext): void; + private _owner; +} +export declare class CubismRendererProfile_WebGL { + private setGlEnable; + private setGlEnableVertexAttribArray; + save(): void; + restore(): void; + setGl(gl: WebGLRenderingContext): void; + constructor(); + private _lastArrayBufferBinding; + private _lastElementArrayBufferBinding; + private _lastProgram; + private _lastActiveTexture; + private _lastTexture0Binding2D; + private _lastTexture1Binding2D; + private _lastVertexAttribArrayEnabled; + private _lastScissorTest; + private _lastBlend; + private _lastStencilTest; + private _lastDepthTest; + private _lastCullFace; + private _lastFrontFace; + private _lastColorMask; + private _lastBlending; + private _lastFBO; + private _lastViewport; + gl: WebGLRenderingContext; +} +/** + * WebGL用の描画命令を実装したクラス + */ +export declare class CubismRenderer_WebGL extends CubismRenderer { + /** + * レンダラの初期化処理を実行する + * 引数に渡したモデルからレンダラの初期化処理に必要な情報を取り出すことができる + * + * @param model モデルのインスタンス + * @param maskBufferCount バッファの生成数 + */ + initialize(model: CubismModel, maskBufferCount?: number): void; + /** + * WebGLテクスチャのバインド処理 + * CubismRendererにテクスチャを設定し、CubismRenderer内でその画像を参照するためのIndex値を戻り値とする + * @param modelTextureNo セットするモデルテクスチャの番号 + * @param glTextureNo WebGLテクスチャの番号 + */ + bindTexture(modelTextureNo: number, glTexture: WebGLTexture): void; + /** + * WebGLにバインドされたテクスチャのリストを取得する + * @return テクスチャのリスト + */ + getBindedTextures(): csmMap; + /** + * クリッピングマスクバッファのサイズを設定する + * マスク用のFrameBufferを破棄、再作成する為処理コストは高い + * @param size クリッピングマスクバッファのサイズ + */ + setClippingMaskBufferSize(size: number): void; + /** + * クリッピングマスクバッファのサイズを取得する + * @return クリッピングマスクバッファのサイズ + */ + getClippingMaskBufferSize(): number; + /** + * レンダーテクスチャの枚数を取得する + * @return レンダーテクスチャの枚数 + */ + getRenderTextureCount(): number; + /** + * コンストラクタ + */ + constructor(); + /** + * デストラクタ相当の処理 + */ + release(): void; + /** + * モデルを描画する実際の処理 + */ + doDrawModel(): void; + /** + * 描画オブジェクト(アートメッシュ)を描画する。 + * @param model 描画対象のモデル + * @param index 描画対象のメッシュのインデックス + */ + drawMeshWebGL(model: Readonly, index: number): void; + protected saveProfile(): void; + protected restoreProfile(): void; + /** + * レンダラが保持する静的なリソースを解放する + * WebGLの静的なシェーダープログラムを解放する + */ + static doStaticRelease(): void; + /** + * レンダーステートを設定する + * @param fbo アプリケーション側で指定しているフレームバッファ + * @param viewport ビューポート + */ + setRenderState(fbo: WebGLFramebuffer, viewport: number[]): void; + /** + * 描画開始時の追加処理 + * モデルを描画する前にクリッピングマスクに必要な処理を実装している + */ + preDraw(): void; + /** + * マスクテクスチャに描画するクリッピングコンテキストをセットする + */ + setClippingContextBufferForMask(clip: CubismClippingContext_WebGL): void; + /** + * マスクテクスチャに描画するクリッピングコンテキストを取得する + * @return マスクテクスチャに描画するクリッピングコンテキスト + */ + getClippingContextBufferForMask(): CubismClippingContext_WebGL; + /** + * 画面上に描画するクリッピングコンテキストをセットする + */ + setClippingContextBufferForDraw(clip: CubismClippingContext_WebGL): void; + /** + * 画面上に描画するクリッピングコンテキストを取得する + * @return 画面上に描画するクリッピングコンテキスト + */ + getClippingContextBufferForDraw(): CubismClippingContext_WebGL; + /** + * マスク生成時かを判定する + * @returns 判定値 + */ + isGeneratingMask(): boolean; + /** + * glの設定 + */ + startUp(gl: WebGLRenderingContext): void; + _textures: csmMap; + _sortedDrawableIndexList: csmVector; + _clippingManager: CubismClippingManager_WebGL; + _clippingContextBufferForMask: CubismClippingContext_WebGL; + _clippingContextBufferForDraw: CubismClippingContext_WebGL; + _rendererProfile: CubismRendererProfile_WebGL; + firstDraw: boolean; + _bufferData: { + vertex: WebGLBuffer; + uv: WebGLBuffer; + index: WebGLBuffer; + }; + _extension: any; + gl: WebGLRenderingContext; +} +import * as $ from './cubismrenderer_webgl'; +export declare namespace Live2DCubismFramework { + const CubismClippingContext: typeof CubismClippingContext_WebGL; + type CubismClippingContext = $.CubismClippingContext_WebGL; + const CubismClippingManager_WebGL: typeof $.CubismClippingManager_WebGL; + type CubismClippingManager_WebGL = $.CubismClippingManager_WebGL; + const CubismRenderTextureResource: typeof $.CubismRenderTextureResource; + type CubismRenderTextureResource = $.CubismRenderTextureResource; + const CubismRenderer_WebGL: typeof $.CubismRenderer_WebGL; + type CubismRenderer_WebGL = $.CubismRenderer_WebGL; +} +//# sourceMappingURL=cubismrenderer_webgl.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/rendering/cubismrenderer_webgl.d.ts.map b/live2demo/Framework/rendering/cubismrenderer_webgl.d.ts.map new file mode 100644 index 0000000..340bbc9 --- /dev/null +++ b/live2demo/Framework/rendering/cubismrenderer_webgl.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismrenderer_webgl.d.ts","sourceRoot":"","sources":["../../src/rendering/cubismrenderer_webgl.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/rendering/cubismrenderer_webgl.js b/live2demo/Framework/rendering/cubismrenderer_webgl.js new file mode 100644 index 0000000..665054c --- /dev/null +++ b/live2demo/Framework/rendering/cubismrenderer_webgl.js @@ -0,0 +1,734 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.CubismRenderer_WebGL = exports.CubismRendererProfile_WebGL = exports.CubismClippingContext_WebGL = exports.CubismRenderTextureResource = exports.CubismClippingManager_WebGL = void 0; +var csmmap_1 = require("../type/csmmap"); +var csmvector_1 = require("../type/csmvector"); +var cubismdebug_1 = require("../utils/cubismdebug"); +var cubismclippingmanager_1 = require("./cubismclippingmanager"); +var cubismrenderer_1 = require("./cubismrenderer"); +var cubismshader_webgl_1 = require("./cubismshader_webgl"); +var s_viewport; +var s_fbo; +/** + * クリッピングマスクの処理を実行するクラス + */ +var CubismClippingManager_WebGL = /** @class */ (function (_super) { + __extends(CubismClippingManager_WebGL, _super); + /** + * コンストラクタ + */ + function CubismClippingManager_WebGL() { + return _super.call(this, CubismClippingContext_WebGL) || this; + } + /** + * テンポラリのレンダーテクスチャのアドレスを取得する + * FrameBufferObjectが存在しない場合、新しく生成する + * + * @return レンダーテクスチャの配列 + */ + CubismClippingManager_WebGL.prototype.getMaskRenderTexture = function () { + // テンポラリのRenderTextureを取得する + if (this._maskTexture && this._maskTexture.textures != null) { + // 前回使ったものを返す + this._maskTexture.frameNo = this._currentFrameNo; + } + else { + // FrameBufferObjectが存在しない場合、新しく生成する + if (this._maskRenderTextures != null) { + this._maskRenderTextures.clear(); + } + this._maskRenderTextures = new csmvector_1.csmVector(); + // ColorBufferObjectが存在しない場合、新しく生成する + if (this._maskColorBuffers != null) { + this._maskColorBuffers.clear(); + } + this._maskColorBuffers = new csmvector_1.csmVector(); + // クリッピングバッファサイズを取得 + var size = this._clippingMaskBufferSize; + for (var index = 0; index < this._renderTextureCount; index++) { + this._maskColorBuffers.pushBack(this.gl.createTexture()); // 直接代入 + this.gl.bindTexture(this.gl.TEXTURE_2D, this._maskColorBuffers.at(index)); + this.gl.texImage2D(this.gl.TEXTURE_2D, 0, this.gl.RGBA, size, size, 0, this.gl.RGBA, this.gl.UNSIGNED_BYTE, null); + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_WRAP_S, this.gl.CLAMP_TO_EDGE); + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_WRAP_T, this.gl.CLAMP_TO_EDGE); + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MIN_FILTER, this.gl.LINEAR); + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MAG_FILTER, this.gl.LINEAR); + this.gl.bindTexture(this.gl.TEXTURE_2D, null); + this._maskRenderTextures.pushBack(this.gl.createFramebuffer()); + this.gl.bindFramebuffer(this.gl.FRAMEBUFFER, this._maskRenderTextures.at(index)); + this.gl.framebufferTexture2D(this.gl.FRAMEBUFFER, this.gl.COLOR_ATTACHMENT0, this.gl.TEXTURE_2D, this._maskColorBuffers.at(index), 0); + } + this.gl.bindFramebuffer(this.gl.FRAMEBUFFER, s_fbo); + this._maskTexture = new CubismRenderTextureResource(this._currentFrameNo, this._maskRenderTextures); + } + return this._maskTexture.textures; + }; + /** + * WebGLレンダリングコンテキストを設定する + * @param gl WebGLレンダリングコンテキスト + */ + CubismClippingManager_WebGL.prototype.setGL = function (gl) { + this.gl = gl; + }; + /** + * クリッピングコンテキストを作成する。モデル描画時に実行する。 + * @param model モデルのインスタンス + * @param renderer レンダラのインスタンス + */ + CubismClippingManager_WebGL.prototype.setupClippingContext = function (model, renderer) { + this._currentFrameNo++; + // 全てのクリッピングを用意する + // 同じクリップ(複数の場合はまとめて一つのクリップ)を使う場合は1度だけ設定する + var usingClipCount = 0; + for (var clipIndex = 0; clipIndex < this._clippingContextListForMask.getSize(); clipIndex++) { + // 1つのクリッピングマスクに関して + var cc = this._clippingContextListForMask.at(clipIndex); + // このクリップを利用する描画オブジェクト群全体を囲む矩形を計算 + this.calcClippedDrawTotalBounds(model, cc); + if (cc._isUsing) { + usingClipCount++; // 使用中としてカウント + } + } + // マスク作成処理 + if (usingClipCount > 0) { + // 生成したFrameBufferと同じサイズでビューポートを設定 + this.gl.viewport(0, 0, this._clippingMaskBufferSize, this._clippingMaskBufferSize); + // 後の計算のためにインデックスの最初をセット + this._currentMaskRenderTexture = this.getMaskRenderTexture().at(0); + renderer.preDraw(); // バッファをクリアする + this.setupLayoutBounds(usingClipCount); + // ---------- マスク描画処理 ---------- + // マスク用RenderTextureをactiveにセット + this.gl.bindFramebuffer(this.gl.FRAMEBUFFER, this._currentMaskRenderTexture); + // サイズがレンダーテクスチャの枚数と合わない場合は合わせる + if (this._clearedFrameBufferFlags.getSize() != this._renderTextureCount) { + this._clearedFrameBufferFlags.clear(); + this._clearedFrameBufferFlags = new csmvector_1.csmVector(this._renderTextureCount); + } + // マスクのクリアフラグを毎フレーム開始時に初期化 + for (var index = 0; index < this._clearedFrameBufferFlags.getSize(); index++) { + this._clearedFrameBufferFlags.set(index, false); + } + // 実際にマスクを生成する + // 全てのマスクをどのようにレイアウトして描くかを決定し、ClipContext, ClippedDrawContextに記憶する + for (var clipIndex = 0; clipIndex < this._clippingContextListForMask.getSize(); clipIndex++) { + // --- 実際に1つのマスクを描く --- + var clipContext = this._clippingContextListForMask.at(clipIndex); + var allClipedDrawRect = clipContext._allClippedDrawRect; // このマスクを使う、すべての描画オブジェクトの論理座標上の囲み矩形 + var layoutBoundsOnTex01 = clipContext._layoutBounds; // この中にマスクを収める + var MARGIN = 0.05; // モデル座標上の矩形を、適宜マージンを付けて使う + var scaleX = 0; + var scaleY = 0; + // clipContextに設定したレンダーテクスチャをインデックスで取得 + var clipContextRenderTexture = this.getMaskRenderTexture().at(clipContext._bufferIndex); + // 現在のレンダーテクスチャがclipContextのものと異なる場合 + if (this._currentMaskRenderTexture != clipContextRenderTexture) { + this._currentMaskRenderTexture = clipContextRenderTexture; + renderer.preDraw(); // バッファをクリアする + // マスク用RenderTextureをactiveにセット + this.gl.bindFramebuffer(this.gl.FRAMEBUFFER, this._currentMaskRenderTexture); + } + this._tmpBoundsOnModel.setRect(allClipedDrawRect); + this._tmpBoundsOnModel.expand(allClipedDrawRect.width * MARGIN, allClipedDrawRect.height * MARGIN); + //########## 本来は割り当てられた領域の全体を使わず必要最低限のサイズがよい + // シェーダ用の計算式を求める。回転を考慮しない場合は以下のとおり + // movePeriod' = movePeriod * scaleX + offX [[ movePeriod' = (movePeriod - tmpBoundsOnModel.movePeriod)*scale + layoutBoundsOnTex01.movePeriod ]] + scaleX = layoutBoundsOnTex01.width / this._tmpBoundsOnModel.width; + scaleY = layoutBoundsOnTex01.height / this._tmpBoundsOnModel.height; + // マスク生成時に使う行列を求める + { + // シェーダに渡す行列を求める <<<<<<<<<<<<<<<<<<<<<<<< 要最適化(逆順に計算すればシンプルにできる) + this._tmpMatrix.loadIdentity(); + { + // layout0..1 を -1..1に変換 + this._tmpMatrix.translateRelative(-1.0, -1.0); + this._tmpMatrix.scaleRelative(2.0, 2.0); + } + { + // view to layout0..1 + this._tmpMatrix.translateRelative(layoutBoundsOnTex01.x, layoutBoundsOnTex01.y); + this._tmpMatrix.scaleRelative(scaleX, scaleY); // new = [translate][scale] + this._tmpMatrix.translateRelative(-this._tmpBoundsOnModel.x, -this._tmpBoundsOnModel.y); + // new = [translate][scale][translate] + } + // tmpMatrixForMaskが計算結果 + this._tmpMatrixForMask.setMatrix(this._tmpMatrix.getArray()); + } + //--------- draw時の mask 参照用行列を計算 + { + // シェーダに渡す行列を求める <<<<<<<<<<<<<<<<<<<<<<<< 要最適化(逆順に計算すればシンプルにできる) + this._tmpMatrix.loadIdentity(); + { + this._tmpMatrix.translateRelative(layoutBoundsOnTex01.x, layoutBoundsOnTex01.y); + this._tmpMatrix.scaleRelative(scaleX, scaleY); // new = [translate][scale] + this._tmpMatrix.translateRelative(-this._tmpBoundsOnModel.x, -this._tmpBoundsOnModel.y); + // new = [translate][scale][translate] + } + this._tmpMatrixForDraw.setMatrix(this._tmpMatrix.getArray()); + } + clipContext._matrixForMask.setMatrix(this._tmpMatrixForMask.getArray()); + clipContext._matrixForDraw.setMatrix(this._tmpMatrixForDraw.getArray()); + var clipDrawCount = clipContext._clippingIdCount; + for (var i = 0; i < clipDrawCount; i++) { + var clipDrawIndex = clipContext._clippingIdList[i]; + // 頂点情報が更新されておらず、信頼性がない場合は描画をパスする + if (!model.getDrawableDynamicFlagVertexPositionsDidChange(clipDrawIndex)) { + continue; + } + renderer.setIsCulling(model.getDrawableCulling(clipDrawIndex) != false); + // マスクがクリアされていないなら処理する + if (!this._clearedFrameBufferFlags.at(clipContext._bufferIndex)) { + // マスクをクリアする + // (仮仕様) 1が無効(描かれない)領域、0が有効(描かれる)領域。(シェーダーCd*Csで0に近い値をかけてマスクを作る。1をかけると何も起こらない) + this.gl.clearColor(1.0, 1.0, 1.0, 1.0); + this.gl.clear(this.gl.COLOR_BUFFER_BIT); + this._clearedFrameBufferFlags.set(clipContext._bufferIndex, true); + } + // 今回専用の変換を適用して描く + // チャンネルも切り替える必要がある(A,R,G,B) + renderer.setClippingContextBufferForMask(clipContext); + renderer.drawMeshWebGL(model, clipDrawIndex); + } + } + // --- 後処理 --- + this.gl.bindFramebuffer(this.gl.FRAMEBUFFER, s_fbo); // 描画対象を戻す + renderer.setClippingContextBufferForMask(null); + this.gl.viewport(s_viewport[0], s_viewport[1], s_viewport[2], s_viewport[3]); + } + }; + /** + * カラーバッファを取得する + * @return カラーバッファ + */ + CubismClippingManager_WebGL.prototype.getColorBuffer = function () { + return this._maskColorBuffers; + }; + /** + * マスクの合計数をカウント + * @returns + */ + CubismClippingManager_WebGL.prototype.getClippingMaskCount = function () { + return this._clippingContextListForMask.getSize(); + }; + return CubismClippingManager_WebGL; +}(cubismclippingmanager_1.CubismClippingManager)); +exports.CubismClippingManager_WebGL = CubismClippingManager_WebGL; +/** + * レンダーテクスチャのリソースを定義する構造体 + * クリッピングマスクで使用する + */ +var CubismRenderTextureResource = /** @class */ (function () { + /** + * 引数付きコンストラクタ + * @param frameNo レンダラーのフレーム番号 + * @param texture テクスチャのアドレス + */ + function CubismRenderTextureResource(frameNo, texture) { + this.frameNo = frameNo; + this.textures = texture; + } + return CubismRenderTextureResource; +}()); +exports.CubismRenderTextureResource = CubismRenderTextureResource; +/** + * クリッピングマスクのコンテキスト + */ +var CubismClippingContext_WebGL = /** @class */ (function (_super) { + __extends(CubismClippingContext_WebGL, _super); + /** + * 引数付きコンストラクタ + */ + function CubismClippingContext_WebGL(manager, clippingDrawableIndices, clipCount) { + var _this = _super.call(this, clippingDrawableIndices, clipCount) || this; + _this._owner = manager; + return _this; + } + /** + * このマスクを管理するマネージャのインスタンスを取得する + * @return クリッピングマネージャのインスタンス + */ + CubismClippingContext_WebGL.prototype.getClippingManager = function () { + return this._owner; + }; + CubismClippingContext_WebGL.prototype.setGl = function (gl) { + this._owner.setGL(gl); + }; + return CubismClippingContext_WebGL; +}(cubismrenderer_1.CubismClippingContext)); +exports.CubismClippingContext_WebGL = CubismClippingContext_WebGL; +var CubismRendererProfile_WebGL = /** @class */ (function () { + function CubismRendererProfile_WebGL() { + this._lastVertexAttribArrayEnabled = new Array(4); + this._lastColorMask = new Array(4); + this._lastBlending = new Array(4); + this._lastViewport = new Array(4); + } + CubismRendererProfile_WebGL.prototype.setGlEnable = function (index, enabled) { + if (enabled) + this.gl.enable(index); + else + this.gl.disable(index); + }; + CubismRendererProfile_WebGL.prototype.setGlEnableVertexAttribArray = function (index, enabled) { + if (enabled) + this.gl.enableVertexAttribArray(index); + else + this.gl.disableVertexAttribArray(index); + }; + CubismRendererProfile_WebGL.prototype.save = function () { + if (this.gl == null) { + (0, cubismdebug_1.CubismLogError)("'gl' is null. WebGLRenderingContext is required.\nPlease call 'CubimRenderer_WebGL.startUp' function."); + return; + } + //-- push state -- + this._lastArrayBufferBinding = this.gl.getParameter(this.gl.ARRAY_BUFFER_BINDING); + this._lastElementArrayBufferBinding = this.gl.getParameter(this.gl.ELEMENT_ARRAY_BUFFER_BINDING); + this._lastProgram = this.gl.getParameter(this.gl.CURRENT_PROGRAM); + this._lastActiveTexture = this.gl.getParameter(this.gl.ACTIVE_TEXTURE); + this.gl.activeTexture(this.gl.TEXTURE1); //テクスチャユニット1をアクティブに(以後の設定対象とする) + this._lastTexture1Binding2D = this.gl.getParameter(this.gl.TEXTURE_BINDING_2D); + this.gl.activeTexture(this.gl.TEXTURE0); //テクスチャユニット0をアクティブに(以後の設定対象とする) + this._lastTexture0Binding2D = this.gl.getParameter(this.gl.TEXTURE_BINDING_2D); + this._lastVertexAttribArrayEnabled[0] = this.gl.getVertexAttrib(0, this.gl.VERTEX_ATTRIB_ARRAY_ENABLED); + this._lastVertexAttribArrayEnabled[1] = this.gl.getVertexAttrib(1, this.gl.VERTEX_ATTRIB_ARRAY_ENABLED); + this._lastVertexAttribArrayEnabled[2] = this.gl.getVertexAttrib(2, this.gl.VERTEX_ATTRIB_ARRAY_ENABLED); + this._lastVertexAttribArrayEnabled[3] = this.gl.getVertexAttrib(3, this.gl.VERTEX_ATTRIB_ARRAY_ENABLED); + this._lastScissorTest = this.gl.isEnabled(this.gl.SCISSOR_TEST); + this._lastStencilTest = this.gl.isEnabled(this.gl.STENCIL_TEST); + this._lastDepthTest = this.gl.isEnabled(this.gl.DEPTH_TEST); + this._lastCullFace = this.gl.isEnabled(this.gl.CULL_FACE); + this._lastBlend = this.gl.isEnabled(this.gl.BLEND); + this._lastFrontFace = this.gl.getParameter(this.gl.FRONT_FACE); + this._lastColorMask = this.gl.getParameter(this.gl.COLOR_WRITEMASK); + // backup blending + this._lastBlending[0] = this.gl.getParameter(this.gl.BLEND_SRC_RGB); + this._lastBlending[1] = this.gl.getParameter(this.gl.BLEND_DST_RGB); + this._lastBlending[2] = this.gl.getParameter(this.gl.BLEND_SRC_ALPHA); + this._lastBlending[3] = this.gl.getParameter(this.gl.BLEND_DST_ALPHA); + // モデル描画直前のFBOとビューポートを保存 + this._lastFBO = this.gl.getParameter(this.gl.FRAMEBUFFER_BINDING); + this._lastViewport = this.gl.getParameter(this.gl.VIEWPORT); + }; + CubismRendererProfile_WebGL.prototype.restore = function () { + if (this.gl == null) { + (0, cubismdebug_1.CubismLogError)("'gl' is null. WebGLRenderingContext is required.\nPlease call 'CubimRenderer_WebGL.startUp' function."); + return; + } + this.gl.useProgram(this._lastProgram); + this.setGlEnableVertexAttribArray(0, this._lastVertexAttribArrayEnabled[0]); + this.setGlEnableVertexAttribArray(1, this._lastVertexAttribArrayEnabled[1]); + this.setGlEnableVertexAttribArray(2, this._lastVertexAttribArrayEnabled[2]); + this.setGlEnableVertexAttribArray(3, this._lastVertexAttribArrayEnabled[3]); + this.setGlEnable(this.gl.SCISSOR_TEST, this._lastScissorTest); + this.setGlEnable(this.gl.STENCIL_TEST, this._lastStencilTest); + this.setGlEnable(this.gl.DEPTH_TEST, this._lastDepthTest); + this.setGlEnable(this.gl.CULL_FACE, this._lastCullFace); + this.setGlEnable(this.gl.BLEND, this._lastBlend); + this.gl.frontFace(this._lastFrontFace); + this.gl.colorMask(this._lastColorMask[0], this._lastColorMask[1], this._lastColorMask[2], this._lastColorMask[3]); + this.gl.bindBuffer(this.gl.ARRAY_BUFFER, this._lastArrayBufferBinding); //前にバッファがバインドされていたら破棄する必要がある + this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER, this._lastElementArrayBufferBinding); + this.gl.activeTexture(this.gl.TEXTURE1); //テクスチャユニット1を復元 + this.gl.bindTexture(this.gl.TEXTURE_2D, this._lastTexture1Binding2D); + this.gl.activeTexture(this.gl.TEXTURE0); //テクスチャユニット0を復元 + this.gl.bindTexture(this.gl.TEXTURE_2D, this._lastTexture0Binding2D); + this.gl.activeTexture(this._lastActiveTexture); + this.gl.blendFuncSeparate(this._lastBlending[0], this._lastBlending[1], this._lastBlending[2], this._lastBlending[3]); + }; + CubismRendererProfile_WebGL.prototype.setGl = function (gl) { + this.gl = gl; + }; + return CubismRendererProfile_WebGL; +}()); +exports.CubismRendererProfile_WebGL = CubismRendererProfile_WebGL; +/** + * WebGL用の描画命令を実装したクラス + */ +var CubismRenderer_WebGL = /** @class */ (function (_super) { + __extends(CubismRenderer_WebGL, _super); + /** + * コンストラクタ + */ + function CubismRenderer_WebGL() { + var _this = _super.call(this) || this; + _this._clippingContextBufferForMask = null; + _this._clippingContextBufferForDraw = null; + _this._rendererProfile = new CubismRendererProfile_WebGL(); + _this.firstDraw = true; + _this._textures = new csmmap_1.csmMap(); + _this._sortedDrawableIndexList = new csmvector_1.csmVector(); + _this._bufferData = { + vertex: (WebGLBuffer = null), + uv: (WebGLBuffer = null), + index: (WebGLBuffer = null) + }; + // テクスチャ対応マップの容量を確保しておく + _this._textures.prepareCapacity(32, true); + return _this; + } + /** + * レンダラの初期化処理を実行する + * 引数に渡したモデルからレンダラの初期化処理に必要な情報を取り出すことができる + * + * @param model モデルのインスタンス + * @param maskBufferCount バッファの生成数 + */ + CubismRenderer_WebGL.prototype.initialize = function (model, maskBufferCount) { + if (maskBufferCount === void 0) { maskBufferCount = 1; } + if (model.isUsingMasking()) { + this._clippingManager = new CubismClippingManager_WebGL(); // クリッピングマスク・バッファ前処理方式を初期化 + this._clippingManager.initialize(model, maskBufferCount); + } + this._sortedDrawableIndexList.resize(model.getDrawableCount(), 0); + _super.prototype.initialize.call(this, model); // 親クラスの処理を呼ぶ + }; + /** + * WebGLテクスチャのバインド処理 + * CubismRendererにテクスチャを設定し、CubismRenderer内でその画像を参照するためのIndex値を戻り値とする + * @param modelTextureNo セットするモデルテクスチャの番号 + * @param glTextureNo WebGLテクスチャの番号 + */ + CubismRenderer_WebGL.prototype.bindTexture = function (modelTextureNo, glTexture) { + this._textures.setValue(modelTextureNo, glTexture); + }; + /** + * WebGLにバインドされたテクスチャのリストを取得する + * @return テクスチャのリスト + */ + CubismRenderer_WebGL.prototype.getBindedTextures = function () { + return this._textures; + }; + /** + * クリッピングマスクバッファのサイズを設定する + * マスク用のFrameBufferを破棄、再作成する為処理コストは高い + * @param size クリッピングマスクバッファのサイズ + */ + CubismRenderer_WebGL.prototype.setClippingMaskBufferSize = function (size) { + // クリッピングマスクを利用しない場合は早期リターン + if (!this._model.isUsingMasking()) { + return; + } + // インスタンス破棄前にレンダーテクスチャの数を保存 + var renderTextureCount = this._clippingManager.getRenderTextureCount(); + // FrameBufferのサイズを変更するためにインスタンスを破棄・再作成する + this._clippingManager.release(); + this._clippingManager = void 0; + this._clippingManager = null; + this._clippingManager = new CubismClippingManager_WebGL(); + this._clippingManager.setClippingMaskBufferSize(size); + this._clippingManager.initialize(this.getModel(), renderTextureCount // インスタンス破棄前に保存したレンダーテクスチャの数 + ); + }; + /** + * クリッピングマスクバッファのサイズを取得する + * @return クリッピングマスクバッファのサイズ + */ + CubismRenderer_WebGL.prototype.getClippingMaskBufferSize = function () { + return this._model.isUsingMasking() + ? this._clippingManager.getClippingMaskBufferSize() + : -1; + }; + /** + * レンダーテクスチャの枚数を取得する + * @return レンダーテクスチャの枚数 + */ + CubismRenderer_WebGL.prototype.getRenderTextureCount = function () { + return this._model.isUsingMasking() + ? this._clippingManager.getRenderTextureCount() + : -1; + }; + /** + * デストラクタ相当の処理 + */ + CubismRenderer_WebGL.prototype.release = function () { + if (this._clippingManager) { + this._clippingManager.release(); + this._clippingManager = void 0; + this._clippingManager = null; + } + if (this.gl == null) { + return; + } + this.gl.deleteBuffer(this._bufferData.vertex); + this._bufferData.vertex = null; + this.gl.deleteBuffer(this._bufferData.uv); + this._bufferData.uv = null; + this.gl.deleteBuffer(this._bufferData.index); + this._bufferData.index = null; + this._bufferData = null; + this._textures = null; + }; + /** + * モデルを描画する実際の処理 + */ + CubismRenderer_WebGL.prototype.doDrawModel = function () { + if (this.gl == null) { + (0, cubismdebug_1.CubismLogError)("'gl' is null. WebGLRenderingContext is required.\nPlease call 'CubimRenderer_WebGL.startUp' function."); + return; + } + //------------ クリッピングマスク・バッファ前処理方式の場合 ------------ + if (this._clippingManager != null) { + this.preDraw(); + if (this.isUsingHighPrecisionMask()) { + this._clippingManager.setupMatrixForHighPrecision(this.getModel(), false); + } + else { + this._clippingManager.setupClippingContext(this.getModel(), this); + } + } + // 上記クリッピング処理内でも一度PreDrawを呼ぶので注意!! + this.preDraw(); + var drawableCount = this.getModel().getDrawableCount(); + var renderOrder = this.getModel().getDrawableRenderOrders(); + // インデックスを描画順でソート + for (var i = 0; i < drawableCount; ++i) { + var order = renderOrder[i]; + this._sortedDrawableIndexList.set(order, i); + } + // 描画 + for (var i = 0; i < drawableCount; ++i) { + var drawableIndex = this._sortedDrawableIndexList.at(i); + // Drawableが表示状態でなければ処理をパスする + if (!this.getModel().getDrawableDynamicFlagIsVisible(drawableIndex)) { + continue; + } + var clipContext = this._clippingManager != null + ? this._clippingManager + .getClippingContextListForDraw() + .at(drawableIndex) + : null; + if (clipContext != null && this.isUsingHighPrecisionMask()) { + // 描くことになっていた + if (clipContext._isUsing) { + // 生成したFrameBufferと同じサイズでビューポートを設定 + this.gl.viewport(0, 0, this._clippingManager.getClippingMaskBufferSize(), this._clippingManager.getClippingMaskBufferSize()); + this.preDraw(); // バッファをクリアする + // ---------- マスク描画処理 ---------- + // マスク用RenderTextureをactiveにセット + this.gl.bindFramebuffer(this.gl.FRAMEBUFFER, clipContext + .getClippingManager() + .getMaskRenderTexture() + .at(clipContext._bufferIndex)); + // マスクをクリアする + // (仮仕様) 1が無効(描かれない)領域、0が有効(描かれる)領域。(シェーダーCd*Csで0に近い値をかけてマスクを作る。1をかけると何も起こらない) + this.gl.clearColor(1.0, 1.0, 1.0, 1.0); + this.gl.clear(this.gl.COLOR_BUFFER_BIT); + } + { + var clipDrawCount = clipContext._clippingIdCount; + for (var index = 0; index < clipDrawCount; index++) { + var clipDrawIndex = clipContext._clippingIdList[index]; + // 頂点情報が更新されておらず、信頼性がない場合は描画をパスする + if (!this._model.getDrawableDynamicFlagVertexPositionsDidChange(clipDrawIndex)) { + continue; + } + this.setIsCulling(this._model.getDrawableCulling(clipDrawIndex) != false); + // 今回専用の変換を適用して描く + // チャンネルも切り替える必要がある(A,R,G,B) + this.setClippingContextBufferForMask(clipContext); + this.drawMeshWebGL(this._model, clipDrawIndex); + } + } + { + // --- 後処理 --- + this.gl.bindFramebuffer(this.gl.FRAMEBUFFER, s_fbo); // 描画対象を戻す + this.setClippingContextBufferForMask(null); + this.gl.viewport(s_viewport[0], s_viewport[1], s_viewport[2], s_viewport[3]); + this.preDraw(); // バッファをクリアする + } + } + // クリッピングマスクをセットする + this.setClippingContextBufferForDraw(clipContext); + this.setIsCulling(this.getModel().getDrawableCulling(drawableIndex)); + this.drawMeshWebGL(this._model, drawableIndex); + } + }; + /** + * 描画オブジェクト(アートメッシュ)を描画する。 + * @param model 描画対象のモデル + * @param index 描画対象のメッシュのインデックス + */ + CubismRenderer_WebGL.prototype.drawMeshWebGL = function (model, index) { + // 裏面描画の有効・無効 + if (this.isCulling()) { + this.gl.enable(this.gl.CULL_FACE); + } + else { + this.gl.disable(this.gl.CULL_FACE); + } + this.gl.frontFace(this.gl.CCW); // Cubism SDK OpenGLはマスク・アートメッシュ共にCCWが表面 + if (this.isGeneratingMask()) { + cubismshader_webgl_1.CubismShader_WebGL.getInstance().setupShaderProgramForMask(this, model, index); + } + else { + cubismshader_webgl_1.CubismShader_WebGL.getInstance().setupShaderProgramForDraw(this, model, index); + } + { + var indexCount = model.getDrawableVertexIndexCount(index); + this.gl.drawElements(this.gl.TRIANGLES, indexCount, this.gl.UNSIGNED_SHORT, 0); + } + // 後処理 + this.gl.useProgram(null); + this.setClippingContextBufferForDraw(null); + this.setClippingContextBufferForMask(null); + }; + CubismRenderer_WebGL.prototype.saveProfile = function () { + this._rendererProfile.save(); + }; + CubismRenderer_WebGL.prototype.restoreProfile = function () { + this._rendererProfile.restore(); + }; + /** + * レンダラが保持する静的なリソースを解放する + * WebGLの静的なシェーダープログラムを解放する + */ + CubismRenderer_WebGL.doStaticRelease = function () { + cubismshader_webgl_1.CubismShader_WebGL.deleteInstance(); + }; + /** + * レンダーステートを設定する + * @param fbo アプリケーション側で指定しているフレームバッファ + * @param viewport ビューポート + */ + CubismRenderer_WebGL.prototype.setRenderState = function (fbo, viewport) { + s_fbo = fbo; + s_viewport = viewport; + }; + /** + * 描画開始時の追加処理 + * モデルを描画する前にクリッピングマスクに必要な処理を実装している + */ + CubismRenderer_WebGL.prototype.preDraw = function () { + if (this.firstDraw) { + this.firstDraw = false; + } + this.gl.disable(this.gl.SCISSOR_TEST); + this.gl.disable(this.gl.STENCIL_TEST); + this.gl.disable(this.gl.DEPTH_TEST); + // カリング(1.0beta3) + this.gl.frontFace(this.gl.CW); + this.gl.enable(this.gl.BLEND); + this.gl.colorMask(true, true, true, true); + this.gl.bindBuffer(this.gl.ARRAY_BUFFER, null); // 前にバッファがバインドされていたら破棄する必要がある + this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER, null); + // 異方性フィルタリングを適用する + if (this.getAnisotropy() > 0.0 && this._extension) { + for (var i = 0; i < this._textures.getSize(); ++i) { + this.gl.bindTexture(this.gl.TEXTURE_2D, this._textures.getValue(i)); + this.gl.texParameterf(this.gl.TEXTURE_2D, this._extension.TEXTURE_MAX_ANISOTROPY_EXT, this.getAnisotropy()); + } + } + }; + /** + * マスクテクスチャに描画するクリッピングコンテキストをセットする + */ + CubismRenderer_WebGL.prototype.setClippingContextBufferForMask = function (clip) { + this._clippingContextBufferForMask = clip; + }; + /** + * マスクテクスチャに描画するクリッピングコンテキストを取得する + * @return マスクテクスチャに描画するクリッピングコンテキスト + */ + CubismRenderer_WebGL.prototype.getClippingContextBufferForMask = function () { + return this._clippingContextBufferForMask; + }; + /** + * 画面上に描画するクリッピングコンテキストをセットする + */ + CubismRenderer_WebGL.prototype.setClippingContextBufferForDraw = function (clip) { + this._clippingContextBufferForDraw = clip; + }; + /** + * 画面上に描画するクリッピングコンテキストを取得する + * @return 画面上に描画するクリッピングコンテキスト + */ + CubismRenderer_WebGL.prototype.getClippingContextBufferForDraw = function () { + return this._clippingContextBufferForDraw; + }; + /** + * マスク生成時かを判定する + * @returns 判定値 + */ + CubismRenderer_WebGL.prototype.isGeneratingMask = function () { + return this.getClippingContextBufferForMask() != null; + }; + /** + * glの設定 + */ + CubismRenderer_WebGL.prototype.startUp = function (gl) { + this.gl = gl; + if (this._clippingManager) { + this._clippingManager.setGL(gl); + } + cubismshader_webgl_1.CubismShader_WebGL.getInstance().setGl(gl); + this._rendererProfile.setGl(gl); + // 異方性フィルタリングが使用できるかチェック + this._extension = + this.gl.getExtension('EXT_texture_filter_anisotropic') || + this.gl.getExtension('WEBKIT_EXT_texture_filter_anisotropic') || + this.gl.getExtension('MOZ_EXT_texture_filter_anisotropic'); + }; + return CubismRenderer_WebGL; +}(cubismrenderer_1.CubismRenderer)); +exports.CubismRenderer_WebGL = CubismRenderer_WebGL; +/** + * レンダラが保持する静的なリソースを開放する + */ +cubismrenderer_1.CubismRenderer.staticRelease = function () { + CubismRenderer_WebGL.doStaticRelease(); +}; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismrenderer_webgl")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismClippingContext = $.CubismClippingContext_WebGL; + Live2DCubismFramework.CubismClippingManager_WebGL = $.CubismClippingManager_WebGL; + Live2DCubismFramework.CubismRenderTextureResource = $.CubismRenderTextureResource; + Live2DCubismFramework.CubismRenderer_WebGL = $.CubismRenderer_WebGL; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismrenderer_webgl.js.map \ No newline at end of file diff --git a/live2demo/Framework/rendering/cubismrenderer_webgl.js.map b/live2demo/Framework/rendering/cubismrenderer_webgl.js.map new file mode 100644 index 0000000..443dc12 --- /dev/null +++ b/live2demo/Framework/rendering/cubismrenderer_webgl.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismrenderer_webgl.js","sourceRoot":"","sources":["../../src/rendering/cubismrenderer_webgl.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/rendering/cubismshader_webgl.d.ts b/live2demo/Framework/rendering/cubismshader_webgl.d.ts new file mode 100644 index 0000000..873f3ff --- /dev/null +++ b/live2demo/Framework/rendering/cubismshader_webgl.d.ts @@ -0,0 +1,119 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { CubismModel } from '../model/cubismmodel'; +import { csmVector } from '../type/csmvector'; +import { CubismRenderer_WebGL } from './cubismrenderer_webgl'; +/** + * WebGL用のシェーダープログラムを生成・破棄するクラス + * シングルトンなクラスであり、CubismShader_WebGL.getInstanceからアクセスする。 + */ +export declare class CubismShader_WebGL { + /** + * インスタンスを取得する(シングルトン) + * @return インスタンス + */ + static getInstance(): CubismShader_WebGL; + /** + * インスタンスを開放する(シングルトン) + */ + static deleteInstance(): void; + /** + * privateなコンストラクタ + */ + private constructor(); + /** + * デストラクタ相当の処理 + */ + release(): void; + /** + * 描画用のシェーダプログラムの一連のセットアップを実行する + * @param renderer レンダラー + * @param model 描画対象のモデル + * @param index 描画対象のメッシュのインデックス + */ + setupShaderProgramForDraw(renderer: CubismRenderer_WebGL, model: Readonly, index: number): void; + /** + * マスク用のシェーダプログラムの一連のセットアップを実行する + * @param renderer レンダラー + * @param model 描画対象のモデル + * @param index 描画対象のメッシュのインデックス + */ + setupShaderProgramForMask(renderer: CubismRenderer_WebGL, model: Readonly, index: number): void; + /** + * シェーダープログラムを解放する + */ + releaseShaderProgram(): void; + /** + * シェーダープログラムを初期化する + * @param vertShaderSrc 頂点シェーダのソース + * @param fragShaderSrc フラグメントシェーダのソース + */ + generateShaders(): void; + /** + * シェーダプログラムをロードしてアドレスを返す + * @param vertexShaderSource 頂点シェーダのソース + * @param fragmentShaderSource フラグメントシェーダのソース + * @return シェーダプログラムのアドレス + */ + loadShaderProgram(vertexShaderSource: string, fragmentShaderSource: string): WebGLProgram; + /** + * シェーダープログラムをコンパイルする + * @param shaderType シェーダタイプ(Vertex/Fragment) + * @param shaderSource シェーダソースコード + * + * @return コンパイルされたシェーダープログラム + */ + compileShaderSource(shaderType: GLenum, shaderSource: string): WebGLProgram; + setGl(gl: WebGLRenderingContext): void; + _shaderSets: csmVector; + gl: WebGLRenderingContext; +} +/** + * CubismShader_WebGLのインナークラス + */ +export declare class CubismShaderSet { + shaderProgram: WebGLProgram; + attributePositionLocation: GLuint; + attributeTexCoordLocation: GLuint; + uniformMatrixLocation: WebGLUniformLocation; + uniformClipMatrixLocation: WebGLUniformLocation; + samplerTexture0Location: WebGLUniformLocation; + samplerTexture1Location: WebGLUniformLocation; + uniformBaseColorLocation: WebGLUniformLocation; + uniformChannelFlagLocation: WebGLUniformLocation; + uniformMultiplyColorLocation: WebGLUniformLocation; + uniformScreenColorLocation: WebGLUniformLocation; +} +export declare enum ShaderNames { + ShaderNames_SetupMask = 0, + ShaderNames_NormalPremultipliedAlpha = 1, + ShaderNames_NormalMaskedPremultipliedAlpha = 2, + ShaderNames_NomralMaskedInvertedPremultipliedAlpha = 3, + ShaderNames_AddPremultipliedAlpha = 4, + ShaderNames_AddMaskedPremultipliedAlpha = 5, + ShaderNames_AddMaskedPremultipliedAlphaInverted = 6, + ShaderNames_MultPremultipliedAlpha = 7, + ShaderNames_MultMaskedPremultipliedAlpha = 8, + ShaderNames_MultMaskedPremultipliedAlphaInverted = 9 +} +export declare const vertexShaderSrcSetupMask: string; +export declare const fragmentShaderSrcsetupMask: string; +export declare const vertexShaderSrc: string; +export declare const vertexShaderSrcMasked: string; +export declare const fragmentShaderSrcPremultipliedAlpha: string; +export declare const fragmentShaderSrcMaskPremultipliedAlpha: string; +export declare const fragmentShaderSrcMaskInvertedPremultipliedAlpha: string; +import * as $ from './cubismshader_webgl'; +export declare namespace Live2DCubismFramework { + const CubismShaderSet: typeof $.CubismShaderSet; + type CubismShaderSet = $.CubismShaderSet; + const CubismShader_WebGL: typeof $.CubismShader_WebGL; + type CubismShader_WebGL = $.CubismShader_WebGL; + const ShaderNames: typeof $.ShaderNames; + type ShaderNames = $.ShaderNames; +} +//# sourceMappingURL=cubismshader_webgl.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/rendering/cubismshader_webgl.d.ts.map b/live2demo/Framework/rendering/cubismshader_webgl.d.ts.map new file mode 100644 index 0000000..7f4c233 --- /dev/null +++ b/live2demo/Framework/rendering/cubismshader_webgl.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismshader_webgl.d.ts","sourceRoot":"","sources":["../../src/rendering/cubismshader_webgl.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAK9D;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B;;;OAGG;WACW,WAAW,IAAI,kBAAkB;IAS/C;;OAEG;WACW,cAAc,IAAI,IAAI;IAOpC;;OAEG;IACH,OAAO;IAIP;;OAEG;IACI,OAAO,IAAI,IAAI;IAItB;;;;;OAKG;IACI,yBAAyB,CAC9B,QAAQ,EAAE,oBAAoB,EAC9B,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC5B,KAAK,EAAE,MAAM,GACZ,IAAI;IAkMP;;;;;OAKG;IACI,yBAAyB,CAC9B,QAAQ,EAAE,oBAAoB,EAC9B,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC5B,KAAK,EAAE,MAAM,GACZ,IAAI;IA+IP;;OAEG;IACI,oBAAoB,IAAI,IAAI;IASnC;;;;OAIG;IACI,eAAe,IAAI,IAAI;IA0d9B;;;;;OAKG;IACI,iBAAiB,CACtB,kBAAkB,EAAE,MAAM,EAC1B,oBAAoB,EAAE,MAAM,GAC3B,YAAY;IA6Df;;;;;;OAMG;IACI,mBAAmB,CACxB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,YAAY;IAwBR,KAAK,CAAC,EAAE,EAAE,qBAAqB,GAAG,IAAI;IAI7C,WAAW,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;IACxC,EAAE,EAAE,qBAAqB,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,aAAa,EAAE,YAAY,CAAC;IAC5B,yBAAyB,EAAE,MAAM,CAAC;IAClC,yBAAyB,EAAE,MAAM,CAAC;IAClC,qBAAqB,EAAE,oBAAoB,CAAC;IAC5C,yBAAyB,EAAE,oBAAoB,CAAC;IAChD,uBAAuB,EAAE,oBAAoB,CAAC;IAC9C,uBAAuB,EAAE,oBAAoB,CAAC;IAC9C,wBAAwB,EAAE,oBAAoB,CAAC;IAC/C,0BAA0B,EAAE,oBAAoB,CAAC;IACjD,4BAA4B,EAAE,oBAAoB,CAAC;IACnD,0BAA0B,EAAE,oBAAoB,CAAC;CAClD;AAED,oBAAY,WAAW;IAErB,qBAAqB,IAAA;IAGrB,oCAAoC,IAAA;IACpC,0CAA0C,IAAA;IAC1C,kDAAkD,IAAA;IAGlD,iCAAiC,IAAA;IACjC,uCAAuC,IAAA;IACvC,+CAA+C,IAAA;IAG/C,kCAAkC,IAAA;IAClC,wCAAwC,IAAA;IACxC,gDAAgD,IAAA;CACjD;AAED,eAAO,MAAM,wBAAwB,QAYhC,CAAC;AAEN,eAAO,MAAM,0BAA0B,QAelC,CAAC;AAIN,eAAO,MAAM,eAAe,QAUvB,CAAC;AAGN,eAAO,MAAM,qBAAqB,QAa7B,CAAC;AAIN,eAAO,MAAM,mCAAmC,QAc3C,CAAC;AAGN,eAAO,MAAM,uCAAuC,QAoB/C,CAAC;AAGN,eAAO,MAAM,+CAA+C,QAoBvD,CAAC;AAGN,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAE1C,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,eAAe,0BAAoB,CAAC;IACjD,KAAY,eAAe,GAAG,CAAC,CAAC,eAAe,CAAC;IACzC,MAAM,kBAAkB,6BAAuB,CAAC;IACvD,KAAY,kBAAkB,GAAG,CAAC,CAAC,kBAAkB,CAAC;IAC/C,MAAM,WAAW,sBAAgB,CAAC;IACzC,KAAY,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;CACzC"} \ No newline at end of file diff --git a/live2demo/Framework/rendering/cubismshader_webgl.js b/live2demo/Framework/rendering/cubismshader_webgl.js new file mode 100644 index 0000000..3bd702b --- /dev/null +++ b/live2demo/Framework/rendering/cubismshader_webgl.js @@ -0,0 +1,682 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.fragmentShaderSrcMaskInvertedPremultipliedAlpha = exports.fragmentShaderSrcMaskPremultipliedAlpha = exports.fragmentShaderSrcPremultipliedAlpha = exports.vertexShaderSrcMasked = exports.vertexShaderSrc = exports.fragmentShaderSrcsetupMask = exports.vertexShaderSrcSetupMask = exports.ShaderNames = exports.CubismShaderSet = exports.CubismShader_WebGL = void 0; +var csmvector_1 = require("../type/csmvector"); +var cubismdebug_1 = require("../utils/cubismdebug"); +var cubismrenderer_1 = require("./cubismrenderer"); +var s_instance; +var ShaderCount = 10; // シェーダーの数 = マスク生成用 + (通常用 + 加算 + 乗算) * (マスク無の乗算済アルファ対応版 + マスク有の乗算済アルファ対応版 + マスク有反転の乗算済アルファ対応版) +/** + * WebGL用のシェーダープログラムを生成・破棄するクラス + * シングルトンなクラスであり、CubismShader_WebGL.getInstanceからアクセスする。 + */ +var CubismShader_WebGL = /** @class */ (function () { + /** + * privateなコンストラクタ + */ + function CubismShader_WebGL() { + this._shaderSets = new csmvector_1.csmVector(); + } + /** + * インスタンスを取得する(シングルトン) + * @return インスタンス + */ + CubismShader_WebGL.getInstance = function () { + if (s_instance == null) { + s_instance = new CubismShader_WebGL(); + return s_instance; + } + return s_instance; + }; + /** + * インスタンスを開放する(シングルトン) + */ + CubismShader_WebGL.deleteInstance = function () { + if (s_instance) { + s_instance.release(); + s_instance = null; + } + }; + /** + * デストラクタ相当の処理 + */ + CubismShader_WebGL.prototype.release = function () { + this.releaseShaderProgram(); + }; + /** + * 描画用のシェーダプログラムの一連のセットアップを実行する + * @param renderer レンダラー + * @param model 描画対象のモデル + * @param index 描画対象のメッシュのインデックス + */ + CubismShader_WebGL.prototype.setupShaderProgramForDraw = function (renderer, model, index) { + if (!renderer.isPremultipliedAlpha()) { + (0, cubismdebug_1.CubismLogError)('NoPremultipliedAlpha is not allowed'); + } + if (this._shaderSets.getSize() == 0) { + this.generateShaders(); + } + // Blending + var SRC_COLOR; + var DST_COLOR; + var SRC_ALPHA; + var DST_ALPHA; + // _shaderSets用のオフセット計算 + var masked = renderer.getClippingContextBufferForDraw() != null; // この描画オブジェクトはマスク対象か + var invertedMask = model.getDrawableInvertedMaskBit(index); + var offset = masked ? (invertedMask ? 2 : 1) : 0; + var shaderSet; + switch (model.getDrawableBlendMode(index)) { + case cubismrenderer_1.CubismBlendMode.CubismBlendMode_Normal: + default: + shaderSet = this._shaderSets.at(ShaderNames.ShaderNames_NormalPremultipliedAlpha + offset); + SRC_COLOR = this.gl.ONE; + DST_COLOR = this.gl.ONE_MINUS_SRC_ALPHA; + SRC_ALPHA = this.gl.ONE; + DST_ALPHA = this.gl.ONE_MINUS_SRC_ALPHA; + break; + case cubismrenderer_1.CubismBlendMode.CubismBlendMode_Additive: + shaderSet = this._shaderSets.at(ShaderNames.ShaderNames_AddPremultipliedAlpha + offset); + SRC_COLOR = this.gl.ONE; + DST_COLOR = this.gl.ONE; + SRC_ALPHA = this.gl.ZERO; + DST_ALPHA = this.gl.ONE; + break; + case cubismrenderer_1.CubismBlendMode.CubismBlendMode_Multiplicative: + shaderSet = this._shaderSets.at(ShaderNames.ShaderNames_MultPremultipliedAlpha + offset); + SRC_COLOR = this.gl.DST_COLOR; + DST_COLOR = this.gl.ONE_MINUS_SRC_ALPHA; + SRC_ALPHA = this.gl.ZERO; + DST_ALPHA = this.gl.ONE; + break; + } + this.gl.useProgram(shaderSet.shaderProgram); + // 頂点配列の設定 + if (renderer._bufferData.vertex == null) { + renderer._bufferData.vertex = this.gl.createBuffer(); + } + this.gl.bindBuffer(this.gl.ARRAY_BUFFER, renderer._bufferData.vertex); + // 頂点配列の設定 + var vertexArray = model.getDrawableVertices(index); + this.gl.bufferData(this.gl.ARRAY_BUFFER, vertexArray, this.gl.DYNAMIC_DRAW); + this.gl.enableVertexAttribArray(shaderSet.attributePositionLocation); + this.gl.vertexAttribPointer(shaderSet.attributePositionLocation, 2, this.gl.FLOAT, false, 0, 0); + // テクスチャ頂点の設定 + if (renderer._bufferData.uv == null) { + renderer._bufferData.uv = this.gl.createBuffer(); + } + this.gl.bindBuffer(this.gl.ARRAY_BUFFER, renderer._bufferData.uv); + var uvArray = model.getDrawableVertexUvs(index); + this.gl.bufferData(this.gl.ARRAY_BUFFER, uvArray, this.gl.DYNAMIC_DRAW); + this.gl.enableVertexAttribArray(shaderSet.attributeTexCoordLocation); + this.gl.vertexAttribPointer(shaderSet.attributeTexCoordLocation, 2, this.gl.FLOAT, false, 0, 0); + if (masked) { + this.gl.activeTexture(this.gl.TEXTURE1); + // frameBufferに書かれたテクスチャ + var tex = renderer + .getClippingContextBufferForDraw() + .getClippingManager() + .getColorBuffer() + .at(renderer.getClippingContextBufferForDraw()._bufferIndex); + this.gl.bindTexture(this.gl.TEXTURE_2D, tex); + this.gl.uniform1i(shaderSet.samplerTexture1Location, 1); + // view座標をClippingContextの座標に変換するための行列を設定 + this.gl.uniformMatrix4fv(shaderSet.uniformClipMatrixLocation, false, renderer.getClippingContextBufferForDraw()._matrixForDraw.getArray()); + // 使用するカラーチャンネルを設定 + var channelNo = renderer.getClippingContextBufferForDraw()._layoutChannelNo; + var colorChannel = renderer + .getClippingContextBufferForDraw() + .getClippingManager() + .getChannelFlagAsColor(channelNo); + this.gl.uniform4f(shaderSet.uniformChannelFlagLocation, colorChannel.R, colorChannel.G, colorChannel.B, colorChannel.A); + } + // テクスチャ設定 + var textureNo = model.getDrawableTextureIndex(index); + var textureId = renderer + .getBindedTextures() + .getValue(textureNo); + this.gl.activeTexture(this.gl.TEXTURE0); + this.gl.bindTexture(this.gl.TEXTURE_2D, textureId); + this.gl.uniform1i(shaderSet.samplerTexture0Location, 0); + //座標変換 + var matrix4x4 = renderer.getMvpMatrix(); + this.gl.uniformMatrix4fv(shaderSet.uniformMatrixLocation, false, matrix4x4.getArray()); + //ベース色の取得 + var baseColor = renderer.getModelColorWithOpacity(model.getDrawableOpacity(index)); + var multiplyColor = model.getMultiplyColor(index); + var screenColor = model.getScreenColor(index); + this.gl.uniform4f(shaderSet.uniformBaseColorLocation, baseColor.R, baseColor.G, baseColor.B, baseColor.A); + this.gl.uniform4f(shaderSet.uniformMultiplyColorLocation, multiplyColor.R, multiplyColor.G, multiplyColor.B, multiplyColor.A); + this.gl.uniform4f(shaderSet.uniformScreenColorLocation, screenColor.R, screenColor.G, screenColor.B, screenColor.A); + // IBOを作成し、データを転送 + if (renderer._bufferData.index == null) { + renderer._bufferData.index = this.gl.createBuffer(); + } + var indexArray = model.getDrawableVertexIndices(index); + this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER, renderer._bufferData.index); + this.gl.bufferData(this.gl.ELEMENT_ARRAY_BUFFER, indexArray, this.gl.DYNAMIC_DRAW); + this.gl.blendFuncSeparate(SRC_COLOR, DST_COLOR, SRC_ALPHA, DST_ALPHA); + }; + /** + * マスク用のシェーダプログラムの一連のセットアップを実行する + * @param renderer レンダラー + * @param model 描画対象のモデル + * @param index 描画対象のメッシュのインデックス + */ + CubismShader_WebGL.prototype.setupShaderProgramForMask = function (renderer, model, index) { + if (!renderer.isPremultipliedAlpha()) { + (0, cubismdebug_1.CubismLogError)('NoPremultipliedAlpha is not allowed'); + } + if (this._shaderSets.getSize() == 0) { + this.generateShaders(); + } + // Blending + var SRC_COLOR; + var DST_COLOR; + var SRC_ALPHA; + var DST_ALPHA; + var shaderSet = this._shaderSets.at(ShaderNames.ShaderNames_SetupMask); + this.gl.useProgram(shaderSet.shaderProgram); + // 頂点配列の設定 + if (renderer._bufferData.vertex == null) { + renderer._bufferData.vertex = this.gl.createBuffer(); + } + this.gl.bindBuffer(this.gl.ARRAY_BUFFER, renderer._bufferData.vertex); + var vertexArray = model.getDrawableVertices(index); + this.gl.bufferData(this.gl.ARRAY_BUFFER, vertexArray, this.gl.DYNAMIC_DRAW); + this.gl.enableVertexAttribArray(shaderSet.attributePositionLocation); + this.gl.vertexAttribPointer(shaderSet.attributePositionLocation, 2, this.gl.FLOAT, false, 0, 0); + //テクスチャ設定 + if (renderer._bufferData.uv == null) { + renderer._bufferData.uv = this.gl.createBuffer(); + } + this.gl.bindBuffer(this.gl.ARRAY_BUFFER, renderer._bufferData.uv); + var textureNo = model.getDrawableTextureIndex(index); + var textureId = renderer + .getBindedTextures() + .getValue(textureNo); + this.gl.activeTexture(this.gl.TEXTURE0); + this.gl.bindTexture(this.gl.TEXTURE_2D, textureId); + this.gl.uniform1i(shaderSet.samplerTexture0Location, 0); + // テクスチャ頂点の設定 + if (renderer._bufferData.uv == null) { + renderer._bufferData.uv = this.gl.createBuffer(); + } + this.gl.bindBuffer(this.gl.ARRAY_BUFFER, renderer._bufferData.uv); + var uvArray = model.getDrawableVertexUvs(index); + this.gl.bufferData(this.gl.ARRAY_BUFFER, uvArray, this.gl.DYNAMIC_DRAW); + this.gl.enableVertexAttribArray(shaderSet.attributeTexCoordLocation); + this.gl.vertexAttribPointer(shaderSet.attributeTexCoordLocation, 2, this.gl.FLOAT, false, 0, 0); + // チャンネル + var context = renderer.getClippingContextBufferForMask(); + var channelNo = renderer.getClippingContextBufferForMask()._layoutChannelNo; + var colorChannel = renderer + .getClippingContextBufferForMask() + .getClippingManager() + .getChannelFlagAsColor(channelNo); + this.gl.uniform4f(shaderSet.uniformChannelFlagLocation, colorChannel.R, colorChannel.G, colorChannel.B, colorChannel.A); + this.gl.uniformMatrix4fv(shaderSet.uniformClipMatrixLocation, false, renderer.getClippingContextBufferForMask()._matrixForMask.getArray()); + var rect = renderer.getClippingContextBufferForMask()._layoutBounds; + this.gl.uniform4f(shaderSet.uniformBaseColorLocation, rect.x * 2.0 - 1.0, rect.y * 2.0 - 1.0, rect.getRight() * 2.0 - 1.0, rect.getBottom() * 2.0 - 1.0); + var multiplyColor = model.getMultiplyColor(index); + var screenColor = model.getScreenColor(index); + this.gl.uniform4f(shaderSet.uniformMultiplyColorLocation, multiplyColor.R, multiplyColor.G, multiplyColor.B, multiplyColor.A); + this.gl.uniform4f(shaderSet.uniformScreenColorLocation, screenColor.R, screenColor.G, screenColor.B, screenColor.A); + SRC_COLOR = this.gl.ZERO; + DST_COLOR = this.gl.ONE_MINUS_SRC_COLOR; + SRC_ALPHA = this.gl.ZERO; + DST_ALPHA = this.gl.ONE_MINUS_SRC_ALPHA; + // IBOを作成し、データを転送 + if (renderer._bufferData.index == null) { + renderer._bufferData.index = this.gl.createBuffer(); + } + var indexArray = model.getDrawableVertexIndices(index); + this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER, renderer._bufferData.index); + this.gl.bufferData(this.gl.ELEMENT_ARRAY_BUFFER, indexArray, this.gl.DYNAMIC_DRAW); + this.gl.blendFuncSeparate(SRC_COLOR, DST_COLOR, SRC_ALPHA, DST_ALPHA); + }; + /** + * シェーダープログラムを解放する + */ + CubismShader_WebGL.prototype.releaseShaderProgram = function () { + for (var i = 0; i < this._shaderSets.getSize(); i++) { + this.gl.deleteProgram(this._shaderSets.at(i).shaderProgram); + this._shaderSets.at(i).shaderProgram = 0; + this._shaderSets.set(i, void 0); + this._shaderSets.set(i, null); + } + }; + /** + * シェーダープログラムを初期化する + * @param vertShaderSrc 頂点シェーダのソース + * @param fragShaderSrc フラグメントシェーダのソース + */ + CubismShader_WebGL.prototype.generateShaders = function () { + for (var i = 0; i < ShaderCount; i++) { + this._shaderSets.pushBack(new CubismShaderSet()); + } + this._shaderSets.at(0).shaderProgram = this.loadShaderProgram(exports.vertexShaderSrcSetupMask, exports.fragmentShaderSrcsetupMask); + this._shaderSets.at(1).shaderProgram = this.loadShaderProgram(exports.vertexShaderSrc, exports.fragmentShaderSrcPremultipliedAlpha); + this._shaderSets.at(2).shaderProgram = this.loadShaderProgram(exports.vertexShaderSrcMasked, exports.fragmentShaderSrcMaskPremultipliedAlpha); + this._shaderSets.at(3).shaderProgram = this.loadShaderProgram(exports.vertexShaderSrcMasked, exports.fragmentShaderSrcMaskInvertedPremultipliedAlpha); + // 加算も通常と同じシェーダーを利用する + this._shaderSets.at(4).shaderProgram = this._shaderSets.at(1).shaderProgram; + this._shaderSets.at(5).shaderProgram = this._shaderSets.at(2).shaderProgram; + this._shaderSets.at(6).shaderProgram = this._shaderSets.at(3).shaderProgram; + // 乗算も通常と同じシェーダーを利用する + this._shaderSets.at(7).shaderProgram = this._shaderSets.at(1).shaderProgram; + this._shaderSets.at(8).shaderProgram = this._shaderSets.at(2).shaderProgram; + this._shaderSets.at(9).shaderProgram = this._shaderSets.at(3).shaderProgram; + // SetupMask + this._shaderSets.at(0).attributePositionLocation = + this.gl.getAttribLocation(this._shaderSets.at(0).shaderProgram, 'a_position'); + this._shaderSets.at(0).attributeTexCoordLocation = + this.gl.getAttribLocation(this._shaderSets.at(0).shaderProgram, 'a_texCoord'); + this._shaderSets.at(0).samplerTexture0Location = this.gl.getUniformLocation(this._shaderSets.at(0).shaderProgram, 's_texture0'); + this._shaderSets.at(0).uniformClipMatrixLocation = + this.gl.getUniformLocation(this._shaderSets.at(0).shaderProgram, 'u_clipMatrix'); + this._shaderSets.at(0).uniformChannelFlagLocation = + this.gl.getUniformLocation(this._shaderSets.at(0).shaderProgram, 'u_channelFlag'); + this._shaderSets.at(0).uniformBaseColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(0).shaderProgram, 'u_baseColor'); + this._shaderSets.at(0).uniformMultiplyColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(0).shaderProgram, 'u_multiplyColor'); + this._shaderSets.at(0).uniformScreenColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(0).shaderProgram, 'u_screenColor'); + // 通常(PremultipliedAlpha) + this._shaderSets.at(1).attributePositionLocation = + this.gl.getAttribLocation(this._shaderSets.at(1).shaderProgram, 'a_position'); + this._shaderSets.at(1).attributeTexCoordLocation = + this.gl.getAttribLocation(this._shaderSets.at(1).shaderProgram, 'a_texCoord'); + this._shaderSets.at(1).samplerTexture0Location = this.gl.getUniformLocation(this._shaderSets.at(1).shaderProgram, 's_texture0'); + this._shaderSets.at(1).uniformMatrixLocation = this.gl.getUniformLocation(this._shaderSets.at(1).shaderProgram, 'u_matrix'); + this._shaderSets.at(1).uniformBaseColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(1).shaderProgram, 'u_baseColor'); + this._shaderSets.at(1).uniformMultiplyColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(1).shaderProgram, 'u_multiplyColor'); + this._shaderSets.at(1).uniformScreenColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(1).shaderProgram, 'u_screenColor'); + // 通常(クリッピング、PremultipliedAlpha) + this._shaderSets.at(2).attributePositionLocation = + this.gl.getAttribLocation(this._shaderSets.at(2).shaderProgram, 'a_position'); + this._shaderSets.at(2).attributeTexCoordLocation = + this.gl.getAttribLocation(this._shaderSets.at(2).shaderProgram, 'a_texCoord'); + this._shaderSets.at(2).samplerTexture0Location = this.gl.getUniformLocation(this._shaderSets.at(2).shaderProgram, 's_texture0'); + this._shaderSets.at(2).samplerTexture1Location = this.gl.getUniformLocation(this._shaderSets.at(2).shaderProgram, 's_texture1'); + this._shaderSets.at(2).uniformMatrixLocation = this.gl.getUniformLocation(this._shaderSets.at(2).shaderProgram, 'u_matrix'); + this._shaderSets.at(2).uniformClipMatrixLocation = + this.gl.getUniformLocation(this._shaderSets.at(2).shaderProgram, 'u_clipMatrix'); + this._shaderSets.at(2).uniformChannelFlagLocation = + this.gl.getUniformLocation(this._shaderSets.at(2).shaderProgram, 'u_channelFlag'); + this._shaderSets.at(2).uniformBaseColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(2).shaderProgram, 'u_baseColor'); + this._shaderSets.at(2).uniformMultiplyColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(2).shaderProgram, 'u_multiplyColor'); + this._shaderSets.at(2).uniformScreenColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(2).shaderProgram, 'u_screenColor'); + // 通常(クリッピング・反転, PremultipliedAlpha) + this._shaderSets.at(3).attributePositionLocation = + this.gl.getAttribLocation(this._shaderSets.at(3).shaderProgram, 'a_position'); + this._shaderSets.at(3).attributeTexCoordLocation = + this.gl.getAttribLocation(this._shaderSets.at(3).shaderProgram, 'a_texCoord'); + this._shaderSets.at(3).samplerTexture0Location = this.gl.getUniformLocation(this._shaderSets.at(3).shaderProgram, 's_texture0'); + this._shaderSets.at(3).samplerTexture1Location = this.gl.getUniformLocation(this._shaderSets.at(3).shaderProgram, 's_texture1'); + this._shaderSets.at(3).uniformMatrixLocation = this.gl.getUniformLocation(this._shaderSets.at(3).shaderProgram, 'u_matrix'); + this._shaderSets.at(3).uniformClipMatrixLocation = + this.gl.getUniformLocation(this._shaderSets.at(3).shaderProgram, 'u_clipMatrix'); + this._shaderSets.at(3).uniformChannelFlagLocation = + this.gl.getUniformLocation(this._shaderSets.at(3).shaderProgram, 'u_channelFlag'); + this._shaderSets.at(3).uniformBaseColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(3).shaderProgram, 'u_baseColor'); + this._shaderSets.at(3).uniformMultiplyColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(3).shaderProgram, 'u_multiplyColor'); + this._shaderSets.at(3).uniformScreenColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(3).shaderProgram, 'u_screenColor'); + // 加算(PremultipliedAlpha) + this._shaderSets.at(4).attributePositionLocation = + this.gl.getAttribLocation(this._shaderSets.at(4).shaderProgram, 'a_position'); + this._shaderSets.at(4).attributeTexCoordLocation = + this.gl.getAttribLocation(this._shaderSets.at(4).shaderProgram, 'a_texCoord'); + this._shaderSets.at(4).samplerTexture0Location = this.gl.getUniformLocation(this._shaderSets.at(4).shaderProgram, 's_texture0'); + this._shaderSets.at(4).uniformMatrixLocation = this.gl.getUniformLocation(this._shaderSets.at(4).shaderProgram, 'u_matrix'); + this._shaderSets.at(4).uniformBaseColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(4).shaderProgram, 'u_baseColor'); + this._shaderSets.at(4).uniformMultiplyColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(4).shaderProgram, 'u_multiplyColor'); + this._shaderSets.at(4).uniformScreenColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(4).shaderProgram, 'u_screenColor'); + // 加算(クリッピング、PremultipliedAlpha) + this._shaderSets.at(5).attributePositionLocation = + this.gl.getAttribLocation(this._shaderSets.at(5).shaderProgram, 'a_position'); + this._shaderSets.at(5).attributeTexCoordLocation = + this.gl.getAttribLocation(this._shaderSets.at(5).shaderProgram, 'a_texCoord'); + this._shaderSets.at(5).samplerTexture0Location = this.gl.getUniformLocation(this._shaderSets.at(5).shaderProgram, 's_texture0'); + this._shaderSets.at(5).samplerTexture1Location = this.gl.getUniformLocation(this._shaderSets.at(5).shaderProgram, 's_texture1'); + this._shaderSets.at(5).uniformMatrixLocation = this.gl.getUniformLocation(this._shaderSets.at(5).shaderProgram, 'u_matrix'); + this._shaderSets.at(5).uniformClipMatrixLocation = + this.gl.getUniformLocation(this._shaderSets.at(5).shaderProgram, 'u_clipMatrix'); + this._shaderSets.at(5).uniformChannelFlagLocation = + this.gl.getUniformLocation(this._shaderSets.at(5).shaderProgram, 'u_channelFlag'); + this._shaderSets.at(5).uniformBaseColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(5).shaderProgram, 'u_baseColor'); + this._shaderSets.at(5).uniformMultiplyColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(5).shaderProgram, 'u_multiplyColor'); + this._shaderSets.at(5).uniformScreenColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(5).shaderProgram, 'u_screenColor'); + // 加算(クリッピング・反転、PremultipliedAlpha) + this._shaderSets.at(6).attributePositionLocation = + this.gl.getAttribLocation(this._shaderSets.at(6).shaderProgram, 'a_position'); + this._shaderSets.at(6).attributeTexCoordLocation = + this.gl.getAttribLocation(this._shaderSets.at(6).shaderProgram, 'a_texCoord'); + this._shaderSets.at(6).samplerTexture0Location = this.gl.getUniformLocation(this._shaderSets.at(6).shaderProgram, 's_texture0'); + this._shaderSets.at(6).samplerTexture1Location = this.gl.getUniformLocation(this._shaderSets.at(6).shaderProgram, 's_texture1'); + this._shaderSets.at(6).uniformMatrixLocation = this.gl.getUniformLocation(this._shaderSets.at(6).shaderProgram, 'u_matrix'); + this._shaderSets.at(6).uniformClipMatrixLocation = + this.gl.getUniformLocation(this._shaderSets.at(6).shaderProgram, 'u_clipMatrix'); + this._shaderSets.at(6).uniformChannelFlagLocation = + this.gl.getUniformLocation(this._shaderSets.at(6).shaderProgram, 'u_channelFlag'); + this._shaderSets.at(6).uniformBaseColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(6).shaderProgram, 'u_baseColor'); + this._shaderSets.at(6).uniformMultiplyColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(6).shaderProgram, 'u_multiplyColor'); + this._shaderSets.at(6).uniformScreenColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(6).shaderProgram, 'u_screenColor'); + // 乗算(PremultipliedAlpha) + this._shaderSets.at(7).attributePositionLocation = + this.gl.getAttribLocation(this._shaderSets.at(7).shaderProgram, 'a_position'); + this._shaderSets.at(7).attributeTexCoordLocation = + this.gl.getAttribLocation(this._shaderSets.at(7).shaderProgram, 'a_texCoord'); + this._shaderSets.at(7).samplerTexture0Location = this.gl.getUniformLocation(this._shaderSets.at(7).shaderProgram, 's_texture0'); + this._shaderSets.at(7).uniformMatrixLocation = this.gl.getUniformLocation(this._shaderSets.at(7).shaderProgram, 'u_matrix'); + this._shaderSets.at(7).uniformBaseColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(7).shaderProgram, 'u_baseColor'); + this._shaderSets.at(7).uniformMultiplyColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(7).shaderProgram, 'u_multiplyColor'); + this._shaderSets.at(7).uniformScreenColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(7).shaderProgram, 'u_screenColor'); + // 乗算(クリッピング、PremultipliedAlpha) + this._shaderSets.at(8).attributePositionLocation = + this.gl.getAttribLocation(this._shaderSets.at(8).shaderProgram, 'a_position'); + this._shaderSets.at(8).attributeTexCoordLocation = + this.gl.getAttribLocation(this._shaderSets.at(8).shaderProgram, 'a_texCoord'); + this._shaderSets.at(8).samplerTexture0Location = this.gl.getUniformLocation(this._shaderSets.at(8).shaderProgram, 's_texture0'); + this._shaderSets.at(8).samplerTexture1Location = this.gl.getUniformLocation(this._shaderSets.at(8).shaderProgram, 's_texture1'); + this._shaderSets.at(8).uniformMatrixLocation = this.gl.getUniformLocation(this._shaderSets.at(8).shaderProgram, 'u_matrix'); + this._shaderSets.at(8).uniformClipMatrixLocation = + this.gl.getUniformLocation(this._shaderSets.at(8).shaderProgram, 'u_clipMatrix'); + this._shaderSets.at(8).uniformChannelFlagLocation = + this.gl.getUniformLocation(this._shaderSets.at(8).shaderProgram, 'u_channelFlag'); + this._shaderSets.at(8).uniformBaseColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(8).shaderProgram, 'u_baseColor'); + this._shaderSets.at(8).uniformMultiplyColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(8).shaderProgram, 'u_multiplyColor'); + this._shaderSets.at(8).uniformScreenColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(8).shaderProgram, 'u_screenColor'); + // 乗算(クリッピング・反転、PremultipliedAlpha) + this._shaderSets.at(9).attributePositionLocation = + this.gl.getAttribLocation(this._shaderSets.at(9).shaderProgram, 'a_position'); + this._shaderSets.at(9).attributeTexCoordLocation = + this.gl.getAttribLocation(this._shaderSets.at(9).shaderProgram, 'a_texCoord'); + this._shaderSets.at(9).samplerTexture0Location = this.gl.getUniformLocation(this._shaderSets.at(9).shaderProgram, 's_texture0'); + this._shaderSets.at(9).samplerTexture1Location = this.gl.getUniformLocation(this._shaderSets.at(9).shaderProgram, 's_texture1'); + this._shaderSets.at(9).uniformMatrixLocation = this.gl.getUniformLocation(this._shaderSets.at(9).shaderProgram, 'u_matrix'); + this._shaderSets.at(9).uniformClipMatrixLocation = + this.gl.getUniformLocation(this._shaderSets.at(9).shaderProgram, 'u_clipMatrix'); + this._shaderSets.at(9).uniformChannelFlagLocation = + this.gl.getUniformLocation(this._shaderSets.at(9).shaderProgram, 'u_channelFlag'); + this._shaderSets.at(9).uniformBaseColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(9).shaderProgram, 'u_baseColor'); + this._shaderSets.at(9).uniformMultiplyColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(9).shaderProgram, 'u_multiplyColor'); + this._shaderSets.at(9).uniformScreenColorLocation = + this.gl.getUniformLocation(this._shaderSets.at(9).shaderProgram, 'u_screenColor'); + }; + /** + * シェーダプログラムをロードしてアドレスを返す + * @param vertexShaderSource 頂点シェーダのソース + * @param fragmentShaderSource フラグメントシェーダのソース + * @return シェーダプログラムのアドレス + */ + CubismShader_WebGL.prototype.loadShaderProgram = function (vertexShaderSource, fragmentShaderSource) { + // Create Shader Program + var shaderProgram = this.gl.createProgram(); + var vertShader = this.compileShaderSource(this.gl.VERTEX_SHADER, vertexShaderSource); + if (!vertShader) { + (0, cubismdebug_1.CubismLogError)('Vertex shader compile error!'); + return 0; + } + var fragShader = this.compileShaderSource(this.gl.FRAGMENT_SHADER, fragmentShaderSource); + if (!fragShader) { + (0, cubismdebug_1.CubismLogError)('Vertex shader compile error!'); + return 0; + } + // Attach vertex shader to program + this.gl.attachShader(shaderProgram, vertShader); + // Attach fragment shader to program + this.gl.attachShader(shaderProgram, fragShader); + // link program + this.gl.linkProgram(shaderProgram); + var linkStatus = this.gl.getProgramParameter(shaderProgram, this.gl.LINK_STATUS); + // リンクに失敗したらシェーダーを削除 + if (!linkStatus) { + (0, cubismdebug_1.CubismLogError)('Failed to link program: {0}', shaderProgram); + this.gl.deleteShader(vertShader); + vertShader = 0; + this.gl.deleteShader(fragShader); + fragShader = 0; + if (shaderProgram) { + this.gl.deleteProgram(shaderProgram); + shaderProgram = 0; + } + return 0; + } + // Release vertex and fragment shaders. + this.gl.deleteShader(vertShader); + this.gl.deleteShader(fragShader); + return shaderProgram; + }; + /** + * シェーダープログラムをコンパイルする + * @param shaderType シェーダタイプ(Vertex/Fragment) + * @param shaderSource シェーダソースコード + * + * @return コンパイルされたシェーダープログラム + */ + CubismShader_WebGL.prototype.compileShaderSource = function (shaderType, shaderSource) { + var source = shaderSource; + var shader = this.gl.createShader(shaderType); + this.gl.shaderSource(shader, source); + this.gl.compileShader(shader); + if (!shader) { + var log = this.gl.getShaderInfoLog(shader); + (0, cubismdebug_1.CubismLogError)('Shader compile log: {0} ', log); + } + var status = this.gl.getShaderParameter(shader, this.gl.COMPILE_STATUS); + if (!status) { + this.gl.deleteShader(shader); + return null; + } + return shader; + }; + CubismShader_WebGL.prototype.setGl = function (gl) { + this.gl = gl; + }; + return CubismShader_WebGL; +}()); +exports.CubismShader_WebGL = CubismShader_WebGL; +/** + * CubismShader_WebGLのインナークラス + */ +var CubismShaderSet = /** @class */ (function () { + function CubismShaderSet() { + } + return CubismShaderSet; +}()); +exports.CubismShaderSet = CubismShaderSet; +var ShaderNames; +(function (ShaderNames) { + // SetupMask + ShaderNames[ShaderNames["ShaderNames_SetupMask"] = 0] = "ShaderNames_SetupMask"; + // Normal + ShaderNames[ShaderNames["ShaderNames_NormalPremultipliedAlpha"] = 1] = "ShaderNames_NormalPremultipliedAlpha"; + ShaderNames[ShaderNames["ShaderNames_NormalMaskedPremultipliedAlpha"] = 2] = "ShaderNames_NormalMaskedPremultipliedAlpha"; + ShaderNames[ShaderNames["ShaderNames_NomralMaskedInvertedPremultipliedAlpha"] = 3] = "ShaderNames_NomralMaskedInvertedPremultipliedAlpha"; + // Add + ShaderNames[ShaderNames["ShaderNames_AddPremultipliedAlpha"] = 4] = "ShaderNames_AddPremultipliedAlpha"; + ShaderNames[ShaderNames["ShaderNames_AddMaskedPremultipliedAlpha"] = 5] = "ShaderNames_AddMaskedPremultipliedAlpha"; + ShaderNames[ShaderNames["ShaderNames_AddMaskedPremultipliedAlphaInverted"] = 6] = "ShaderNames_AddMaskedPremultipliedAlphaInverted"; + // Mult + ShaderNames[ShaderNames["ShaderNames_MultPremultipliedAlpha"] = 7] = "ShaderNames_MultPremultipliedAlpha"; + ShaderNames[ShaderNames["ShaderNames_MultMaskedPremultipliedAlpha"] = 8] = "ShaderNames_MultMaskedPremultipliedAlpha"; + ShaderNames[ShaderNames["ShaderNames_MultMaskedPremultipliedAlphaInverted"] = 9] = "ShaderNames_MultMaskedPremultipliedAlphaInverted"; +})(ShaderNames || (exports.ShaderNames = ShaderNames = {})); +exports.vertexShaderSrcSetupMask = 'attribute vec4 a_position;' + + 'attribute vec2 a_texCoord;' + + 'varying vec2 v_texCoord;' + + 'varying vec4 v_myPos;' + + 'uniform mat4 u_clipMatrix;' + + 'void main()' + + '{' + + ' gl_Position = u_clipMatrix * a_position;' + + ' v_myPos = u_clipMatrix * a_position;' + + ' v_texCoord = a_texCoord;' + + ' v_texCoord.y = 1.0 - v_texCoord.y;' + + '}'; +exports.fragmentShaderSrcsetupMask = 'precision mediump float;' + + 'varying vec2 v_texCoord;' + + 'varying vec4 v_myPos;' + + 'uniform vec4 u_baseColor;' + + 'uniform vec4 u_channelFlag;' + + 'uniform sampler2D s_texture0;' + + 'void main()' + + '{' + + ' float isInside = ' + + ' step(u_baseColor.x, v_myPos.x/v_myPos.w)' + + ' * step(u_baseColor.y, v_myPos.y/v_myPos.w)' + + ' * step(v_myPos.x/v_myPos.w, u_baseColor.z)' + + ' * step(v_myPos.y/v_myPos.w, u_baseColor.w);' + + ' gl_FragColor = u_channelFlag * texture2D(s_texture0, v_texCoord).a * isInside;' + + '}'; +//----- バーテックスシェーダプログラム ----- +// Normal & Add & Mult 共通 +exports.vertexShaderSrc = 'attribute vec4 a_position;' + //v.vertex + 'attribute vec2 a_texCoord;' + //v.texcoord + 'varying vec2 v_texCoord;' + //v2f.texcoord + 'uniform mat4 u_matrix;' + + 'void main()' + + '{' + + ' gl_Position = u_matrix * a_position;' + + ' v_texCoord = a_texCoord;' + + ' v_texCoord.y = 1.0 - v_texCoord.y;' + + '}'; +// Normal & Add & Mult 共通(クリッピングされたものの描画用) +exports.vertexShaderSrcMasked = 'attribute vec4 a_position;' + + 'attribute vec2 a_texCoord;' + + 'varying vec2 v_texCoord;' + + 'varying vec4 v_clipPos;' + + 'uniform mat4 u_matrix;' + + 'uniform mat4 u_clipMatrix;' + + 'void main()' + + '{' + + ' gl_Position = u_matrix * a_position;' + + ' v_clipPos = u_clipMatrix * a_position;' + + ' v_texCoord = a_texCoord;' + + ' v_texCoord.y = 1.0 - v_texCoord.y;' + + '}'; +//----- フラグメントシェーダプログラム ----- +// Normal & Add & Mult 共通 (PremultipliedAlpha) +exports.fragmentShaderSrcPremultipliedAlpha = 'precision mediump float;' + + 'varying vec2 v_texCoord;' + //v2f.texcoord + 'uniform vec4 u_baseColor;' + + 'uniform sampler2D s_texture0;' + //_MainTex + 'uniform vec4 u_multiplyColor;' + + 'uniform vec4 u_screenColor;' + + 'void main()' + + '{' + + ' vec4 texColor = texture2D(s_texture0, v_texCoord);' + + ' texColor.rgb = texColor.rgb * u_multiplyColor.rgb;' + + ' texColor.rgb = (texColor.rgb + u_screenColor.rgb * texColor.a) - (texColor.rgb * u_screenColor.rgb);' + + ' vec4 color = texColor * u_baseColor;' + + ' gl_FragColor = vec4(color.rgb, color.a);' + + '}'; +// Normal (クリッピングされたものの描画用、PremultipliedAlpha兼用) +exports.fragmentShaderSrcMaskPremultipliedAlpha = 'precision mediump float;' + + 'varying vec2 v_texCoord;' + + 'varying vec4 v_clipPos;' + + 'uniform vec4 u_baseColor;' + + 'uniform vec4 u_channelFlag;' + + 'uniform sampler2D s_texture0;' + + 'uniform sampler2D s_texture1;' + + 'uniform vec4 u_multiplyColor;' + + 'uniform vec4 u_screenColor;' + + 'void main()' + + '{' + + ' vec4 texColor = texture2D(s_texture0, v_texCoord);' + + ' texColor.rgb = texColor.rgb * u_multiplyColor.rgb;' + + ' texColor.rgb = (texColor.rgb + u_screenColor.rgb * texColor.a) - (texColor.rgb * u_screenColor.rgb);' + + ' vec4 col_formask = texColor * u_baseColor;' + + ' vec4 clipMask = (1.0 - texture2D(s_texture1, v_clipPos.xy / v_clipPos.w)) * u_channelFlag;' + + ' float maskVal = clipMask.r + clipMask.g + clipMask.b + clipMask.a;' + + ' col_formask = col_formask * maskVal;' + + ' gl_FragColor = col_formask;' + + '}'; +// Normal & Add & Mult 共通(クリッピングされて反転使用の描画用、PremultipliedAlphaの場合) +exports.fragmentShaderSrcMaskInvertedPremultipliedAlpha = 'precision mediump float;' + + 'varying vec2 v_texCoord;' + + 'varying vec4 v_clipPos;' + + 'uniform sampler2D s_texture0;' + + 'uniform sampler2D s_texture1;' + + 'uniform vec4 u_channelFlag;' + + 'uniform vec4 u_baseColor;' + + 'uniform vec4 u_multiplyColor;' + + 'uniform vec4 u_screenColor;' + + 'void main()' + + '{' + + ' vec4 texColor = texture2D(s_texture0, v_texCoord);' + + ' texColor.rgb = texColor.rgb * u_multiplyColor.rgb;' + + ' texColor.rgb = (texColor.rgb + u_screenColor.rgb * texColor.a) - (texColor.rgb * u_screenColor.rgb);' + + ' vec4 col_formask = texColor * u_baseColor;' + + ' vec4 clipMask = (1.0 - texture2D(s_texture1, v_clipPos.xy / v_clipPos.w)) * u_channelFlag;' + + ' float maskVal = clipMask.r + clipMask.g + clipMask.b + clipMask.a;' + + ' col_formask = col_formask * (1.0 - maskVal);' + + ' gl_FragColor = col_formask;' + + '}'; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismshader_webgl")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismShaderSet = $.CubismShaderSet; + Live2DCubismFramework.CubismShader_WebGL = $.CubismShader_WebGL; + Live2DCubismFramework.ShaderNames = $.ShaderNames; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismshader_webgl.js.map \ No newline at end of file diff --git a/live2demo/Framework/rendering/cubismshader_webgl.js.map b/live2demo/Framework/rendering/cubismshader_webgl.js.map new file mode 100644 index 0000000..929c889 --- /dev/null +++ b/live2demo/Framework/rendering/cubismshader_webgl.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismshader_webgl.js","sourceRoot":"","sources":["../../src/rendering/cubismshader_webgl.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/type/csmmap.d.ts b/live2demo/Framework/type/csmmap.d.ts new file mode 100644 index 0000000..7d35682 --- /dev/null +++ b/live2demo/Framework/type/csmmap.d.ts @@ -0,0 +1,144 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +/** + * Key-Valueのペアを定義するクラス + * csmMapクラスの内部データで使用する。 + */ +export declare class csmPair<_KeyT, _ValT> { + /** + * コンストラクタ + * @param key Keyとしてセットする値 + * @param value Valueとしてセットする値 + */ + constructor(key?: _KeyT, value?: _ValT); + first: _KeyT; + second: _ValT; +} +/** + * マップ型 + */ +export declare class csmMap<_KeyT, _ValT> { + /** + * 引数付きコンストラクタ + * @param size 初期化時点で確保するサイズ + */ + constructor(size?: number); + /** + * デストラクタ + */ + release(): void; + /** + * キーを追加する + * @param key 新たに追加するキー + */ + appendKey(key: _KeyT): void; + /** + * 添字演算子[key]のオーバーロード(get) + * @param key 添字から特定されるValue値 + */ + getValue(key: _KeyT): _ValT; + /** + * 添字演算子[key]のオーバーロード(set) + * @param key 添字から特定されるValue値 + * @param value 代入するValue値 + */ + setValue(key: _KeyT, value: _ValT): void; + /** + * 引数で渡したKeyを持つ要素が存在するか + * @param key 存在を確認するkey + * @return true 引数で渡したkeyを持つ要素が存在する + * @return false 引数で渡したkeyを持つ要素が存在しない + */ + isExist(key: _KeyT): boolean; + /** + * keyValueのポインタを全て解放する + */ + clear(): void; + /** + * コンテナのサイズを取得する + * + * @return コンテナのサイズ + */ + getSize(): number; + /** + * コンテナのキャパシティを確保する + * @param newSize 新たなキャパシティ。引数の値が現在のサイズ未満の場合は何もしない。 + * @param fitToSize trueなら指定したサイズに合わせる。falseならサイズを2倍確保しておく。 + */ + prepareCapacity(newSize: number, fitToSize: boolean): void; + /** + * コンテナの先頭要素を返す + */ + begin(): iterator<_KeyT, _ValT>; + /** + * コンテナの終端要素を返す + */ + end(): iterator<_KeyT, _ValT>; + /** + * コンテナから要素を削除する + * + * @param ite 削除する要素 + */ + erase(ite: iterator<_KeyT, _ValT>): iterator<_KeyT, _ValT>; + /** + * コンテナの値を32ビット符号付き整数型でダンプする + */ + dumpAsInt(): void; + static readonly DefaultSize = 10; + _keyValues: csmPair<_KeyT, _ValT>[]; + _dummyValue: _ValT; + _size: number; +} +/** + * csmMapのイテレータ + */ +export declare class iterator<_KeyT, _ValT> { + /** + * コンストラクタ + */ + constructor(v?: csmMap<_KeyT, _ValT>, idx?: number); + /** + * =演算子のオーバーロード + */ + set(ite: iterator<_KeyT, _ValT>): iterator<_KeyT, _ValT>; + /** + * 前置き++演算子のオーバーロード + */ + preIncrement(): iterator<_KeyT, _ValT>; + /** + * 前置き--演算子のオーバーロード + */ + preDecrement(): iterator<_KeyT, _ValT>; + /** + * 後置き++演算子のオーバーロード + */ + increment(): iterator<_KeyT, _ValT>; + /** + * 後置き--演算子のオーバーロード + */ + decrement(): iterator<_KeyT, _ValT>; + /** + * *演算子のオーバーロード + */ + ptr(): csmPair<_KeyT, _ValT>; + /** + * !=演算 + */ + notEqual(ite: iterator<_KeyT, _ValT>): boolean; + _index: number; + _map: csmMap<_KeyT, _ValT>; +} +import * as $ from './csmmap'; +export declare namespace Live2DCubismFramework { + const csmMap: typeof $.csmMap; + type csmMap = $.csmMap; + const csmPair: typeof $.csmPair; + type csmPair = $.csmPair; + const iterator: typeof $.iterator; + type iterator = $.iterator; +} +//# sourceMappingURL=csmmap.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/type/csmmap.d.ts.map b/live2demo/Framework/type/csmmap.d.ts.map new file mode 100644 index 0000000..b46877f --- /dev/null +++ b/live2demo/Framework/type/csmmap.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"csmmap.d.ts","sourceRoot":"","sources":["../../src/type/csmmap.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/type/csmmap.js b/live2demo/Framework/type/csmmap.js new file mode 100644 index 0000000..33c4dab --- /dev/null +++ b/live2demo/Framework/type/csmmap.js @@ -0,0 +1,301 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.iterator = exports.csmMap = exports.csmPair = void 0; +var cubismdebug_1 = require("../utils/cubismdebug"); +/** + * Key-Valueのペアを定義するクラス + * csmMapクラスの内部データで使用する。 + */ +var csmPair = /** @class */ (function () { + /** + * コンストラクタ + * @param key Keyとしてセットする値 + * @param value Valueとしてセットする値 + */ + function csmPair(key, value) { + this.first = key == undefined ? null : key; + this.second = value == undefined ? null : value; + } + return csmPair; +}()); +exports.csmPair = csmPair; +/** + * マップ型 + */ +var csmMap = /** @class */ (function () { + /** + * 引数付きコンストラクタ + * @param size 初期化時点で確保するサイズ + */ + function csmMap(size) { + if (size != undefined) { + if (size < 1) { + this._keyValues = []; + this._dummyValue = null; + this._size = 0; + } + else { + this._keyValues = new Array(size); + this._size = size; + } + } + else { + this._keyValues = []; + this._dummyValue = null; + this._size = 0; + } + } + /** + * デストラクタ + */ + csmMap.prototype.release = function () { + this.clear(); + }; + /** + * キーを追加する + * @param key 新たに追加するキー + */ + csmMap.prototype.appendKey = function (key) { + // 新しくKey/Valueのペアを作る + this.prepareCapacity(this._size + 1, false); // 1つ以上入る隙間を作る + // 新しいkey/valueのインデックスは_size + this._keyValues[this._size] = new csmPair(key); + this._size += 1; + }; + /** + * 添字演算子[key]のオーバーロード(get) + * @param key 添字から特定されるValue値 + */ + csmMap.prototype.getValue = function (key) { + var found = -1; + for (var i = 0; i < this._size; i++) { + if (this._keyValues[i].first == key) { + found = i; + break; + } + } + if (found >= 0) { + return this._keyValues[found].second; + } + else { + this.appendKey(key); // 新規キーを追加 + return this._keyValues[this._size - 1].second; + } + }; + /** + * 添字演算子[key]のオーバーロード(set) + * @param key 添字から特定されるValue値 + * @param value 代入するValue値 + */ + csmMap.prototype.setValue = function (key, value) { + var found = -1; + for (var i = 0; i < this._size; i++) { + if (this._keyValues[i].first == key) { + found = i; + break; + } + } + if (found >= 0) { + this._keyValues[found].second = value; + } + else { + this.appendKey(key); // 新規キーを追加 + this._keyValues[this._size - 1].second = value; + } + }; + /** + * 引数で渡したKeyを持つ要素が存在するか + * @param key 存在を確認するkey + * @return true 引数で渡したkeyを持つ要素が存在する + * @return false 引数で渡したkeyを持つ要素が存在しない + */ + csmMap.prototype.isExist = function (key) { + for (var i = 0; i < this._size; i++) { + if (this._keyValues[i].first == key) { + return true; + } + } + return false; + }; + /** + * keyValueのポインタを全て解放する + */ + csmMap.prototype.clear = function () { + this._keyValues = void 0; + this._keyValues = null; + this._keyValues = []; + this._size = 0; + }; + /** + * コンテナのサイズを取得する + * + * @return コンテナのサイズ + */ + csmMap.prototype.getSize = function () { + return this._size; + }; + /** + * コンテナのキャパシティを確保する + * @param newSize 新たなキャパシティ。引数の値が現在のサイズ未満の場合は何もしない。 + * @param fitToSize trueなら指定したサイズに合わせる。falseならサイズを2倍確保しておく。 + */ + csmMap.prototype.prepareCapacity = function (newSize, fitToSize) { + if (newSize > this._keyValues.length) { + if (this._keyValues.length == 0) { + if (!fitToSize && newSize < csmMap.DefaultSize) + newSize = csmMap.DefaultSize; + this._keyValues.length = newSize; + } + else { + if (!fitToSize && newSize < this._keyValues.length * 2) + newSize = this._keyValues.length * 2; + this._keyValues.length = newSize; + } + } + }; + /** + * コンテナの先頭要素を返す + */ + csmMap.prototype.begin = function () { + var ite = new iterator(this, 0); + return ite; + }; + /** + * コンテナの終端要素を返す + */ + csmMap.prototype.end = function () { + var ite = new iterator(this, this._size); // 終了 + return ite; + }; + /** + * コンテナから要素を削除する + * + * @param ite 削除する要素 + */ + csmMap.prototype.erase = function (ite) { + var index = ite._index; + if (index < 0 || this._size <= index) { + return ite; // 削除範囲外 + } + // 削除 + this._keyValues.splice(index, 1); + --this._size; + var ite2 = new iterator(this, index); // 終了 + return ite2; + }; + /** + * コンテナの値を32ビット符号付き整数型でダンプする + */ + csmMap.prototype.dumpAsInt = function () { + for (var i = 0; i < this._size; i++) { + (0, cubismdebug_1.CubismLogDebug)('{0} ,', this._keyValues[i]); + (0, cubismdebug_1.CubismLogDebug)('\n'); + } + }; + csmMap.DefaultSize = 10; // コンテナの初期化のデフォルトサイズ + return csmMap; +}()); +exports.csmMap = csmMap; +/** + * csmMapのイテレータ + */ +var iterator = /** @class */ (function () { + /** + * コンストラクタ + */ + function iterator(v, idx) { + this._map = v != undefined ? v : new csmMap(); + this._index = idx != undefined ? idx : 0; + } + /** + * =演算子のオーバーロード + */ + iterator.prototype.set = function (ite) { + this._index = ite._index; + this._map = ite._map; + return this; + }; + /** + * 前置き++演算子のオーバーロード + */ + iterator.prototype.preIncrement = function () { + ++this._index; + return this; + }; + /** + * 前置き--演算子のオーバーロード + */ + iterator.prototype.preDecrement = function () { + --this._index; + return this; + }; + /** + * 後置き++演算子のオーバーロード + */ + iterator.prototype.increment = function () { + var iteold = new iterator(this._map, this._index++); // 古い値を保存 + return iteold; + }; + /** + * 後置き--演算子のオーバーロード + */ + iterator.prototype.decrement = function () { + var iteold = new iterator(this._map, this._index); // 古い値を保存 + this._map = iteold._map; + this._index = iteold._index; + return this; + }; + /** + * *演算子のオーバーロード + */ + iterator.prototype.ptr = function () { + return this._map._keyValues[this._index]; + }; + /** + * !=演算 + */ + iterator.prototype.notEqual = function (ite) { + return this._index != ite._index || this._map != ite._map; + }; + return iterator; +}()); +exports.iterator = iterator; +// Namespace definition for compatibility. +var $ = __importStar(require("./csmmap")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.csmMap = $.csmMap; + Live2DCubismFramework.csmPair = $.csmPair; + Live2DCubismFramework.iterator = $.iterator; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=csmmap.js.map \ No newline at end of file diff --git a/live2demo/Framework/type/csmmap.js.map b/live2demo/Framework/type/csmmap.js.map new file mode 100644 index 0000000..1d03bd2 --- /dev/null +++ b/live2demo/Framework/type/csmmap.js.map @@ -0,0 +1 @@ +{"version":3,"file":"csmmap.js","sourceRoot":"","sources":["../../src/type/csmmap.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/type/csmrectf.d.ts b/live2demo/Framework/type/csmrectf.d.ts new file mode 100644 index 0000000..02c3aba --- /dev/null +++ b/live2demo/Framework/type/csmrectf.d.ts @@ -0,0 +1,56 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +/** + * 矩形形状(座標・長さはfloat値)を定義するクラス + */ +export declare class csmRect { + /** + * コンストラクタ + * @param x 左端X座標 + * @param y 上端Y座標 + * @param w 幅 + * @param h 高さ + */ + constructor(x?: number, y?: number, w?: number, h?: number); + /** + * 矩形中央のX座標を取得する + */ + getCenterX(): number; + /** + * 矩形中央のY座標を取得する + */ + getCenterY(): number; + /** + * 右側のX座標を取得する + */ + getRight(): number; + /** + * 下端のY座標を取得する + */ + getBottom(): number; + /** + * 矩形に値をセットする + * @param r 矩形のインスタンス + */ + setRect(r: csmRect): void; + /** + * 矩形中央を軸にして縦横を拡縮する + * @param w 幅方向に拡縮する量 + * @param h 高さ方向に拡縮する量 + */ + expand(w: number, h: number): void; + x: number; + y: number; + width: number; + height: number; +} +import * as $ from './csmrectf'; +export declare namespace Live2DCubismFramework { + const csmRect: typeof $.csmRect; + type csmRect = $.csmRect; +} +//# sourceMappingURL=csmrectf.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/type/csmrectf.d.ts.map b/live2demo/Framework/type/csmrectf.d.ts.map new file mode 100644 index 0000000..43de5fc --- /dev/null +++ b/live2demo/Framework/type/csmrectf.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"csmrectf.d.ts","sourceRoot":"","sources":["../../src/type/csmrectf.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,qBAAa,OAAO;IAClB;;;;;;OAMG;gBACgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM;IAOjE;;OAEG;IACI,UAAU,IAAI,MAAM;IAI3B;;OAEG;IACI,UAAU,IAAI,MAAM;IAI3B;;OAEG;IACI,QAAQ,IAAI,MAAM;IAIzB;;OAEG;IACI,SAAS,IAAI,MAAM;IAI1B;;;OAGG;IACI,OAAO,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI;IAOhC;;;;OAIG;IACI,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAO3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACvB;AAGD,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAEhC,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,OAAO,kBAAY,CAAC;IACjC,KAAY,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;CACjC"} \ No newline at end of file diff --git a/live2demo/Framework/type/csmrectf.js b/live2demo/Framework/type/csmrectf.js new file mode 100644 index 0000000..593a026 --- /dev/null +++ b/live2demo/Framework/type/csmrectf.js @@ -0,0 +1,105 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.csmRect = void 0; +/** + * 矩形形状(座標・長さはfloat値)を定義するクラス + */ +var csmRect = /** @class */ (function () { + /** + * コンストラクタ + * @param x 左端X座標 + * @param y 上端Y座標 + * @param w 幅 + * @param h 高さ + */ + function csmRect(x, y, w, h) { + this.x = x; + this.y = y; + this.width = w; + this.height = h; + } + /** + * 矩形中央のX座標を取得する + */ + csmRect.prototype.getCenterX = function () { + return this.x + 0.5 * this.width; + }; + /** + * 矩形中央のY座標を取得する + */ + csmRect.prototype.getCenterY = function () { + return this.y + 0.5 * this.height; + }; + /** + * 右側のX座標を取得する + */ + csmRect.prototype.getRight = function () { + return this.x + this.width; + }; + /** + * 下端のY座標を取得する + */ + csmRect.prototype.getBottom = function () { + return this.y + this.height; + }; + /** + * 矩形に値をセットする + * @param r 矩形のインスタンス + */ + csmRect.prototype.setRect = function (r) { + this.x = r.x; + this.y = r.y; + this.width = r.width; + this.height = r.height; + }; + /** + * 矩形中央を軸にして縦横を拡縮する + * @param w 幅方向に拡縮する量 + * @param h 高さ方向に拡縮する量 + */ + csmRect.prototype.expand = function (w, h) { + this.x -= w; + this.y -= h; + this.width += w * 2.0; + this.height += h * 2.0; + }; + return csmRect; +}()); +exports.csmRect = csmRect; +// Namespace definition for compatibility. +var $ = __importStar(require("./csmrectf")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.csmRect = $.csmRect; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=csmrectf.js.map \ No newline at end of file diff --git a/live2demo/Framework/type/csmrectf.js.map b/live2demo/Framework/type/csmrectf.js.map new file mode 100644 index 0000000..40ee7f2 --- /dev/null +++ b/live2demo/Framework/type/csmrectf.js.map @@ -0,0 +1 @@ +{"version":3,"file":"csmrectf.js","sourceRoot":"","sources":["../../src/type/csmrectf.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH;;GAEG;AACH;IACE;;;;;;OAMG;IACH,iBAAmB,CAAU,EAAE,CAAU,EAAE,CAAU,EAAE,CAAU;QAC/D,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAClB,CAAC;IAED;;OAEG;IACI,4BAAU,GAAjB;QACE,OAAO,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;IACnC,CAAC;IAED;;OAEG;IACI,4BAAU,GAAjB;QACE,OAAO,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;IACpC,CAAC;IAED;;OAEG;IACI,0BAAQ,GAAf;QACE,OAAO,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;IAC7B,CAAC;IAED;;OAEG;IACI,2BAAS,GAAhB;QACE,OAAO,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACI,yBAAO,GAAd,UAAe,CAAU;QACvB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACb,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACI,wBAAM,GAAb,UAAc,CAAS,EAAE,CAAS;QAChC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,GAAG,CAAC;IACzB,CAAC;IAMH,cAAC;AAAD,CAAC,AAtED,IAsEC;AAtEY,0BAAO;AAwEpB,0CAA0C;AAC1C,4CAAgC;AAChC,2DAA2D;AAC3D,IAAiB,qBAAqB,CAGrC;AAHD,WAAiB,qBAAqB;IACvB,6BAAO,GAAG,CAAC,CAAC,OAAO,CAAC;AAEnC,CAAC,EAHgB,qBAAqB,qCAArB,qBAAqB,QAGrC"} \ No newline at end of file diff --git a/live2demo/Framework/type/csmstring.d.ts b/live2demo/Framework/type/csmstring.d.ts new file mode 100644 index 0000000..a3c3c17 --- /dev/null +++ b/live2demo/Framework/type/csmstring.d.ts @@ -0,0 +1,71 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +/** + * 文字列クラス。 + */ +export declare class csmString { + /** + * 文字列を後方に追加する + * + * @param c 追加する文字列 + * @return 更新された文字列 + */ + append(c: string, length?: number): csmString; + /** + * 文字サイズを拡張して文字を埋める + * @param length 拡張する文字数 + * @param v 埋める文字 + * @return 更新された文字列 + */ + expansion(length: number, v: string): csmString; + /** + * 文字列の長さをバイト数で取得する + */ + getBytes(): number; + /** + * 文字列の長さを返す + */ + getLength(): number; + /** + * 文字列比較 < + * @param s 比較する文字列 + * @return true: 比較する文字列より小さい + * @return false: 比較する文字列より大きい + */ + isLess(s: csmString): boolean; + /** + * 文字列比較 > + * @param s 比較する文字列 + * @return true: 比較する文字列より大きい + * @return false: 比較する文字列より小さい + */ + isGreat(s: csmString): boolean; + /** + * 文字列比較 == + * @param s 比較する文字列 + * @return true: 比較する文字列と等しい + * @return false: 比較する文字列と異なる + */ + isEqual(s: string): boolean; + /** + * 文字列が空かどうか + * @return true: 空の文字列 + * @return false: 値が設定されている + */ + isEmpty(): boolean; + /** + * 引数付きコンストラクタ + */ + constructor(s: string); + s: string; +} +import * as $ from './csmstring'; +export declare namespace Live2DCubismFramework { + const csmString: typeof $.csmString; + type csmString = $.csmString; +} +//# sourceMappingURL=csmstring.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/type/csmstring.d.ts.map b/live2demo/Framework/type/csmstring.d.ts.map new file mode 100644 index 0000000..025c45e --- /dev/null +++ b/live2demo/Framework/type/csmstring.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"csmstring.d.ts","sourceRoot":"","sources":["../../src/type/csmstring.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,qBAAa,SAAS;IACpB;;;;;OAKG;IACI,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS;IAMpD;;;;;OAKG;IACI,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS;IAQtD;;OAEG;IACI,QAAQ,IAAI,MAAM;IAIzB;;OAEG;IACI,SAAS,IAAI,MAAM;IAI1B;;;;;OAKG;IACI,MAAM,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO;IAIpC;;;;;OAKG;IACI,OAAO,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO;IAIrC;;;;;OAKG;IACI,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAIlC;;;;OAIG;IACI,OAAO,IAAI,OAAO;IAIzB;;OAEG;gBACgB,CAAC,EAAE,MAAM;IAI5B,CAAC,EAAE,MAAM,CAAC;CACX;AAGD,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AAEjC,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,SAAS,oBAAc,CAAC;IACrC,KAAY,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;CACrC"} \ No newline at end of file diff --git a/live2demo/Framework/type/csmstring.js b/live2demo/Framework/type/csmstring.js new file mode 100644 index 0000000..252d187 --- /dev/null +++ b/live2demo/Framework/type/csmstring.js @@ -0,0 +1,122 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.csmString = void 0; +/** + * 文字列クラス。 + */ +var csmString = /** @class */ (function () { + /** + * 引数付きコンストラクタ + */ + function csmString(s) { + this.s = s; + } + /** + * 文字列を後方に追加する + * + * @param c 追加する文字列 + * @return 更新された文字列 + */ + csmString.prototype.append = function (c, length) { + this.s += length !== undefined ? c.substr(0, length) : c; + return this; + }; + /** + * 文字サイズを拡張して文字を埋める + * @param length 拡張する文字数 + * @param v 埋める文字 + * @return 更新された文字列 + */ + csmString.prototype.expansion = function (length, v) { + for (var i = 0; i < length; i++) { + this.append(v); + } + return this; + }; + /** + * 文字列の長さをバイト数で取得する + */ + csmString.prototype.getBytes = function () { + return encodeURIComponent(this.s).replace(/%../g, 'x').length; + }; + /** + * 文字列の長さを返す + */ + csmString.prototype.getLength = function () { + return this.s.length; + }; + /** + * 文字列比較 < + * @param s 比較する文字列 + * @return true: 比較する文字列より小さい + * @return false: 比較する文字列より大きい + */ + csmString.prototype.isLess = function (s) { + return this.s < s.s; + }; + /** + * 文字列比較 > + * @param s 比較する文字列 + * @return true: 比較する文字列より大きい + * @return false: 比較する文字列より小さい + */ + csmString.prototype.isGreat = function (s) { + return this.s > s.s; + }; + /** + * 文字列比較 == + * @param s 比較する文字列 + * @return true: 比較する文字列と等しい + * @return false: 比較する文字列と異なる + */ + csmString.prototype.isEqual = function (s) { + return this.s == s; + }; + /** + * 文字列が空かどうか + * @return true: 空の文字列 + * @return false: 値が設定されている + */ + csmString.prototype.isEmpty = function () { + return this.s.length == 0; + }; + return csmString; +}()); +exports.csmString = csmString; +// Namespace definition for compatibility. +var $ = __importStar(require("./csmstring")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.csmString = $.csmString; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=csmstring.js.map \ No newline at end of file diff --git a/live2demo/Framework/type/csmstring.js.map b/live2demo/Framework/type/csmstring.js.map new file mode 100644 index 0000000..8461acb --- /dev/null +++ b/live2demo/Framework/type/csmstring.js.map @@ -0,0 +1 @@ +{"version":3,"file":"csmstring.js","sourceRoot":"","sources":["../../src/type/csmstring.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH;;GAEG;AACH;IAgFE;;OAEG;IACH,mBAAmB,CAAS;QAC1B,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IApFD;;;;;OAKG;IACI,0BAAM,GAAb,UAAc,CAAS,EAAE,MAAe;QACtC,IAAI,CAAC,CAAC,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACI,6BAAS,GAAhB,UAAiB,MAAc,EAAE,CAAS;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAChB;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACI,4BAAQ,GAAf;QACE,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;IAChE,CAAC;IAED;;OAEG;IACI,6BAAS,GAAhB;QACE,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACI,0BAAM,GAAb,UAAc,CAAY;QACxB,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACI,2BAAO,GAAd,UAAe,CAAY;QACzB,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACI,2BAAO,GAAd,UAAe,CAAS;QACtB,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACI,2BAAO,GAAd;QACE,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;IAC5B,CAAC;IAUH,gBAAC;AAAD,CAAC,AAxFD,IAwFC;AAxFY,8BAAS;AA0FtB,0CAA0C;AAC1C,6CAAiC;AACjC,2DAA2D;AAC3D,IAAiB,qBAAqB,CAGrC;AAHD,WAAiB,qBAAqB;IACvB,+BAAS,GAAG,CAAC,CAAC,SAAS,CAAC;AAEvC,CAAC,EAHgB,qBAAqB,qCAArB,qBAAqB,QAGrC"} \ No newline at end of file diff --git a/live2demo/Framework/type/csmvector.d.ts b/live2demo/Framework/type/csmvector.d.ts new file mode 100644 index 0000000..44e3e4f --- /dev/null +++ b/live2demo/Framework/type/csmvector.d.ts @@ -0,0 +1,144 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +/** + * ベクター型(可変配列型) + */ +export declare class csmVector { + /** + * 引数付きコンストラクタ + * @param iniitalCapacity 初期化後のキャパシティ。データサイズは_capacity * sizeof(T) + * @param zeroClear trueなら初期化時に確保した領域を0で埋める + */ + constructor(initialCapacity?: number); + /** + * インデックスで指定した要素を返す + */ + at(index: number): T; + /** + * 要素をセット + * @param index 要素をセットするインデックス + * @param value セットする要素 + */ + set(index: number, value: T): void; + /** + * コンテナを取得する + */ + get(offset?: number): T[]; + /** + * pushBack処理、コンテナに新たな要素を追加する + * @param value PushBack処理で追加する値 + */ + pushBack(value: T): void; + /** + * コンテナの全要素を解放する + */ + clear(): void; + /** + * コンテナの要素数を返す + * @return コンテナの要素数 + */ + getSize(): number; + /** + * コンテナの全要素に対して代入処理を行う + * @param newSize 代入処理後のサイズ + * @param value 要素に代入する値 + */ + assign(newSize: number, value: T): void; + /** + * サイズ変更 + */ + resize(newSize: number, value?: T): void; + /** + * サイズ変更 + */ + updateSize(newSize: number, value?: any, callPlacementNew?: boolean): void; + /** + * コンテナにコンテナ要素を挿入する + * @param position 挿入する位置 + * @param begin 挿入するコンテナの開始位置 + * @param end 挿入するコンテナの終端位置 + */ + insert(position: iterator, begin: iterator, end: iterator): void; + /** + * コンテナからインデックスで指定した要素を削除する + * @param index インデックス値 + * @return true 削除実行 + * @return false 削除範囲外 + */ + remove(index: number): boolean; + /** + * コンテナから要素を削除して他の要素をシフトする + * @param ite 削除する要素 + */ + erase(ite: iterator): iterator; + /** + * コンテナのキャパシティを確保する + * @param newSize 新たなキャパシティ。引数の値が現在のサイズ未満の場合は何もしない. + */ + prepareCapacity(newSize: number): void; + /** + * コンテナの先頭要素を返す + */ + begin(): iterator; + /** + * コンテナの終端要素を返す + */ + end(): iterator; + getOffset(offset: number): csmVector; + _ptr: T[]; + _size: number; + _capacity: number; + static readonly s_defaultSize = 10; +} +export declare class iterator { + /** + * コンストラクタ + */ + constructor(v?: csmVector, index?: number); + /** + * 代入 + */ + set(ite: iterator): iterator; + /** + * 前置き++演算 + */ + preIncrement(): iterator; + /** + * 前置き--演算 + */ + preDecrement(): iterator; + /** + * 後置き++演算子 + */ + increment(): iterator; + /** + * 後置き--演算子 + */ + decrement(): iterator; + /** + * ptr + */ + ptr(): T; + /** + * =演算子のオーバーロード + */ + substitution(ite: iterator): iterator; + /** + * !=演算子のオーバーロード + */ + notEqual(ite: iterator): boolean; + _index: number; + _vector: csmVector; +} +import * as $ from './csmvector'; +export declare namespace Live2DCubismFramework { + const csmVector: typeof $.csmVector; + type csmVector = $.csmVector; + const iterator: typeof $.iterator; + type iterator = $.iterator; +} +//# sourceMappingURL=csmvector.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/type/csmvector.d.ts.map b/live2demo/Framework/type/csmvector.d.ts.map new file mode 100644 index 0000000..77ccadf --- /dev/null +++ b/live2demo/Framework/type/csmvector.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"csmvector.d.ts","sourceRoot":"","sources":["../../src/type/csmvector.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/type/csmvector.js b/live2demo/Framework/type/csmvector.js new file mode 100644 index 0000000..9c8a37e --- /dev/null +++ b/live2demo/Framework/type/csmvector.js @@ -0,0 +1,329 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.iterator = exports.csmVector = void 0; +/** + * ベクター型(可変配列型) + */ +var csmVector = /** @class */ (function () { + /** + * 引数付きコンストラクタ + * @param iniitalCapacity 初期化後のキャパシティ。データサイズは_capacity * sizeof(T) + * @param zeroClear trueなら初期化時に確保した領域を0で埋める + */ + function csmVector(initialCapacity) { + if (initialCapacity === void 0) { initialCapacity = 0; } + if (initialCapacity < 1) { + this._ptr = []; + this._capacity = 0; + this._size = 0; + } + else { + this._ptr = new Array(initialCapacity); + this._capacity = initialCapacity; + this._size = 0; + } + } + /** + * インデックスで指定した要素を返す + */ + csmVector.prototype.at = function (index) { + return this._ptr[index]; + }; + /** + * 要素をセット + * @param index 要素をセットするインデックス + * @param value セットする要素 + */ + csmVector.prototype.set = function (index, value) { + this._ptr[index] = value; + }; + /** + * コンテナを取得する + */ + csmVector.prototype.get = function (offset) { + if (offset === void 0) { offset = 0; } + var ret = new Array(); + for (var i = offset; i < this._size; i++) { + ret.push(this._ptr[i]); + } + return ret; + }; + /** + * pushBack処理、コンテナに新たな要素を追加する + * @param value PushBack処理で追加する値 + */ + csmVector.prototype.pushBack = function (value) { + if (this._size >= this._capacity) { + this.prepareCapacity(this._capacity == 0 ? csmVector.s_defaultSize : this._capacity * 2); + } + this._ptr[this._size++] = value; + }; + /** + * コンテナの全要素を解放する + */ + csmVector.prototype.clear = function () { + this._ptr.length = 0; + this._size = 0; + }; + /** + * コンテナの要素数を返す + * @return コンテナの要素数 + */ + csmVector.prototype.getSize = function () { + return this._size; + }; + /** + * コンテナの全要素に対して代入処理を行う + * @param newSize 代入処理後のサイズ + * @param value 要素に代入する値 + */ + csmVector.prototype.assign = function (newSize, value) { + var curSize = this._size; + if (curSize < newSize) { + this.prepareCapacity(newSize); // capacity更新 + } + for (var i = 0; i < newSize; i++) { + this._ptr[i] = value; + } + this._size = newSize; + }; + /** + * サイズ変更 + */ + csmVector.prototype.resize = function (newSize, value) { + if (value === void 0) { value = null; } + this.updateSize(newSize, value, true); + }; + /** + * サイズ変更 + */ + csmVector.prototype.updateSize = function (newSize, value, callPlacementNew) { + if (value === void 0) { value = null; } + if (callPlacementNew === void 0) { callPlacementNew = true; } + var curSize = this._size; + if (curSize < newSize) { + this.prepareCapacity(newSize); // capacity更新 + if (callPlacementNew) { + for (var i = this._size; i < newSize; i++) { + if (typeof value == 'function') { + // new + this._ptr[i] = JSON.parse(JSON.stringify(new value())); + } // プリミティブ型なので値渡し + else { + this._ptr[i] = value; + } + } + } + else { + for (var i = this._size; i < newSize; i++) { + this._ptr[i] = value; + } + } + } + else { + // newSize <= this._size + //--- + var sub = this._size - newSize; + this._ptr.splice(this._size - sub, sub); // 不要なので破棄する + } + this._size = newSize; + }; + /** + * コンテナにコンテナ要素を挿入する + * @param position 挿入する位置 + * @param begin 挿入するコンテナの開始位置 + * @param end 挿入するコンテナの終端位置 + */ + csmVector.prototype.insert = function (position, begin, end) { + var dstSi = position._index; + var srcSi = begin._index; + var srcEi = end._index; + var addCount = srcEi - srcSi; + this.prepareCapacity(this._size + addCount); + // 挿入用の既存データをシフトして隙間を作る + var addSize = this._size - dstSi; + if (addSize > 0) { + for (var i = 0; i < addSize; i++) { + this._ptr.splice(dstSi + i, 0, null); + } + } + for (var i = srcSi; i < srcEi; i++, dstSi++) { + this._ptr[dstSi] = begin._vector._ptr[i]; + } + this._size = this._size + addCount; + }; + /** + * コンテナからインデックスで指定した要素を削除する + * @param index インデックス値 + * @return true 削除実行 + * @return false 削除範囲外 + */ + csmVector.prototype.remove = function (index) { + if (index < 0 || this._size <= index) { + return false; // 削除範囲外 + } + this._ptr.splice(index, 1); + --this._size; + return true; + }; + /** + * コンテナから要素を削除して他の要素をシフトする + * @param ite 削除する要素 + */ + csmVector.prototype.erase = function (ite) { + var index = ite._index; + if (index < 0 || this._size <= index) { + return ite; // 削除範囲外 + } + // 削除 + this._ptr.splice(index, 1); + --this._size; + var ite2 = new iterator(this, index); // 終了 + return ite2; + }; + /** + * コンテナのキャパシティを確保する + * @param newSize 新たなキャパシティ。引数の値が現在のサイズ未満の場合は何もしない. + */ + csmVector.prototype.prepareCapacity = function (newSize) { + if (newSize > this._capacity) { + if (this._capacity == 0) { + this._ptr = new Array(newSize); + this._capacity = newSize; + } + else { + this._ptr.length = newSize; + this._capacity = newSize; + } + } + }; + /** + * コンテナの先頭要素を返す + */ + csmVector.prototype.begin = function () { + var ite = this._size == 0 ? this.end() : new iterator(this, 0); + return ite; + }; + /** + * コンテナの終端要素を返す + */ + csmVector.prototype.end = function () { + var ite = new iterator(this, this._size); + return ite; + }; + csmVector.prototype.getOffset = function (offset) { + var newVector = new csmVector(); + newVector._ptr = this.get(offset); + newVector._size = this.get(offset).length; + newVector._capacity = this.get(offset).length; + return newVector; + }; + csmVector.s_defaultSize = 10; // コンテナ初期化のデフォルトサイズ + return csmVector; +}()); +exports.csmVector = csmVector; +var iterator = /** @class */ (function () { + /** + * コンストラクタ + */ + function iterator(v, index) { + this._vector = v != undefined ? v : null; + this._index = index != undefined ? index : 0; + } + /** + * 代入 + */ + iterator.prototype.set = function (ite) { + this._index = ite._index; + this._vector = ite._vector; + return this; + }; + /** + * 前置き++演算 + */ + iterator.prototype.preIncrement = function () { + ++this._index; + return this; + }; + /** + * 前置き--演算 + */ + iterator.prototype.preDecrement = function () { + --this._index; + return this; + }; + /** + * 後置き++演算子 + */ + iterator.prototype.increment = function () { + var iteold = new iterator(this._vector, this._index++); // 古い値を保存 + return iteold; + }; + /** + * 後置き--演算子 + */ + iterator.prototype.decrement = function () { + var iteold = new iterator(this._vector, this._index--); // 古い値を保存 + return iteold; + }; + /** + * ptr + */ + iterator.prototype.ptr = function () { + return this._vector._ptr[this._index]; + }; + /** + * =演算子のオーバーロード + */ + iterator.prototype.substitution = function (ite) { + this._index = ite._index; + this._vector = ite._vector; + return this; + }; + /** + * !=演算子のオーバーロード + */ + iterator.prototype.notEqual = function (ite) { + return this._index != ite._index || this._vector != ite._vector; + }; + return iterator; +}()); +exports.iterator = iterator; +// Namespace definition for compatibility. +var $ = __importStar(require("./csmvector")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.csmVector = $.csmVector; + Live2DCubismFramework.iterator = $.iterator; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=csmvector.js.map \ No newline at end of file diff --git a/live2demo/Framework/type/csmvector.js.map b/live2demo/Framework/type/csmvector.js.map new file mode 100644 index 0000000..45de157 --- /dev/null +++ b/live2demo/Framework/type/csmvector.js.map @@ -0,0 +1 @@ +{"version":3,"file":"csmvector.js","sourceRoot":"","sources":["../../src/type/csmvector.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/utils/cubismdebug.d.ts b/live2demo/Framework/utils/cubismdebug.d.ts new file mode 100644 index 0000000..29d563f --- /dev/null +++ b/live2demo/Framework/utils/cubismdebug.d.ts @@ -0,0 +1,49 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { LogLevel } from '../live2dcubismframework'; +export declare const CubismLogPrint: (level: LogLevel, fmt: string, args: any[]) => void; +export declare const CubismLogPrintIn: (level: LogLevel, fmt: string, args: any[]) => void; +export declare const CSM_ASSERT: (expr: any) => void; +export declare let CubismLogVerbose: (fmt: string, ...args: any[]) => void; +export declare let CubismLogDebug: (fmt: string, ...args: any[]) => void; +export declare let CubismLogInfo: (fmt: string, ...args: any[]) => void; +export declare let CubismLogWarning: (fmt: string, ...args: any[]) => void; +export declare let CubismLogError: (fmt: string, ...args: any[]) => void; +/** + * デバッグ用のユーティリティクラス。 + * ログの出力、バイトのダンプなど + */ +export declare class CubismDebug { + /** + * ログを出力する。第一引数にログレベルを設定する。 + * CubismFramework.initialize()時にオプションで設定されたログ出力レベルを下回る場合はログに出さない。 + * + * @param logLevel ログレベルの設定 + * @param format 書式付き文字列 + * @param args 可変長引数 + */ + static print(logLevel: LogLevel, format: string, args?: any[]): void; + /** + * データから指定した長さだけダンプ出力する。 + * CubismFramework.initialize()時にオプションで設定されたログ出力レベルを下回る場合はログに出さない。 + * + * @param logLevel ログレベルの設定 + * @param data ダンプするデータ + * @param length ダンプする長さ + */ + static dumpBytes(logLevel: LogLevel, data: Uint8Array, length: number): void; + /** + * private コンストラクタ + */ + private constructor(); +} +import * as $ from './cubismdebug'; +export declare namespace Live2DCubismFramework { + const CubismDebug: typeof $.CubismDebug; + type CubismDebug = $.CubismDebug; +} +//# sourceMappingURL=cubismdebug.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/utils/cubismdebug.d.ts.map b/live2demo/Framework/utils/cubismdebug.d.ts.map new file mode 100644 index 0000000..18f4477 --- /dev/null +++ b/live2demo/Framework/utils/cubismdebug.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismdebug.d.ts","sourceRoot":"","sources":["../../src/utils/cubismdebug.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,EAAmB,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAErE,eAAO,MAAM,cAAc,UAAW,QAAQ,OAAO,MAAM,QAAQ,GAAG,EAAE,SAEvE,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAAW,QAAQ,OAAO,MAAM,QAAQ,GAAG,EAAE,SAEzE,CAAC;AAEF,eAAO,MAAM,UAAU,SAAU,GAAG,SAEnC,CAAC;AAEF,eAAO,IAAI,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AACnE,eAAO,IAAI,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AACjE,eAAO,IAAI,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAChE,eAAO,IAAI,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AACnE,eAAO,IAAI,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAgEjE;;;GAGG;AACH,qBAAa,WAAW;IACtB;;;;;;;OAOG;WACW,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI;IAiB3E;;;;;;;OAOG;WACW,SAAS,CACrB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,GACb,IAAI;IAUP;;OAEG;IACH,OAAO;CACR;AAGD,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AAEnC,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,WAAW,sBAAgB,CAAC;IACzC,KAAY,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;CACzC"} \ No newline at end of file diff --git a/live2demo/Framework/utils/cubismdebug.js b/live2demo/Framework/utils/cubismdebug.js new file mode 100644 index 0000000..ef94a54 --- /dev/null +++ b/live2demo/Framework/utils/cubismdebug.js @@ -0,0 +1,221 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.CubismDebug = exports.CubismLogError = exports.CubismLogWarning = exports.CubismLogInfo = exports.CubismLogDebug = exports.CubismLogVerbose = exports.CSM_ASSERT = exports.CubismLogPrintIn = exports.CubismLogPrint = void 0; +var cubismframeworkconfig_1 = require("../cubismframeworkconfig"); +var live2dcubismframework_1 = require("../live2dcubismframework"); +var CubismLogPrint = function (level, fmt, args) { + CubismDebug.print(level, '[CSM]' + fmt, args); +}; +exports.CubismLogPrint = CubismLogPrint; +var CubismLogPrintIn = function (level, fmt, args) { + (0, exports.CubismLogPrint)(level, fmt + '\n', args); +}; +exports.CubismLogPrintIn = CubismLogPrintIn; +var CSM_ASSERT = function (expr) { + console.assert(expr); +}; +exports.CSM_ASSERT = CSM_ASSERT; +if (cubismframeworkconfig_1.CSM_LOG_LEVEL <= cubismframeworkconfig_1.CSM_LOG_LEVEL_VERBOSE) { + exports.CubismLogVerbose = function (fmt) { + var args = []; + for (var _i = 1; _i < arguments.length; _i++) { + args[_i - 1] = arguments[_i]; + } + (0, exports.CubismLogPrintIn)(live2dcubismframework_1.LogLevel.LogLevel_Verbose, '[V]' + fmt, args); + }; + exports.CubismLogDebug = function (fmt) { + var args = []; + for (var _i = 1; _i < arguments.length; _i++) { + args[_i - 1] = arguments[_i]; + } + (0, exports.CubismLogPrintIn)(live2dcubismframework_1.LogLevel.LogLevel_Debug, '[D]' + fmt, args); + }; + exports.CubismLogInfo = function (fmt) { + var args = []; + for (var _i = 1; _i < arguments.length; _i++) { + args[_i - 1] = arguments[_i]; + } + (0, exports.CubismLogPrintIn)(live2dcubismframework_1.LogLevel.LogLevel_Info, '[I]' + fmt, args); + }; + exports.CubismLogWarning = function (fmt) { + var args = []; + for (var _i = 1; _i < arguments.length; _i++) { + args[_i - 1] = arguments[_i]; + } + (0, exports.CubismLogPrintIn)(live2dcubismframework_1.LogLevel.LogLevel_Warning, '[W]' + fmt, args); + }; + exports.CubismLogError = function (fmt) { + var args = []; + for (var _i = 1; _i < arguments.length; _i++) { + args[_i - 1] = arguments[_i]; + } + (0, exports.CubismLogPrintIn)(live2dcubismframework_1.LogLevel.LogLevel_Error, '[E]' + fmt, args); + }; +} +else if (cubismframeworkconfig_1.CSM_LOG_LEVEL == cubismframeworkconfig_1.CSM_LOG_LEVEL_DEBUG) { + exports.CubismLogDebug = function (fmt) { + var args = []; + for (var _i = 1; _i < arguments.length; _i++) { + args[_i - 1] = arguments[_i]; + } + (0, exports.CubismLogPrintIn)(live2dcubismframework_1.LogLevel.LogLevel_Debug, '[D]' + fmt, args); + }; + exports.CubismLogInfo = function (fmt) { + var args = []; + for (var _i = 1; _i < arguments.length; _i++) { + args[_i - 1] = arguments[_i]; + } + (0, exports.CubismLogPrintIn)(live2dcubismframework_1.LogLevel.LogLevel_Info, '[I]' + fmt, args); + }; + exports.CubismLogWarning = function (fmt) { + var args = []; + for (var _i = 1; _i < arguments.length; _i++) { + args[_i - 1] = arguments[_i]; + } + (0, exports.CubismLogPrintIn)(live2dcubismframework_1.LogLevel.LogLevel_Warning, '[W]' + fmt, args); + }; + exports.CubismLogError = function (fmt) { + var args = []; + for (var _i = 1; _i < arguments.length; _i++) { + args[_i - 1] = arguments[_i]; + } + (0, exports.CubismLogPrintIn)(live2dcubismframework_1.LogLevel.LogLevel_Error, '[E]' + fmt, args); + }; +} +else if (cubismframeworkconfig_1.CSM_LOG_LEVEL == cubismframeworkconfig_1.CSM_LOG_LEVEL_INFO) { + exports.CubismLogInfo = function (fmt) { + var args = []; + for (var _i = 1; _i < arguments.length; _i++) { + args[_i - 1] = arguments[_i]; + } + (0, exports.CubismLogPrintIn)(live2dcubismframework_1.LogLevel.LogLevel_Info, '[I]' + fmt, args); + }; + exports.CubismLogWarning = function (fmt) { + var args = []; + for (var _i = 1; _i < arguments.length; _i++) { + args[_i - 1] = arguments[_i]; + } + (0, exports.CubismLogPrintIn)(live2dcubismframework_1.LogLevel.LogLevel_Warning, '[W]' + fmt, args); + }; + exports.CubismLogError = function (fmt) { + var args = []; + for (var _i = 1; _i < arguments.length; _i++) { + args[_i - 1] = arguments[_i]; + } + (0, exports.CubismLogPrintIn)(live2dcubismframework_1.LogLevel.LogLevel_Error, '[E]' + fmt, args); + }; +} +else if (cubismframeworkconfig_1.CSM_LOG_LEVEL == cubismframeworkconfig_1.CSM_LOG_LEVEL_WARNING) { + exports.CubismLogWarning = function (fmt) { + var args = []; + for (var _i = 1; _i < arguments.length; _i++) { + args[_i - 1] = arguments[_i]; + } + (0, exports.CubismLogPrintIn)(live2dcubismframework_1.LogLevel.LogLevel_Warning, '[W]' + fmt, args); + }; + exports.CubismLogError = function (fmt) { + var args = []; + for (var _i = 1; _i < arguments.length; _i++) { + args[_i - 1] = arguments[_i]; + } + (0, exports.CubismLogPrintIn)(live2dcubismframework_1.LogLevel.LogLevel_Error, '[E]' + fmt, args); + }; +} +else if (cubismframeworkconfig_1.CSM_LOG_LEVEL == cubismframeworkconfig_1.CSM_LOG_LEVEL_ERROR) { + exports.CubismLogError = function (fmt) { + var args = []; + for (var _i = 1; _i < arguments.length; _i++) { + args[_i - 1] = arguments[_i]; + } + (0, exports.CubismLogPrintIn)(live2dcubismframework_1.LogLevel.LogLevel_Error, '[E]' + fmt, args); + }; +} +/** + * デバッグ用のユーティリティクラス。 + * ログの出力、バイトのダンプなど + */ +var CubismDebug = /** @class */ (function () { + /** + * private コンストラクタ + */ + function CubismDebug() { + } + /** + * ログを出力する。第一引数にログレベルを設定する。 + * CubismFramework.initialize()時にオプションで設定されたログ出力レベルを下回る場合はログに出さない。 + * + * @param logLevel ログレベルの設定 + * @param format 書式付き文字列 + * @param args 可変長引数 + */ + CubismDebug.print = function (logLevel, format, args) { + // オプションで設定されたログ出力レベルを下回る場合はログに出さない + if (logLevel < live2dcubismframework_1.CubismFramework.getLoggingLevel()) { + return; + } + var logPrint = live2dcubismframework_1.CubismFramework.coreLogFunction; + if (!logPrint) + return; + var buffer = format.replace(/\{(\d+)\}/g, function (m, k) { + return args[k]; + }); + logPrint(buffer); + }; + /** + * データから指定した長さだけダンプ出力する。 + * CubismFramework.initialize()時にオプションで設定されたログ出力レベルを下回る場合はログに出さない。 + * + * @param logLevel ログレベルの設定 + * @param data ダンプするデータ + * @param length ダンプする長さ + */ + CubismDebug.dumpBytes = function (logLevel, data, length) { + for (var i = 0; i < length; i++) { + if (i % 16 == 0 && i > 0) + this.print(logLevel, '\n'); + else if (i % 8 == 0 && i > 0) + this.print(logLevel, ' '); + this.print(logLevel, '{0} ', [data[i] & 0xff]); + } + this.print(logLevel, '\n'); + }; + return CubismDebug; +}()); +exports.CubismDebug = CubismDebug; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismdebug")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismDebug = $.CubismDebug; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismdebug.js.map \ No newline at end of file diff --git a/live2demo/Framework/utils/cubismdebug.js.map b/live2demo/Framework/utils/cubismdebug.js.map new file mode 100644 index 0000000..3ebd1be --- /dev/null +++ b/live2demo/Framework/utils/cubismdebug.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismdebug.js","sourceRoot":"","sources":["../../src/utils/cubismdebug.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/utils/cubismjson.d.ts b/live2demo/Framework/utils/cubismjson.d.ts new file mode 100644 index 0000000..6a0f077 --- /dev/null +++ b/live2demo/Framework/utils/cubismjson.d.ts @@ -0,0 +1,484 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { csmMap } from '../type/csmmap'; +import { csmString } from '../type/csmstring'; +import { csmVector } from '../type/csmvector'; +/** + * パースしたJSONエレメントの要素の基底クラス。 + */ +export declare abstract class Value { + /** + * コンストラクタ + */ + constructor(); + /** + * 要素を文字列型で返す(csmString型) + */ + abstract getString(defaultValue?: string, indent?: string): string; + /** + * 要素を文字列型で返す(string) + */ + getRawString(defaultValue?: string, indent?: string): string; + /** + * 要素を数値型で返す(number) + */ + toInt(defaultValue?: number): number; + /** + * 要素を数値型で返す(number) + */ + toFloat(defaultValue?: number): number; + /** + * 要素を真偽値で返す(boolean) + */ + toBoolean(defaultValue?: boolean): boolean; + /** + * サイズを返す + */ + getSize(): number; + /** + * 要素を配列で返す(Value[]) + */ + getArray(defaultValue?: Value[]): Value[]; + /** + * 要素をコンテナで返す(array) + */ + getVector(defaultValue?: csmVector): csmVector; + /** + * 要素をマップで返す(csmMap) + */ + getMap(defaultValue?: csmMap): csmMap; + /** + * 添字演算子[index] + */ + getValueByIndex(index: number): Value; + /** + * 添字演算子[string | csmString] + */ + getValueByString(s: string | csmString): Value; + /** + * マップのキー一覧をコンテナで返す + * + * @return マップのキーの一覧 + */ + getKeys(): csmVector; + /** + * Valueの種類がエラー値ならtrue + */ + isError(): boolean; + /** + * Valueの種類がnullならtrue + */ + isNull(): boolean; + /** + * Valueの種類が真偽値ならtrue + */ + isBool(): boolean; + /** + * Valueの種類が数値型ならtrue + */ + isFloat(): boolean; + /** + * Valueの種類が文字列ならtrue + */ + isString(): boolean; + /** + * Valueの種類が配列ならtrue + */ + isArray(): boolean; + /** + * Valueの種類がマップ型ならtrue + */ + isMap(): boolean; + /** + * 引数の値と等しければtrue + */ + equals(value: csmString): boolean; + equals(value: string): boolean; + equals(value: number): boolean; + equals(value: boolean): boolean; + /** + * Valueの値が静的ならtrue、静的なら解放しない + */ + isStatic(): boolean; + /** + * Valueにエラー値をセットする + */ + setErrorNotForClientCall(errorStr: string): Value; + /** + * 初期化用メソッド + */ + static staticInitializeNotForClientCall(): void; + /** + * リリース用メソッド + */ + static staticReleaseNotForClientCall(): void; + protected _stringBuffer: string; + private static s_dummyKeys; + static errorValue: Value; + static nullValue: Value; + [key: string]: any; +} +/** + * Ascii文字のみ対応した最小限の軽量JSONパーサ。 + * 仕様はJSONのサブセットとなる。 + * 設定ファイル(model3.json)などのロード用 + * + * [未対応項目] + * ・日本語などの非ASCII文字 + * ・eによる指数表現 + */ +export declare class CubismJson { + /** + * コンストラクタ + */ + constructor(buffer?: ArrayBuffer, length?: number); + /** + * バイトデータから直接ロードしてパースする + * + * @param buffer バッファ + * @param size バッファサイズ + * @return CubismJsonクラスのインスタンス。失敗したらNULL + */ + static create(buffer: ArrayBuffer, size: number): CubismJson; + /** + * パースしたJSONオブジェクトの解放処理 + * + * @param instance CubismJsonクラスのインスタンス + */ + static delete(instance: CubismJson): void; + /** + * パースしたJSONのルート要素を返す + */ + getRoot(): Value; + /** + * UnicodeのバイナリをStringに変換 + * + * @param buffer 変換するバイナリデータ + * @return 変換後の文字列 + */ + static arrayBufferToString(buffer: ArrayBuffer): string; + /** + * エンコード、パディング + */ + private static pad; + /** + * JSONのパースを実行する + * @param buffer パース対象のデータバイト + * @param size データバイトのサイズ + * return true : 成功 + * return false: 失敗 + */ + parseBytes(buffer: ArrayBuffer, size: number, parseCallback?: parseJsonObject): boolean; + /** + * パース時のエラー値を返す + */ + getParseError(): string; + /** + * ルート要素の次の要素がファイルの終端だったらtrueを返す + */ + checkEndOfFile(): boolean; + /** + * JSONエレメントからValue(float,String,Value*,Array,null,true,false)をパースする + * エレメントの書式に応じて内部でParseString(), ParseObject(), ParseArray()を呼ぶ + * + * @param buffer JSONエレメントのバッファ + * @param length パースする長さ + * @param begin パースを開始する位置 + * @param outEndPos パース終了時の位置 + * @return パースから取得したValueオブジェクト + */ + protected parseValue(buffer: string, length: number, begin: number, outEndPos: number[]): Value; + /** + * 次の「"」までの文字列をパースする。 + * + * @param string -> パース対象の文字列 + * @param length -> パースする長さ + * @param begin -> パースを開始する位置 + * @param outEndPos -> パース終了時の位置 + * @return パースした文F字列要素 + */ + protected parseString(string: string, length: number, begin: number, outEndPos: number[]): string; + /** + * JSONのオブジェクトエレメントをパースしてValueオブジェクトを返す + * + * @param buffer JSONエレメントのバッファ + * @param length パースする長さ + * @param begin パースを開始する位置 + * @param outEndPos パース終了時の位置 + * @return パースから取得したValueオブジェクト + */ + protected parseObject(buffer: string, length: number, begin: number, outEndPos: number[]): Value; + /** + * 次の「"」までの文字列をパースする。 + * @param buffer JSONエレメントのバッファ + * @param length パースする長さ + * @param begin パースを開始する位置 + * @param outEndPos パース終了時の位置 + * @return パースから取得したValueオブジェクト + */ + protected parseArray(buffer: string, length: number, begin: number, outEndPos: number[]): Value; + _parseCallback: parseJsonObject; + _error: string; + _lineCount: number; + _root: Value; +} +interface parseJsonObject { + (obj: Value, map: JsonMap): JsonMap; +} +/** + * パースしたJSONの要素をfloat値として扱う + */ +export declare class JsonFloat extends Value { + /** + * コンストラクタ + */ + constructor(v: number); + /** + * Valueの種類が数値型ならtrue + */ + isFloat(): boolean; + /** + * 要素を文字列で返す(csmString型) + */ + getString(defaultValue: string, indent: string): string; + /** + * 要素を数値型で返す(number) + */ + toInt(defaultValue?: number): number; + /** + * 要素を数値型で返す(number) + */ + toFloat(defaultValue?: number): number; + /** + * 引数の値と等しければtrue + */ + equals(value: csmString): boolean; + equals(value: string): boolean; + equals(value: number): boolean; + equals(value: boolean): boolean; + private _value; +} +/** + * パースしたJSONの要素を真偽値として扱う + */ +export declare class JsonBoolean extends Value { + /** + * Valueの種類が真偽値ならtrue + */ + isBool(): boolean; + /** + * 要素を真偽値で返す(boolean) + */ + toBoolean(defaultValue?: boolean): boolean; + /** + * 要素を文字列で返す(csmString型) + */ + getString(defaultValue: string, indent: string): string; + /** + * 引数の値と等しければtrue + */ + equals(value: csmString): boolean; + equals(value: string): boolean; + equals(value: number): boolean; + equals(value: boolean): boolean; + /** + * Valueの値が静的ならtrue, 静的なら解放しない + */ + isStatic(): boolean; + /** + * 引数付きコンストラクタ + */ + constructor(v: boolean); + static trueValue: JsonBoolean; + static falseValue: JsonBoolean; + private _boolValue; +} +/** + * パースしたJSONの要素を文字列として扱う + */ +export declare class JsonString extends Value { + /** + * 引数付きコンストラクタ + */ + constructor(s: string); + constructor(s: csmString); + /** + * Valueの種類が文字列ならtrue + */ + isString(): boolean; + /** + * 要素を文字列で返す(csmString型) + */ + getString(defaultValue: string, indent: string): string; + /** + * 引数の値と等しければtrue + */ + equals(value: csmString): boolean; + equals(value: string): boolean; + equals(value: number): boolean; + equals(value: boolean): boolean; +} +/** + * JSONパース時のエラー結果。文字列型のようにふるまう + */ +export declare class JsonError extends JsonString { + /** + * Valueの値が静的ならtrue、静的なら解放しない + */ + isStatic(): boolean; + /** + * エラー情報をセットする + */ + setErrorNotForClientCall(s: string): Value; + /** + * 引数付きコンストラクタ + */ + constructor(s: csmString | string, isStatic: boolean); + /** + * Valueの種類がエラー値ならtrue + */ + isError(): boolean; + protected _isStatic: boolean; +} +/** + * パースしたJSONの要素をNULL値として持つ + */ +export declare class JsonNullvalue extends Value { + /** + * Valueの種類がNULL値ならtrue + */ + isNull(): boolean; + /** + * 要素を文字列で返す(csmString型) + */ + getString(defaultValue: string, indent: string): string; + /** + * Valueの値が静的ならtrue, 静的なら解放しない + */ + isStatic(): boolean; + /** + * Valueにエラー値をセットする + */ + setErrorNotForClientCall(s: string): Value; + /** + * コンストラクタ + */ + constructor(); +} +/** + * パースしたJSONの要素を配列として持つ + */ +export declare class JsonArray extends Value { + /** + * コンストラクタ + */ + constructor(); + /** + * デストラクタ相当の処理 + */ + release(): void; + /** + * Valueの種類が配列ならtrue + */ + isArray(): boolean; + /** + * 添字演算子[index] + */ + getValueByIndex(index: number): Value; + /** + * 添字演算子[string | csmString] + */ + getValueByString(s: string | csmString): Value; + /** + * 要素を文字列で返す(csmString型) + */ + getString(defaultValue: string, indent: string): string; + /** + * 配列要素を追加する + * @param v 追加する要素 + */ + add(v: Value): void; + /** + * 要素をコンテナで返す(csmVector) + */ + getVector(defaultValue?: csmVector): csmVector; + /** + * 要素の数を返す + */ + getSize(): number; + private _array; +} +/** + * パースしたJSONの要素をマップとして持つ + */ +export declare class JsonMap extends Value { + /** + * コンストラクタ + */ + constructor(); + /** + * デストラクタ相当の処理 + */ + release(): void; + /** + * Valueの値がMap型ならtrue + */ + isMap(): boolean; + /** + * 添字演算子[string | csmString] + */ + getValueByString(s: string | csmString): Value; + /** + * 添字演算子[index] + */ + getValueByIndex(index: number): Value; + /** + * 要素を文字列で返す(csmString型) + */ + getString(defaultValue: string, indent: string): string; + /** + * 要素をMap型で返す + */ + getMap(defaultValue?: csmMap): csmMap; + /** + * Mapに要素を追加する + */ + put(key: string, v: Value): void; + /** + * Mapからキーのリストを取得する + */ + getKeys(): csmVector; + /** + * Mapの要素数を取得する + */ + getSize(): number; + private _map; + private _keys; +} +import * as $ from './cubismjson'; +export declare namespace Live2DCubismFramework { + const CubismJson: typeof $.CubismJson; + type CubismJson = $.CubismJson; + const JsonArray: typeof $.JsonArray; + type JsonArray = $.JsonArray; + const JsonBoolean: typeof $.JsonBoolean; + type JsonBoolean = $.JsonBoolean; + const JsonError: typeof $.JsonError; + type JsonError = $.JsonError; + const JsonFloat: typeof $.JsonFloat; + type JsonFloat = $.JsonFloat; + const JsonMap: typeof $.JsonMap; + type JsonMap = $.JsonMap; + const JsonNullvalue: typeof $.JsonNullvalue; + type JsonNullvalue = $.JsonNullvalue; + const JsonString: typeof $.JsonString; + type JsonString = $.JsonString; + const Value: typeof $.Value; + type Value = $.Value; +} +export {}; +//# sourceMappingURL=cubismjson.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/utils/cubismjson.d.ts.map b/live2demo/Framework/utils/cubismjson.d.ts.map new file mode 100644 index 0000000..393af0b --- /dev/null +++ b/live2demo/Framework/utils/cubismjson.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismjson.d.ts","sourceRoot":"","sources":["../../src/utils/cubismjson.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/utils/cubismjson.js b/live2demo/Framework/utils/cubismjson.js new file mode 100644 index 0000000..a515644 --- /dev/null +++ b/live2demo/Framework/utils/cubismjson.js @@ -0,0 +1,1094 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.JsonMap = exports.JsonArray = exports.JsonNullvalue = exports.JsonError = exports.JsonString = exports.JsonBoolean = exports.JsonFloat = exports.CubismJson = exports.Value = void 0; +var live2dcubismframework_1 = require("../live2dcubismframework"); +var csmmap_1 = require("../type/csmmap"); +var csmstring_1 = require("../type/csmstring"); +var csmvector_1 = require("../type/csmvector"); +var cubismdebug_1 = require("./cubismdebug"); +// StaticInitializeNotForClientCall()で初期化する +var CSM_JSON_ERROR_TYPE_MISMATCH = 'Error: type mismatch'; +var CSM_JSON_ERROR_INDEX_OF_BOUNDS = 'Error: index out of bounds'; +/** + * パースしたJSONエレメントの要素の基底クラス。 + */ +var Value = /** @class */ (function () { + /** + * コンストラクタ + */ + function Value() { + } + /** + * 要素を文字列型で返す(string) + */ + Value.prototype.getRawString = function (defaultValue, indent) { + return this.getString(defaultValue, indent); + }; + /** + * 要素を数値型で返す(number) + */ + Value.prototype.toInt = function (defaultValue) { + if (defaultValue === void 0) { defaultValue = 0; } + return defaultValue; + }; + /** + * 要素を数値型で返す(number) + */ + Value.prototype.toFloat = function (defaultValue) { + if (defaultValue === void 0) { defaultValue = 0; } + return defaultValue; + }; + /** + * 要素を真偽値で返す(boolean) + */ + Value.prototype.toBoolean = function (defaultValue) { + if (defaultValue === void 0) { defaultValue = false; } + return defaultValue; + }; + /** + * サイズを返す + */ + Value.prototype.getSize = function () { + return 0; + }; + /** + * 要素を配列で返す(Value[]) + */ + Value.prototype.getArray = function (defaultValue) { + if (defaultValue === void 0) { defaultValue = null; } + return defaultValue; + }; + /** + * 要素をコンテナで返す(array) + */ + Value.prototype.getVector = function (defaultValue) { + if (defaultValue === void 0) { defaultValue = new csmvector_1.csmVector(); } + return defaultValue; + }; + /** + * 要素をマップで返す(csmMap) + */ + Value.prototype.getMap = function (defaultValue) { + return defaultValue; + }; + /** + * 添字演算子[index] + */ + Value.prototype.getValueByIndex = function (index) { + return Value.errorValue.setErrorNotForClientCall(CSM_JSON_ERROR_TYPE_MISMATCH); + }; + /** + * 添字演算子[string | csmString] + */ + Value.prototype.getValueByString = function (s) { + return Value.nullValue.setErrorNotForClientCall(CSM_JSON_ERROR_TYPE_MISMATCH); + }; + /** + * マップのキー一覧をコンテナで返す + * + * @return マップのキーの一覧 + */ + Value.prototype.getKeys = function () { + return Value.s_dummyKeys; + }; + /** + * Valueの種類がエラー値ならtrue + */ + Value.prototype.isError = function () { + return false; + }; + /** + * Valueの種類がnullならtrue + */ + Value.prototype.isNull = function () { + return false; + }; + /** + * Valueの種類が真偽値ならtrue + */ + Value.prototype.isBool = function () { + return false; + }; + /** + * Valueの種類が数値型ならtrue + */ + Value.prototype.isFloat = function () { + return false; + }; + /** + * Valueの種類が文字列ならtrue + */ + Value.prototype.isString = function () { + return false; + }; + /** + * Valueの種類が配列ならtrue + */ + Value.prototype.isArray = function () { + return false; + }; + /** + * Valueの種類がマップ型ならtrue + */ + Value.prototype.isMap = function () { + return false; + }; + Value.prototype.equals = function (value) { + return false; + }; + /** + * Valueの値が静的ならtrue、静的なら解放しない + */ + Value.prototype.isStatic = function () { + return false; + }; + /** + * Valueにエラー値をセットする + */ + Value.prototype.setErrorNotForClientCall = function (errorStr) { + return JsonError.errorValue; + }; + /** + * 初期化用メソッド + */ + Value.staticInitializeNotForClientCall = function () { + JsonBoolean.trueValue = new JsonBoolean(true); + JsonBoolean.falseValue = new JsonBoolean(false); + Value.errorValue = new JsonError('ERROR', true); + Value.nullValue = new JsonNullvalue(); + Value.s_dummyKeys = new csmvector_1.csmVector(); + }; + /** + * リリース用メソッド + */ + Value.staticReleaseNotForClientCall = function () { + JsonBoolean.trueValue = null; + JsonBoolean.falseValue = null; + Value.errorValue = null; + Value.nullValue = null; + Value.s_dummyKeys = null; + }; + return Value; +}()); +exports.Value = Value; +/** + * Ascii文字のみ対応した最小限の軽量JSONパーサ。 + * 仕様はJSONのサブセットとなる。 + * 設定ファイル(model3.json)などのロード用 + * + * [未対応項目] + * ・日本語などの非ASCII文字 + * ・eによる指数表現 + */ +var CubismJson = /** @class */ (function () { + /** + * コンストラクタ + */ + function CubismJson(buffer, length) { + this._parseCallback = cubismjsonextension_1.CubismJsonExtension.parseJsonObject; // パース時に使う処理のコールバック関数 + this._error = null; + this._lineCount = 0; + this._root = null; + if (buffer != undefined) { + this.parseBytes(buffer, length, this._parseCallback); + } + } + /** + * バイトデータから直接ロードしてパースする + * + * @param buffer バッファ + * @param size バッファサイズ + * @return CubismJsonクラスのインスタンス。失敗したらNULL + */ + CubismJson.create = function (buffer, size) { + var json = new CubismJson(); + var succeeded = json.parseBytes(buffer, size, json._parseCallback); + if (!succeeded) { + CubismJson.delete(json); + return null; + } + else { + return json; + } + }; + /** + * パースしたJSONオブジェクトの解放処理 + * + * @param instance CubismJsonクラスのインスタンス + */ + CubismJson.delete = function (instance) { + instance = null; + }; + /** + * パースしたJSONのルート要素を返す + */ + CubismJson.prototype.getRoot = function () { + return this._root; + }; + /** + * UnicodeのバイナリをStringに変換 + * + * @param buffer 変換するバイナリデータ + * @return 変換後の文字列 + */ + CubismJson.arrayBufferToString = function (buffer) { + var uint8Array = new Uint8Array(buffer); + var str = ''; + for (var i = 0, len = uint8Array.length; i < len; ++i) { + str += '%' + this.pad(uint8Array[i].toString(16)); + } + str = decodeURIComponent(str); + return str; + }; + /** + * エンコード、パディング + */ + CubismJson.pad = function (n) { + return n.length < 2 ? '0' + n : n; + }; + /** + * JSONのパースを実行する + * @param buffer パース対象のデータバイト + * @param size データバイトのサイズ + * return true : 成功 + * return false: 失敗 + */ + CubismJson.prototype.parseBytes = function (buffer, size, parseCallback) { + var endPos = new Array(1); // 参照渡しにするため配列 + var decodeBuffer = CubismJson.arrayBufferToString(buffer); + if (parseCallback == undefined) { + this._root = this.parseValue(decodeBuffer, size, 0, endPos); + } + else { + // TypeScript標準のJSONパーサを使う + this._root = parseCallback(JSON.parse(decodeBuffer), new JsonMap()); + } + if (this._error) { + var strbuf = '\0'; + strbuf = 'Json parse error : @line ' + (this._lineCount + 1) + '\n'; + this._root = new JsonString(strbuf); + (0, cubismdebug_1.CubismLogInfo)('{0}', this._root.getRawString()); + return false; + } + else if (this._root == null) { + this._root = new JsonError(new csmstring_1.csmString(this._error), false); // rootは解放されるのでエラーオブジェクトを別途作成する + return false; + } + return true; + }; + /** + * パース時のエラー値を返す + */ + CubismJson.prototype.getParseError = function () { + return this._error; + }; + /** + * ルート要素の次の要素がファイルの終端だったらtrueを返す + */ + CubismJson.prototype.checkEndOfFile = function () { + return this._root.getArray()[1].equals('EOF'); + }; + /** + * JSONエレメントからValue(float,String,Value*,Array,null,true,false)をパースする + * エレメントの書式に応じて内部でParseString(), ParseObject(), ParseArray()を呼ぶ + * + * @param buffer JSONエレメントのバッファ + * @param length パースする長さ + * @param begin パースを開始する位置 + * @param outEndPos パース終了時の位置 + * @return パースから取得したValueオブジェクト + */ + CubismJson.prototype.parseValue = function (buffer, length, begin, outEndPos) { + if (this._error) + return null; + var o = null; + var i = begin; + var f; + for (; i < length; i++) { + var c = buffer[i]; + switch (c) { + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': { + var afterString = new Array(1); // 参照渡しにするため + f = (0, live2dcubismframework_1.strtod)(buffer.slice(i), afterString); + outEndPos[0] = buffer.indexOf(afterString[0]); + return new JsonFloat(f); + } + case '"': + return new JsonString(this.parseString(buffer, length, i + 1, outEndPos)); // \"の次の文字から + case '[': + o = this.parseArray(buffer, length, i + 1, outEndPos); + return o; + case '{': + o = this.parseObject(buffer, length, i + 1, outEndPos); + return o; + case 'n': // null以外にない + if (i + 3 < length) { + o = new JsonNullvalue(); // 解放できるようにする + outEndPos[0] = i + 4; + } + else { + this._error = 'parse null'; + } + return o; + case 't': // true以外にない + if (i + 3 < length) { + o = JsonBoolean.trueValue; + outEndPos[0] = i + 4; + } + else { + this._error = 'parse true'; + } + return o; + case 'f': // false以外にない + if (i + 4 < length) { + o = JsonBoolean.falseValue; + outEndPos[0] = i + 5; + } + else { + this._error = "illegal ',' position"; + } + return o; + case ',': // Array separator + this._error = "illegal ',' position"; + return null; + case ']': // 不正な}だがスキップする。配列の最後に不要な , があると思われる + outEndPos[0] = i; // 同じ文字を再処理 + return null; + case '\n': + this._lineCount++; + case ' ': + case '\t': + case '\r': + default: + // スキップ + break; + } + } + this._error = 'illegal end of value'; + return null; + }; + /** + * 次の「"」までの文字列をパースする。 + * + * @param string -> パース対象の文字列 + * @param length -> パースする長さ + * @param begin -> パースを開始する位置 + * @param outEndPos -> パース終了時の位置 + * @return パースした文F字列要素 + */ + CubismJson.prototype.parseString = function (string, length, begin, outEndPos) { + if (this._error) + return null; + var i = begin; + var c, c2; + var ret = new csmstring_1.csmString(''); + var bufStart = begin; // sbufに登録されていない文字の開始位置 + for (; i < length; i++) { + c = string[i]; + switch (c) { + case '"': { + // 終端の”、エスケープ文字は別に処理されるのでここに来ない + outEndPos[0] = i + 1; // ”の次の文字 + ret.append(string.slice(bufStart), i - bufStart); // 前の文字までを登録する + return ret.s; + } + case '//': { + // エスケープの場合 + i++; // 2文字をセットで扱う + if (i - 1 > bufStart) { + ret.append(string.slice(bufStart), i - bufStart); // 前の文字までを登録する + } + bufStart = i + 1; // エスケープ(2文字)の次の文字から + if (i < length) { + c2 = string[i]; + switch (c2) { + case '\\': + ret.expansion(1, '\\'); + break; + case '"': + ret.expansion(1, '"'); + break; + case '/': + ret.expansion(1, '/'); + break; + case 'b': + ret.expansion(1, '\b'); + break; + case 'f': + ret.expansion(1, '\f'); + break; + case 'n': + ret.expansion(1, '\n'); + break; + case 'r': + ret.expansion(1, '\r'); + break; + case 't': + ret.expansion(1, '\t'); + break; + case 'u': + this._error = 'parse string/unicord escape not supported'; + break; + default: + break; + } + } + else { + this._error = 'parse string/escape error'; + } + } + default: { + break; + } + } + } + this._error = 'parse string/illegal end'; + return null; + }; + /** + * JSONのオブジェクトエレメントをパースしてValueオブジェクトを返す + * + * @param buffer JSONエレメントのバッファ + * @param length パースする長さ + * @param begin パースを開始する位置 + * @param outEndPos パース終了時の位置 + * @return パースから取得したValueオブジェクト + */ + CubismJson.prototype.parseObject = function (buffer, length, begin, outEndPos) { + if (this._error) + return null; + var ret = new JsonMap(); + // Key: Value + var key = ''; + var i = begin; + var c = ''; + var localRetEndPos2 = Array(1); + var ok = false; + // , が続く限りループ + for (; i < length; i++) { + FOR_LOOP: for (; i < length; i++) { + c = buffer[i]; + switch (c) { + case '"': + key = this.parseString(buffer, length, i + 1, localRetEndPos2); + if (this._error) { + return null; + } + i = localRetEndPos2[0]; + ok = true; + break FOR_LOOP; //-- loopから出る + case '}': // 閉じカッコ + outEndPos[0] = i + 1; + return ret; // 空 + case ':': + this._error = "illegal ':' position"; + break; + case '\n': + this._lineCount++; + default: + break; // スキップする文字 + } + } + if (!ok) { + this._error = 'key not found'; + return null; + } + ok = false; + // : をチェック + FOR_LOOP2: for (; i < length; i++) { + c = buffer[i]; + switch (c) { + case ':': + ok = true; + i++; + break FOR_LOOP2; + case '}': + this._error = "illegal '}' position"; + break; + case '\n': + this._lineCount++; + // case ' ': case '\t' : case '\r': + default: + break; // スキップする文字 + } + } + if (!ok) { + this._error = "':' not found"; + return null; + } + // 値をチェック + var value = this.parseValue(buffer, length, i, localRetEndPos2); + if (this._error) { + return null; + } + i = localRetEndPos2[0]; + // ret.put(key, value); + ret.put(key, value); + FOR_LOOP3: for (; i < length; i++) { + c = buffer[i]; + switch (c) { + case ',': + break FOR_LOOP3; + case '}': + outEndPos[0] = i + 1; + return ret; // 正常終了 + case '\n': + this._lineCount++; + default: + break; // スキップ + } + } + } + this._error = 'illegal end of perseObject'; + return null; + }; + /** + * 次の「"」までの文字列をパースする。 + * @param buffer JSONエレメントのバッファ + * @param length パースする長さ + * @param begin パースを開始する位置 + * @param outEndPos パース終了時の位置 + * @return パースから取得したValueオブジェクト + */ + CubismJson.prototype.parseArray = function (buffer, length, begin, outEndPos) { + if (this._error) + return null; + var ret = new JsonArray(); + // key : value + var i = begin; + var c; + var localRetEndpos2 = new Array(1); + // , が続く限りループ + for (; i < length; i++) { + // : をチェック + var value = this.parseValue(buffer, length, i, localRetEndpos2); + if (this._error) { + return null; + } + i = localRetEndpos2[0]; + if (value) { + ret.add(value); + } + // FOR_LOOP3: + // boolean breakflag = false; + FOR_LOOP: for (; i < length; i++) { + c = buffer[i]; + switch (c) { + case ',': + // breakflag = true; + // break; // 次のKEY, VAlUEへ + break FOR_LOOP; + case ']': + outEndPos[0] = i + 1; + return ret; // 終了 + case '\n': + ++this._lineCount; + //case ' ': case '\t': case '\r': + default: + break; // スキップ + } + } + } + ret = void 0; + this._error = 'illegal end of parseObject'; + return null; + }; + return CubismJson; +}()); +exports.CubismJson = CubismJson; +/** + * パースしたJSONの要素をfloat値として扱う + */ +var JsonFloat = /** @class */ (function (_super) { + __extends(JsonFloat, _super); + /** + * コンストラクタ + */ + function JsonFloat(v) { + var _this = _super.call(this) || this; + _this._value = v; + return _this; + } + /** + * Valueの種類が数値型ならtrue + */ + JsonFloat.prototype.isFloat = function () { + return true; + }; + /** + * 要素を文字列で返す(csmString型) + */ + JsonFloat.prototype.getString = function (defaultValue, indent) { + var strbuf = '\0'; + this._value = parseFloat(strbuf); + this._stringBuffer = strbuf; + return this._stringBuffer; + }; + /** + * 要素を数値型で返す(number) + */ + JsonFloat.prototype.toInt = function (defaultValue) { + if (defaultValue === void 0) { defaultValue = 0; } + return parseInt(this._value.toString()); + }; + /** + * 要素を数値型で返す(number) + */ + JsonFloat.prototype.toFloat = function (defaultValue) { + if (defaultValue === void 0) { defaultValue = 0.0; } + return this._value; + }; + JsonFloat.prototype.equals = function (value) { + if ('number' === typeof value) { + // int + if (Math.round(value)) { + return false; + } + // float + else { + return value == this._value; + } + } + return false; + }; + return JsonFloat; +}(Value)); +exports.JsonFloat = JsonFloat; +/** + * パースしたJSONの要素を真偽値として扱う + */ +var JsonBoolean = /** @class */ (function (_super) { + __extends(JsonBoolean, _super); + /** + * 引数付きコンストラクタ + */ + function JsonBoolean(v) { + var _this = _super.call(this) || this; + _this._boolValue = v; + return _this; + } + /** + * Valueの種類が真偽値ならtrue + */ + JsonBoolean.prototype.isBool = function () { + return true; + }; + /** + * 要素を真偽値で返す(boolean) + */ + JsonBoolean.prototype.toBoolean = function (defaultValue) { + if (defaultValue === void 0) { defaultValue = false; } + return this._boolValue; + }; + /** + * 要素を文字列で返す(csmString型) + */ + JsonBoolean.prototype.getString = function (defaultValue, indent) { + this._stringBuffer = this._boolValue ? 'true' : 'false'; + return this._stringBuffer; + }; + JsonBoolean.prototype.equals = function (value) { + if ('boolean' === typeof value) { + return value == this._boolValue; + } + return false; + }; + /** + * Valueの値が静的ならtrue, 静的なら解放しない + */ + JsonBoolean.prototype.isStatic = function () { + return true; + }; + return JsonBoolean; +}(Value)); +exports.JsonBoolean = JsonBoolean; +/** + * パースしたJSONの要素を文字列として扱う + */ +var JsonString = /** @class */ (function (_super) { + __extends(JsonString, _super); + function JsonString(s) { + var _this = _super.call(this) || this; + if ('string' === typeof s) { + _this._stringBuffer = s; + } + if (s instanceof csmstring_1.csmString) { + _this._stringBuffer = s.s; + } + return _this; + } + /** + * Valueの種類が文字列ならtrue + */ + JsonString.prototype.isString = function () { + return true; + }; + /** + * 要素を文字列で返す(csmString型) + */ + JsonString.prototype.getString = function (defaultValue, indent) { + return this._stringBuffer; + }; + JsonString.prototype.equals = function (value) { + if ('string' === typeof value) { + return this._stringBuffer == value; + } + if (value instanceof csmstring_1.csmString) { + return this._stringBuffer == value.s; + } + return false; + }; + return JsonString; +}(Value)); +exports.JsonString = JsonString; +/** + * JSONパース時のエラー結果。文字列型のようにふるまう + */ +var JsonError = /** @class */ (function (_super) { + __extends(JsonError, _super); + /** + * 引数付きコンストラクタ + */ + function JsonError(s, isStatic) { + var _this = this; + if ('string' === typeof s) { + _this = _super.call(this, s) || this; + } + else { + _this = _super.call(this, s) || this; + } + _this._isStatic = isStatic; + return _this; + } + /** + * Valueの値が静的ならtrue、静的なら解放しない + */ + JsonError.prototype.isStatic = function () { + return this._isStatic; + }; + /** + * エラー情報をセットする + */ + JsonError.prototype.setErrorNotForClientCall = function (s) { + this._stringBuffer = s; + return this; + }; + /** + * Valueの種類がエラー値ならtrue + */ + JsonError.prototype.isError = function () { + return true; + }; + return JsonError; +}(JsonString)); +exports.JsonError = JsonError; +/** + * パースしたJSONの要素をNULL値として持つ + */ +var JsonNullvalue = /** @class */ (function (_super) { + __extends(JsonNullvalue, _super); + /** + * コンストラクタ + */ + function JsonNullvalue() { + var _this = _super.call(this) || this; + _this._stringBuffer = 'NullValue'; + return _this; + } + /** + * Valueの種類がNULL値ならtrue + */ + JsonNullvalue.prototype.isNull = function () { + return true; + }; + /** + * 要素を文字列で返す(csmString型) + */ + JsonNullvalue.prototype.getString = function (defaultValue, indent) { + return this._stringBuffer; + }; + /** + * Valueの値が静的ならtrue, 静的なら解放しない + */ + JsonNullvalue.prototype.isStatic = function () { + return true; + }; + /** + * Valueにエラー値をセットする + */ + JsonNullvalue.prototype.setErrorNotForClientCall = function (s) { + this._stringBuffer = s; + return JsonError.nullValue; + }; + return JsonNullvalue; +}(Value)); +exports.JsonNullvalue = JsonNullvalue; +/** + * パースしたJSONの要素を配列として持つ + */ +var JsonArray = /** @class */ (function (_super) { + __extends(JsonArray, _super); + /** + * コンストラクタ + */ + function JsonArray() { + var _this = _super.call(this) || this; + _this._array = new csmvector_1.csmVector(); + return _this; + } + /** + * デストラクタ相当の処理 + */ + JsonArray.prototype.release = function () { + for (var ite = this._array.begin(); ite.notEqual(this._array.end()); ite.preIncrement()) { + var v = ite.ptr(); + if (v && !v.isStatic()) { + v = void 0; + v = null; + } + } + }; + /** + * Valueの種類が配列ならtrue + */ + JsonArray.prototype.isArray = function () { + return true; + }; + /** + * 添字演算子[index] + */ + JsonArray.prototype.getValueByIndex = function (index) { + if (index < 0 || this._array.getSize() <= index) { + return Value.errorValue.setErrorNotForClientCall(CSM_JSON_ERROR_INDEX_OF_BOUNDS); + } + var v = this._array.at(index); + if (v == null) { + return Value.nullValue; + } + return v; + }; + /** + * 添字演算子[string | csmString] + */ + JsonArray.prototype.getValueByString = function (s) { + return Value.errorValue.setErrorNotForClientCall(CSM_JSON_ERROR_TYPE_MISMATCH); + }; + /** + * 要素を文字列で返す(csmString型) + */ + JsonArray.prototype.getString = function (defaultValue, indent) { + var stringBuffer = indent + '[\n'; + for (var ite = this._array.begin(); ite.notEqual(this._array.end()); ite.increment()) { + var v = ite.ptr(); + this._stringBuffer += indent + '' + v.getString(indent + ' ') + '\n'; + } + this._stringBuffer = stringBuffer + indent + ']\n'; + return this._stringBuffer; + }; + /** + * 配列要素を追加する + * @param v 追加する要素 + */ + JsonArray.prototype.add = function (v) { + this._array.pushBack(v); + }; + /** + * 要素をコンテナで返す(csmVector) + */ + JsonArray.prototype.getVector = function (defaultValue) { + if (defaultValue === void 0) { defaultValue = null; } + return this._array; + }; + /** + * 要素の数を返す + */ + JsonArray.prototype.getSize = function () { + return this._array.getSize(); + }; + return JsonArray; +}(Value)); +exports.JsonArray = JsonArray; +/** + * パースしたJSONの要素をマップとして持つ + */ +var JsonMap = /** @class */ (function (_super) { + __extends(JsonMap, _super); + /** + * コンストラクタ + */ + function JsonMap() { + var _this = _super.call(this) || this; + _this._map = new csmmap_1.csmMap(); + return _this; + } + /** + * デストラクタ相当の処理 + */ + JsonMap.prototype.release = function () { + var ite = this._map.begin(); + while (ite.notEqual(this._map.end())) { + var v = ite.ptr().second; + if (v && !v.isStatic()) { + v = void 0; + v = null; + } + ite.preIncrement(); + } + }; + /** + * Valueの値がMap型ならtrue + */ + JsonMap.prototype.isMap = function () { + return true; + }; + /** + * 添字演算子[string | csmString] + */ + JsonMap.prototype.getValueByString = function (s) { + if (s instanceof csmstring_1.csmString) { + var ret = this._map.getValue(s.s); + if (ret == null) { + return Value.nullValue; + } + return ret; + } + for (var iter = this._map.begin(); iter.notEqual(this._map.end()); iter.preIncrement()) { + if (iter.ptr().first == s) { + if (iter.ptr().second == null) { + return Value.nullValue; + } + return iter.ptr().second; + } + } + return Value.nullValue; + }; + /** + * 添字演算子[index] + */ + JsonMap.prototype.getValueByIndex = function (index) { + return Value.errorValue.setErrorNotForClientCall(CSM_JSON_ERROR_TYPE_MISMATCH); + }; + /** + * 要素を文字列で返す(csmString型) + */ + JsonMap.prototype.getString = function (defaultValue, indent) { + this._stringBuffer = indent + '{\n'; + var ite = this._map.begin(); + while (ite.notEqual(this._map.end())) { + var key = ite.ptr().first; + var v = ite.ptr().second; + this._stringBuffer += + indent + ' ' + key + ' : ' + v.getString(indent + ' ') + ' \n'; + ite.preIncrement(); + } + this._stringBuffer += indent + '}\n'; + return this._stringBuffer; + }; + /** + * 要素をMap型で返す + */ + JsonMap.prototype.getMap = function (defaultValue) { + return this._map; + }; + /** + * Mapに要素を追加する + */ + JsonMap.prototype.put = function (key, v) { + this._map.setValue(key, v); + }; + /** + * Mapからキーのリストを取得する + */ + JsonMap.prototype.getKeys = function () { + if (!this._keys) { + this._keys = new csmvector_1.csmVector(); + var ite = this._map.begin(); + while (ite.notEqual(this._map.end())) { + var key = ite.ptr().first; + this._keys.pushBack(key); + ite.preIncrement(); + } + } + return this._keys; + }; + /** + * Mapの要素数を取得する + */ + JsonMap.prototype.getSize = function () { + return this._keys.getSize(); + }; + return JsonMap; +}(Value)); +exports.JsonMap = JsonMap; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismjson")); +var cubismjsonextension_1 = require("./cubismjsonextension"); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismJson = $.CubismJson; + Live2DCubismFramework.JsonArray = $.JsonArray; + Live2DCubismFramework.JsonBoolean = $.JsonBoolean; + Live2DCubismFramework.JsonError = $.JsonError; + Live2DCubismFramework.JsonFloat = $.JsonFloat; + Live2DCubismFramework.JsonMap = $.JsonMap; + Live2DCubismFramework.JsonNullvalue = $.JsonNullvalue; + Live2DCubismFramework.JsonString = $.JsonString; + Live2DCubismFramework.Value = $.Value; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismjson.js.map \ No newline at end of file diff --git a/live2demo/Framework/utils/cubismjson.js.map b/live2demo/Framework/utils/cubismjson.js.map new file mode 100644 index 0000000..27e66fe --- /dev/null +++ b/live2demo/Framework/utils/cubismjson.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismjson.js","sourceRoot":"","sources":["../../src/utils/cubismjson.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/utils/cubismjsonextension.d.ts b/live2demo/Framework/utils/cubismjsonextension.d.ts new file mode 100644 index 0000000..1809982 --- /dev/null +++ b/live2demo/Framework/utils/cubismjsonextension.d.ts @@ -0,0 +1,18 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +import { JsonArray, JsonMap, Value } from './cubismjson'; +/** + * CubismJsonで実装されているJsonパーサを使用せず、 + * TypeScript標準のJsonパーサなどを使用し出力された結果を + * Cubism SDKで定義されているJSONエレメントの要素に + * 置き換える処理をするクラス。 + */ +export declare class CubismJsonExtension { + static parseJsonObject(obj: Value, map: JsonMap): JsonMap; + protected static parseJsonArray(obj: Value): JsonArray; +} +//# sourceMappingURL=cubismjsonextension.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/utils/cubismjsonextension.d.ts.map b/live2demo/Framework/utils/cubismjsonextension.d.ts.map new file mode 100644 index 0000000..509f5be --- /dev/null +++ b/live2demo/Framework/utils/cubismjsonextension.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismjsonextension.d.ts","sourceRoot":"","sources":["../../src/utils/cubismjsonextension.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,SAAS,EAGT,OAAO,EAGP,KAAK,EACN,MAAM,cAAc,CAAC;AAEtB;;;;;GAKG;AACH,qBAAa,mBAAmB;IAC9B,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO;IA4B/C,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK;CAwC3C"} \ No newline at end of file diff --git a/live2demo/Framework/utils/cubismjsonextension.js b/live2demo/Framework/utils/cubismjsonextension.js new file mode 100644 index 0000000..b64d469 --- /dev/null +++ b/live2demo/Framework/utils/cubismjsonextension.js @@ -0,0 +1,104 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CubismJsonExtension = void 0; +var cubismjson_1 = require("./cubismjson"); +/** + * CubismJsonで実装されているJsonパーサを使用せず、 + * TypeScript標準のJsonパーサなどを使用し出力された結果を + * Cubism SDKで定義されているJSONエレメントの要素に + * 置き換える処理をするクラス。 + */ +var CubismJsonExtension = /** @class */ (function () { + function CubismJsonExtension() { + } + CubismJsonExtension.parseJsonObject = function (obj, map) { + Object.keys(obj).forEach(function (key) { + if (typeof obj[key] == 'boolean') { + var convValue = Boolean(obj[key]); + map.put(key, new cubismjson_1.JsonBoolean(convValue)); + } + else if (typeof obj[key] == 'string') { + var convValue = String(obj[key]); + map.put(key, new cubismjson_1.JsonString(convValue)); + } + else if (typeof obj[key] == 'number') { + var convValue = Number(obj[key]); + map.put(key, new cubismjson_1.JsonFloat(convValue)); + } + else if (obj[key] instanceof Array) { + map.put(key, CubismJsonExtension.parseJsonArray(obj[key])); + } + else if (obj[key] instanceof Object) { + map.put(key, CubismJsonExtension.parseJsonObject(obj[key], new cubismjson_1.JsonMap())); + } + else if (obj[key] == null) { + map.put(key, new cubismjson_1.JsonNullvalue()); + } + else { + // どれにも当てはまらない場合でも処理する + map.put(key, obj[key]); + } + }); + return map; + }; + CubismJsonExtension.parseJsonArray = function (obj) { + var _this = this; + var arr = new cubismjson_1.JsonArray(); + Object.keys(obj).forEach(function (key) { + var convKey = Number(key); + if (typeof convKey == 'number') { + if (typeof obj[key] == 'boolean') { + var convValue = Boolean(obj[key]); + arr.add(new cubismjson_1.JsonBoolean(convValue)); + } + else if (typeof obj[key] == 'string') { + var convValue = String(obj[key]); + arr.add(new cubismjson_1.JsonString(convValue)); + } + else if (typeof obj[key] == 'number') { + var convValue = Number(obj[key]); + arr.add(new cubismjson_1.JsonFloat(convValue)); + } + else if (obj[key] instanceof Array) { + arr.add(_this.parseJsonArray(obj[key])); + } + else if (obj[key] instanceof Object) { + arr.add(_this.parseJsonObject(obj[key], new cubismjson_1.JsonMap())); + } + else if (obj[key] == null) { + arr.add(new cubismjson_1.JsonNullvalue()); + } + else { + // どれにも当てはまらない場合でも処理する + arr.add(obj[key]); + } + } + else if (obj[key] instanceof Array) { + arr.add(_this.parseJsonArray(obj[key])); + } + else if (obj[key] instanceof Object) { + arr.add(_this.parseJsonObject(obj[key], new cubismjson_1.JsonMap())); + } + else if (obj[key] == null) { + arr.add(new cubismjson_1.JsonNullvalue()); + } + else { + var convValue = Array(obj[key]); + // 配列ともObjectとも判定できなかった場合でも処理する + for (var i = 0; i < convValue.length; i++) { + arr.add(convValue[i]); + } + } + }); + return arr; + }; + return CubismJsonExtension; +}()); +exports.CubismJsonExtension = CubismJsonExtension; +//# sourceMappingURL=cubismjsonextension.js.map \ No newline at end of file diff --git a/live2demo/Framework/utils/cubismjsonextension.js.map b/live2demo/Framework/utils/cubismjsonextension.js.map new file mode 100644 index 0000000..b9bfdd3 --- /dev/null +++ b/live2demo/Framework/utils/cubismjsonextension.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismjsonextension.js","sourceRoot":"","sources":["../../src/utils/cubismjsonextension.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/Framework/utils/cubismstring.d.ts b/live2demo/Framework/utils/cubismstring.d.ts new file mode 100644 index 0000000..067c2e0 --- /dev/null +++ b/live2demo/Framework/utils/cubismstring.d.ts @@ -0,0 +1,43 @@ +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +export declare class CubismString { + /** + * 標準出力の書式を適用した文字列を取得する。 + * @param format 標準出力の書式指定文字列 + * @param ...args 書式指定文字列に渡す文字列 + * @return 書式を適用した文字列 + */ + static getFormatedString(format: string, ...args: any[]): string; + /** + * textがstartWordで始まっているかどうかを返す + * @param test 検査対象の文字列 + * @param startWord 比較対象の文字列 + * @return true textがstartWordで始まっている + * @return false textがstartWordで始まっていない + */ + static isStartWith(text: string, startWord: string): boolean; + /** + * position位置の文字から数字を解析する。 + * + * @param string 文字列 + * @param length 文字列の長さ + * @param position 解析したい文字の位置 + * @param outEndPos 一文字も読み込まなかった場合はエラー値(-1)が入る + * @return 解析結果の数値 + */ + static stringToFloat(string: string, length: number, position: number, outEndPos: number[]): number; + /** + * コンストラクタ呼び出し不可な静的クラスにする。 + */ + private constructor(); +} +import * as $ from './cubismstring'; +export declare namespace Live2DCubismFramework { + const CubismString: typeof $.CubismString; + type CubismString = $.CubismString; +} +//# sourceMappingURL=cubismstring.d.ts.map \ No newline at end of file diff --git a/live2demo/Framework/utils/cubismstring.d.ts.map b/live2demo/Framework/utils/cubismstring.d.ts.map new file mode 100644 index 0000000..bad5723 --- /dev/null +++ b/live2demo/Framework/utils/cubismstring.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismstring.d.ts","sourceRoot":"","sources":["../../src/utils/cubismstring.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,qBAAa,YAAY;IACvB;;;;;OAKG;WACW,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM;IAavE;;;;;;OAMG;WACW,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAcnE;;;;;;;;OAQG;WACW,aAAa,CACzB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EAAE,GAClB,MAAM;IAsDT;;OAEG;IACH,OAAO;CACR;AAGD,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AAEpC,yBAAiB,qBAAqB,CAAC;IAC9B,MAAM,YAAY,uBAAiB,CAAC;IAC3C,KAAY,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;CAC3C"} \ No newline at end of file diff --git a/live2demo/Framework/utils/cubismstring.js b/live2demo/Framework/utils/cubismstring.js new file mode 100644 index 0000000..eef69dd --- /dev/null +++ b/live2demo/Framework/utils/cubismstring.js @@ -0,0 +1,145 @@ +"use strict"; +/** + * Copyright(c) Live2D Inc. All rights reserved. + * + * Use of this source code is governed by the Live2D Open Software license + * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html. + */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Live2DCubismFramework = exports.CubismString = void 0; +var CubismString = /** @class */ (function () { + /** + * コンストラクタ呼び出し不可な静的クラスにする。 + */ + function CubismString() { + } + /** + * 標準出力の書式を適用した文字列を取得する。 + * @param format 標準出力の書式指定文字列 + * @param ...args 書式指定文字列に渡す文字列 + * @return 書式を適用した文字列 + */ + CubismString.getFormatedString = function (format) { + var args = []; + for (var _i = 1; _i < arguments.length; _i++) { + args[_i - 1] = arguments[_i]; + } + var ret = format; + return ret.replace(/\{(\d+)\}/g, function (m, k // m="{0}", k="0" + ) { + return args[k]; + }); + }; + /** + * textがstartWordで始まっているかどうかを返す + * @param test 検査対象の文字列 + * @param startWord 比較対象の文字列 + * @return true textがstartWordで始まっている + * @return false textがstartWordで始まっていない + */ + CubismString.isStartWith = function (text, startWord) { + var textIndex = 0; + var startWordIndex = 0; + while (startWord[startWordIndex] != '\0') { + if (text[textIndex] == '\0' || + text[textIndex++] != startWord[startWordIndex++]) { + return false; + } + } + return false; + }; + /** + * position位置の文字から数字を解析する。 + * + * @param string 文字列 + * @param length 文字列の長さ + * @param position 解析したい文字の位置 + * @param outEndPos 一文字も読み込まなかった場合はエラー値(-1)が入る + * @return 解析結果の数値 + */ + CubismString.stringToFloat = function (string, length, position, outEndPos) { + var i = position; + var minus = false; // マイナスフラグ + var period = false; + var v1 = 0; + //負号の確認 + var c = parseInt(string[i]); + if (c < 0) { + minus = true; + i++; + } + //整数部の確認 + for (; i < length; i++) { + var c_1 = string[i]; + if (0 <= parseInt(c_1) && parseInt(c_1) <= 9) { + v1 = v1 * 10 + (parseInt(c_1) - 0); + } + else if (c_1 == '.') { + period = true; + i++; + break; + } + else { + break; + } + } + //小数部の確認 + if (period) { + var mul = 0.1; + for (; i < length; i++) { + c = parseFloat(string[i]) & 0xff; + if (0 <= c && c <= 9) { + v1 += mul * (c - 0); + } + else { + break; + } + mul *= 0.1; //一桁下げる + if (!c) + break; + } + } + if (i == position) { + //一文字も読み込まなかった場合 + outEndPos[0] = -1; //エラー値が入るので呼び出し元で適切な処理を行う + return 0; + } + if (minus) + v1 = -v1; + outEndPos[0] = i; + return v1; + }; + return CubismString; +}()); +exports.CubismString = CubismString; +// Namespace definition for compatibility. +var $ = __importStar(require("./cubismstring")); +// eslint-disable-next-line @typescript-eslint/no-namespace +var Live2DCubismFramework; +(function (Live2DCubismFramework) { + Live2DCubismFramework.CubismString = $.CubismString; +})(Live2DCubismFramework || (exports.Live2DCubismFramework = Live2DCubismFramework = {})); +//# sourceMappingURL=cubismstring.js.map \ No newline at end of file diff --git a/live2demo/Framework/utils/cubismstring.js.map b/live2demo/Framework/utils/cubismstring.js.map new file mode 100644 index 0000000..f81d7d6 --- /dev/null +++ b/live2demo/Framework/utils/cubismstring.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cubismstring.js","sourceRoot":"","sources":["../../src/utils/cubismstring.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/live2demo/index.html b/live2demo/index.html new file mode 100644 index 0000000..c3ff205 --- /dev/null +++ b/live2demo/index.html @@ -0,0 +1,20 @@ + + + + + + + + + + +
+ + + diff --git a/live2demo/main.js b/live2demo/main.js new file mode 100644 index 0000000..c1caf36 --- /dev/null +++ b/live2demo/main.js @@ -0,0 +1,22 @@ +import App from './App' + +// #ifndef VUE3 +import Vue from 'vue' +import './uni.promisify.adaptor' +Vue.config.productionTip = false +App.mpType = 'app' +const app = new Vue({ + ...App +}) +app.$mount() +// #endif + +// #ifdef VUE3 +import { createSSRApp } from 'vue' +export function createApp() { + const app = createSSRApp(App) + return { + app + } +} +// #endif \ No newline at end of file diff --git a/live2demo/manifest.json b/live2demo/manifest.json new file mode 100644 index 0000000..477bf7c --- /dev/null +++ b/live2demo/manifest.json @@ -0,0 +1,72 @@ +{ + "name" : "live2demo", + "appid" : "__UNI__D706FDB", + "description" : "", + "versionName" : "1.0.0", + "versionCode" : "100", + "transformPx" : false, + /* 5+App特有相关 */ + "app-plus" : { + "usingComponents" : true, + "nvueStyleCompiler" : "uni-app", + "compilerVersion" : 3, + "splashscreen" : { + "alwaysShowBeforeRender" : true, + "waiting" : true, + "autoclose" : true, + "delay" : 0 + }, + /* 模块配置 */ + "modules" : {}, + /* 应用发布信息 */ + "distribute" : { + /* android打包配置 */ + "android" : { + "permissions" : [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + /* ios打包配置 */ + "ios" : {}, + /* SDK配置 */ + "sdkConfigs" : {} + } + }, + /* 快应用特有相关 */ + "quickapp" : {}, + /* 小程序特有相关 */ + "mp-weixin" : { + "appid" : "", + "setting" : { + "urlCheck" : false + }, + "usingComponents" : true + }, + "mp-alipay" : { + "usingComponents" : true + }, + "mp-baidu" : { + "usingComponents" : true + }, + "mp-toutiao" : { + "usingComponents" : true + }, + "uniStatistics" : { + "enable" : false + }, + "vueVersion" : "2" +} diff --git a/live2demo/pages.json b/live2demo/pages.json new file mode 100644 index 0000000..869105d --- /dev/null +++ b/live2demo/pages.json @@ -0,0 +1,17 @@ +{ + "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages + { + "path": "pages/index/index", + "style": { + "navigationBarTitleText": "uni-app" + } + } + ], + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "uni-app", + "navigationBarBackgroundColor": "#F8F8F8", + "backgroundColor": "#F8F8F8" + }, + "uniIdRouter": {} +} diff --git a/live2demo/pages/index/index.vue b/live2demo/pages/index/index.vue new file mode 100644 index 0000000..ec0ec26 --- /dev/null +++ b/live2demo/pages/index/index.vue @@ -0,0 +1,52 @@ + + + + + diff --git a/live2demo/static/logo.png b/live2demo/static/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..b5771e209bb677e2ebd5ff766ad5ee11790f305a GIT binary patch literal 4023 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 SYs}WS&%*SCNx89m_ { + res.then((res) => res[0] ? reject(res[0]) : resolve(res[1])); + }); + }, +}); \ No newline at end of file diff --git a/live2demo/uni.scss b/live2demo/uni.scss new file mode 100644 index 0000000..a05adb4 --- /dev/null +++ b/live2demo/uni.scss @@ -0,0 +1,76 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ + +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ + +/* 颜色变量 */ + +/* 行为相关颜色 */ +$uni-color-primary: #007aff; +$uni-color-success: #4cd964; +$uni-color-warning: #f0ad4e; +$uni-color-error: #dd524d; + +/* 文字基本颜色 */ +$uni-text-color:#333;//基本色 +$uni-text-color-inverse:#fff;//反色 +$uni-text-color-grey:#999;//辅助灰色,如加载更多的提示信息 +$uni-text-color-placeholder: #808080; +$uni-text-color-disable:#c0c0c0; + +/* 背景颜色 */ +$uni-bg-color:#ffffff; +$uni-bg-color-grey:#f8f8f8; +$uni-bg-color-hover:#f1f1f1;//点击状态颜色 +$uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色 + +/* 边框颜色 */ +$uni-border-color:#c8c7cc; + +/* 尺寸变量 */ + +/* 文字尺寸 */ +$uni-font-size-sm:12px; +$uni-font-size-base:14px; +$uni-font-size-lg:16; + +/* 图片尺寸 */ +$uni-img-size-sm:20px; +$uni-img-size-base:26px; +$uni-img-size-lg:40px; + +/* Border Radius */ +$uni-border-radius-sm: 2px; +$uni-border-radius-base: 3px; +$uni-border-radius-lg: 6px; +$uni-border-radius-circle: 50%; + +/* 水平间距 */ +$uni-spacing-row-sm: 5px; +$uni-spacing-row-base: 10px; +$uni-spacing-row-lg: 15px; + +/* 垂直间距 */ +$uni-spacing-col-sm: 4px; +$uni-spacing-col-base: 8px; +$uni-spacing-col-lg: 12px; + +/* 透明度 */ +$uni-opacity-disabled: 0.3; // 组件禁用态的透明度 + +/* 文章场景相关 */ +$uni-color-title: #2C405A; // 文章标题颜色 +$uni-font-size-title:20px; +$uni-color-subtitle: #555555; // 二级标题颜色 +$uni-font-size-subtitle:26px; +$uni-color-paragraph: #3F536E; // 文章段落颜色 +$uni-font-size-paragraph:15px; diff --git a/server/.gitignore b/server/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/server/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/server/.mvn/wrapper/maven-wrapper.jar b/server/.mvn/wrapper/maven-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..cb28b0e37c7d206feb564310fdeec0927af4123a GIT binary patch literal 62547 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 A?*IS* literal 0 HcmV?d00001 diff --git a/server/.mvn/wrapper/maven-wrapper.properties b/server/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..5f0536e --- /dev/null +++ b/server/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,2 @@ +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.5/apache-maven-3.9.5-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar diff --git a/server/mvnw b/server/mvnw new file mode 100644 index 0000000..66df285 --- /dev/null +++ b/server/mvnw @@ -0,0 +1,308 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Apache Maven Wrapper startup batch script, version 3.2.0 +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /usr/local/etc/mavenrc ] ; then + . /usr/local/etc/mavenrc + fi + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "$(uname)" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + JAVA_HOME="$(/usr/libexec/java_home)"; export JAVA_HOME + else + JAVA_HOME="/Library/Java/Home"; export JAVA_HOME + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=$(java-config --jre-home) + fi +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --unix "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --unix "$CLASSPATH") +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] && + JAVA_HOME="$(cd "$JAVA_HOME" || (echo "cannot cd into $JAVA_HOME."; exit 1); pwd)" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="$(which javac)" + if [ -n "$javaExecutable" ] && ! [ "$(expr "\"$javaExecutable\"" : '\([^ ]*\)')" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=$(which readlink) + if [ ! "$(expr "$readLink" : '\([^ ]*\)')" = "no" ]; then + if $darwin ; then + javaHome="$(dirname "\"$javaExecutable\"")" + javaExecutable="$(cd "\"$javaHome\"" && pwd -P)/javac" + else + javaExecutable="$(readlink -f "\"$javaExecutable\"")" + fi + javaHome="$(dirname "\"$javaExecutable\"")" + javaHome=$(expr "$javaHome" : '\(.*\)/bin') + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="$(\unset -f command 2>/dev/null; \command -v java)" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=$(cd "$wdir/.." || exit 1; pwd) + fi + # end of workaround + done + printf '%s' "$(cd "$basedir" || exit 1; pwd)" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + # Remove \r in case we run on Windows within Git Bash + # and check out the repository with auto CRLF management + # enabled. Otherwise, we may read lines that are delimited with + # \r\n and produce $'-Xarg\r' rather than -Xarg due to word + # splitting rules. + tr -s '\r\n' ' ' < "$1" + fi +} + +log() { + if [ "$MVNW_VERBOSE" = true ]; then + printf '%s\n' "$1" + fi +} + +BASE_DIR=$(find_maven_basedir "$(dirname "$0")") +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR +log "$MAVEN_PROJECTBASEDIR" + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" +if [ -r "$wrapperJarPath" ]; then + log "Found $wrapperJarPath" +else + log "Couldn't find $wrapperJarPath, downloading it ..." + + if [ -n "$MVNW_REPOURL" ]; then + wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + else + wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + fi + while IFS="=" read -r key value; do + # Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' ) + safeValue=$(echo "$value" | tr -d '\r') + case "$key" in (wrapperUrl) wrapperUrl="$safeValue"; break ;; + esac + done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" + log "Downloading from: $wrapperUrl" + + if $cygwin; then + wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") + fi + + if command -v wget > /dev/null; then + log "Found wget ... using wget" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + else + wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + log "Found curl ... using curl" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" + else + curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" + fi + else + log "Falling back to using Java to download" + javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java" + javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaSource=$(cygpath --path --windows "$javaSource") + javaClass=$(cygpath --path --windows "$javaClass") + fi + if [ -e "$javaSource" ]; then + if [ ! -e "$javaClass" ]; then + log " - Compiling MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/javac" "$javaSource") + fi + if [ -e "$javaClass" ]; then + log " - Running MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath" + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +# If specified, validate the SHA-256 sum of the Maven wrapper jar file +wrapperSha256Sum="" +while IFS="=" read -r key value; do + case "$key" in (wrapperSha256Sum) wrapperSha256Sum=$value; break ;; + esac +done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" +if [ -n "$wrapperSha256Sum" ]; then + wrapperSha256Result=false + if command -v sha256sum > /dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c > /dev/null 2>&1; then + wrapperSha256Result=true + fi + elif command -v shasum > /dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c > /dev/null 2>&1; then + wrapperSha256Result=true + fi + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." + echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties." + exit 1 + fi + if [ $wrapperSha256Result = false ]; then + echo "Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised." >&2 + echo "Investigate or delete $wrapperJarPath to attempt a clean download." >&2 + echo "If you updated your Maven version, you need to update the specified wrapperSha256Sum property." >&2 + exit 1 + fi +fi + +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --windows "$CLASSPATH") + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR") +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $*" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +# shellcheck disable=SC2086 # safe args +exec "$JAVACMD" \ + $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/server/mvnw.cmd b/server/mvnw.cmd new file mode 100644 index 0000000..95ba6f5 --- /dev/null +++ b/server/mvnw.cmd @@ -0,0 +1,205 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM https://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Apache Maven Wrapper startup batch script, version 3.2.0 +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %WRAPPER_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM If specified, validate the SHA-256 sum of the Maven wrapper jar file +SET WRAPPER_SHA_256_SUM="" +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=%%B +) +IF NOT %WRAPPER_SHA_256_SUM%=="" ( + powershell -Command "&{"^ + "$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^ + "If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^ + " Write-Output 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^ + " Write-Output 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^ + " Write-Output 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^ + " exit 1;"^ + "}"^ + "}" + if ERRORLEVEL 1 goto error +) + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%"=="on" pause + +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% + +cmd /C exit /B %ERROR_CODE% diff --git a/server/pom.xml b/server/pom.xml new file mode 100644 index 0000000..dc6a981 --- /dev/null +++ b/server/pom.xml @@ -0,0 +1,64 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 3.1.5 + + + cn.mikesolar + server + 0.0.1-SNAPSHOT + server + server + + 17 + + + + org.springframework.boot + spring-boot-starter-web + + + + com.h2database + h2 + runtime + + + org.springframework.boot + spring-boot-configuration-processor + true + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/server/src/main/java/cn/mikesolar/live2demo/ServerApplication.java b/server/src/main/java/cn/mikesolar/live2demo/ServerApplication.java new file mode 100644 index 0000000..3a3dacc --- /dev/null +++ b/server/src/main/java/cn/mikesolar/live2demo/ServerApplication.java @@ -0,0 +1,13 @@ +package cn.mikesolar.live2demo; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class ServerApplication { + + public static void main(String[] args) { + SpringApplication.run(ServerApplication.class, args); + } + +} diff --git a/server/src/main/resources/application.properties b/server/src/main/resources/application.properties new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/server/src/main/resources/application.properties @@ -0,0 +1 @@ + diff --git a/server/src/main/resources/public/ARKitFaceTrackerSettingBeta.json b/server/src/main/resources/public/ARKitFaceTrackerSettingBeta.json new file mode 100644 index 0000000..f9bf104 --- /dev/null +++ b/server/src/main/resources/public/ARKitFaceTrackerSettingBeta.json @@ -0,0 +1,212 @@ + +[ + [ + ], + [ + ], + [ + ], + [ + { + "FaceTrackerDataName" : 3, + "CubismParameter" : "ParamAngleX", + "FaceTrackerDataMin" : -30, + "FaceTrackerDataMax" : 30, + "ParameterMin" : -30, + "ParameterMax" : 30, + "Smooth" : 0.15 + }, + { + "FaceTrackerDataName" : 3, + "CubismParameter" : "ParamBodyAngleX", + "FaceTrackerDataMin" : -30, + "FaceTrackerDataMax" : 30, + "ParameterMin" : -10, + "ParameterMax" : 10, + "Smooth" : 0.2 + } + ], + [ + { + "FaceTrackerDataName" : 4, + "CubismParameter" : "ParamAngleY", + "FaceTrackerDataMin" : -30, + "FaceTrackerDataMax" : 30, + "ParameterMin" : -30, + "ParameterMax" : 30, + "Smooth" : 0.15 + }, + { + "FaceTrackerDataName" : 4, + "CubismParameter" : "ParamBodyAngleY", + "FaceTrackerDataMin" : -30, + "FaceTrackerDataMax" : 30, + "ParameterMin" : -10, + "ParameterMax" : 10, + "Smooth" : 0.2 + } + ], + [ + { + "FaceTrackerDataName" : 5, + "CubismParameter" : "ParamAngleZ", + "FaceTrackerDataMin" : -30, + "FaceTrackerDataMax" : 30, + "ParameterMin" : -30, + "ParameterMax" : 30, + "Smooth" : 0.3 + }, + { + "FaceTrackerDataName" : 5, + "CubismParameter" : "ParamBodyAngleZ", + "FaceTrackerDataMin" : -30, + "FaceTrackerDataMax" : 30, + "ParameterMin" : -10, + "ParameterMax" : 10, + "Smooth" : 0.2 + } + ], + [ + { + "FaceTrackerDataName" : 6, + "CubismParameter" : "ParamMouthForm", + "FaceTrackerDataMin" : -1, + "FaceTrackerDataMax" : 1, + "ParameterMin" : -1, + "ParameterMax" : 1, + "Smooth" : 0.2 + }, + { + "FaceTrackerDataName" : 6, + "CubismParameter" : "ParamEyeLSmile", + "FaceTrackerDataMin" : -1, + "FaceTrackerDataMax" : 1, + "ParameterMin" : 0, + "ParameterMax" : 1, + "Smooth" : 0.2 + }, + { + "FaceTrackerDataName" : 6, + "CubismParameter" : "ParamEyeRSmile", + "FaceTrackerDataMin" : -1, + "FaceTrackerDataMax" : 1, + "ParameterMin" : 0, + "ParameterMax" : 1, + "Smooth" : 0.2 + }, + { + "FaceTrackerDataName" : 6, + "CubismParameter" : "ParamCheek", + "FaceTrackerDataMin" : -1, + "FaceTrackerDataMax" : 1, + "ParameterMin" : 0, + "ParameterMax" : 1, + "Smooth" : 0.2 + } + ], + [ + ], + [ + { + "FaceTrackerDataName" : 8, + "CubismParameter" : "ParamMouthOpenY", + "FaceTrackerDataMin" : 0, + "FaceTrackerDataMax" : 0.6, + "ParameterMin" : 0, + "ParameterMax" : 1, + "Smooth" : 0.1 + } + ], + [ + { + "FaceTrackerDataName" : 9, + "CubismParameter" : "ParamBrowLY", + "FaceTrackerDataMin" : -1, + "FaceTrackerDataMax" : 1, + "ParameterMin" : -1, + "ParameterMax" : 1, + "Smooth" : 0.1 + } + ], + [ + { + "FaceTrackerDataName" : 10, + "CubismParameter" : "ParamBrowRY", + "FaceTrackerDataMin" : -1, + "FaceTrackerDataMax" : 1, + "ParameterMin" : -1, + "ParameterMax" : 1, + "Smooth" : 0.1 + } + ], + [ + { + "FaceTrackerDataName" : 11, + "CubismParameter" : "ParamBrowLAngle", + "FaceTrackerDataMin" : -1, + "FaceTrackerDataMax" : 1, + "ParameterMin" : -1, + "ParameterMax" : 1, + "Smooth" : 0.1 + }, + { + "FaceTrackerDataName" : 11, + "CubismParameter" : "ParamBrowRAngle", + "FaceTrackerDataMin" : -1, + "FaceTrackerDataMax" : 1, + "ParameterMin" : -1, + "ParameterMax" : 1, + "Smooth" : 0.1 + } + ], + [ + ], + [ + { + "FaceTrackerDataName" : 13, + "CubismParameter" : "ParamEyeLOpen", + "FaceTrackerDataMin" : 0.2, + "FaceTrackerDataMax" : 1, + "ParameterMin" : 0, + "ParameterMax" : 1, + "Smooth" : 0.05 + } + ], + [ + { + "FaceTrackerDataName" : 14, + "CubismParameter" : "ParamEyeROpen", + "FaceTrackerDataMin" : 0.2, + "FaceTrackerDataMax" : 1, + "ParameterMin" : 0, + "ParameterMax" : 1, + "Smooth" : 0.05 + } + ], + [ + { + "FaceTrackerDataName" : 15, + "CubismParameter" : "ParamEyeBallX", + "FaceTrackerDataMin" : -1, + "FaceTrackerDataMax" : 1, + "ParameterMin" : -1, + "ParameterMax" : 1, + "Smooth" : 0.1 + } + ], + [ + { + "FaceTrackerDataName" : 16, + "CubismParameter" : "ParamEyeBallY", + "FaceTrackerDataMin" : -1, + "FaceTrackerDataMax" : 1, + "ParameterMin" : -1, + "ParameterMax" : 1, + "Smooth" : 0.1 + } + ], + [ + ], + [ + ] +] \ No newline at end of file diff --git a/server/src/main/resources/public/miku_sample_t04.2048/texture_00.png b/server/src/main/resources/public/miku_sample_t04.2048/texture_00.png new file mode 100644 index 0000000000000000000000000000000000000000..8098a845bebd34217bd2f8a763434f57a27ca936 GIT binary patch literal 4194650 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
Z>=sq(bGu=9RQ?0nN% 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

*$MVpNkG*o7W5ZC5vpZMUf4S8HahyRLjnOQT^aw zsmF}RaxdIQ_1JayR_rWRh53$Doduzg@0bLLXh(qf`Qth9B+{s$Jx<5A;bnW->hs?k zTW%ZD5?6x1)wf*8>6uj=P+a(tAZ(MXWZbgAfC%XqY>gF>hTE4Qh;vFBH?yARTP~hJ zW&I}9!J1-suGu^JDvfWjH91*1VL4Elr({{zvQIsrDi>xy<9^8{AAzaWJUFQ5 z;V_BXVK>3}vi+V`eX%tnaiPBI=O(8O>Gp4SG1QWuN8^~duMm|)yBdAV+&|?m+rL0p zH@PmfY?70}6<;*~Fd(tkPeV;it1!DE6AXo7`gl}QLzM_+fx<8R zofoOy*i_3xt8zLZKMsLm+w%{>h_cbHWCsD01C=0!U&}B~MJy&h;vj8eg%WVdF0p@y z*)df9M8!vY7E4do<71=d65I3elB&C|+6#}N(hXL!|MVP+-WIIirsBcoI7CE6` z{6zP1#}^7Dba-!0+zofzvfhkan(#^y#5Y!ZlyN@a?0ryh8aM6uxBiP7H!U+KdVo)h zyzBWzfmR_I2&~hZl7wZIG$S{R`2y$Z*5( zG=f~*f^qhygr{*Yw}_8%On=G_@_N-^9PjMr$9E=2F+ypK`4;DB3Km=WdZ*AfS^~{? z1F1ingkUcQ@(vCVb%EC1aQsjEbUwBz1azYT=xN;beeaxea!^hm*#W^HB2AVjs; zz#u=jM~nT~cH${w-2YgX8w1#FO^726xq1cw;^5m_HWKjJL=6)z+8-}@A+hyp4Ci9e z{f<(}D}7v@^^l)LHR-EmuP44C${QB3%{LZmt|+7_dS-77MJrBLKn`d{=f#<)SjxE` zP&)Ly@(Vb%y|e3hK8Q>daH^eytx))yOwf~ZTGu?lTBy}0W99=P@csu4_#zw!6GAZ) z?>n{maLiCNkanvbSmxW?-bNx!TOn2>cZI#urmX7DvvOl|is3h~ySE^!EhaT&w{g+X zby){L6e){^zQZ^SVibPp($$_!4CK13`O)X(?Bg}(8yAiKwl%uP#rrZ}OVtm7lG|L~WHTAFg!yA6N$bhn-2{ zrpiOA2C?;04?{5an=Gk}ytNLOK|Z=|)ur|@;xyEM&A+m0Ub^E9fO2u+Te+iu1*NQQ zvv71~wx1#_nMU)K>2lBIZM$I(xsQfSFSsF22 zD25U$zX-Kbl44bT-#56i(#&95H|Tu{k3JV&oULf{L49G3Qrv13)>LZiy8lmfvCWIt zdoaeeejR$Gm$JGXr(F`$pl=v`pZq-_hpS!37vlXKd8u%JCBNRXq&bMT*5jRUMb@j4 zEjeA&=P%zFN;!?+Tb#)Bgc}(ZUBfPoNF$I2&!#j#Xa3ef8XZ{IOnlw}%vG)RM`A0e zG|&--CNPbzU`=q6bWEk!qv6ZI3r>pq_HVSXs$O&~E8xRvy~+F@jJ+Jg&quk8w4VdQ zL-kmP(5#mmSsJRSBB3HTh%kisGxCGzbM@%YROgvn+b#KgV{ODe*hRdvM7fD^^Zz{?YXlkQQ6 zDT9TP%!XU%p-IuYw8ui>+dgm1{?KTPvsDFGCS;d_Z*(;ByANGFrQAXfF7?!=Z%n({ zE^41nlNke4OiLXe!s2s{d3sYXU>eJ1-BZ`jZZ86SuyE*>e*a4NA=MaRi|`@3G;Im} zSg|7CB~1aGFq}NDz}a%aNr2oJg#ddU#O!X5&PTzyukQ4K&iU)pzW1%rNmpM-0@zD? zY6egw?jP8iaGK7@wB)GZ5pO-{#L~+pkzB?Ab@-o+a1CZ8BXO$303gn+pVEw7Rrk$j9UM z?`X#mwr4p~Eupz>4MvFFss18U7%!SMY&rbc^0EH+Bbed^Z~=+;;y)e+` znh@Jw;4|BdP4`&ws8X6v_NRtQy_A{@8^87FjN$G#!qyn}9|S)CowjCmEKXu6s~Ayv z+n2I5sAl9U&fz-n+HlgozFNn|m7ZR}dhu{-uj_cb@I&jn#Hr(@kONxhoo%lseZ9YJ z+v`1EFK&G|6`Z&mz1E<&imylhfBH!%g7fsGK^N!&>8AO)1)F<43`l@NJhi&bSeClY zXx3b~3NBDNxGeF0U3 z2T5O26_;0t%Oza=`SV2{p!DW4$b<~<&aYAt!Nsrg$x z0kbsPJ8vCQ0PeK}+tX-Le?!87U;*;LsMY!l$G>t;ZTq{pEPj@;O1aB}R^Rt>ezf{u z`Y!q=a_eRtQ~RUUAL z0+=Vgw{k76U(v;Xn!Mc2yykP?@bfrWynS^2sPl#b;I;T80yfu!CjZp!Y{004K773! z3yZ%z(C&1(L}cJ$ zJRSd$8xxS(X}_r@DBVQpfAAlBXd)d;drA5_U4}J*<`rxF1XI$kh;JF~1YL>hN4&{3 z{0_~fU|pohpDCyln)*ySv2mAo9>*3c6>A!xXL_ zNG{!ipMX01Sq)U=Q#|l|y5?(egh9I^re4>5HQB*J9Yz{nCgguYIAYcxetOF!=8SI%h@q zK>f1ZMeBWKLlDZZv2Ak&8?hP*iLcvaz~xEOI3`XPe*4C*#rwH5sLL*Tqz1W?(&t2| z3*&1wNIyyUbAYIr&>d`Zg+M???MldP1v*L=nld+u4#16}3}{ozOuo`$i37u5P~#L$ zMm>Z82_|2+Yk0`*SfSx1;zs}qK##>-_~Xm^uZe;2hG}A;ME-DI8!-8xCiNK9o)wRC zfM05d_i{G7*o>i=J}zKab>nZs;5=5knH~({bI|<#%+y@y3;S|^=Vx)2eVggpR~d7i3c`s1M$Otd zkpy-ThWh|6^hOYb3kVqVkInTzKcHaFqgzEwN@E{R`o4AuKD~Mq|6#$ z=G3=L8-S2zr<`5^NtPCTLW0Ch2L1q^w_Q`C89as&9VCN;Or3l6>$oDC{%H?M4CKUm zs3x4^TOhgGv8_rsM%s2x=fu!V*gx3BgLkP704IK2sX1$ZalTS#INcuCkQMhgS=juI zRwxrm9EhM9c;HDbL6q+8l!74He1qwB<|ZlOC&NudvPxR2NzYxrHs{!2UsjlhT6|-ldPw5FB1D{?c(zVFr>faANn#W``y$RsL-20ynA)7%fl#xRk`pck{t;eA*8 z2I87?@_k_P+rzK2oap0xlUZ>#2OZkN_)HIhzth$AygR<6mto$$dLhzoox60?Vg7t8 zo#d54-i%3!WQgC9RL68o$@MZ4xH7H>08K};T|~fqrt{97Bz}i8Dj?*H!Y4qc;MdMf zkILK}QbNrfL-FJ>T=wn!jfaV@35mz(8#5DSlx22~zKrU91K6IJ5NHJ1b0=HAqA)J1 zp`N$h^E%rTV%lqTW@@dttq2~@#5}g3D$3 zxvqgg*WYl8D)CnvFudtDnv>c3B*iEH;}w)#q-NJF3WVYn1DJhOzadgz@hJN>p2p64sflUolU$Ix-^Wq@aDjLZGJ=;AZ!v5`QV&2~fMkM+(bzr|})Pmjtu ze2%YPw0Q4`Ef?LLn21U>=m)niRdhsLbL<6t=hY6BL0msA?FTGf9~pHuUw9oaHmP`` zIL{b&zVq;Ro;+MGT4>kzB=DvXbdiUnI_VP^#7o6z>c?mX{s5A{`?9yYP|oabv>GJ_ z$9T|1|041ofDY#AU6`n{DyxV0A2F-wA^5vh^9;-JHU-O-GiRc9zvtgMa?}LgjmJKdPQBrvQ_; ztPb){lgBoPbjZq6v=@Ahr&f_P0rS~|p=~x2Jz8li5REH@yhA9G>FCA7i496nP!XkubXm_-g44zvoA>F#ulr)yN!?&VQ_FXaJj0WuMG0P!qiwB!Z`A6I0N%j8X(cX)j zK{Cbp{*My?R>mJ6*Forb+?{gqT?LGj{Ioqll``n=WArkDM_2mSsVrH*{XnFxX<+5g zrv;6`lT9p&pxbTCf9>tBy^kc<0Li;F{o4(Hu}4WJ_M_Fk)GeQfx%9gVDRiH!xmM4c zBPK_QyDzH)NPece2U0mtI&g3d<>X+Yj%XfMTwTrYR=^yw$f?5Wt-+SGP;I51Nulw< z3ger4iqb!WVVI3}-~3e6l2eZIk$zHgi7|&N?VF?&ksqu~=6Z3Q@3qP~&9_E|zu^d5 zM`b$OFgsTasLkrIsaEF=;jMgOG59-3=m?&RWpf6p>2^c9ndv@Z6-mi8_j-C~DenxG zOZTg_NtZ`oX9h`2cdfSmKIo()-noDsJD7}JkL4VmsT&$b_*+{a9+8oJ8sevDOw2_T zL4mh<2jY{~sqb#8y4J0AE)GeCVP2n#`DEk?fK@-wtBYP@;Cme=_N#%(^{Dy?rU(F+ zZdny|&+fCh_j9&=>_0vkpQ&GX^$F=zTdh&^J0GbLKn+xeQ$`U5uu8+;;S`&S?{s1w zyS(4!$8y4cOmzf9k@L#b`a@70$Cj}8JBhV{yNNZ~_T@pJz$<84CTAx@>-UEIMl@3# zkB-#&tA=R=fct*5>r9q4O=^-{p`g#=f*dLK1!cm7?#0z@;Gby>BmfngYLo#kMM(*A z@%gp>_+7AkXw?-#2DA8to|nNyyEjAv*Y8RnW@x1_=l`P|rAlc-JLE~e=P>EcUlK#$ zPL4o_>iF3U8>`*QPu+IEb@K&$MEHEIX=lp9D{`%J@mhCAx&UE32vAuYS{R4(=kOr! zU>7}mqtD#qjG49frKQ3L%xxQ63t1;z(rnSV9+XCdw`mbuuWT!8*y;4%keoc{dc`vx zH2#P7vy|5&Gr!xSPrkE=7A_<$t>(?$6F8(;f{gpsb00G%7CWr<(F+v8g43U#JZs}h z%ER?vp~MptTVR(4JpM{Ul%3^9K>#e${G>V|G@$AEv%rP)#5Lom-(0}_MXvo`EQQtM z?^~<6viFvrfLes3hE1=8+RtaLV(dN+u|ni{C*b_PGa>Fx&LXT1%uflYllBqI|smVW!1 z5SoJq$tde0LJm9p^$+HSU|Tx5hx8K5o zD18PT0K%u?zPCf1o;LKN*Q~CYBc+g8e&jFZQoW<>jMU&t0y&=-e$3->MPUyEoD3H@ zkW`z0zwdJ1o>}sIZ~hnAUjEmKAO3V(Z}Wl8y5m`h-jDZ@LDzxHs2%$@IHcJ;9cq5u zG&HohuQl+nF>!jvD>Y*=Fv6N5#3RFBSz-bL5U8cB9FgqrByf@y{BByb>tRu6_Qa+F zz`vloDCoBRE*1$i;l1)5hDC*}@x*i9N&he?e$e1VQD%2k10uQ5_=v9@qMAYLDO1=h4`kJ7M)i7l$~O_f!ngv-$ZBbYC+P zBhNi<^)K$Xd#~EHZxJg&CQ3sIQQt`eYtN@l0lUS|D|*evXg?3bq%f-+Ov>>uO}lC}hy@<6jmo=6RcFkD z)(HP@=l1a%a&LFDb!{SM?=ep}e_q^E8O20|p?5AtlX^#xvU6z)HV~mR9MKZ4=iqyL zYtYMKW8gA;y#H&b`U&(EMgs;?ztr8|J1-m_q2`>ocpt>u+O)YZpEvoK#m3Q~W~Rx% z8pDrf+^gtNLJ)~%T^y^nXWj{9!Xz!R{|I-|BN1We9R`Vg)cpG=BL5>UalF0kX@k(0 zKegl64N6b;yRuthQVA*^S--Wo`hR5OM{jm6&mT*`y@(yXj}$YF@5jAnf@&68 z=?>pJwBG|_njVYtvVB#vzQ?j2bKb>L=efbP()kvy@MHji>plZmp?UYcLmk~Y zWJ)j$kz3Q=0Yrj!44?QfpwtcXuO-f-DogKpNj{?QFk zL#|AeC5CVsN2PG+$$zv)R2cGnp}h$}iiM@y9jW+F3ZyvS z0qhaV{vf7jlkGuS;a|`@)bI&;|HJ^@)c~PBa0FddSwY(snC8LYx33dqhSoY|FXX@3 z|NHp>mb1x{QtS|f`t%D5D5vl-Q9bjhFZG(yU6L?$U$F7dcFg2?U+VPq5d%nbZ1f5& z_XxhReew5Fw64pnNYgvVHp@N4n=SVGcs+eL_CZ*hJ`wRZ;<{78QM&$4+Vg<-Ab~D8 z^dlwpi-bKUi^VqpCS<+qE$CSIn1qQNq+ugX4W>l(O3$i{v*lPMdqkEHzCF*PHUQYgEMpe`M z7xA@I>W0ad?_#?<1h0g9-F%uwqNK3+M~7v!B6aHiY2`K{t*+^}hOqlLWG)HZeJSn! zrPQAFgPN-Mn+;ka|Mq)|o4jzn8_e<|u}~WfRxPBQvc|fmCmpyk8+5+}pWpsqA5mS$ zg_MN>L`YUWs7#W->6AN7BG27leW@qI^Pf9j#P+gAYAe92{b^;}eEEW~$Y`Iy3cOuyL~(VznqLylNJ{eZ=~)Y5pG7 z*N77xpw;_U@2j2FwyLFNLrC*v!U)(!%H1=xK9SQ-*`L0Dk85H=j0~)-u=nmSXhY#m z96tVt45h`D-uqNMojK*;Q7(oixz(m zV`5+t(qo6N5GK!x+!N{S1%D zE#j$l&H5)!FAw+J2BQi`_2oNpthlH-1D0gPYs@vJEcK*vP-*?(Ul&a?#Mx{sseXdTSu`0N?uhVF(r)M{Am@^n^#j zABj!NpZN8#L-z4qlp{A(Q-49V&hg#M!aiJV7C5WGls*kg~3Nobm(*<3F#Ph^RnM^d$%QE3ig7a9Kf(R|P zdo>7YLjSw;$9VGaHYC)lcwx`O>6m~&1!!87B55(e{N>SO>OoR|K4blpEel{Jen~H> zB+huRHCAC4W(4vGavnAMIId{=`4Nqeumn;X?&~kN#lLERJlmnGk(rU)SW#7}jXDGp z8V-|uL;_>0)mHyHNiN>;a_dfkmrAsz$j{*AyN|o&1ra&(e!J!6am#Pt?v|HEbQT@( z&5tBw0fiCB=1x{3qza1Wt`34J-F+^c-wbk7u=}WHs-~WZ-`0JIny_S}1D~sSI!^}7 zzvN;Y z?|Y$C?Q=(5?E@CD{nz`9kUMw-AISMrF)8K_ zz8glUP!>I93m{@7^bdmO@3bVt-QF%)deDS#C7M8a$ zlYpCc`qiQ}yiFe_x6(=WF~Y)Hj#EnGb#JO+$W+H&7IqagoE{2(KmN!wrBfyJ0;4pE zsDa-6y%q8{Dw+kRX_2HivSt-;czzYZUFGH38Q>=Yrg%w7E-r(#2=jiR%Va#*T11-b z=^1S9L>T{gFOp-5zO=5Lb2>&1qyaLfpC1uppAklY3vI^tomXeMz3Xo3PgrvZYZ3K` zX%;9j0g)+Jg4clD_D@O=0-1;h{sYN(vDu<1v!8Q9dDcHyNeB|Uw>ufL?0 z-k$uFC*%{tUKsP{fx|V;qKh<<#$RUlcB}63u8=Vb5sVE}UP$YdV}9hKi~(Yqze9#8 z2cdRUp>|PFI1$(`qRm#=@y7f%rgN9|!do#WK0DmjHilGsQW}=@4+R+RNzR|^xy&U7 z$SFrz{T75zI4v=1yd6GES2>;+y)DU<*gJW{H9fLo|HH|*qBfADrrtS}n+@?s6nP!i zZ1!n1YWOhgL3p0+Gvc1&v^j#PMeZ*`YL?o36Ty(Bor;f86g@pIDTUx6artEK{+=1e zf70tkuYMt4T<{{_u(v%yU^1j7k!UTUW!8+CMKPaK0C&gzv&*RiX8nP!6=LK}VzDi4 zOyI`;XR-_7(@{D9VueHk+8eTy$|h*SKKI7J5(o9zk!jaC+RW+08cvIuj|UMC-AYNH zH1i=Fqrv?ImlWN*Z3^S7xySvMTsH5DGbuVy=VWS%SF9!RG0^GkfvU076JRa2a-pMq z*sbGp?Km7lY4ClPD~@XPY-IbtJ5t8bgmKim$5lAArJL7E#RvlZ4+|EJj)xW|vcRaR zP1`YvepKk!A^}f2!kD$E2|YYzsucAi|9g=pFoVK@In;G;?&~5=W@$i2IvN9i^k_mx z^GQc74ZRnEIJ>9G@=Iq2DH-HsYuL}z@$7Vb>~R%RWM-kga?j7HWvLY9xt+`wPJq#knI@HqGil}~vBGEGmL`%|Sn2MPGVhNJ&U-I^U zNj9X0Vjz{_O*o3OgK>ly|L#){>0MW|4f3>;j*wAHSF;NGmw7W>M8pQPcKB>3=3=>` z*((nnCXo9p7p>qu+RmyDEALP&s5=uc$r83mL!<>>!tiB>)e0`T4(|+h*V4uE{6Lsc z3pE@Ig$?1UTaUkV_%15>WAE|urpDl}{*7w2vj)K!iD#qq2^{=lQrv?Eh+>h}-HFE7 zT$FWFdIX&iAyOnh3c$m?xklw@90V&zmtKC}Gv+;bTDZ-){Kte8WLaW&yl(OLdPjfU z?%2N!yEdi?vYC6TO+ERtoKQO#RjiV*aq8s658j&F3;z12>XT?3EGLe&t6=e9GaY^P z&65B8%-GG|lYEOWbws_!o8TS!XJS*24h#p!=j|o{Tpv010uj8%=ZpBq$A(yeAtGDu z`y|hfUUB(q1d~nIygpr3@n39ay>@r(>BzOOhz-yQbY0BMI46SrY!qDEnO7|c`dPXg zGaqBDr87s0$ALksKe%eh;(Ps>``(eJ$5mS{!1%I}GnN2RL}nU^KHL54iV4Yshc`d>)597h zo~!`Ln7bF*-#8xUw3(WW(1V4W`NB<2$?BDwQot)Um-Vf*yl>I7t5&FDl2MFLAB^m} zYr{@D_6I&W2`3elaZFjLgL%rsV)cY~T1m;gTg&O)vYw)+)z?@_Vv^j0_9MtZGI&@f zzkl|P6ZE&)SSJJfADiE8j^>^Au|nZA2wVuj#<@_#5dA!w8Z(fjfBdWberMmaXNk&5 ztb!|a+CHcGp99)#MCYn+Rja*^z4+blUb_9{wVkce=tU%EP>LsfLg+|SXy6{KnD9W& zSRhaR2e63`w}DA?!$%XoTLuHDxU9(dufQo@bw??0*zd=s>L>u-OYe36{PHN2CCSEe zsvl*1ubyy*IN|I7L8j6anYw~H9pql+Gj0{DMS)3z!qPu5V7VBkOfF=zh$l%x+gYD`2c)-$wuff$8YkqN=T(5eD!W|x^f>e$~sO7)1S9(TYs=c^$Im_vbitv1m zC1sKG3a|{h9NDQT%+o?86`DjWL+Z&2QBchE4A8e>@MyR`Zu zsqS6NW(pmesOJd5Fj2IQgd0qddA%Mkw%yO9Z5Y(djWm4r_B*z&%JDFPuwhv6gS2lO zbzwNlEE!4oSO4qBzU7L!bhlt zB4f#C6R_#Vb7N^GB4g>KV$~=lKdX`R#l`^Sz1S2lNyoA}jUmj8@GSv09%Di45U&c_ zrRU`p(UQX1uOR$Dv=pR}IHA@&cOQ2cDKpHlAaIpYYK zt01|nhy|SA!25l~XS_%Z70N~|UcL}TnfzUV9v#SPwG>%f0k)y|D2nrS*OA@N>QDU0 z0Q((!12NRjd6qA2mh6`QGRDk&8=+^c3U;+-wDGw>6!9b&EI>Rd1~>3wr~3dVmi-BVhN)V4d?0$zFBS9pS-JsHQY1^TdD_}h z=xI?F-{K-A5{}x}vVt+L$8b&1?cLOQsUtu_BR?+$=cmy#3q$a6UFeB-GI(Ev z5uaAD$QWZq|C_%w+Xz#Gd3r2Wd{l47`?`dCw^S2I_ttrZ!z=<&e{x=7l5;qo?dlU? z0GJTs2g?bg7Ju6Xn`nsX34lu9caF~ZK+VlBWZ;q;SO|*^P#C^v2LEfVe1N`HM3pv06D=?1u5VN6 zOK0E#3RU+2x}?U-8RVC*i8f2ip?lKybziUm4x&nGe&TXcu8o(VGMUFRbd}185S``C z^xjkH4`@=TeAg*zE`6qsRwt>_(P3?Kt6mL;s6 zIF^gD8%j6>Y_sRt&c8%9qn8P#rLy<#B*UZWfGmq?kINg5wgm^1)Zu$lvIM57VRxs8(((# z2=Rr5(co`;D$&@@7`k|zfNLkadYqiEp2YLf!u7YVq)sV2>sQ|cbWNYhE#ah$nD+j< zG5jmVc5{q@+%DLNxSUc6I6uH`3sgVN$6RSG?)B!O_;4cGCH*qMcwsyRu1>c7J#VO5 zs_pAd#?^H~QN1X$MKD>y_b@14g?m+p4l8kkH%Y=?on%@0DmQdkGVe-{qQv=&ODeF9 zPw$FWY&Htm>S%sWg8%mT`ckHD7c-IiAkIhH`{k4+@zI9}Gc*q5*^G^vWWJWym%bP% z`jW3j_NXHY{_=^~(S}M&9^taF$J1>gH?{VfXRUYNGKgsM5-tTNTbY61o)YLt3;FnS zG>SG@&ZCAzis=ZDX)apCDz$Mbp$x|zdCT~|rXIcuo9>lYe5mF@Y@f!xZ9e^eqk}{1 z;lH%&)olNxOH~mm=iu$c_fJPjscozQ1H5=X+cO_r#F*`9W1l?~qh~r^e zgjj0-4k>Uz;C87WM$$`&Fh&xj0l`rO2k}ZSn#63>o0XO`)fpm)wa`i_4|ohZXIdoO z-tGz_Fm1QqF)kZzHMp7mvl;(bR*rJyYJqevoHI$v%C9y?vse+D<^Kx zG%^rBOsbyDZ#n3i18$h2l$E-bz)2n-UEQC5Hgps}`kpc1%@?;z6hyqf+=T0pt(&Ri zxBr1u2m|1M{eAWC@J{!7C5}*=lXuYN>9?y(kH6YCzPDE!k$?3C4@8$`o8sQR-98QG zKhF_lm`*=!NT>evt1`ENk|~T%EwSM%d8qA0R-loG8W(Fj2D;@H4AnXS$azA1-`*3# zrhXUsB4&uzPp(eAxgl~I7I3o%Iutc=-M^puc5`WF8hu5E4Mi35CV-<31I@P6n@jmd zn}?4Mo5PR4HkUr{qm#QZEfb&YaD2R9#r)`TEZOt+tmsacXG*U|(Wwys=v|UeJa?9^ zD~TL|2?}Fg?Hit5F+KPEP4u0~8ibZ9DJFbB{j{m4%hvc+bs^G1TG&`y%gKvfre&ix z1Zd>ZkjI{H^6bo6>8WV9wEOtgV~Po&qBUnuUCZuZ9* z{m_x9f1Nk7s2=yUC7sm3la)Jf$4^&r;4&nlYCn>MU5u1Sk@w+E9wE%<;! zLU#D{L*rz$n9D=3;Lwe=JJVuBXfXuw#1?h~Gc@c$ww*PxA{i*NIyzjgUU9rDQ`13> zUgs>AEvp`HW8^w`vLR4ff+b@>OL;d&O&S>b1=fH`A=NgX8cY^73gk zw7l4m&fr~F=2msJkjMARTc(ODLagJZ{-eR%la$^zP((+UG9C+J#H7E$?b)}{0T75} zp1g4}Lv=Y_P>&IDgx)Z|`74dZG^hGSaR8^siap0PltMmC|FV$Fi+1Rw14lxF{@x zpEsF?ZN4|FW4%WmR%v}Zl)m9zZqn#5l!Meel=6O=@cIaxOb{XyayoLSpQ%>fOUL7C z@ui#FewtwVDsFR8n9W)v`GNonMB)LciQ6JPD8PaHU;R<)pLLgSO9EP(8b*(tCu>O@ z{D77Q#ut&NtnF3c=e+8*r#9fThMQhd7BG`Nu@Mj?L8Pui&9{4vffwe740_r&X{NGT^M%gZ!mEUL zr|SiF$7<iOrU5O?q*92tU3Jf4q|2$kLqsmfmnOG6F;IlJWQg9+!2kHcO3WSdJ^f9?F zw4MDhC};*UoH*;U35a-rIQnls3vm^BR(I={#Kd-2{pZRXhu!nyj!*{1hV22}X|9du z?3I+TI}SkFY5EyHoDcIS}yaVrH!XHn{oD zS^dso+{!JOF?vHX!KwfxA?RoPn{$fJdGRkkYqcBBlz3z7Bx;&6($|l4#)>=R1>>(6 z<+o+R$1JYpYnCdBO5a}V9*_)xOP6-6!CJ`?fZ_4%=Q^qDJO)lAQO+b|)NlMD$f~Q% z?#f|~p-cl{-o^zad;y40i*bOxOrQ=g{lrg{d2Jj09vKo)qbY%RI|YqVAM6_%s!mHy zj}J9Kk&T)0|Hz}O@q{8i8x1xYoml376mHcO+QvFg<0I zFB*OEHwOur>`VIGh)Aq_4_J3Ww6s;FVJ-DYRN3IVD?mqxk%yK(`7_VuKH2?mX{ z*3+rM0D=spLq9WP0nD$!eNmiEP`SzJXEO!_SfC_ma+1_UH%Hy6@Cz0J{DM%xMwbR8 zr9u#4L)a_R0 z<(!f~zekK*4J)dU13S)3;;J4Cy$mR((X#f9*vhot(phrdPxJfHez=M0enzj!Le6ME z_&c~%qFO=hpZD$%p=lEL?|57NXJ^@oh2GK*_gopZaUE|}&=~!`orp{Y$5#?Q3|)}e zy^nb%<)J8Uz}ovrP8w*EKzk5cq6#Nx3pN-aL*44PS1GxUTQG}-CXepJ;bds2HhRW2Hhdid@t8d z9n<~Bg7o3^y1}206$9?`zPWUXjs8MUL~xO>LLp6=qdQl!jXtr>q|*P9sN+s8@vB^V z$>Y2JTIWRtrhC4w^BVK2Dj1lOMj1pRrc^h3!davwf!*9zV>S})_;)ekGE^@^#Py$y z{l!O$_KG{%W4pYT@ul1EoK*cD%_n_P+i=pUwJmP^d|F~rB;I{u>0h@FM6;m7EhhQI z*-_T}sAi{S9?Cts+8gOZ@F{JEtYf~3bG0XfVOGS6K(>4zM-q1UneX^dzPRT7$(NyD z{`AW=hYIz_BBAA3lrQOa+E-p-p<3r3v@S>#N$g(cH$Hh$!p$2??D!#q`E}q8-S~ba z|3<0yy(K$)x6|1e#og7^+ifVcE-=fGb2T?G!#Nyt$;?Z9e1B3$Ar_A$B$auIxwucj%+fpIU;%MI2G{KOHo51N_R+mauV-Z ziS)10jU-2g`PRoB<1K&t1+cff%^XCD7AP(IP|aS{2Xb@gF5B9y7x8XpbS?aQkFQrg z^@=H9XZ4x1G}n;aQabtKKtxw;h^uiNVQ*oCoN>fSA4O#1LQ{T#HQ!p`rV7i?&cJ~~zcVw0>cx!76PFJH$zsn_x%iW^m0Et3GMoR`teM*U z!tHB|e?a(^+Wp6X?{$JX6?Xv< zrsOB7rlG;w2xrAYtT4MUe18~odsyKHc9xp2UGi>2D}{8)6x0G7nJX)W*%s=`I0a0< z)SFg+nCsCpE1e(c2V>0wU)H%SF-HJJF`OlA?M&&V^5s8tL}Z=L6y}s@7r=Ea+Pkw+ zbYOV>V)l}|_h7SoWBP9mlMDOXbKBc=z5 zTpOedg(2a$D>CV3Ht+e(<3tWdr~G(4#8;Z;*zUp9&9>oC;j~Pi&aw(Y{JCZga-E7i&smG^KV)0fuiYiOB5=_kZf{u9JRMA8&Q5?9LR0 z0}rT$15tiT+cRI`k5htKm!paRKH67`k5@1%0H0P)nTSSnn*kPp!j{cNaWuQL`3|Z5 zb%#>Y`>+6B+4O4k?4U{lGspR8FC(JP*Y06 zC39U?gXDI7M4jK62U zJti9-0E?giC4)38>gmrFf*qFcgRfV%93h{r89X@r-L=J=K%q!e@w!Z=T&)ASq~8MPBP3X*3OtdtK|WR0ZA})Z6J|n%^~fo&0`HkjnFJ)$Nj2 zL?cQ_K$Lb8`Y=8-Puuk}v(rvnJLc@9UC@@(bIgLWFC3i&@PLd>U{zict3w*l5e-<; zEWkJpBJmKSiB8PTj-K!o?*tEmQr<1(sv_P*i9kNt6F8;ZnrS0Bqw7FTfLJA8_2FJQ zx*PsQ6*+l$P7oU7LM(ZEmm6LV+q8dkbs3rzFL0MF8~f?gryX%euKsWnU|GojE`_Ng z(*;R)5&j;egReGJ>&m`HzU~Lj=IUi8^1{4Ln#{|pS@nw9EZzs;%WB2+P}y_euso;1 zd+}MQr;C79doHg$J<@!z`7H1a8|9CF_;ZP1HMg$REkZ3?f*ulBF$_X62U6~dsKD2MTn{6b0N~Zs}x2U}b z#fU+uNZ|?IK3s>MSseX~2LypB0C6?tg1j;wVF0FZ)!j}Ug|0Tq&5aC2|MswNOpd7z zU0?NazC5C~3dB{2;TzMQ!B)R;DPG4hfqZLPoX<`~KApeYDYj~lgcp+eLDxo0?&336 zLtxbh$APM7?lpYceFMMjbu(5Ir1AzZAf%mb`$3-$jvMxY`9t!m2csWHN`p?#jfw^hGMsEa)=_Pt$g&_Rwbi|D}3k zn+YICp@>qcP}O^m`4i z*d-gYU}NqLfOr>;Nsy}4t6Dd_{yQyZhnewKqR(lDpVN#!QGXAnm%yyL^GHzAklPwT zRWzVk&wD1!d0>#VcNQ}9=EF~g`*{n_RllOyap6>u^X&u(M{}i=qZ=sQ8=YhHr0ULr z6NCU==m97ohIa*O=E%hh%!Za zCb!yY^2x9h-RqjSVz4Qlr8C3S_u%m?W@aYKskTMGLz>21#<9io$?JAY*dT(kbi-f^ zOhl`Y`BOCze=_7@t4#fDeOfM=3@p~VBsRAXA*Oq+IBUexJ57mW8mD@CEobwez?o(6 zt1qOH=Ms?(e*9=(sYX{jhJ~fen)=m1+v~FRe_eFYHSi%$^=f84++|N(ViX5?e7tt~ z3(NPh3+-X(WJ7_LJ1C(0bgNj!_db~z7Qv(x;WTho4ku>a|Ner7`sUQ1<0&yZRMYO{ z^A}Y_Bd)7k`yeep{>?WWv@AXMdVs^!oDed^Ajg8aIs(i@>3nP?uIJC{xtwq`Jwkky z;Tn7?=jJDZo7CyX!H+$c7}Sq_sjQBWA`QqO*|&)2qM{2~FnTie7uxZ+2)jlwq%B?c zA?9+;p#aZJf#GJyq02}cFH18am&ayyf1+*#$9K$vW6FH)DkkDO_vE?xShqcjr=66A zQfprL;uj<)p3C<(VT%gMGOtqv()KtD`k2tI^1H5_l zFaFwgLTN9%MR|;J1=?S~!#nbn6+7H8rZ=kg_YjP&raACyP?<7eh^{&H;5_+`2$u&b=)0FS#h`39e8 zYk2fWPe>Qq7E0WW{_${u@ela*VT0jX5pdZ!)7M0}6RyXaxGE;jq#t%=-hCwrHyY4s zprs0nPK0m~T*)W4ah?S(y8d0Dz!0I#x@wn*vV;qK8Qc9rs2=VGFgB9N&f>SWA= za+rhr2}tGPo*Rx$*nExs`CR$%O27#6fhnV#iEG*jmtAI=a9`?X=^GASrNgYQBDZtb zGj=Cwoxi;ENM?wu(6nL7us1-q517Un7e}bq^|&T#Tre^5)bOZ?L-GYtHi9c zAW(Zt$oKc`GYVN3M-$P_z{Q8@bgrjY?-HEme#F(~PQk~@Q-Pcff1kv!l)%AOL0beP zpJamb1^m4BeA^tQL0jMK;1tBaFv}CRu&ktIDtK54;wVyA z-S;W$^bN894zl*~Q;S-n?@ps|(D>`DXrMP}(b#zt&Uc?(_qws?2!X8NlEPZhpb83o z5TF_W-Sx8tLW4~C^=9XC_rE=d#~*-2n_yC*^nKgEGYY$f>QqG_fm;jt%+oPw1bJm}`|)1B>P!~d6N0{(gm!%Y4A(NorTGR%gxappfn9(-Qq=47xW&R*!$t^v|dHOIEyz z|Go@TmGK}+SE9&x80BqfuLdX220wZSzVNm>YyE_PapD4YL%f?W5Xx+z0Pmv)ZQ?bl zZkv5NqW4@?0!vi_TQvmR@&3j7+3FshKoaPtYXFXmD9=a%6&C#HCnSF$s>Uc=9HL{Q zg9-QPqig#DURk|MNB&RT>>o@@sbxz~>lw!mo4ndYa}z8oA<#)W~7t;Xd8hP|p8jN)&es*XAHYBeA9a3re z7oIVj!mLaVWz%Jgd;tjE6$js_^}{0%VbPHkeI1BvP{NUwHR0imU|x9jp1ZU`^co91sG-7#9fI zP9JaU@3mInp#xbH*Vzx8uPfOkaR)c@DxM03*@ES2>Z>dWlrgb_MHF-LF+i|$jr`6i zU16Xb8y96QDnlhl6ikahJ-B>`A5}eX<>;mMo(M}m@CZh${8HwkWXzk=r)Y9}A$soS-Uyh@-M!_VJ(K47WzjzINn|P&$K>^Gyh)}|=QyLn&J|%z z)n?$YG+Kp$w8Q!itW4m|P7U|S$SgG-QEYXnU_t`;k4pS>)GD1B7(+?0XJH4R87oM$ zEAalY++;$~G{f?2cAFqzA%zre&a~ZBDjmZ+s?Br9RpO?K3ow+k~fG zwpodBB2k_^w*9t8=Z>Q`R;6MYEVw-KnQAK3yc=#SS=N<>7GS`^a`XJGjT`w20(4!O zFgMvSyV=Sooj*wqpv-)Y%baZ(A#aaCos|;rwtGwcVu9iH$S1ZhpSr)`Zo=x3#a)R# z%$Rk-If$=R=INkOJs!;^XC_9Pe(=HkVD-a5l(zhilw|rdtdQkx>phW#Mm#P`+;s%| zpd2Oth8{QpMcgF;(J8q-NfZeNr!@U2hvcsrTqt6i#n)dZmJVGApzAY+roCE?z6@q< zr)Rzy8ragSNB0IWZffGvUq{rj0ztOUi^LWZgm7_X?K%?EdcIRRE3bmkOjg(t-A zbbHh+efoPLoGxY!C0k(2@e<8Hd_Ouy^^Orbvdl}N#K5qh-xqd|XN65wysC@-)@e10 z$WEiMrE=0`dA$c6zPFIz8Jsi5=MXW#uXi6H#t9BzAO54<(JR@K{B=0uI5kbwWvW0B z$D41wExt(e<3s-e@^aP1If9voEM)E*>z{EUWj;li}oro2xm70I=$t?Mih_kaGJo;VhE#%K{nJ8#5T?X~@RX zD5>-#^Rjxb#WE)LqjXu{_iRS+h2TlGBJ)X?00xxQ4WPmhEC!m0G~3%3A!*cdu9yu` zDnm3mcX_WkR&8*8mQ&_du`r1Zp1YQclTl#&Xh{1WQ8lDbUaXkMEQ@ZN2Tfqu`+NZq z72Gs2cXW{m@fQ;x`jV0qmk@hTK%eLpVGE1BK%_$+w76p~+~!rOWR)ewom4GKG{Sc! zEYVv@2AgJ-m>H;4xAC^RTVy%6y7*#*$Nskhwy2H16oM>e!waeb(h^P}$im9c^a~dMiNR+!~9q*u3i>p)hu2c9) z7rM_~&@g+trif+4Hk+-O_nTmyp_JswF^o7 zT1yrjGTgOU^a&^1KJEl(e_}GcF$d8!9IPGbT=EY3UUJ8#C)on+-3Uen6Mk}YD6aRC zls&`7OI%H0qolB7tuq8FA}L%6co2`72Y+H+jW_X1ne_@2c_(wlc-=RZCysPjH~l!EvNVP!^Z?VI0&<4A+M|^GfasgN-=VYA9*cx}3|G zu$%RO|6qR<9$ztT#h^w7i)9c?y+Q9+3us`l+=T4HwCNE7_xbrtg zlV{#;4`}ztL3wGBgu%^xGT?P6NLfA_39(wr!pf5z?M zaGn&lJgRnd$|Y8BqUG#7_|2hF*r%L5q1o1BVCk7!L6Km};-BG1R2oPaL`Tk1ahEErw7(N6 zD(rd8ouj>2;iZMAAT9E>7V3n^3*JXl!WZshz*t57L9^SAAGMlznzRxSvlye0&!1EC z{j701i;u+Zof%ZFl~C60imB>Z&2#F%W+ z&(Xl<+c(In$GxSuDg9oDT7K}UWU}kPy9)-D4Wg>U<`*BwDtwsOK&6YLDKu1Y=E8CO z)M->Nb4wKuXd3jiYo!F)9OwLF@abf-G}DB?UoeTs#AFJ_T20h6dLLkU6^_2!uo4r) zudVwO)yV!uYbdu<6^;s9?z~(GUaSHVhkaU@t2u&=-l94K8WK^)Q#MnA7 zyfe=GuRWwtW2{cA`HKasa*YKPQ2L6@!0hBqc`wW#Yd&X-vpaeKId!bI( zD`DZ&|ATtz3SGT?Sx?cG#UHN+=9TdJi>qxCLSJ(v&XM&d(rol4 zrIX2WcyMYndvF8|VE_cweGCw4n^>m4P~cgy)?t(1(a?|IP2S7%zl`3&KPna4eh!Q8 zjBrb?JR9VjZP}(4J(LVaF_Y#?DUUan=cWP3Y3GvV3bOCs|8*?$kViJYM>!)^lsnk1 zDNPlX*D&V!Rpt$JfCN^hMUD5@eHzAqFpBmgLl^loRzA84esu>7f~)0z3o`$zd?iO4 z8v)-v^)xNdA#b?t^&mlnoVdt&Cc9Z0c|t0#iH!mJmb^-5R1XG&EIHxDoRzL2wE5S& zTuS)spIg($mXx9}XFkOGYF%H)4H5I@V$7rd-B*OqmNf4?n=eht1fzHHL{1LVbB4Vqul%3E0&L^pq7#1D+lw{nv zzOTT8{w@t+%B7$CDF)I9;%8K3KQWbe|`%|kNz zihObZJ`P2})z~~B*c<Qf4UH}j82)7+2a!&z+ zt+v5{sW&3d_QhwnvXPta8N6o?+Ez9QCY!rk3(VieHiDfigJiFF?(Y?S-f6me^!QS} z3pn^Q@0_M8)GXEQPpF97brM3krpYr`W?onF-Ye`>IKbvn`$%cFb!=Y89ENn2OXj_Fr)QZ1E_Y47?w6i#NYrsl+M302r& z(-zmsXaYzNj{wY7KBECkE-&JV-0&c3+)y>yXuW~kodjKkGkMhyj2-#$Ubad;%DOS)Z9d>@i=^vKeCPz66SN*&#!U6J~~h`Cn%IF{(bg z^yd*kOhK3dyo4T6M`9As$N(qpmJeVOlnkY0kW|mg6tK3oCP&@8(1%BdS4aT6RR7Jfu+o!W2p9T%x3TQgkU`2 z>VQ-jygm%0`4t$X$_yG%o)6?>xkXKXw5{76k~LL9Gv!5FRHX_ky2G|kIYcpf_0@7B ztTrM{V})_hO?#k@dPaV-3oa*`iR?Qm8mHAE6yDX#zGnTNzrp5*CC5*Nzws z`v}m)Z_j|3$~N+S!D)aqXzv8Ue*S3x{1dOiry0L?CR)d<5vU){?ifyTH0IOnD{QgO z7>!Y}{~!{z-j%>a5pf`BW{vsr$?zzHn(0eb*LszbYQDU~QWATI(39jX?85CQ-4oOu zDPh=Ef}4t>C=SKe;4BO~e?wtcdTlFaQA{Z$6o>OZAC-+38YOmkA103J;6aPg?V&$r zzZFp_qEHh`(>ZsxWkX)V^laITJdjIeT$V**KwG|^`)@D#X`Sb7GNo$H!Z$nHSVezY z?K$S2H8x$7!-TCpgr|>+wV&jZg+UC7tdah_eovp=oblL~=jN_2!s^L{X?EQD&)k*6 zIDapm~0W$p^_j)`51wLOIJ9po`YF&KE6Tz{t=2l8$ub1sg`{EhT z;+L4kkj%3(yB)n4wZF7N3N%N!LCm--ap*uiHy;0L#1_g1cH-6(gqI|L=xcg z1^wgs?O?FB2SiRu6WfR4rg00p3~P+@iB}Z7hx-w=*=~Y^Qoh%^biuqB_aeHAl68xzo$dJI$t9+*1%jl!ZlgB==~lnGdUJ-##P!*edd%V!-0 z!cyPf*eWIejNw8dLyaSAmHO69#-&GZ!=beA+=*syIh3+WG-F?uYDP8%a6Z3te(N{1 z@vY>BvsNNf`*@2(=J)s1ix(&n^GVX}%BuiQr87|TRJq#-H^P@Q?*7QsbUnGLrTcqL z;Fhy#6)blCdW5aC=z67LzWT=*5$>ea#C|?SsHTZLf1|%>=pvsg%k?N*LioSPO*g+g zCX}ecH`okjGcg8jbS=Ez!y} zhWt?dD&H$6djWwT)4uX|DzPuCsguF;pd-QB5C~6(-f8$>D5d4|Es0ATUfA2 z$VbDJlCX&QEfXd=ufPN1(+j+7NA6MV6tivQXUXK`;AS+~a;2ldLEB)WR7GIo_dAyfg*qWg zpF`!Qfj`O4zpd3qmvLKS2HH`Zd0ZxNZRc`g_<;C^^g{&ZzSPBSK9;(GaO*O&Rt7lq~bVm@jB@b*Ohr zjTT&J9mU)|8vka8zwoxtA9}nw=rurUJ$s}xc+@bs7u(ZNmt)>#6>7#`i?m(qcm{5) z9gr!IJVHq1-u%WxB=11mH6UX5sFM7*<%dbDD!u!f9zN0zY-Ddmg6Jv z%z=Bnx&Gm@(t{4%Prc{rzmOP2buGNZ0sIJQIx&Elhj+WBLj&Ly-+V$YE?WFV#NPr8 zDo6#4glBrnwW*16B()ryAD~FBkY>lp4hb>;FPRl{e%3sxo>TVfwAW6X=t58w72{Kx z;);{oI(gE;l4gLE)M>y#9h!^W(p~Z|RS-AhJ2R+^i2XBL0KP>@%!doj3$-|+CSEAu z1w!GvXb)_g@L;*S>^SF)M-(Xub}2#Rs10v1<=1MMFz<0TQKo_$9P^DZ-57krykm|n zyYZ&!{~IV94pN2*ZBYrEHtE>W!Z?pdtXFV3@I!q&?YyOL3iH3I1I|G{8w9H6>XS$6&NR%=y+~13<-Ww*3)@Cmn@EX!C z5CVi@Qkz?ZjT3s`gj_x60r^`VoGTl9_ew~p!~AYU_Rku5ZpfQ(FQw)Fi< zH}$i{rAk(If_bH$jEC}3BvpPc7cf>l>DhAtclt2|`jH^gPDlIU%2y6*a($UxPec8X z67(a(ePuPgj#1j3dlg)~X9Vq@RCo2`y^t=g53MS@+gHQvbAi6u;05A*x+xD2!}hw6EQn*oiqBm@vhGwJ6U)x~V`pCDvibKd zLDTr)Xr}_RS9o(smN(Zq(^pHn=As}e_8hXb`{R5B4H(m~O#^D-fJ701WRwBY$tNlg zBBY*g3Y_?Fwtd0Q>1o>oDx6XQoAA*He*(0G|9BI=K>49|?KBAm514~+`!iS(JzL1j zNg=G%kf&_{4 zkSbtt!fa^PtihOzpj`<#r^^5+c_}lX`Zx&f8AOS(#)1gH8DGL9ea$dEG$jbP$`|AQ zgtEdqlo|adrp$Ipc}-ss(oI5;OAqiYbqQa2Y0-uNF{`OxFzwhdiNi0o&{d70s0ema z62#^OTob+B81S^aFQAI3hQT=#XvB1MF;`1>#1~Y7v4gC0DJW37WE6RX@=f~m+2kqY zk7Sjapj7SA+={8C)Wf8nTueehvs0rfAALHVbWKq-qV7b;DngW$OinF{ft51GfG zW9K0#RTKSwL&ew0^Ihr2BIS~i8C|i#-?sFGOQsJFajIAj-A(f>1A`>H$RlZoM@LQK z5q6c;06pn4@}iBux6)I_JiT2~R1Hh8!8>q`sdmv4+{bq9Gg68rFDzd$%#q?wFp^eX9KyYfH5 z$GAw_3e8mZPM{KgSV~ww3{e#G?{1uZ@^>6_{7Nq(Z<}?!fQH498udNYg#`th1N~aX zh0L@szPne!dX<^)Hw=`KYItnIdB_5a*pvYAPrZtC8f=voMjEnw%YR6P$j7Bo*e$7S z;ZN|Dll*?Ts#?)P$|f@@5=Aq5NUB+cYrey>ZkBSZg7qy>NXQ@oJ@C#A#raDA@a^Iwn;)qeBw0D^LJ-cwTuaOM&f{6pKZmh@j>E&ZE{cOp6!TAW2G?YoPi=PmC*hjBVK$(AMJ zw`>1+q=hUH|K7qoP>S*^at$9LYeZb=oT#MvhCg1GNK=gto{OV2tVYP zhTWh#RL4-vgUiSlm)`Px4zZLs|JV}uT2N~;6e=IMK5+j$OP2jP5W!%WPWpJ8c|pDZ z^GjOH&zhY-KWoyc$XE1idjsEn&pdH5abCaHoqOO#&W4Ycu-P~({^3c<+t&8LP%__wlF;I)dF;Jvngy)kzN9Cw z1%Do!bNv~}w;eUruk~iI{`W6;Z@nrZSkt5}E*ij$&z93yL$q0D-(4}huwL+D|GnVz z?>*1}_9sXGe^seP zaN6Y*+PRkEIeof@Z4VvTkQH3l{XRT|pKpH5cG(;{I682&@ix0{x(uiW%vXskL?L;= zs-bph+@Gho43SlN%)rhv3YNv2_nD#zzX?Q77q*h60yNX4KW`jzR|n2Dirav)LoqSk z;#BWq+&vLZr7~e-$5aZu!$SR?^dGiTc7`n=&pDtKHHu6|bQhKNpTA`?_>CPuIp*x{ z+&!=t&ydBaABFW%QrU7neTtM+^_Uuxr_ERGBg|9_kIQVp&H-~QhK~n9%E+7-`+VMI zzpL*8#ZAQrt&pMU2*aa?)Fh;C#SVP%kNbhPcGnvP1yB9f0~Zc(8+8rSoVM8s^^kTv zwgq4?R1=pj)NVi#qES(6Q3lNWL^+wB+Y1xSrkkNJIT; zZ~)AL-mbtCBy|p9As2dds!d$KTuA^83{(q@Re$sAq9h+qEnSnVqc7>Nl^xQxvqfaJ z6ign^E6vQZ$SZKc$(^hwU!a@uV-pry^tzn*ygzD=7@Qx!fR#-YM>r+XGVR zk(rLqg}~Ibe7%0KkENxctRVL1gTuyqUq=L!^6jl^Sy zm!dnp5C}o|Dv4kNEqQVe`KU|-6;!YjW=IYw4i-YXMY2-N1RU@Z6jM2I3fl0w-8b7r z?qDwog<>&)Pb53U)KSQbS^|p@xNAiOGa-SbOok~|3339iyuMoTJfiEi7O=J^> zVfFHjcs!UI1yJ@Xo@2x1v57-5cuAOr(O-Xt`WnMnFKRRB#phuCFI11$Um(bIpCE9| zWT$$Q@G!$Bw@Y@-!%5<H_$o_s-=T$cbCQ~oFrJ5_Xjo+PRQa+Ee{;Xw1F837SAM@XZzDi+CCG zp-OFs(ZHAo*q?F#a(#)NSsAR|S+tg_%Cnsg%SWF>mHN#4F(ul5D#U&KRJ}m#O6jBirKgWjPb12QfS6^=<+3`ct*X<4T2VKz@*r_A& zMqT#XwvccI4Fo*>!Im(PA0S==@ihUtY&^Gung3$c6Q)QL$fKrMaydkvfD%7L_vi`T z<(RCuA%4GCaPm~j1MB#G2gQJ=rmc4W*7zDgm?=@!l~n=}jD&GNgd#$lR~7&F%bp^+ z@ddj1FO_-(Kc1P*W9Hn>-xQ$(O9YB$wlYFv zrlX-iUwzPg&nw%d0LkP3+CDzoqh-dfypk51BFO}eYAs5Bp^?cjq&crZCo`KWW()Ct zEe&0^F%aH+ciMx_4X8rHdR8o70nfiGOQSd9!9)1OmhVGc>0YPr!~TyQgUb2|FO}sz znbngzKgK-%2qvHU`foM*wbJ5l(D9zVbZa2Q4E6wp1$d#s;PCG%`!Lj3tpO*-BYwYH~T%Wn5=$UlAz zay$yq`D{eRv3Q-{?GGwKHtP{>tv?mt>@3*1S_JUZ~cv$h;aSuGRlevCw3Yd)JGk;|c{82>h2-oO5U!$)bh#X^{_l8bQNgoTH)nm^xs#4ZBT2)TYbrt$aCZ)ws(kg{p;7>iQZA9 zj4dp>%7-4T6-%T`4A0+SYrmmBeJ*+Ro$2iUYv`t0ts)2D`^IQ?&8^THBXcC+jmgRI z2JHae4*(Gj{KR#w7s0v=wQoqt4*o@+UD&;9?8rq0WE6g7hX|^`Jg!lt%xC6iM@RvS zO_+@AG|4CNZ0eCoG-r*8)8RSGhk!=hQJ0L4^JXvKpkru{?TZ6&LqM?}eA{s<5c&rF zWO|zF=4f8v202gm;F?dU?b5fgEfs#cUrKXx>Fu)WY;-3{5ju09V*rfBh&6$*(P-A0 zGct^I7|cMnVa`?j!Eu<%DU zn67#y#(rlOzMW@|D8!sv;Z^_Dz^z75e0jsCwijijw99&=uKSgVoT9F=w;%jQi;=<0 z=7amJzqFJ0EJr*!z#})NH46{^^vBGm#O24iA0xJMHQ*^nNG??Uvbrz>*yU!>7?TU^Qe4@PtX5pQK*qO1N)@S2&ckyZGXR8a)jXuWHWzQs`tmw zOR&gmhChvJHJs+jleC>9RCmY-wZ$=Ft*(yx!~4+Olr3sY`%jRRlpR}($X3c=Y`L#5 zuM75@$N#K@u}}Z3`d;D3yI;4sV?_HLnuG8oqG{@-cob9hiy$Eq2#cqld}w`uIe$Eh z@~5HWS9X}j_3u%TvHk7PaUw-nwB_@Gd*3z$E--0iRNHTqY_pQVNdg85$b$J%9e( zNbSC!h+aD5KZiK>J=Wex7KFU#BJ59UBd<*-1I{|p zs;fxG0xPdPH#4P9n6QJD6XQn=7W|K+vy6(WeY^OXp*tm{J0(=Q8>9u19!f!xMjB@5 zl$3htRuKW|?h>U%O1e>6dgi?6|9+h{A7-sHGxv30d+*;?#>#)#ZO9ix;weCpXO0aC z&3@RNJ$Wr4#D(RDC#PUA@V%88^bxjb0Nv7J5+5v_QUe*OcKMlPN8>^#;(#DdcZT(I+EQ*?Pd~aDtKWr(yC~7lWxB0{ za0+H&4VKARyu%9G9fIBm({etG6HCS@@ojf z-%*F2XKL7_@&YmUx-G#_kKPTD(-p)%#3bipCANaAi13P#-&YFF{qw7If{e`Wrd>?YDI{ynAWi`?~Od^PL(n5w%Wq(j4+TEScVo9RwGdN~*~r)$bof zZrU1q^s+E1MKpj#X0Yf}b&?V{_e6c&zzl#8)Qua$YoRyI$$Uq4R#(d{OjY@Hx|WxX z)CdbL+B-slCHP%xZ}~R;6)?1th1=a|YlsPNA@8P0yK5KacueQTo<+`@+XQ5>aMa`2 zXaVu-#ZcYGwReb*1D!sOO)ZA1Lr!F2fWB{6?oRP0=q8))Y^Q(y=9zx(s$Dqd{4L2t zi49Kqw(;jpwdI$0;&gh5%JMv>`aggD?$bqMg>#^-S2ZiKthT#{YX9D3|5yBr01G3H z`(L(AMz!$y*E5ge;_{yB@fh$v4b&3B@#yTkh4_h^R{efYg^KuF?_> zPu$-^*qg(m$>?asT`46KB=$pR*Kj~F3WxQKCQQ(hUGk2$L!%;l8riaXim1u@LfbP1 z-=3(gqa{ptX|hRSCAIkrm{i~ECxAAB3osFiZj8OMu>uvW<}tu+Bl6xEuUivIf8xf* zgD*m*3f#Q3V@J*1?^eaO7*qu`cIDrF-jfS0a96N#A{h{ODdPj0sHv#~#2~Q=9K6GY zp+YZki@RRPRfpl*1WN?x{Tn@R_!Vf7TQb@uHZy;<k*rx3|eXHQhv_ zWITI=*kVc4UwLwV`bz1po*G58)zTc)n$@;=gpdgz@)cUo(a1dMd;Ux6dfXCBxXYBn zfZ?TJ0YBwc0~F}6CT7*ewXp+=bQPzKQ2}?|Php+yQEn^O=`p9Mo$0l9}( zUk3h;e}Z0F_{bh)n4L7P_p;=R2#KR7m0=D=_@`3*_o8fy#sHy8PzvpCB%^|_gMZsG z{@r6Tywc`*w)p`XKH@QI*~4XAtwiyqY=~KU^;cDLj`jB>^PZj$BmLM#m<1w2#3f0P z)?*>|i*G&Es?BJVZV3YSDeqJ+_@qf;sPrL`Q0c7>uNwZR z;=QlCHpWvg(hYk)#FWOAPg8iCnHI9r6)rxXaGCFn_{+B|F6PZJd(auh79~_-&%bA% z5q(q4ITuYtO^B9D-Z_Y4M9@0;OL-Y8{+ELVN!KYlN!oC^!CD`an6Kh05oLVrKXl1o zym+apr2IWWvoID$@K6r3NC2c?ZyNej_zMz3`0sm-{>B{HS`{2Dzo_MdEIIszxWIy$ zsV9)h+m+UF-CT)(=w~~%rB0%{l^wPar&_U)6yZ)9hkN2!!8@XX>^Xy6ZTz9g87IpT zt^ObD-m;&+_ciV4ukVchy!!W=B&5TKaNM3&WfF@8OET zy7jNtZkXR2_r=$oRpTQU34u zrSh2^cM#pDzl(aje+HP9UtQPL3J~`KS5iy&XK2gyI;?U(`BY1mVZ~#RhDIgsZRJr* z^4Z$1_g>Sa&|HH&k|2`92Tf-*1g5Ys4GY|C$8jncEp-*TyU+l4UItH-A#>R) z0=Ck12hx$zn8wzC>o@w`0B^-v%Y1DAJX9U_x2^T5@*kHU!+*@CN9HCuv@*x?B2)oo zly0i*SiXQ7uDB2J)b^!vspZB;|rI^;A z%Ms_w@*zK6ynN^Zc>)adlj4E$pwkn?j-An-hOx8{kKBScH^0lW-2>Rdr}{%dLldWH z`SX@e6F@QZa&Njo3dG@UyrhZ&FO=^Ts`w!zo&pmMjgZ5)8T!qRp9jOuT1F$^{k5gG z1uZGM$NDI8X6@BpO234l!(THc23uR~-=|TjFD$A|&yx0ib`e=xNHrlMuK%j4pe^vh z+`PED1?R>rtEA#1fl2?sahBco=1Vxxq+MYDZ9&ZGXYsSQO|JZ^W@WT{zkMP2p7-uV zO53ZPl^n3^5a~~W+Wi{X@A^#rM?TK2SB2^jQcU6bA8R(i<`5bG?IGj$Z{3UmiEqss z_K(=W7yU@1Q>0<|8FIvv_dy`p6M^R?1G(2u)1U6q0`<>~y`7;a`bflmRdVV}u*OtN z{KLI3Q#l{b4@Zj@+;-!j=yLAgnG#2<9oOH&on@b&O1U4qbLjr4t($2Wd^f=;b<%g( zaZ5Ad)%MB0&4;JW=g=GZJwhu>-j_{$_b?(hoM$P_Zk7JO?#eU-_8U26o4xyhm!pCZ zu1LdKRBROw@dGQ5?=uv5#4a^wHGK8Hj6FA1w|+!G25`I<#U!cvOX^0o`;jDtZETCC zz-NjWFm?LjX0GfHD&Q+0^tOD!fQ#eGsMO=mQwxB5Am&Y}lb_G??jxR@OT0VRPw~1K z9l9IE2EOl&TM%pF0Lr7GSKl9AMLYI#u+kr5V%^C!om4Sx*YT?n$acm(mK9c9aw9-C zEOie($@^JMJZz`I`Ko)I;cu(&P>dl}$&Rq)T)R5z)%{&Dg= z-#L62O~nB^@;iH;BAbgJnib2cXPQ9PRC*?A3$L}q`&cU2mTjb$XFDzU-Ia&%#(Vcx z^FC-MT%7f>%E%;~oc2m8uq2$HC?lN(m_aDl9|!4OO|+ZG6rwoYv=RBf{g2w&2)bnm z`n9jnF+OVy7r+_6sZeS6MIE-AKmU6dw0Zqw?aI3^x9qfEl6v!sm%msqiEz+6t&WQu z2&9-arJ;#cQ?kwaONILAYMr&Z+RKDd(a$OZMODtFyc4Ky!&DG4TSv8LtVw%E4H^l@ zJDl=Xo!YEtfifTX``=A&KUgco49plDx#-0*=5t8kMhr-JL^ zT^c|k>p<5GsiHT!uGLyY2!r4R_e43)-%@G&CT~7TjyN4mg#I%CFL1~N)jV|&{gGEb#rhE6JM3s&A5~E5Rj{!7py*3?mVelARo)jBSA0P((q-$Iv(NciM<9wydmE&L7T!6Si|dr;#asA*Z>FJA}S{SS6bXYKA`W;x9CF%2AIt+H7c`k^i)J@g^~f%TW$Spl+ z{=;ev^z98<5rU|*^?0sOJIclt%#VRFtYFd*J9{4@)GiIG#@zYVDuq>GJw-1i)BlNV zcSlkWL>9|(-4~mWl@!n#a=ho?>{*U2p-{QL38u9btmQ;Mm%RRA2bOJu@reEpAOe($ z0ayC#hN^W5oR)+NmGF-%jq#5+m}JpPCu7O)D%@3p}ppuBypJ7)~ga&m=^Jh_E#3tdd>Fs(w z_{9@S#G{0g2-I}n@aB=;E4Sa3Hg_&5UBo|loh=}5^7;Hu?jB229l@F;154r~?;CGM zoZlHPeGzaS_wIZ=D$e&&*TtOu8agz`%AH+2p25FU)DX_CZ5#@NvFBIZ3l@{F|7t1~ zfBvrZp@o8=K~m}UQ==6@fcG1B5~liE7alH(dG!FY`WL!sDZ zKM8d|2uQRP*6Djopl16i89zBEVf4K2TFnRkWs`GF+R8*gDs)b-2l5fE{InUAg;pi_K1omqvPoZ9I_pC z#0o3V@DAH?mfX0s0Y8tV&h4Qe;8M;BB_R>fNMr)1rx;J@60c^FCI>X^X$8M{a_fx4 z*Y{a^oP+QKdq0 z%yYkvR{7j7+OIK68wKI(cTnZduvQW`SE_ev!M%#WwO*WFgJ&7q{G+FuI8|NH>2Q9t zxwoyz_~-k`VV;GQbiJ!wWIkyZf7}?jmNxkN5&qf1BC-#+2;7}{6+r-)5-R?JVGU>L z=KQx(0Rab%k}(Q?NgWD0*dhTF?(GV%X&T9_QDO3}ex(77WH-zMWy`njmM)_5bPq|4 zq7nvKe_{*{%MM=lehdOvQQyt{5yCaA}-I1=XXvasq|BYSNDjB#;kDnVVRTbaJ$o zv!%mzvc=;+od3~1zt~OMEnnJD(rA!3RXbYCgpeU7P9o(u*LJDVc!SN&_U}umlHkvp zyt*M`qtl$JQr`l+@3Wxj@HayAg9k;gUk)OVAAjcEngo3+Ua$FK7!$neChZlG-UsFD zQ&nw*uYP_K+dDU*6@u?By1Ad-o+?m+!f}B2JlIb2`=Co}nSvbc-w6lrY_Q=Fbdemq0Y6Y@Sl5R_disK(EqO_r+>y@I2j z)d8yop|=lDgG(RsTLUu_Z+~h&AYTAVw?|vf%lbiR_vKGg1$WTHJnz5Z z87(6i)&O}%39y^b6q+bw=OI*HGAB16a)~rmmY2mU+eEVSV6ySMt@Nn~h@ z`{qFZ88$G!%1LJtSY)5s=lM*Zq&Ih;liW&?&KW8q=1 zqw*2`KUn%XboBlQyv`y*E>CKDegyzvU$ef54rPb)E6IJ zJF5aK;?Rs&yCS}OVpQ^vKn*|d@K&E2TsdBRSMd3nb*9j6hogis3Gw9Zl?U|2R1paO z1O-a+Btv1`+;n^E5%Y$&rr9ZBV(0R{x_aU!FUsuA%-Of60{31ih0q=Ck?LyT5jQ$e zTn~nk7aCG_A4~)PL4Jlt`2CAU?*is58pdvxKv!ZaxGEvkI4Gw0hT4q+qNewXJ`%*9 z-g9*P+9f;~*kT`1$KiWb=VSeuL{Y)sUJrA*mEIGfaeXNv*2k*t)uIYmDB;^U{!%4o z<;1RufHhj_-^k84J_cX^<6h@}_|#)aGmkKacjU^x(Hrej|O7E)a=X{h8@d9yxw>6my-Cma#>z#$`)IB@2L~Jd18iAovzaWZ0I$ytf#R$^y zt##?DUr6AvR8)-;Am#OPGh5LsnwYa$EDMKMfbK5=3uO znRDOF$MHf%QOn6djam-f?i=nX>6~U@wSV@V97%)3mm>U!OJ7eOl~m<)NzDGf>-Aow z$#SEO1+5la4pw|tge3p0kW_>Ru6p{BEhYVp&g@aT%9A8UrrF~=q<|SbK2>(Vd&Jdj{wzkjY`)p_eWF*(h-5l_^!^O5F=s@vF+Xo$Guc+8y+ZOU5pd@vr0e_h~me?L@#=* zWnH^u=g87+VPOmk(lJ#38bphU3Mh^fnrW?W;A<>l)04KcQ<%pGZY;EkkEj!Bc9elu z-3NJ&5%M_-ObkNo?-T9u`{>nA>-g1Vt@Oq>ya*_kL=hSX*Q(nYNu{H_S62q}@~`bx z4AcrZ0>{#+UqG5E{bAC&&B3_+q~Kd3JoX7|zwHH$`Wqz`(S2`qlN<-J5EK@Eza%<3C>% zFYSm7G%*y7z7QFE2zoc0=Yq)O+4p{4xW#_ZFXN1^ z8FDsBA=pr_%K-T8HIgJpHEDdFc<;~t`?V3uT*)^a(efzvv>R4h7KQst=I#Ag6(7|C z+?M8o4(|pOBx4=s*wisitb}ya2qqS%vHn9CkwJMQQ_@W0n(d0cWXV^mz@OV|9X&@j zQ^_fG6VROT_HR_#QAg4mhq_%!IqaO%O{_o$$)1qFIDGEAlbr56 zo8m#W!X_~Ld1vnHK@7$1mA>gEMZI=>?PF2Wx;|x5IT64ps6EmI5c*a5}khiU?*C^|8UHrF^*BJj)$S?FPF+=^`{9OE(<=yKN-bHWytQYp*p!f zTZOMuWe{I>OV0U6tbh23)yN_lnirk0wo8?`8X<^1@UmOraXve4KHH=_SzMH}A}2)1 zmh_A688ae>L5LY6?4DjRpgge?A`ja&{<+5ICOM`CfQ;<#f-XWlaXS6S+s zCC}u$JxE_vAoNlFjlx|=d`P%U(h?4JGv$|sr>$-mu*QSFnc+FSkaZlmE2{;= zZV~?xc4yqGIoQpABb(H==Uo!EL=6qZA9whW7%5=LryU>Y6gqJN6Zg-==^xqhPcGV{ zn{u6}@e(=e+MJS~Sq&w3d^<{Y$>XL#e>sbJ)zqR?VtyWB9^bT!X6xz4AzHm0xYt}z zO|<~zQbhm^gkGX@((n!VUD4it+(~C=mS*+hf7bGr$rUxx1K?5QIwqJE59(QwC$`(; zEeEh;tAJiLRn*l(iB4l|@>@@Bz>E+jyCv&`# za7_$7M-C_&ZQoUhi1h)|Kl))z{(0HBf<;E_afgt^pd*HdtSQSY*og zwag3+S;2c2P26$kfiinDAFuCU^TSXl8M>SOG%keZZ^bD%{_1v+ycG|AQ~$y!W^z`y zAm`0AX4zPOC-OS6O7?Ii;L@k(AJT@0k?e2O!CJ?$WGk8V4c@A~A00+rgWRb&$;L}1 z0^+Lljxmbr&1%}Dfbv4a_~(kQ&BBCco5-iwpB`?wx3b=QTQ+}HtR8l-GwOc(l!SRn zGMdL%p2{Awh=4pPcbUFug}}RUHW0yud-cv6fOd7OTgJdgaz!2NtCItUtF_UCF!I$N z+N=FTM?cRx(xfj11L30$&4IO)65|=`0ae(~`A?6pM|5VkD%N#;*k4cC8Dvu@o;KU$ zCg3Z2d|)9A4@w@&-IG5YKJnb>56WQRIAI#tk6@%FlyD>!FBrf_`aYMJAL_f;a_Bnj z<)tFj5j*VRrPP=sz_i1T51W(CdAT_KcMjvV=Yw-@huHl~8e7fdd#w$ZHR!j)V09Q! zZiY@7Y+qd}sqw01u_SF(6VkF@RobgGTY%KQJJIgGm{)rH@%@mU);}nij%QH z($Z_()Opg+ps-0+NjTECpnTd~{(%j)`o8ow?NhH9w4kG6{-t?naCgTK>+ai!FA0ne zRHd20uMzyH6wGH`;5RcOk8e-{5?*h|za4Ls5#D`g1fT1#L2z6@pR?T6J4c9_dxt!h zvX<>kphY~iq&RM{q(sr7la9W?6b$Z6K}LNyWORY6)nJkYw3%};x(jk732Bj`XcoL(zyB3hiW9}-cD?fm7n`hZ;x{%9SPLin zRrG73NP+$y&1=Kt`G7@eUhgO9=Y4c0?63P0m4rx8Env90)KiQf`oMGnuQDu?_xDbOEylo zkacGWYCvSCYvy0qxg75U2o{)LS#*vu=MA~yd%rEH$bf?*1UTsqUvyajBCmU?A4b{V zrx(3&DHbaiy;jii5~ME{jr(xHpxo+H0geZrvv=H(va0NT1K-Is{FF$F-H4DpBP$w}n)S1!u0-^l6maE_84{BXGl2mlQG{1N1n z&|EF;`pgAzpkMq2N*@606y({FPzSYLPk!Enz;NHU829##o$#?Ey@BK+=rS#Au2(*8 zu2UPK;(Vogx*TW;UNq&o#kVGIZgxeU2H7pYWzL>z73SNms!N#N2~Te=k~35;2n}Dg zv?3ZOqLn%sHv+~GDBHL9Xi7O(^J-X$ec$$IO86$6orPy42}emumHg;YF<9!bAO|L1 zdG4|f6Bv;P(%gjc9WBBmsKUE-qvFCwOV4itRUKqqUijjSCmJV*sE7rG(JSU98dIgg&|E= zZda~VX7HhCbs81Vq1f)l{_Jdf*)I_RLiO`_x;M6oN)Ush+>%qIKlL4jIo#B{Ai8-)368hQdgX!^v>BE3MQPO{dx^QKkkv5s-2c5 z?>1Cn6_qKx>{B#8IZN^1wh5gw`23$j2>g>qV#%*i4%yd(T=dV^J^W5L_&v?D=${vdZRVo!JO z!`Uqk@P?t~FXjP7H?ASj4FzDYe$5N@pFM&B!TR{YT`|6tn(H4ke}jTI3W6;C3eTKi zHaqc+6ekAy<6-InLNi8R3n?|4#C);m1Bo|L^23Jq#Uh>hE~%SJ4(%N5mlxv6FMNEm{A2c`v)72K8UbyaN)t1I~obKx4Vz3O~&p1vXk&9 zlMqrpfk!P7z$4p)qE{*wfJz;%2e23|6&ySkLX9z?`z%BVm@9sKR@o3&rFz<>%TPR* zvHZ^aa3SbjP&%~3d!Cc^<|nthC4NmT-JVnB{rxxAj-_p)ORCRrzh>u;k!>$Fb=E92 zkchW6^|>CALc2MF9hJ7V5O3l3#G~jY4BJ(KWE`-uf&WlU6_W4RKmQf2HNHpzUD@&W{9B+Vlp4gV@d~!S}736>E6?FT7?V>;i zELh%Al}ti|6;dEb(w<9rZ16=5#ft66&4Ycl6)kgheY@xhMQ*PWncLhB5xviwgx3k2 ziCD{FOY(?BhK7OWr)Dw2PrOddY;pHJjohUd`KWtGxHXC(u-wCy-5_?C2<-o zmwdDpWl2UG`p4HE5=wdgoylUm4|QekE?v57d}$M4I#U1D!jVJ(+YQRcTZ|U)G<|~N zVLH;vG~5g{ylO7${zXNppnexv+`mG^1V`GLpr+^;WO_F}m*+s62_h}CzIPz`O}tl!h_Jg7zU!06UPrjk80J=-?MU{vNUjQ6 zu;~99A{rg{ELI4Uxg8(UI63+L7m>-Ee7loYtg7k`S<)i=owDf)^+I%tlj+>^xo|iM zlLqn`s03?Fa6bnt>3UC8JtClR8MW)xY)m2=IrV0De6;)rKg85jli5UTI5YQ-)(Ftk zUQqa)t`qq5L9M?fht$8)#$D&Qozu;(3EV>ROa4=LsM`8h+r5@%qx|sObbqLwI!1V$ zdM&4wGAOXfm>Mu%&lLE6jl4hZnmbTup#!ncL0W8BH+uZ!Zt{gJ5;{{hOTexc+@L_F ztHkwahVCQ@#A?N&!p2@+;MJaqRHQ`y@`73|N{9h>>FCL%IVT7O;SLR;THEms`giW) ziy6iPS1D&6Y@5pJk}ate8ecXm8k+x0n?;*jPt_mbjA*z~mpUvD>$g}5YhAZ=vf}6f z2Etl_1WlXAZV+MG@J{t4dA(Ox>-FG|;>U{tS~smXVf7yWB0uss5fUw0R(>>uq}BcS zso|>7KqT7kIe{MC;?}!|JWE!w< z*cgV;%@t@zo5Ml^Ix$VG*K&a+2rx8DJed3D9fQ~WhngBJDxe*C&I_5Ee&nenBqU(& zUv{-h?@e|x817BHJKvv5^X72TWZ9CxrTe&Y_8|RN8%Q7Jq*!M4oR^3I&<{**G=jnt zBkLgjf8#j{WXsFTn}2=FQ(EFPD1M}rjGSI7tV_Bty&=2Z9bamP4esb~lq~6d*3s%M zo};0l)6jNxVZe(8RF> z5fA8#E4><1?m<^8PGlrEc;C3)0}`^2h3I8Gqz4{DWCp_RD@S&yNVW2uUGDar1Cmr@ z2&>SzpVCq`$}#%6U9*R<{+S+VVDe!UVXdPPVp2bdU%g`Vix%}%!09>3jv42tOy*N^ zcp~HrHC~i<%gDwi+QU&1gR4;b)DL^8?|}&J7uclxNm4`|0-G_o*XDp8+XxS_Ytg)( zmCZq#U(=IsPctFo4!f9ykW1LPw}^;4cL6ZiFkG)ytT zsznV%4D9sDaH??w$M~9?e1K~)(5)+vQD9XP7f#05-F3}TcE=y?G{`+~eR~t!^_U*s90`n_<2rDYS()`I=pI2HxDv%^ zU%uExH~v>zGoB&D(#T*Yq4`mOO2hN1XGs+k{EKz?|J-dq|1L>=9v$zg|A3!xdNOE$ z7npE<-mB?`Aig|RzNAujYH_ADhaRXPY;~A|oXCQl$Bq2bhCGR!T;C9TRjpEAQnTkl5|^uvl^Q!$P3|O`MB=5Z96{&68~qQyN08X3vOiSy~|~vycKpA8E@7H z^etTNQHS-`jyt*sV|k(rbJ!)nmqcg2!O^M|D1HbU$PS1>sm*CXZ{nXfu{IW+t6TI) zh-&#F zSI53cAZ-^!`R<}`>I(rKGW_nxNTg2LxN*8sj9+?SJvW6A5|KomFU6(^ZoJ+x;IW?Aw$HI zJIA8u3rK9aOC~7%5Wd@~?SAe1A_60>zI#-jZc8hDaM*9b*d{4`KsZV_x$BU8>ZdG4BAGdaMf zu8dqB($}VOriA^PHY;>p!VvgkfkwqpW|iLVJTL&tS7pF$Y_L)duqY9~SpgfdR%*`o1i;j8g8*q2 zdsfJ_X32zKm6g~(A(4L|G}Lp-&-mrT;K?_B z#;VT|%OjL;_%m$sN>TRqhOn9GQ^nporKfsR&fLF4MgmzM?Lc>n`Lp{}*Jm`3DS!!& zM>`|2ux&9KY|VMM?+ZHIp zc=0!4I@HQt>iaMld@St)blyZ$xUWlw>0qxbEKOmjh`)?!Y*KBndq64o2j^5_g34cT zTUMNUYsB!wk0;$yTGH~u<9!X&1I_-m@XIf`gC!PkulARB+MDEfz%JTh5K*w)_ekm# z8~}|@!FP5j34B-xT8kPU6AM65Tc#C-lt!E@OHHh1ADTT%KMFxy%`W5pSLcX{lx#q<#$?kX=w03xq(?2CM zat?H`A@hDTA@257(y_)fW7gMnc61R=;52c<=FS&1ey;7b$9fR7pi*F>?d7=59xZ6O zqTfSWbFLng3I*$Ze`Kfd#MO#=-}EU!h0CcG8{*NTiTM?~8Nwvjbdb6=$XT~#2)}B@ z_jvQ37nd9xHsx=N)X8G4zb~0d7jmhr?pNlY(nvetfO9F%?aeuf&Q*6$X=hmwTq$UU$n~Um*>FW7PWXHuCU?Q^dhD(Nb~l ztlT(!_8qF;;T`&vO}miSZ31Ql;Ri%d<(pFq{umY%1njFT#eGMQGePJiVLQ!=>5sX? zJDbQ9>b)SQp)MLUNTP;@<}<0PPzkQRz`c#{Eo>uykZq4U`u_DQmmP?S5jHu$9umpTRAC5Q6CO@TxO{yYuJX6wikcpwA5bF z@SwL0&6A(#J$X9(j)4|T23X~1lHQm%BvAL`yo#F7V!SW)iqY0)6O7@b8fg>A999L= zXvWyoMcIBF{a87-zmIMwt@!77fh_hqxX2RoW|Y4#LUQp*z(fBZ?_n)AN`8pq;~l~5 zc}`q*_@J`$s>r#?UZj#rl&vBdN+*R3nJLD?8$M4L7)fp#&7p9ftTu`g8<}tRuML zPTbL;&Ri=V<&PBm;fSUcHV*Y9E~=IMCl}1(`_eC$O1=KJdJj&X8`I60td}eae%90P zIqmloj7eM|r`< z(u299-*qf6vTqVH*eml1Iv!5htU8p_Y+{y!g12gF4c8slNPZx>OM#*`cb&dX&8!Of z$1ziz79o_8M!4LR zJrx{9u!HGPC~csjK-mLLQ=iqKNDc7TV51@-<0lXNs&XaMBkg5MZQ7<9U}XL-Px9ZD z;y;QD6|uq3)Aw&12fJ;}OEdQYApo*e2j7sgf0GML8?#E+8XB{T`3lLf4m5$)2AN1|aU6wk;AhIz85)TN zOi8Gw08@S_+ft(nB&|9%;}F7uS<>z$tr(0%jeDO55f9_zuLH{)G?K5k@dbVaJ- zP@Mp#iwz&SCaDF#io?7aeQzEWDL3XqF})|MWz;wzqL3FapwCQzk|c?raA?tU+& z{bCb@sthNdXKQ?J6I|cy(rt=#FpBnYaI6?{cwR9=`Z_MJXsH+r8RjO8AO%OCL&Vot zgxzbWPrsLg96Zt3wpn#l>MbpHxlI!4w^ue0;ADYW5|wd#5y~jdnG9->hSSlZ=2}qA zxF|pDcs{`MIEh^AmKS!)j_S^O9s^fBEoeiRZ7M8kG@IholM-$SA*=A!&ml6XiH17< zTW?iha6+0NI;6uy*(K>p5NjBg+fR>CHRN$N-ZOL;t<V3pY@pa(Y5p;i|Li$cT zdI-(#WSoE7yt%3tn|7*8xY+ES(4iggt&PfUOjJ3SPbzjwDg~m<&5FBHL~kB`Eg*pT z5u%cTZYtQWV{FPv2gyGvHih9Oc!_1MsMrLH7rU~k!b8S0_FmB(y>UXa9-V-EJ(BYc zEdcAsk7mEs6&l!Z1GY`lj|F&5a|lge_1o5kXnF(MKDJUw zU9L;2Zz!pO);cNd>h5zk)Kw*~m_~9j;(}b=aFquT&#HGRSC5Dt&}EQb)*}Z#SeSW* zcAMVh**r5AY<#(G>@=#})rdlpe8#PhrWJ521O}#J6p}tJ5m> z-O~$i9U1jQw+!E_gV;l)C`@r|Pgoz)PB0P&-iu!WYErG4Cau%{F{Cmlb8Mw=_QR^f6OJ7@G3tBr463j=hK5M=8*(*x^}^80 z7IFCcnbFcrJ(pq{HR_$`B*@UuPY6&$+hT915d&Jh2|>+r=K=45RBuAg&aX-U`CCfP zdVrG^>+gowvCkK5?K7^dG#(}JyCv`Sc`gYD_t^zf~8 zNn^uzCF##B0ULv7@6a!{CWM3r2iXa{;|Oa-x{~Gfq}51+mt@HU$TWx_DA5Q~Py(hA zV6H#B6b>*S2;2Ekts~Si5)^Pv3j$3G`0-?&t_#p+acatQOJeV_fAiA@6; z^JJ)|8l-Sm%W%pU>-ieVsjQgnO53ut_FPOJEw{d^+Y`^DtNUy5#r$vvJ?Yc5Omy2J zv)Yc7uq68%d7FYhmJh)X!PTH}DorAvrowL$Q7`>p!^97Y1Di-cS_@8pN%kK@_sn3{ z!(^93BXb7E<*FOrK9pmS1^(khmS50tRW;7<@&Ck=w=l#?SHJxqN zdPl16q9dX=Fm<1{_cx}(9(rP-k_wPk|8xk<_LKgx4UIh5O2CBTvW8glRqkA7j{eI- zG;hzx@z-A&iwb5GF{8sl9&!x6`LVFlGp(r$V10v2f&yPt4J$}mc@E*Z+2=)X_Hr)VBr06Q}s*kKb7P9dY#z? zPZ5Z$)A~-& zuY1;bT3`REjJZW#*1iwH`d<@*t8uzR^1>kHooz{x< zwf(>Ef|CAqocw)xMH^Iq!IFfT^fvPiXVHyk3D*8tN8;oDtPIp#si>$B_MWQkB?BuW zuaK+zm*Rr7KU=C9`_dg=|`SBqKkTFafdZz33+a;B>4fTjUL5}V=I z*Q9mv8c#p0k^iVU6)d<4PV^4{{UmrfcR-<$v{m1E(j{8+{g0zjcAn}pt%@>CcZ%NF zlTYwE`ODe)ikE)LbRBg`(-ahKW3!4s8CJr)F8qWKk|{!8dp{Q#9kani5lzJ5T(eNAZz8 z{ly6}hE13or4)j=i&E4=m>bZOIJXKip8pJ*b?ziOI+s=2z9EwqW05+nWMARd_D)W% zq=O%*;agCqzwfSFGFnF4t1?@#0mT&XDCqqsR|MW8eHJ-v86k-Mz^Mqj$Ur9#jVj`0 z((Xik->jj>VK)YhzXrA`skjc!_fwZY%c>zQgGq%XV!V=WSn8dn`AAxfI(tgM-YlmG zz`GJ8FiRXP7Q0~QQk3pjlOV+W>J_|Qq!v7wtE1O5S#tZ?Xz>fEfXAI)2#Cs`O@4|v zU=oXWUmcG*U=R*f`LD7MX99p$K%te}KH4-PZt}vZAWP+{WQIiOADFpX&AdI;m{)lC zFWwBqT)B}5Fz4fL7w7xIQP-k~$(5YEBoAcWiG$_jgcgz|&wRa`%|`|Di=P$Z0STwP z?BCNG>IkVhK}E0?m>r}j8?5AaZ+_bBK0Yy;7H=oP1Gis|9=uovKokmov&Phuw0=&M zrRfYL&k0&)m~hP(g9`7vVnzd>2heruBJl7AIZ=wVhfG}V(6RL`NFQfe0H~2dLehA* zs_cFA@WAl&C<1t3(;ysl$L1nQ-kQnSIKJscNBp17zr#3Vx3Aale$mMhKlu0ayP+8k zew9PZ!pZ9>a`F~p1#~*H(PD36{O?{L8YX|Z-XVnMxPiU|HL@g4F!k@mZqWr|OHKF} zMAsgM+|$R9JbzBdbh|z0%;-zNb}-RE(_ml>zIhdnpR#e*s~ryxg}o&q^rKwm-1Mq! z5w`A|sLz&L*5Aly`u<0{HMQBt&kPSNTs{7w6a@+Kt4S@At^mxHv$x%RH!*r z;5?Vc;D(x-yEP>S_ROcV=KZ^!o_vEgvQ5MGNo;Jm_n=EM4R4Sm#_ zD*~m|cl+%sT8#-2k5bAXqOC5v9|U~;tiNQjXw32PD0@}Vb7}t_+Q(Q=Y*GAkkzavH z#ywnjZ$QCEl28T7(>8t3wc%uL#VmSmxxVx$u%_pUVaj@tk<(+*zh>TN;!Epkb6 zzpnFBAJ*7wH7*x3+%nJ8x-#1x`KDX!vkNlPQUi#$Bl!OLuwO!MiKp7v`4>$$Uq$k_ zZlQUZ5g3EWMbtqJTdEhyEvVG;s}9(3SHJqPebIc9gh0MeXST(j;EbvNUVRBN)?Xea zFpct!3EcQ{Ue!2{5?-WJj8S-;&e#68S;U^_dJp742DrFetbG1vX9CSV*V5!)As$fJ z=is}8^w%g{V~dq#&ivb3<9S98|j+ev?x1?p-l^0Afs5RVGFYVIq?R8U+zGy>7|M-rQY(JK&!SKja1YH>xd20c=zaJ>@b zAIIcOMyepVaOQ&=?MO>Ky)&I2^v-)H7d%d>DbDOBHPc==^$r)^oQm6C55==OIe+ak zpW$(SW60w=!D(i)+WC1F-^h){15n4;bA$Gvu{H=+QF2(CGZ-LR9YlWi_7|T29xICO zLXyWd|CsdbQoi!2sw1TyBoVv`-^IBOn+k0#=3U-t3b{dkAvE38AMOA7Ia3jmxR0Z= z1BAR?!fNdnuYI~W%U&(kqB1{DrSr^4xAv1@j{o$IoFh>uaKYZsP%svELpcX9NxXT(HW!-MEO!B#PE+;IR=Y5WO@yh9oWEAIm!@ zMJ$E@^a+DZO6*gBZ;?>(FarX^d#7tbUyG8Pe3#v@44>gs z#G$Ah6NAXSg==er-AxyE$#R7SyT(U+{i45{t?HWXg3qOk>-vI*>+#l9 zmBm^CRkqrC&FDo-(-E!fvj>|q?^cVBi2|aqy=aT4*Z`cQ$9y}vuBoZ%@hMf?+@;gg z!m|fcb;l49c)wunvX9=3CwTc|9Ivcz&P{14gQi^DY81|%9kcYv$8mV!_k|$&{AMM-ZhI^~WUFGZ#znF)vQj$5$Fr@wUoCS)@j&hk( z67yoRQIKoslytKb?~OQFpwS zHd+!V;Q7+3@zkCD&kgPpAx@fo5j|l}b}FXUj=h_C+hGJR?45xs(b?Zd)BM*n!(_fEn6sW( zGy}l=+(*x)N<-GlFWUKRdOqSuQz(SCZ+Jh-=5H8Be++TR?Gm<=5KfY}Ad4D_$^$z(V9Oe8-UN;9;N>;_y%QM4 z<}Mes19hO7Ek>#s1j_VpL3_g_*{fzPCrL{9dk>-4T^rVvK%qD`(m_;HApD^W2{zoF z@rs6y2c!uw+Ke%03OtcG1!Fr#Oe`T~p%#HTXe=EN<9kv@P3~S%Dk^uY@^f1WKey6$ z7me_%p7$R5j9^9FJeeAAz0ec!*HstTy;G3Ol*Wy#~ScvO<&nMB684nf-$;Hq`<3 zLUt7wd$m;)Ao zB03-dxc{y4bsz<}Bc9){RX#qOx;#g#IQSg0v~Xy1n4TT7*7ll|#KAF*A0>F7J0VQ* z@uQ9o+bVKjYDGu3oa+eF-K31VbaY&)w5EXDxVmTn8)$qz;mJ&Zxwq$JP1q2NZ0tFa zsFYY)S;3^AA3x{9$u_9XB+)dh2y^q`(Xg@z35X@f;IH_uprmECRZV1M=(fkQkcdkg zdd1#d;6Ab95bZf|{$=8C-}LRYPmBX?<0MnZQv1~bO)EEE2@W3IFbBU^<$Z4w&jvNP z*9dA}$xKYaeLu&}3;4QcTD(BiO5fRI!)zVYtg4RA*lo*4?eETm#-K4|Ph?cn#txU? zH7boZ3piJpVyDITSvsBP3F@q7OX=9OZeY5du$@6d3Ek^c@uY^(=P~b~&A98zM-wIM z0xr>}&ShieA5UV7kceawD>SR1#hn!UC?c&$MHNQu*SZ=*|ztdc(gxvpkl37bvh#+Wu?);kZ}&^dBqO+ zXn8~-xPt_gb>h8zn@9}8<8{FkImKg6k}rzcnu^(U;1M!-!O!n~LRi16TPeyg(1mj^ zizY$o*wWq1J!C8F-N4%QHYEhLo>H+{&?0AKNnXh{hKOIKHFv|Iq}GRmyj&sP&u)iW zFAkpnqU=HYkaZl#tXB?i8j)D2R)yVOc2jwFhtNEm7>ulK7~%nU?_ z-UyTnS6GR72}7-Y=@2b5Nyp1&HDtDwJY(W&&xLl=4cQ|FrYgY?vvz|QP+%%Fx^ohi zdUCit@%k(|1v*CVXLwvHoFAd-!HEOqtO)`ctBc4j1$^YQNfWXffpW!I+3LPw5Kw(g zaJxhdvu?d}n0SA({!zq)HK|Ju%MG*ZrE$PkDkCvO)Yc{ceuS#`(`5L;v=x(0sc?<( zlw}5@+q?LAhpcf3G3I*PAnl?`nM+ShbwBbH&rKfNgE zc`_WlvbO^qj||I-0;b0Wd33{fZ(L*3D*>RB3>v0JHtK;O_~~RK-^<<#U4c~yBnDX! zX|~pvBz>}&b_ow14@Avwgi}Rfe_&m2xL|fC(6wVDO;Dw745sI0_ zayAT~fYl|s8(@Atm6b~D?}ak@Zv5N*tb5_}nX$j&du#c(#Mc4!_W>BA!%UP>ftjb* zVQ(2Spn*9V!aDCm1h=RB?yqa>d+p@cMyNrMaXk@s`dNh8c2o|$iC{}OS!9-T4&8~o zghJQ8)G`r!_^<+JX1RAUc-837)h?EIowt?Eyxh*buV6n>;})a8hp0)qQJcXR%-~N$ zC9rn_jV42hGGIG#ZqlQsc;mn%)^i6S? zn3(5yIIl2$%y^igI1|wy)_)rAbzfTly}3#po>c^&Uwq=bJF5lBY40%J9wu5zI{ zUJ4BjDM*YfB}Ry`;1iPN`}$vIW$N)0qvHKX#s3Vq{CR(OL&i4(o|!LZI_luCc!;#= z!g>lix<@b;@6V{Ya_+eDfq&rK`43wD5Y!1SUpds~?I1*r+&NMMQScwt6DG#|32bS9GEAz0ANFo(ZQP6aqqq~v6o*fY z2ZQ7f+bpMn@U}}yn}Hocg{=#1Ec*As$N0*$I?9%-w>m$Vp1)>kMDz=VUFZMU(&KaM z;)RH}BwEp(-a>Sb5_aan_dSP!G~NrnS*9)&<|QKy0`ubeTMKH85NzD~#gC#Uig{yR zYz>}H;YvGtZ`4toH}1yX*f^?bISr?{dK${iC84)*Ca8N864!4Pgc}L&$Mqn91YRa} zfh)j7{MNsBQ}^1Uy2TU(Pe4iKZ#>wnNL(&STtVg^TV`6t#A}U>ND^Q^h1**}lROF6 zpt+|_)b_GTCPZF=+2R7Nh-V)b}-UV5)(foQR^eF|Z|uj7jwEPsspPa$@r%yl!l-uOPNpr0i=KvEwDhpo5z6 zh|^tT345)NlJ*N@7#l@BBv1{IC2BA%9tB{sKfOb~mLlT=V+^x9cJgrNIhngcMBJtP zYstnNtTw-AZ1Kw+3&(KUKRkGUdp2E@nnftjIJNd_f51~*ythch5{17*9@lmn_RSna z-;VBN=z+}hMfYbEKqvxX)1ifXgl@X{vPN?~yy2hHQ{0M(p_G9QN)k%>*Z%+-KpkXt zFx0CAuWkkj3&|q!$1Tf*fmU!f>p(!w@6>i6TddZ3GO7eT&Uera*B!ow<1x zfd@zJPF`3mVvPkY9=x!J~Gw^3a-g91j&jsRS7w)HSH0UicpT)30L8} zckhHgk6Nc)KsP8cPWal$vB1j8%Aa=FZwWLp``bUPDPqp83DHcY^Vq6n(g8Is!dVT( z`BAo@>6Tj3`CCdwNo&q&+|2a!?M<(77di|lxs;5XqD5nqO7g;b%pIz@6Dbz@a%C1F zQ87HGP~kT(e4L3n;HFuz$jg~3Cb^B(`Khur2B`P(cV)eAv^MrNjL{#At}H1KfxE*q z->;LQL~-LD9=(O9mVYNtzWn}_g8LK1m$I^I`FNo0$q{`)EtH}oc=O=!v!lOg&8lD< z?wdKV{G?#=toh|`#6L51>7Asdxxc2D=%67<29U7U5 zZ0p#8($g^e2?BoF)@`%I$C=#hh@ESg&yVIs65!apc{4F+5n$efOf5t#0`O6p2NzPF zGnpWMBvT)#^EP(Wkow(k>w!}4oZ3)jJUABbLQTI#b>#c$DmL$VFQeyAsQt3Jn%0`B zzw`36@D1zTAO8k4_ld69ONh$bZwu#LLt7jDiPk17b z=)anZ+=(h5{LXd<_n8Komvw1$IIJcei8=2(Wb8{;8hm(Qb5e^Tf*VIZrihRH{{6<^ zs@~_u$l(F~w{?l7B}hSzU;|SgMU9sJrQJo$jkRv+L+(8()YBiTJGET zqHUA%xvs23UKjUa`q%aoVEb0;Kf9`1fmdayDkpBo3A_uRs$w7^GL3bA$)r0)foeGy zdUsyKDl@=vdSG6_B|x@VAS{)T7NyB4>Qbm1xOS!OZh^q zBFDLz!pYGW}LzKoXe%@cO=4V8%!&niX@W)x@kbcEaHwEOE92KOS0>>lUy(>%T z*k32h1`&|qO~_#A3HT~1JV%F-qC&oA4^ntKUV|1;66cuxE{2E7`rr*&^D2?x$=1YP zn}+=20T4=iaDk%&T!NftNsF=DJZ@b$*EggfUw1{GtAF)0Q+c-w7r{tj+%KEoiHn0T z=*Ct6xJeYJacJ!QK&HO*R_z1-z2O=b+1e*ToG^uC%&iDUzv`0!ufBh8kigID9smJ9 zIRJn;oTSwMC>|U}P0~rv;Gd2M_3bI?D77lXf1|0xJGr%zx6y?Zlf!t9wp_iCwb@(H z7~`QpxptrmW;O3o*L+G-Tv<-Pczv!l{8b1$xJqPNnQ^e&DSd;u8r0Gw#I!UCbMbtEDBX*y>aK|B) zUzR{|u$jzCb=$%(6|pi}Df5@UDzLPagp53TAk)F*UL69bF-pbS*{Q9tNZA;B$8GxW zi?y**R@=SDd+co0nJ! zJ}hQ5T92okNQvHZ)72B=n+*X`?Qb; zT^eH_NVvh#BD-@wUrSNE@`~3MCa>3c?1z{zv+-Z)yC#N7DnQlY@9%nfXlMJ5iDLwp_;AT$cBt9WVRC&L#;SK?`pA=t|_;75>bIR{FKa43Drg<|N>C?gMoNT9A1J zU)I3{z&sNP$oxl*t^#NBn{NVDrWap1jD@P%4nHW&{-{^{Os<&?rvV`^zF`qB^gPKVF$U~zu?zrf;xl<;_hZ2>V-k*M=g#fQ3J6562pAl zy=-Io-YAW`@_Gcz_UDv|I-^$xig}agOx!3c6o(JC7(sZ84igW|SM>%M9iXEJ;UFf| z$C-ez90udT`RrB4Fde5u9-E?PB!^uInd3jlM_Xo6rTlk%X}U_{=B1EA<^$?`O<$JK zb;mPHc{w$w#l?kcFc#{;s+fp52!H%zCLT^NSrP4f6mp*8<}Bm&j09A_O5Ry<40UmR0X^t5a1NVZJUA>mY%esM<%L(3~}}s`(jE0!^?( z2JWaX(p=CJE3O?-&<-IklwZA_ZdV{?Q;c;~M3Ld)nKRPCPCVbx5=RI)9#CY`ciK@B z-bD^Bq83HMfO4=ctrjG&kI&L9#Ku9bLSrG!CP0s`ymE+#dk-4HSu)Y!y7=nw`U7sj zu5Y~NLD>j>^1QW+a**+4>5Yo&EYV0fk+(aGXO}rWzpH{T_ubIk)#rL%Ztim{A3`gg zUaj87_a`r-NFp0if`aZI)4`PzGRS%K`t_!Zq%QNwk!b9Ll}>9|x$(*j&XM!k@M@zJ zl=LCH6@Hx4EG#S%6#Rn~4#8+0#`mXSQa-L1SXo)XNO)EXm6e_ztKo6Ap}+@1b9_A$ z6ZaA?MaeHyD;ibU8`^l3%z&M2mc{e3j)#{B{3in3lp5&mBH7&BxHC4;H+?;gan;95 zCQGK?ekG1Id0{z*B1lD8lZ*2Y)s5{G!8Gu?%%RFq)#pvgbC$)Zzm?ynS!`&ZLQh!@!uhdo~8MzIci9kP+ zj7ZBKX+%y_h;Df&H4I(5@xhx2TQ)xvkB=ulcky{WylRm;=faKwcYoh6u4YJV^nKJJ zds+8gw}#u_BHvuYvn30>kUzn7W(D1gClQof>$M!cQPhnf5dEEx{~#pulnxET;H>44Rf8g0WM-;Kwb&%~grQ%!!gujtQT4=$_y;{_IzT zbNEu^w1sv$v`+ki;(bzcdeLV;qy3^VJts_tn!2R$aWm|&>s)RUXP28J- zWXa8O*T>a?FU%SufQgRGJt;+bQj8LK*C(r_Xo~$&(eHO3%cKU6{vICFt$ELgz)uc@ zd7DUChtEwHng5uiR%MU*(tG`6%u%f* zhriitTe;#J&D_-ur8#E9T*j#w_n6?$1Nk66Gp~jFOK2_PUwYZj9K2LXq$18g_=tX6 zU)lYgNIHr2zN+ANNFbTZ4s%IGtHD+a2N^aqUO&WOeccKBzmm2N$jo zeZbifX+Um26uh>7vUO(b_rNTn?nZ=;e=U&w<>vBZM@oQq$T_aTb9uj_X90-YrZYcpuB>cSid@it`Fy6JEc(kxR)Q1ZZncibRNJGPq~kp?fpDHEk<;&(v{L?uM zd+lQf0tzLN4TA&?L&&~w2ruM5bhGfJw&)!D5K97{8sx?bK4gp2yy+rKKHG)ko#JJ= zIA&7VFgBQ-zr@v?3?vy2WxE7N19J;X49mR~!bTdfr)xI2dGVeeVC<1#{Sy7~@XGI7 zJ^{jo@{(?Pj|Zg7YEfM!(h6Vxi3^`Wp3kIf;9gS6D?{oY&#y}6KtWHOjwrTien9^e z`(gU+YVzq!xv!Uq?cCkDjg5;L3h;!Fx)+KhcbcruTC}N(6LOgN8N?@QrYP~foWrE* zI|oyL%ELcJrEDanfgTwJ3PyJV0C1%MPf5-^zYgVt6mK&aw?BiiCtkLJMq7#GF1;WEXEg|69x?d~+bi zo#9Tr3MjwqEoFgjcx+9kRQ$13Jz%Ip5%!X)yA8$C{SYb5q%BOX@NqlF5(5}4QFxkC z0ij|9cy#j*PV`87@ah+p+!xD^3-I1XTvp2rduV8TYr6~9HgbvI(UVD>nn*isZYucd z;=QrQpJEI+-AcmYiH#V=O75l`zpJCmXw}+ge&78Xhg#?hi`QJ+PtUmS+)iC}s7zdV z;k&A_!N(uuU`wKnH|BpN)`NSeWLkdPxXM;CH9~CAu8$e;o0<;&aGI$dU1pLJt(E|a z-z3k|?Z!%&|J)6kYdjTY1m^7u_#k8pcD4xKsD->}Y0d3CuYZTbQ~CxGh0DERORdK< z4X6Fmu=j};VCa{ijgM)NE8N@Unx9%6diJX@f5sO@1S&>G8k`i>k3&V^yfZ;0cp2eG z0Ahzg=+8(c6}23bm;jr}>H;w?x%a>B3PHaUDFMS3R2bsYWTr*V=a9AcfIR$Rm1C~T zw)|6AUER?eb|NWk%LuM;3iDv_Y8K?VHJ$Y~{Gp!nym}pJ=r3=Ff%XQ4b*IzIi7AT+^GiE%<_8rF zRODwjhwZ+O=B9rBTR9J;My9VXy+DxrVGM=;CPN##U&CeOBoc$Bl<<&%Cn zuy;hm49mvqp=kc{8LU+m_SXqT2)#jYqhdwo&=-+Bk*tZKln4aqfs?=-9~{h|telYe zz4yjr%CmlM>`LE$@7{~>DvH{g5;kCBa17bKEOAIB#moFX7Wx^nad&y@;fn79Ds;G? zTjt$urrV*yO@WMKH<#w41Jk!wd{0odHMN=bEdq4g6;z|;n-uiW4-{szSsjmNBFzTd zjWE5HHaI*^P;dIwz%@|`l)c0>9F)oX9_@@^(gnyE$AY)|>IVDzt~=Np)iyqqzna*fh9` zAAC2=Dp48{hMNF#O(ypk-n-(G$citCQiccBRy{AGF-ZBT}G01C?b< z24M!C>51Y*colr#t5^G5>rRt8d(PRf^SI4uP5%?5gAT`Sfbh_N?w_0cA4PIZ-FDXz zz_HOy@0qlNj;084;7rVC`w+~lI{FB1eDc<-0S2|04Hqt^NOo+1is+TktNmo?^jLF& zTz2CAFsTOff@E`)Ljoh}3Cl+ub$-bc2~x!ngxHF0(O*goTi3xd30UF*n46bY*}MI! zcdkgW)}Ms3LUboDh|d}6HquK2ArL0MYyb$TXoEu#S$wcf8@DC^+l@bo@H>aAaeB*9%osTdD z3l_{YS3C#zd-LT@kRmQ0&DTaB;?qF^y~2ojcxkwlMt>D?aq%{Y117E)44J`IFtE=# zeE#tW(RmO9Hvu3{ZR9&A3Gk4ODAINDgKkHfsQ?CAq&e$7+&1+Pu(z}YFabh>=RAGo zN0Z9pc@O^D;Tn|y6?jw(%WmoaDw-pzi%Qsh9~)6E({_jN^K@7C@$&Ppu7>#ACCx}z zJU>jxG5OOnY$bYOU&Y$mbUn`3li6z9k?ofIyxTYVQ|H-k7Zg5 z%U&^m}AZzU_hHRSwx0qK}7|F$ma*Usjl=|62|xSsOA)e$;%Bur@ot|beMbD0D1sb#nEn3L-2DJD?;}oBfTH)E)4XhqpJ5(~;@7?uawn4| z#?LUl_^?EzcoP?K@%FfTf0Id{%e7!j7kB^gX*wZF2|@8~Z)bR1`NFS=4wk{NNbEBU zfDyyXgdtG)F7*98BNZ~6U2ORV)-RydznT|*IQD?r%TH^DwHK7w$?CUeMM-l>sU$(C z=obvPr;=mTs>0?*C)yjUqA|W76>Dm#!E5Ei3kiQeiuC}-k=5w4tlA(L6UFgz#@C#p z9TbUdyGx@JoxxHEn#H$p^|Qn3Beuu(eCcwj>G*{9&mwDV$wr9=^C@A7oKy< zX8RN&J|R&BX?TtA60QqAm5PqQ2R#=V@(w&HGUqvv4=|svrCmtyE?-%_LdevU{2oR| zE)#L}o`s(FGm6RfUiPT{r9L)0L!;QKt0tY#Zupk<|AtqVTs+}#1Hb@{yGr`*`CH`% zUm%hfT84#)LEUd^V!ub&Uu=l}%ZPnt<1~4-Mf#xKeV(~QG&x8{m0>rr%gS%UiZ_UC z=|xeKP?Xqew4*~^LZ!PRG?<1kI<8$sP z7X=d*OW|(Bikfu-mk`rmT(M61Iaac;f84ilySj9&KO6e?%ljA#AWYvmfm}BVxPr@J zK4=R)fkz-Qa6A%nw!xEq@0hoB0PN4 zo!KyEECdxwDEn_d9N8X+C(LR!yK^i97(jRCk4PdwJR!M11sxo zi>Fg?hxmbPUmfJn3R9_CJw4Vh;L0Ev@z0hLGwxhXKmetm^BD#)nKmIDjB56(^4Y_C zD?YUF?`L=ONh>`3b6AXrh|mYXz*S;>ulSKN-~pLI-#CzuWDuA?e7hAkN8NSMILb6$lz=t;hXzSI|J(fNXalk{vx*LlS~pBqezID1NZyzXJi2k{~p?u`tW}&d>WkBZKzwQ_#z!o@kh@` zPK1#7Gmf;XctOeRq0im5en$DVAG&MYzps>u2Lt^?6)?vInl7rY^*9P|VFQQwtfwxo zf6Ye^+7}BZ& zN9L}qoawGM3>vMRESo~^6Y^gs_62L@G6b^EJ~@uMKA(6pTL1eMbD{ZPt=Q6eOE?7# zwles!HMSbFB66uff*k_Pi4Y;jh%p6tK*&v^lgLd;{*xL7N*<9?7wgFCFW>w9jf3%n z~pC@VNV^$mllO9JgkoCQ*!@vn*fzjGgifk^0N>Du#9L7qM~`c2k63UVrX zyj!%-gl%YE9#Xj6y`FyATnlYSOhMVFke21E(VI9lBT|u^a+ZOXI8zJ1`rCc{lYbny z2S;a@ov;hGWE&o*M}N8f{A+?59=BC{dRpaLa*?VqvUQ|>smPTaFZGw zh!;grv=m5vg*Oe`LbBsiHuYtHWhjBT_%Tt%KYYHWV$Vas7pNd7+RPN?H z6I;E5q->6sAtdBd!+)fqiWQ^J41JZx`8}ynRR6~oy(;>Icj^S4*vB4X(%p-$yiilv znMquZb<%Y0sv^V7HwWO`>4K7xQqK7zf$3J#a$nx^t$MR8E*cc(XGVw^Xwx&!(5rv_ zDCKxAZ1_|#K;H0RE@{6_kja!Q;Pk{|wcAWEvEI+8=3=p2kk?GU&iHT-&L9=cFwF2h zz1TWU65KNNJDr>87JMduvDenUT|DHoc?!SC<@jhF?krM_I{v)a_2CYvy&0n>`EGW% zu<*6tzMgFD9mW`^WIQi=gjwVgx`y64a#lmUNsmVe%qmUA1WVWJ#B8B892YEMzta6@ zq>@lSr&6gB|i7c6T&O2W2%jr@wasP3#5NG9tWNg$zNo~Jj+U4LYMTLt8 zBWnrmugJsmcnBKb_zQ~Ve|cL32MMQn`tJk|KB}hgg-Kr`pjFw}JFC(oLKnpB;FFzW zOO#BP(m2w3E!y2ZW5m#qY4VX-Mt=Et4;dcaK*slox88O!-PI3dvS;$|*cN%8;s z)F>r6H6?W1w%~;8&P^uv_W9rwy5z-|7Buw&nqZ6t4@_u2bR}*q`gu*_4S|iqYg9#r zJ0AIiiMXY9)w?qz?^Qtb;m7~Y+y zhJC+Wpn=A2vda$m%l|ASv?mtQcE^pbT%gUYF12Z;p_)^La(K>>ZMw+dgtHT#@FYW; zt$pZj@}K8s{w)F{+tX@zpvbnM;D_UhVGN)XE0aLR?)d@?5BaQ|``XZzztXiE1Zb@v z1`i&XhTVkd>6@Q`>l9}*veXy^nDRYl?KQ4oJ6zrMPT=qnsK{wBp&n%Yi1F(Ay?-T6Y*%$OV1G7loDRbp zK(!OCrHnK+Ba?*K=gmH^j9eIILwAs|&vNMz&e`wrf${~K-B4ADR`OCb<)H`){y!}5 z14Rt%@utK85N>+ev!hTXa*-IHed!JBj;*;F3*sVgQgEaKguwajm*Dxbe+(Z8GX|~| zy=dwZrv@j)!0b0Mu&jdM#R;2$k5hl9f73`uGc=tgOA-N9{*!B=p&S`i>tl&@?pybx z{(7;fn%40$W1521E*)lqd)*J!X=>3U4qrQZ(MJq=Ri){Pj9?%;<~O$tQTh$R-|C1R zS>N=n7ENIe5wc+acUi+(Dz7E^kO@XU+R9|@YHFEpg7G`^9w;AR$w2<{0&z6HBP#4& zR$MB@N8gjoAIrjY-g>w81B;3k!ktjR?V`}=f^~&he6SX%Jc?%hYNe!PqhV)f932#F z{;LQ5^`X9;a!~c40vijZNuMU?mtX)7@=) zE7p_g!^shk4{+ne7!;Z;ySrs&-odGI1=iZghN|?7H4!Hnx>xY=MP6MXMcfa3FFd9_ zIvr5_+GCp2p8qU<(xe7?(F_YQ^Iu7bS+-F9fX8ITD97-O{T@>syilCdNAG57?3(>^I%UoePb%M04Ur?H#w&9mvUw zG*WC2^zWdwy$-TFl+rw9np!=H$m}b>^`P0wP-|6+m`&>Nl3S`0GUl(W!ydkS_cJxa zwmJ!)4r?)ugWc*-*{2yF~JkCI<|cRX1S zgD0Y#Nx1>9{%7uGlp6=H0m6d=&f|pru%+Ca=c_%ms*-9MIR!8MqXAdSqs&O9f8MOhto%FT!ZVCk6 zPCviancarWWT+I!ae~oTC}CF*+$GZlel5OLCIv*miew66>Z3g*>Fme|^ecO!&XZZp z83rCZWKO76ISgNo<@a=-F}s3Sk`PTe3sW@*0@ks;6PZP$T4QEk3*@ppP`Jc%jWdSO zK&%JAXcgIg@4EcW+u0z_+choT{kHoovAse-rX;|iIqt!_llQp2&zw`$re*m2!@IRo zC`YVlJVg!aa3$bnHIs7QGSy3OrhAn!GOjqeI5-{f&A&@7ODktrvA)t3=)(OeZ?Do} zit=RL(|6~ReY59vNjv*qW^*pEh*bQ#$|t%HlHP|PB;HRy0wm=S7*oes$860NyeHh* zA!KU%4@h}mpLtf;T(9}L+O3kZ3Qo{0TtOBsSkLM{B<*9;ZXA!2`lJ!vo|4P;Nh7Lt z^~CwpyDKWRzMDBJ?*ZoJfnm6==Y`rYGW4!=F>LHPG80?rXLlBTn!k%j?9B042-5Dx zVDv;ZoH3|zTPmK}DF~+OFRlJIBQUQKKq_OW<3av^{_FK2dspmJW;TTWk{jjhbMI&M z){EW`Zhu%j@_Q0jwe$Q<^Rm*L?C@uvxPUivcE(JubeSUCgTZ)pYCsTx-ot@ter6>dw$@3SYzG4{pm~X&cSI~q_&x# z$7)xklYm0N?rgW3zCy!m=fjC4isGr)r??+wNi$~A{<|%Q_$R0B(z3PkH)7x_u^#AK zbio?_^1c0x)k*+LsK80yR+v&+fEq>D<{r(${b%$wU)9+S_eHBu(ahZOPy52zvD31{ zmlhT;vzq6H_I^&iw&+}}uzA{V1qa6D+Mv63AoBT))$!iR1t!~iZ(hlQmB$aupx#dl z2EXrUI1cT^u3Eq$rHBQvr2e z+v%_$>Fst5XGUMDrq#n#RryQUAuJ9WEpYrFE+fC2TDCKT^E8IH^F{ppN3~;)x5Qo5 zU6k!-`3!IPHn#$d0q=+S-gU!R@A5A+6PxQAo}Ri>%ikVCPf8#5x97^+etn!_^Uap} zR?*q2bnb2UAMOL?{)SOPt8eavspC_b?G;!`DF62#l59z<;4(fUVEO9 z@GE>){1+=?BRp9{BZEU6hwdJCkdNSeUlAFRy+Szwm3hy*X4)BQf7T>NSkt6EUgge| z*xrdekaQfr>}3TjryQFyIiIaqVZX>syx7Jge1P%*jTu=1IHEY1X^JhH@{J#y=WyM0 zmzE8^`I_dsVCZq;H!1fsz9Rzz3$J@58{H8lIbuwy5!asR#0IxT*k47!ZtlR-j^P~_ zA0DeOZ1ZOB-VV5VG~U@$F~vIO-&y)vl5;Q)q;DBJ^(d4N4VW1Nw@Y?>Bt>d#jZtoy7&-=5$!`=77f1*8-y z$um6QM@Ddf{7W1R0Z|WB0M3r2ei3n22q)nBTUG@Z2yq9Nmn*dE@w!@NpQL-ERSPzn z9nb@bR}YYbv)n*ezdh#PH(}O2K~J!Nr^p8`moE-yKjGA27(eNUZmo-ej$APO8eN7x zHm;Q0$~B*glguu(YTo)uDb)5DApuS0pZ&sD*JY3AzJnJ;u?1;FZNesKtYwBDQvC(j z$dSS@IZ?PA)C=I_B+;=OR8GnYcDroHVg7~2ky+aLfJ;&%^295sOulD0C*s9ah8n&c zDo|Az-5h~14}MvO^CovngZo^NBOoI|@cD zY~N9a;o*FrSm~gr-HhEL&R2^l*yzcLP2%cZFHt~)!z>CHs1p9)EM8fd#oI#fUaFE9 zzxK`!Ca316(Y84zrR7#CzM+o zdftJa_t4PL>;xKyG4F%uAHV^{4_Jq!dO7D#OW3gatP#5^2sZ_i1YU0yD5-B z+7AUV4bA6Wn}<(Ny)TrwdKT;zWp%<#mg2C>^=vxT*QI0E?Cv+DvphMN`Lq~*Zi(!9 zv3M)nK0i}`?wX^d^7rIk%DD9aI9xG%sFjreaODqEeC-8G>N5koXWY{_O!2!{Dfr~ zWy?GHedhS_XwGXuj!GQ{EQf)W3Bv#Fy*_v(@f$E;XcY_^N6%2-VhKjq-M|3{HQ|w@ zqG*tj#T-^<$KIrIi$$KyA5V6)WV-M3G;vXATh_jyMwYfuo)<3~aNFE(z zX_jdEG6`k9>o_nN#NytEuA{w|4}7HThKi9>< z(B~_GcFz<*bqgHe3&H|gHM}PEPz$6X@^4g|uvu~ko(r%GsLE$Y$-N#3O$Mi5W_8DN z>j{=puWC`ZbD-$;aqb!F8Ad-=zQ+tVI{GS_f5$fn+k_4UsrsqOGI_N=yHlliqF^ zv?bo7jr&x?4#-dY0{(?FT~$*?1Ma9N~v>JK@*99_T;Wd{7FzVaea9dC~YZ-)@y zqR2e|uA_20UEg71F{@Hs;Q>0yiY>f-_sII+^(pG}LXMFT{&!)mgBxLG)D6uqTWI|@ z&!)d_C-cBSccHAeQKQUzr;WSIfb983;Kl09S2Bc*Il3b!>Ygmd@5jFaNFxOWT`OOW zXqCl-r@IboBO|5h*IQSgL}X=AzUKuSVk5VgP1o&YBL}8_mw$_+mZZV$@hQQU=75W} zTS1qmfWtK$W383|pU2l-7gOiU;l+uUN3$O2caH3=W@2rEQ%qP%$|qn`YUNF47e>}j zg&T^N{<#$|oH*EqB1!-JUf}*p%p4v9i@Cl)N=Zf_-t_sWds=0QV!w>yC|)fGQscC+ z7DgZT(ES)wppgFYQMrvN-q6g;;WklTEAlg$2kFH3K)!g$`y=9!a1>d zjJOMwd)3ew*j$30R+SxMRs8% zr(N!xY-n(qh?Q`r{rKj6z{%?DzawMid9A8uVD|NqzKdLH94?gDHYjPKE!jx@9A>|m zE8$mj5ccAJpwNf~y#n#Zs>#<9W}rR~MQUQw68o$hYiuExN+WvC75aE7^G?3lDJ{;^ zOx_l=@4W+z@9uf&K|42&5)=9_`kzeV5>r1#y#Mj0G4YIXA?w4l@L^~bM_&hlniw0H zp>kV(V18(-^Vd{BZUG+&7TXS`DxaFva7g=~-E*3)<+{ZqzOU}Y{OIO%i_NI4<$kSF zPwVQq4fB)0R4iaP!6twhP=`&w`ZA&l>%D^|cwxa=j{Av$#@rAe;XZX4JX_qhb#Qou} z*VjMXN6_9vF(e4l^z4q;gLmZu{0t{e(qmS?9#irsS?%^(s@_1dNen(io#&% zG=hZnMi5#Fn{K1c?{;D!WDwVH(I*N{H!{Bu#vuStq(d@@paFz@AW%RdfJ7qj{!1+3 zk}(BmG~;Ex$hp5u;+paaoBRv#2>MIVi5q}A@e`S++hTFmTce*fQo%A@vqle1$KQ=y zD%W`5FA_`aOO_Z_12~`_o4o?=-`I^i!jGARNo$w9f2Uz!JYkKG*(iKMjKv9gC?P6DM0?CCQ=fl=;Z?1r5gnp?u=sU93i&>ci4 z#R5=D*LdP&z?=vsRIv}%4|25Zi&so!E*NMS-$5ZJkJvKedxma>N|~=st=)4n`H2b` zsP8-wS{FyRZ@E+HGXYOS>?|my&{QE00nAH6IX*n#-wO~L#;X0sJb%vB;z2?BP5U=7 z`=tW*jdo&wd}hQf=_;|;q^!{0IpkPpuBIv}EV=qX2}&?s)CG}kZ*3jzgWW?Warbpe zs%s)%^u%RIj=|oF{WhU(SB3yRH+t{MZkMfouR%GM3O@(e}j)h+AHr;t)Nl(l4j3(53^PH@})B2^9tzChYyz>)U z9$_ItF08v&IgXqFaTX&3OT;-5T@zFhoYhT&AEL5WI>MxZK@UUj~!?v2`11mqyq)~DX^!9NWjz| zKq++OvPz_3*Gr+tEC%hCx;uRbz<#dqMb5mzDVU78^-xju;c+=0?tvt7-y=PJ*DEWy zgk^SbnqXp2REodN;>32-W&Wf7j#&2EEEMealNJMiZMoE_y}49p0UK(bfH?F>&uc+C ztKHCK1TOsP_zDX+`5Ld8JgV%`;ypzSWaiv z=^6w0Y8T%K#-a^UL5-ih3l5<|tBWG6oGofXXe(v66I8r6c=1dy%r}UFk5H{5yBxci z=s!L{@+4(x0+;%w&0DF~@>OMaw|nf|UF@e2qq7vpsC5v$$4->=ars025FddBPIJJN zGbv}`6}B8NC-Yfwhg^&wa(W_g$CfG1GfjTeT`7MMU=S&_CH!w#*+tuh$%tHVX+Zte zcMng%Tka2Ag3wRIx8EZ!g>8)OhAkK^dp?ZC7wL!q?Tq{=J}*kD?Q)zeX=*&KU{X(w zVB|d~CH&Y-SB^Dae7Y!E_z|ZMfKM!ENgjn>3LYQ5EyR~a78M2;#*is$zN0Q9mQ73g5M^Uj z?^XTL;B%Fsul_B#oK`h&9TafD6SQ&!iv6Nk;KZ0q47YUkg6{GF&mtv+khka~B5u9R z^JQ$^gJ5l|#4RX4%B6Al3(W<~dGQzBBO3|*Ql>n8?V;@+K^Y^~_p%c+PK*pT*pzH0bu!ez8V%q|b z7Ny+Rr(A}=1)LB4x;xT>(mkHLND>aZU3rQB$6+2NOmQJd)*d@GyISBUf<7$~a5d4i z#F*zcC>%z^0I{xq@W3R9zIt;>e>I2c-)s4zd33=Pg)=5|NL;Cu)`t8yiw^45XZPM6gt1C{mepLIb=%C&q1fFn3~OmukUr!HjC}Q zOupoQ%|6ENN2%wC6|qhh#xq+kR3pdbZ$MnV{XvWGnqy&`H^5~rLUMAzb<$eYHkqWA zeW28})+>Yr3*dWek?jOL&KA})hp3qL_7p7q{G_nL!Xivwk4?Ud+Td(5l@1n_^R$Wa zENSkl4(*=H>imA!Ih>bG=bw z_1ty611{9fWRFSHC8%yj%tOE*6U@LgkG@q|3GGWDASS+}s)#s>CrYTXiQGJi_O*f= z>wW6A*D7ydw7S&q9s(9__Z+db+fDF%BA)@pjgzMqm#dK?@RnzDqkx@G zgow#;-DE!zXCG~FQ5ne-5N-~)(^(gB!E^%YoO8?I#WOwqm?cQApw(4 z`Vk4rj_gOX#C?%Y+TO08p#%(w4SbIx2IBI7`sV$kOgM1-2>A+Y>`#ecbo9{lQtc;Q zNj+WN-_+~iKoYzaKn^=gfAn9PifC3h`KwZv7939ExVOLPh;S4UF^r+dy=!9fbHNL^ zY1g4hjq8IUF9#Kr^42*XJtS(YVBo-x3u~r`n5N1n20B}1#cBQ9zmij@%bRC@D(`$7 z!nMXBEWuX6ASirmK1#^0o(R{D$YoYW%NAos_(~Idpe_M48c3MJfjItDP#9p(F-&A+ zuf=*G-anPZDTd+oJ(e@|<96mV|--7xC^sUiX=9C*?|;>Rr$e%;-jn~;JtW|i}qqQc8d-^IznxRe;E zuBdL!KPKFjao2}XqTIkvtbvu1Eg^L5x&6(JXcL7Sd54J3Lp~9b4w08D{VxG221uRR!)2v7lR3?X#k*$$GX29yNwWeIdm%i)uR;`{ z$ZBHwknwf(Kpv>uym6TP0zceV*V2lGR@)REqE1hlbaY5z_S>7f6*?sgwft|rcf+id zq`p~AjLC45EsU#=ay1fTz3V>;3X%weY+7ckLV9eW(t2Vm!l;Kl1?0gxRfj6pd=1#U zVYfwk<)-TdC+pt1mUjOVV?+IB2A-m05Jnog$s8arAvDmo#KDYBlF|IzxfX zNb}C_NcEJuUWyRdSzaab=b58fEI&7XzQiV&%x{FdiWB8~hS-@o8Fg4^-W-nWx)vE) ze_eqop{EwoAs|c^Rd+rmibLWVYuZg@9|uy;*+QR%13S-LAgJ1EBOlKXhE$Gtm=X%8rmAgl8EU|m@_u4VT z<{Zpa#lsskpc+4Hk@7uY10gqo(av2u5^()w`m#;?4$OiY0#s#PQ(F`NnI4hv4ulE6 z3IXmvhd%UHE%-1#ETekUX;nd49PDMTU_hy44!3h??B<$^^yuZluK%5+z{oU*V z!D3WpTwo!-B(ms`ojF40ql4{X<*UOtZsO@*Lr#<#6wVNu++wi@ub#yClX&|0+`w4_ z5ja}=Q|=Qf%3~*&pt*4o2u@v>_;MhLv7ysX^wDj`!czGg>th#5N2}>XKCUNxL4~r) zBjzN|nGzq;3JleeuT4w(d)6x7!r;A{-6^|Dzin9Cw@xqb^TVEVD*eS)$Nos>V!T#H zePW)LtGks+8%31jR-f#NpY)E>EoEEHnX+`9ODAuck%p;k{obl@I)a-EMps4U!{$P} zI#lG7X}~<(r*sjU5}>*A-u_$u%?(*7K!?-u`0gaeCR355-B2UV{Ey>WT-MeA1_f9?IQ0ReD#k z!>j_BwfWDH1slc1g`~30uDefH^HT4AGKgVwZt^OstZ1qI3+)H*jW9l^lWBaBbh0~{ za%v|w!YS40Df)NHW#j-nyNOB*y50XfZYOJsroIqpdXJZset1|!0TGV#Z+@uB<_e!= zLIJ6yV(gL9$aRp6UzX7Llx=6Lj;=TF8|Qzab6yC9WH-Lr_vbJ1yJn8?0RN)-9YZDZ zB87{bCp`3Ym4AKLP{P=)v+!O@SSelJ?fp~`rM-~T;L$8zvg_w|y$_vpCUc=JFchP< zvtQ&>1to@K7_x*`(v#%=Bz zLQHu%MKt<*S33MDO4_d~54 z9JY5=X(d@eg@f}WvnmoHIC3?Qj*XmF{c9Ec?1d$v@8S2XHOa|r1GTW1X0N|zYZ^mp zOH?V!p6Z$G6O3(P5fQIClShSnS6ZUk!0~i=Cud56$ zsp0>r$#2Q|=e^U-FxHQciTR1laP3REpWp28Wz_CMfbt zq7h4IJBJHKK8>H&N1%}I80jN@=<&j6d}0!dNTyGVJBLn7`Kzjq|8N&0g;hJ<7)PeY z(27#iSS?)<9m?tr+zqZv7mv|={MZn&`(RSnz;bPj(1(qCL+>_YLP$M?S&-dMecR;tp0!HL@q2Ibf0 zvyTWYvUU&B$6gJTuc8^8F)mMD4N(DxXHZ!f!j$dA=voe~5MIX9TDm>I-$F>H9Gj;; z>eu;Ew&L2n4~@`*Zckwql49bv?-oLM@FL3`c9yG$x+-U^igOpo}SYydegcR+5{#R0~y<9#vp?4||FfBa~MEgZl-R015CR0|6W z%TM;W)d3%dIl#m7K(pauThmn1>%IWX69}7Rj*|a(OBSv%IsPZKTl<=!qN;0NS!SB< zb7X7sBhK~mBJ}Id+>HSpKpdNV2tZ>>uVmB4|{L68~xXaK+@99eW(Xn{V#MmpRf zK$ddd(;|S-S1s&T(e#`IkUL_h7{2t!QtT%jN8*qf3<+%6&jSGso=5CV`j zz%=yr4&k&kaHT|JQLPBp0u~9F5iS_#p^Y8iVctcusOyan=kBJbN{u5OE?vHa*Y;ek zQ^BiT9Rsn~6SY`xoGg^0HTX6+FeOQ=E-E5K*^Y0N9}V$;OpGB72Y%;{rw<|2pU*Zi z$S0M(J6SR(fa8mM61w*jK7;_^d)^0OIpFhv_%9zVjkf3$QzGTV|9-EsecVgvLID_d z!GNu6Poen+nncOl6*+Uex&we2D|8#Nu`E}wT`?vgj-S}pCPX5EKQT&9A0E~o(ytMH zEk;HbTw{-xJnRRB#8rhtJ3@=hti_)wg=LxOKJZh4BDPD(V(u)r}{#t z2w?cRfwGq0x_S|{wW4GBsHExUH>2O>*H5XJEHeof76UC?tmp>GLfV9R7`zC4U7z!} zIWpL6W|+N~`9#RcP#|ibP7bKrkVCGOn^t^ay4IJGDL*kG=&5lW^_ozrUaDnasdG`} z;=#qOcV5KbAaS%Dp@czNYi~!>yy~05S=C2`4ZWNML#qY>E(A%PoBN7doE%{yEe>26 zWDoIF@I?48!sX(27!%>kc#@FJKr!x3m8cecN*i?=pgozqLU>4ejld%SX@&Mpqk?{3LqQNet++{_`H|F(U^DsK2d};#qXYzaGk*o?cim|TM_Vrm zK12vQ;(TYmD*JhX%X?b-vI`|eu#DA(z6eJWv)!e~tfp*%Dc>sw(Gc&zi}~j#m~^-` zV<4L}?E`kC@_>Bec;M+NmeD>}HTI#N8kV7YtY;XW?xV+7fnPAS#Vrnxtq-?S&&p%z2u@$AvkyA)+0tQJb*| zj|T4|OZX9acn6jnr!c;%(Hi0{y@TPwMZDo}+xyEJK|BKSwkzA873Rf_Vk9?W{@(C% z{YpVk)FnYs&Elq6(?SfYi)1tL5=7bE0EutF)(9I(pkL{ezgv0Ry#+~*9GS1AS+7oKf0Wyu)!Z2= z{evsr_^NTkNO3Qwo5?ec(IwsJZ0D26E7al>*^8MvIxd-;{c)iHM1|PC`McI&N8EaZ z9##EMwF@1b%TIc@I%fASBes*&JwTVkjD3DteB)Eqvs?`IuUu;k^fiIBmWvOM~OZP2cU<>79*QCLAEtLsvU1Up&d`FUZ(1@Q1pDNrH|(} z3VR{9LI0bk^S^@6OdgVAyvKdbtD%S+L`X3@h*B=~+jnZr>iT-?d#vc|vz?A1u+*$E z4t9IU4Z3P4qJE#a$WBsP!TC0a}7}&|&GGb?8RG@uJCXZ*pw-m(k`q zr^P@!xw8zjv?M5%3ImSZ@Sgb@6HAz;Xa=E=R0b}JmCNGgZ6EwuAqTL4=uHpaAM195 zoh~IsSSC#V9##G%E+!sb#3y2IldlEJFklSNkUd=H;X#x)Uqjnie+Cwi7-lP^?{cP7 zC${Lmw=Vi|bEj^F9GMulZhoDaFgf|WQ>p6l!#|HXZE;=C-k+Ntua zX~aI<>rX}^7BHukL0(h|84?Q>9foFR5ecfi64iubOftsEZLPDdOum&JGyVRB!7w!?V>^hcE~_%*rR#wq}niGZlr@NU=zQNr8+ zAwbM_A<^vY#qm65xU<1gEZfdO&F`GaKF7w|L)B`R-kv{eqtS#en)QVHT!quhT!~T) zq^b<1MjBGU@zs03Z~@pM%pbru@m&(FzX=C}*s}CV5pmOeFl_PoPluh%P(ja4xq$Y# z5Tw%w#Zm-TDQ>xaRpY)O{!6PXBR&B@{Nr#SWD_w7XRk9&1lU{hpThp594x}w8`VOH zl>qkUxP21}j;~QrqBFqn=i9-rOqkEl+5_~j*iz%vV;?f%S&dlZ4dw?=4iA7@ymd0>tRQ?$~Df)v!YY2b}Wt zX$oR>ErqgW_Gy=eeoN%a%oZFw?lbOG;Eh~UGtLQuChEqFs4|G(*kyruCtY%-$)C;z zwoFcsUBI4lg+NA@9#{zdR3LpB+A7RPy>4mQw4M2B@Uo6h6XA>=C<5EaF zLmj8%0fT%4J%#gp4KetOxJWF(^3Em`>j%t{o6zq5xj#e;-b(1-!a*&V?4OiT{(O3% zN(>hg6WiFBTv)iZdV=9eP_q=jwxTba!w)Wj*;7&DQ28|rYw?9CJ1{U$42<0=rd)96 z9g{`D*{F3bd@ONfAfGB3SFWcb)aJ7OJH4W?`$Hj7*n-zVc*pkRrsGWIMG^c~wdjR9 z!!f=hlo2B`lzwl-63C<}f3-!_s2AjFT$jj&)l}76Q{xqd zGKLu5EwovKbS1Wx@c`N4NCwm4d|YO~ z|75Y2Gws1h55noZ_;K;EL6Yi?*kknLE;Yof2w59Hs;bQQ_W*qPLa$FV=sz^D)TG^4IGVGtb-T`vFS3-*e zWt|&cdda;oz!qZ=`6T*{?pL*B9tqCx=>Z`vrHq_w;=Su~4e4(nOP(087=4_>C{|HH+wsiHMMxO}rcvxC5KbqJX!y7VV^LVb1s( zWEwD8ccEJZ24}oX;NU2m##z?)i}-uNFr_0K8Oly$AUaL%B4z)8%RDjx%$#^5s)Y^6 zr12q%nc>NIIbnmZh=mc{fn-}ZsALRF`5;}VV_sbAauu|$-tEF$BV)U|UHH$5Nx%;KZQz$iZ>~tv zT?L~<8QoBv75jhk%u$5$p4ElZLd;RIt!|T1()^^JGtb1$lfwqqeih2-^&8)iAU-1Eex5-}+3`+zE@t0%pVe{=ela$MCkb}Cy z<1%x2I4J?;eZ8-+TcpiDxoj7?uKIA78qj66@UWfHNYooAh8B0F)W1xQQTP2(pZqnN z$cR8Zi6OR%;Yj@Jecgpj%~(f=Ymp9Ftw%RRFMqWOid>fs=$=Y`X#)^)Z~dp@C$KkL z$^&2jfZ5Hodu-o$c05tFyL;gUYGKmidJi!hA~aNN>C#dseKXrv zpEin<9=#IZp7F`*E`GN4TWiiog`jA8@3QwQ3W*&i?K0 zF<2t_9K6)`OchO-M?(t`5UV-zL2UUgd zQ1-8BE4?4_g+)d0YILj6BuAi9QHSlVoG`lXIVF`D;p}fvr!GOu2$!d|teGqTu zOBZ~;)+n+uae(}d6l-ScMb{1O!r1UEgXmyeYHErZsz$e{@`QK+ z;RE%*4vh4oZS)3r4L-KPpj=TN;FBpH2{YFUX-M^}$x29|#R80(7>FR#u>;W) z2x8dj=Eyh@B=WeXNs-L)7?M&=2P^Wg{7b0b%#~ufIV?pKj-y5-J-3CS!w*K)K&rc~ z;yCEpbi1#Lj~~&qU+&XsL(P7t06)Bv=*mOGSb#&PlAJz0(#(Sa7ubz@x{?6i{D9|( zKo^yN#KT)>p@faFgn=%r*lfxcYv!M(Ym^cJ@L;6`FoXjldnvw|M(;E}V(6%VN;Pbo zqztI=_Yej#_#|xlouFCbdtt*fB7hal)a$Qf`ua*KwnQ6RTw_<^e8M2@-TTLXE?+1&S$o*Z&l zj1=E&ZD_H2k7Z10`o|O<$=6m(iPKG!%A~MzYNT^BUK4euB4lSpG^9wpsHwcq6C)5} zI7caLohwpN1Ik}{=W2$ZPn(&9FL-($ivn=KHFa@Ht39V0z%nG1L&`SnFAdBA#3RG4 zA9p>P(#XkJY_D%hv5kiQ2K|^U3m;w|Dxa;u8g7Iy*L$;lgG0`h9R*-d$Bdm67hFz4 z@ZQP(!EWJh$`KnaspQzMcO-tWRftgSCt}6MLf872o{_XeV6tm{m(q911u@&x#;VW# z(kedlckjQ97aEaHeGgF3$20c~f!@Mjgg$QX4N?>L4YZ$*OZmjFS$P@3TJn3)UTTyL zp`qXHeDM8r&ax(Mt#ZbkI%W|GaPm=TH5dstDZV4H$ z<22I*ol2GyHONJh+2WhvBZz``5b{1Of()!EY;p^! za9IDt{Bq*EC+b4tcj?MhyRvR;)60*}SKa{n1JXEF7zyYk(b7 zPVdNDrquRn$Y(!ta??5xiBJ- zbTKy+EVx;DR@bAnWR)1wS_JxXK)pO6^UCNtEFqHy>U{OYR*wpNIG-tT4o*}dZEIZ7 z5c*2Uq8nsRBo)H*6R~q!H8yz!hB|;hvbjq>UeWQK7d)^4er=U~gWM7#jre9~#z$O_ zAERv&FbWAM`)#cY#+ICc9%6dn)?pSvzr79^A2RG*ZTP zi%_Fs0$UvE6jcCdWZd~ctD`inAarYUki{5yp!-9&kdx|%VTg>#NlI4B=+{M;+7G+) z#X=bGU6@fLgLRv*B}46Q((3^LB5hry8(>5#-Xt=Y^GBy$j(6VOR7EANMqvXMFW=BK z)9G6B{HdtPrzd+dvF_pG$4Tw?6SI zgjVPegc)Pp!k53qA&2`ST(#8YW&LCWrFlu3MJARrG9m>|F;;ABWF#5b{&&Rl@@l!2R?}}Fg{JkW01%`jgBXFfh zMi$_e2U>3dYI3a-6!@1+7RZ}|FIKZWT);QAXtWjG`*wxn!t4)H;>J+?iu>+GY|^n3 zGMsCmPfJ%^??>c>st4na!|bCB$+t(B8oxSL8;;Lqr}TeGOPP#q9Q`VKuQd$eQ~J8B z*lypo_)QDaIjG1qz7*M>N%)$RVOGp?w0r#{3kqM!{->FOtZq~4m|VWGPWzmgE_H`Z zNHZRMJJ6675~zo~(i`$sm@Ft-dQGGPbvS&-&-@ zuY+QLLjM`N-Nyr*U);Xi_**bVG`^o1P1NxN8wXpvtlsu;8&QNe6*XQqaikRJHv2a$ z@^oVed`$~#^?V^d)|BV@W%A`LRtN+U&`nVP1RcPmrp6`kY7KktJr>Rh%6v&C*Ks2z z*QDUN^{F~Em6w<|NB=xEQnJ-ZX&nLyGC$qVjA4UPGPjLlpNo$9=FB9gN}=6d+tyf4 z7%d=&Mw93Df3+>){C6J(0fw|`h7fu-6<0+?N}6Wrg>USkD7qopZLnEr=`;1>wT3gg zzK@%fcWGGKrW3cJH`vozhdPR}u=o1B({qwJQJ;7ht2YS+CobFuUK6xb7)849Cvpth z^L3}4b@@Z0X)&MWr_-KgwjI7CQDXqlYa5H_KZo8*U|WoKp9)F~sH;o9E^^V(s5Yk3 zVNtxEe$k;+ph+MppzeqV*--+(@;vE%V_acinL98R_W>55!JnBfTPn5`@YQg}&>g>Z zu`hJ9Zk($_HAdvmOcPBj#m^kdS(tA7##0=9 zW`U05j=V$4H6y(bHW~?kpVpwCN+cR2wEb`qw12aulx$)|feR#0&$!{sX=(qlPW5Q!$a+fvs4@ayDsP=?xh5(S^C|POF>GkL(}J zgASuI^AMrgjW|R=Z@Is9OkZkl?#wW@!2nI^z$_eOq*~!Tn(oZ|Th*{M%{odL_^vIx z=PYfG7%EW($DE~?rl0rdid~4s{5tcwWn^&~w{g~4$ZJr}l+>I`SXnGa$X&4B(w%Ke zADUfc+?IU$Gz7sKjZyJX_Rq1*lfAT*B_h2U>&5M|^lL{eCKXltv60-oOt!Zz86h!d z^W~lhYIJZm#pn3Y>F5BZg0&ZG>^x9NK770)O%H?D^V-E;_&n^M6+(&UTs5CVh$kHj zsKiDFyLnt;Lta!e$P9nlpR>cAy~FP-fFnl=SSNAZX@vJd4pu)E0BKT$%8O6!rv?3# zJ>M!Bt&>=&0ALI~!Xr_H4Z|mgnHUt|1I+zJ-{%C^%H`iS#6dES8uFz~Ckfd@<$=LN zx`a61=NlZH0^zK7q@>*tZM2^sNG4UvwL6vi6#|`*%M0M02yE{JlxLILpQ2~W+{5mKT!?Oao51s<809O%z0O^&CPf# zJh5cP?B6~9P~T_KEClP7EOoH_sn25H)9%I;U500uLSiK5v>UIzd||dpG_Rj4Q*^Iw zKnF)ySMF?f-9c)fLIl#ZX9VSp*JB5HfK>L0f6L~D|G+JV1`ctt1S2tC&n=hkO8fg8 zj-+FC%v5DbI?`6t`pO6HkrwWK3Q63c`V=rl5j*z}LZVbQ@*l z9GH>-edu#hLr`wM2azwrYlh0*(ab*;}H633q_Co>!H%*aMb| z7Ym7{BSC9w;^Y2Vt7^EwPnGbqoiV2gTaTq`n)E3rrA9r4Gt?fTi=m$Y9nWp%gs@C1 zzuEm%4D@?d7BZ^G@77fzqHFhQQ=mWUN9Z5P;$5FI*Q9bM@BQS-P~L|U$|;>0r;J}| z{)Ty+C;?;N^)m#EkCXJS9ecBH3p7^eRuV2=*GP%&+X)SQ$iNf1wv#s(9Umc|(-K(B zMz#@Fb**8`AyHoId@E-Y%I<*;(DF+Ik^Uy~5#VIRhng0aQ>WdN)s#4f^wdt@5aQvw zIfOXaiyVcCVeBf;3Eb=3%CrhhMpB1Ncs57Ab=WN5*+sSBV;$aFI|27c?2lUp78Nrp zTVW8lQY)Ot?70oc?cCJ>cbt$8V*hp9KNn|o*&MvmN1~THHs1~Wn#ut7XV2X`Y5Gq4 z0-50(zU5s?nMrH#ci;=5M(%Y(HH1?Bsz!E_2$<7WZ46ip4k9Ln*?-_#n{f92n}NSQ z?6QWo{ro@+wTf-r%|V#667}2FzbmP6$miUBn;D58UNLZQCMCqwZQh;^eIq{2Lz(;8 z=4SB*E=J@5N}b5J1wC6egw`@)s%WupgGcspThqsX+(vysHvsVWTGxUAU#6Q~Z}6qQ_>3 zejm12oG!%LEm{I^-v0~21E%*Rk~p2`mMG$K@-{G^7hxmFZ{7)ujvaP`?`AP1mQ8RH2iq3m8{+J>p? zYBZH|MnzZM2A}Ij6UBbU1kUgeEKi9OchO1^ zdk7w6@NKMvC6UbU(qgnw5(kUg-(Hwdu|$6jZ}*i%?sRPp6+>Irq5{Ge{V$g9nwx%H zA#&nkn1QEUVrpB4FOFjU*>X`!xUFF^OOGO4n5Ur>3i|&6U#IkMAB(G~e22QW5-v5A z!uIaCknJkATzXK8fnp^l&ug8GA<6XnpKB=_;%#{V`ZC|a`5ZI@mL*)3xL+0j${pgp z`SYjncLd`OY-BL#$q<{P!@HBrhyvKtnM%gvYGh)6B1+{x&y&t%7@+aeY+R)%$CmF; ziN(4%Q?qEfx2wDzlfh}#E;ifOwtA;u)JxNRZ7flFAB9-M-E0GoN<*1U-_EtoFA}Jv zmRLI4GASwlG)|*ZSA+y!wdc;+l*(^LBl0TId?}n(L%moSFxmaGnfG+sVs9CJ0|4nR zd%tP#ZyTHEYf>Cny|+O+qh(tQT*L8#ZgC6d`gSUufor7nbD&O)UDI2$a2J9%~w;mK`-$Pz}7M36`|KRZJOF)dC z<(n4*#6S5hot?xIBI^pZ3#PbmVVg|!wciR1HZ#sXY=fbd+n`L2%Ilk%iJ>Aemhcbw zr*a!Y<5(PluR?v3)4zq>nX7HzFE0Cjguz3UUX@Yb3f?X&K25nAi3aakG#9kJ-02^A`}bY zQ?exYcd~iuAQ=?Y7rO}BUT8pB&X-K>&@T8lS?;Z48c5Ri*Jb1i{6{dI%}L+)r8hS* zxNkOQQ|K8|nyUe%Vv$Fxb7}nFni&4y`E}Qa<+#q;+p#qo~xE)Lr`vO{B_x~m=OhgxFc3v zaXdV3pm^s$x>R(1^g5J_5|20gA4g{y6;<0t;WI<0G$=^7bV{ zJ&6cF^M?tb37{Z`U2GGK!W?E#caIBLH6aERAIW&!r^tA$d0tF0_B_I8fp`s)HyQxj z;hUGoR=45S>j)1VirlvarP@#mFBxDTN8ZOnHNXf7jW}Vu#JcT`-^Vg*t+^`Qc9)Ji zS~D$-2p77dmS&soxBkPpI66-J8W>10dp}1^f%;7He6DO?%QrsF+zg6aw6ahh4O_F@ zBqDO>Eo`5ks$crrFVxz39c(vnLyXc^*W0VU#8z~x1xO#<9N&M6(>DPJUb^^?)|{4B z=Cw)V;v-YlZo~lVyL~-6@7#XFyY}X+>s)U!o$p0GwWeSS3teQdfX*pJLfP=h4^Pb) zW(``xCq(6GgeVK4FPSl>X~P(_nZMYlq3(y)?t_@bcx7LH$AfdKcr3H%fEyadX4$XNm6=v1FU%a4#n10twl{#3+$W3dKZJWk|Zhp&ZRI*YsWpKu4` z4ZWoG*btm2H)}xQNguuH*37=R0(MFJfJlP>aAMIpGvts+&E=CoPGbw^U#8>PlU5*TuJHDr#xypU@~?`?d_mF7s>iIxgspVW6;&c6OJNqfqf& zHj$W3jCG!PT@Ez+koNJjk;Nqnn%{e#m-OXJbV2~D%p$0A=7?yC*^rQCUeZ}}PV zAu?G$&t(1I0;uOc0-OOjTT-u47oVvM2+*gjvFTyj`S(!d0+cqZW~!

iaio@gSx0 z96)zEQhpN^B#?>a*xY#(M_HnlfOA{#{E|deGz9Co)Y~z8J5Y!jYA>*!v*QC&wi-VT z7G8_q`e9cHxz!=Lp*qBhGTvdktzdr1e7ou>6kbdR(f4MY$TdzEw8wqjxt_x;G=BYa z=XB^z$I1jWvhd2+>}dCQd{5->f+OXqDC3Gm*-8^gx(`*Bq&u#fd59iBwq|Yr9=4pH zx}Dt^BTK&i&eMUw`AWW}silRd(vjDv4HrqhpjBr|fa#mW%bxt~Ua$#D9TE~QMhL=Q z9R0w@e<4D#D2fC7XW6cIe`K-a)O;Qt$b_&g?eTRg_iSop^3_dUJgZd>^yXw~Du3x! z$4+pcfyUr{L}W6l1dUT4X#=vvZw|I*0xM&uc*jlv7jh)p0xF9;vQjfaNkWlt8gNB} zRiv*d#T*R!OP^AVS9{+RA059HJNnp|BQN_*lX=RRBIh%=v{hM5o!X=)Hkv!AGVEB* zVrl&FS3JG$on_m2(JGVdW%GEMZ9TJswqd5G;mj4s+}kg5q&n_9#e409QogWs3ETN( zvGVWs)4;g`yvYj4u$hb7tmp}{PdS7}W#9rRRdB`fXCf-&A;)wT*UI!~j)_Kh4sQ%} z@mPKk(3eokYhY=KNu1p$pfB%lpo+KzgWU1%gN&Q<_;C5wps`ei`~Xf2pgVfatOZ*F z6h#Su;15@M<*CnDX74eAmc`0z$RG{=%QpTMmLM!A8V5FtNamK@S-P-4Iaqp8q)G_o zoJx8gt;Poj^&dHCJ$pOya`W$={c7~BzLJJ}eP@DgobsHgFld{Um`KFF#rHUz3&2?6 z0)DEY?^D%{jq%5b4r3c!{8T)WL|cXB5Aim#%Fky=kx zic-qIekIofMkkG+8~+`B(|V$Jnig2^9VD+|nGgXG2d&>Y-X_T0^$Yaq2Qci)5z*gC0fsDB=9 z*BQ(iPh1Uc9j!IBEpAhC(7M|?I83J`B*saeKpR^ez%4rr+P2jAM%I=?(Wz!<-Z4>q zDKOpwnhsSq{q>JMzyGSnmvy+R>c`+<&bQ-XIsDJ37N)I8X$Arz%hj6@UkGEt6TykP z>of1a%qb;KSP-cM^wunyN$SDPEP^t_fQp9{iq2%L^#lhc95^^LC))mksDQ5LwqQ?l_WI@VzyP7lrKt=}5k;=F6 zb^P~lT44aU?|JY?i$p9a1so{X(uCyQ;GNp;_~-ik8;{Kfe@T%u{g>qX=7zMAmTO6F zbeE%`r#BrR7=Q2cZ}-jkiKzBT^-YaHa^d|AK4do30c$k4H(N~^I?GfPdaB& z$an>i2b_21H2{QE<&fuXKk$HcHY&2f(3w{@GU9`ZAA@XU)Q1Om=hVWzU&RrtIhAY@ z`otupn%?-v$A>be1yov}iQAz~bF9zK6R5ifL1_rcd@M$$9oN-L3iN4qU;ln?S+sSi zeQyZ5e}%@_3RDSntR}<1QPPL~^I^Fj4GIY3V<*K)p|V!k99qzVHLERHWTexeOpiU% zxhYUFF)}xIgF<)!pIyQfnYuCmZJN#CLz()X_=wpHuXnmRxJ0r2XC({qpF7^+7Atd= z5SB;r7o-^B6{Yged@?O`)uqK>HC?{xd`W7T1{&GL{1k00jZ*=NZsRISHW!fMB#Vz` zak*AL>l*T*YZ$Qxv_z|{TDVYInS=++M!?!C0K;9}NopXm*1-Au_oVi|$6aeaE!ZMH z8i0#rNs3}2n(&Z0O^y2-qUXRbpFgkL?kz1g5$|o*LJEnl`t#GM#)|2eA`s=p!r#AN z2Pr;wveAQxy`oo3;nK4H=EoODFSzvIJ;X!Y14i0>h`4oCx2~LMI!dzMtPevxEyXx- z-_R679S}RuHEFjd3Wv?%HAxCQ)KR#bt`dGODBfrN!@nd|o-K`(|9eBKaDNN$_?gL& zaOREonEyXZh8m;LH$Di}2AlVCdh_R(KEL0I-IGzz`A8iCA--K9ZKKA@@wFX+|W zDS=U_nD#D2+clH`AB0N*n(OGwD=X%G;YSxc;+{6^ZiNF7%fD{j(=OlmLVRN3-M?ze zpoJ{bjZv?&K%q0HFqk>?5$6K5Pv13hK%LEQsktO%wPZLrz~t8Tz(*-NA){|5$_}mo zCluAQodOvfLj;atSqf?*n6!8#-8onths@$0TiXgw!u!eghfxFVo0e&0-aiza4sTZk z(g_cqP#W?HZ26}BFeOO?Pdt2!yQSGdSm}0vdp}$Askk8htKNfP}uH@go=|a#+DB}Zhw1Z&M3KZUBGr7{E z{ei--DuYwB_XvL?>Xm)MhiAPGFQi35u!pu!0N=rDppCW7_3~2xv2j`hQ2Mdx5eaYr z89{r=ZzZ=lG4?-L)H^CYx`jLHBI;u3OJI+^{ivpf*{4Wao-J}CgQ__dALwGFk9L7;@yWbgzeNY zECJA7_ObL(hYBdg?vTJ^*%424^O)~(Af}CyS@cBHQq&q~S3eojuJ%7E(G2xgD@~xv zktvC(lXPkJQNEio;=DNE1qF$!B7X9`@?1+5dNH{*E-XLw{O)|o@r(S?M=M-{^WVzf z-ZPyHnJB;btVC={KLj4*p5F#M6Bc`8anX|#H($BRzpkmZBW@7;^nzT+XS*CbMRsqk z{BRFR$+`cs6~5fl*5=eGc37Qna9tf+>0K3_DpE_tKJGm*ym_u%t@H92JWGPVz*_OE zb7jPe_kC|QHD}RFcq?}&80g)4aGQl_E%XbpWlFfoTj-yHl1V2 z#=rB?+}s3erukSkQU%2e^qaMnb+N&!7H$cLeC{ahpZJ5!R7WG7}8dX&4){5WWGoyN)l?c)Op5WA)R2$JuN z$#lSC;z0NBET7Gpq|B@=N>fwQ56aboH`nK2Ttd7zIa529gg(E5#$FJ3{gPslrqPg( z6}2+MtB0dsk8AcSl?%>9rv$+84<49zuv9-V4rAtsQqn0m`M0|Iu>)drGeVPnXBTIx zd-p2Rk56Kts-paXa`0}e&r%vTTbIeu2xNg?_j*BSs!H1(k(r+qS$lo9D4CcwdbwEy zRvlTr!2SdPlT(D*sP)%>x1#t5K}r_rC>s3F^8IlI9X{ZcQXpo-Z^S)JGYD>x6pFdt zHd^;raaiJ4Pp^uyzog?jMo=W{u)TAOU!4MzgP!Xj&f`PrK{lA8@hd)p|3o>$H&P zvpH|qoKRv?^fkb@{wNbhEf+9oUQfm78`bHg0(|?mi&|I@n)xD^oQ-WI7weK`h7n{d z0ZaYT6lsx*nWS%s71iCO2modBHCA~I3DEF}W)CR+U~oj4YaX6?LiNKT{a_PJ#c&v@ zB_;PRgAo_l6ZY~>J0{#dUfE%47>x#0OO(+7qewLjCT$U;C@_M`QFhetS?^Rq6BGd= zR-ro5+O6Vf4anR<`G@BTl_Dhp%#2FWOgR`TUToT8$nQ$b;(|eoVr{r}KjBO0H*AJh zKoNjxQnU}Z`&G^|5z4s+WS;m$&8_Q<*3?C$e_f|_+92ns{CxNFK~F)v=-9MJ7aJ;r z4q!ki*14|Q1z+6n4dT4+v>8#5W+DvdAOOOl+}$XJ zkNrBrc%w$dhs23kbvoM9=k3QB;-U|B_4<1YGTbqy7~eGGn_eP(q+ZsTUT>RM=vBAc z(&>e>Yz)=L;l|dA0>(??ua;IP!SCk`IVlOZUWy%1PW@PxAFSZ*{4hWzP{!Z!q1+&@ zZy3e+r}yv4%(duP&@Pgf`GN1{#DcE>yKfBenbQvo`{jb@q-SIRDpw1CLW{G?=iAV5 z%d>q2XYl~?lM?NaGkPmUyLpCEG8Xc!8XH!-9#r6^WZyg&Yg@J=hC{LQ3)@@4C>LAW z`s51h_vUyTgPJ}gW$o?Xh)JOVlP4F&qMay_HSSat-WtQZyx1y&uBG~5>dN$LRK$ju zng5$kgSc7xaaj8O&+S&&z~W$P3dP%m2gzBdVv4BGdH|_F`aJ{SqTcja3inye-e>1L z>4H?;b_=)&VLQF~v{Kmn%8l>pR1#Su2%CRwCPPPGzdc=?4R{YDXlEB`!Zj^TCcB?5nfc7^V#!BIPX5 zW`7_gtjveshz!#s#zA8$@ym^gAWM;a7q(gb+d^i5%GU+=hhBj7KTA=VV$w5K9AdvI zg!sg#faoc3`B2By=!S$F9p#LTJ$~4qp3!^ta|oLiS~8RjU5v$@4$Y7+u8#S^me8${ zc<_zL`zDH>W7Q!GPUnAchLIt?>)P6?PJ6YB++LABlzTA2+>+z2x zt^z0Fvsa(rUG0Zywg;qiz`LQ0y4gmsCIUdiQ{j)!StBbg*dd6vz_M5$XSL%zb5g5wc5& za)1<(Q_0God4U&a=#=bOw#yaUO8a3Bt69mB&CVmZVjeUvg|c)wPZm|r-CF?XO0%Ik zsnU8Eu2#esPK(&|0FGyYqk|Y>qTgDYD(7QfxA;ip77ggyJkFCg3k;`f*={9vN8NCX zWAz~0k+y-vaLJFwKy!H^`yVT|ui1sxN)}%#$yOb0gYxs0LOr>LwDNbb*eU9Z!$)_k z8R(b6|4gYC^JeL$;Qha8*`tDym<1wu;Q6uyKneFdQ^$u*t{g%fgX1P;s`joc!)9d5 zBN!})zw7RQaHh`BT``=f?6u#`kJI@$VX4s?fbeZxRxKh5YZMKnf6Bve6SgOdV(kg7 zO$-6ntC1F72(J0{y}Zmb)x4ZCPQ-Lt63?ffW&C|34QZ=~&&$2l`X=h4`VH}6meSmt zFYk7wrQlBM)KE$h)K((vXYn2Kf_e}lv;?jb7dikVggC5_;665ZQ z$9&}KX`{+Nyl3j7zSt(n$s?D(y4Hi%m&x*~mIqi9b$^X6PF?U<@>}g{@j`|n*^v;T zI&DpLncUz4M`uDEdiu?iEu8Q77s9at`%1_I>w0D>CVURH52pu9&JXN)NuzFE4?$we zYOp8arr+maQSGzk)55Ax1Z58m^ro9oRp^FFRTN}vQN&?)f7^mtc(~Ri_5u#eEZ-*m z0Ohm!zlt<{iHi6xF0h+3+I=O7o0Zt*Yx2``!i7la{YccODQnWk?U1}*cWpfO;o@2r z3>DiCq#jT2*?;&GnYqmX^`8vSp9w$U<|u0X@$hMW=JuT9qlZU`andU!XfE}$nGM#l47w!!0(cUR!iG*ZkzNd2hIwvzjt)|AaJo{a)wxLnS z69RU$>gIJ;eU*K7xxWBWk7W4(K(4egS6bs0+@e&91(BfBo7iswC!}b%sVt#V1e69b zR;u|HPmIY4&R>j9+@EoEaZrh?{QNfSJ5CgEVt%_G+N5!{tiLIHoCfi;#(qAiU9rqH zz#yU2vK0-uZ~B;cB-CxjYH(G;A?#=V?Etq)NJ_3*uW%dilabJ z$%8_(?It{u438fPH(v7}|JEXylxdoeDtBkW#{}`GBmK0INU< zzbO5Z#+#v8*eZMIaIB_{AWZXJss&djD1Qa=j>qBwiYOrAB{ibxfFTMd7VC;-3D}3R zs5YRz^8cJ@`g@#|5E`ViM-xiDKjHo`&i0X>%6~t1R7;)p`#Ce!_@?oD!f~U@>DN;g z3j3G2;ucgL0pG#vD`JnuV~F9tyZdht`f(hW*c`T-0RVf`r~?NPsry}>^OkX>M3E7-TSWVG zd*8Af17j$G#pUG=H@Dra!onmJz-$UAGPy>@LoC&izj5C&#CAg#VpDyGC6#{+olcP| zjayjxGt2K)c)-cXo}92{=hwPVq9_(Cx!u3<>5u0`eQ&lTviWV1NUTemNS zj@g&AW8x@Yvf(^q!Ouikg#Z%z02hVxI3O`1Ze?`YDxuAu`H4~Tr~jZSE6|1=$`GJk zM^30}EozK(H1$5Io`pyR=0g$G`5QC}kid}(H`qlIx`l<>6iI?NCr~NP9b{zX=zZ$< zcoSPMXN~URQRt^nFl?;Ht0Cxg{SE>XZ%9gyfM= z)d}gX7W5(L#l~-f2*TrhDp)uileUe_Vzn+d!p2VL@iq0kL=Hcket2Qwvd%YtACx?< zbmU9q88Z2BERQbLf(Vv+yQqf&M{ zCDk58*3F$2D~9oyK1{ys4peiFQEsREyt*M6JZxS|=>|g}1)mT^HA`q$R?-6P%}00Q z1gjs`eRFw^{gjI@rw`C|X5=ytSP3h>1vhp?z23+DuxiA2bETPIrXJ-GroV|LK5*1v zi#%T7wHwep7#=hD=9`+h*3IzLJlZst7mHvS*|6^v6r~in5}6qevSw@w`}~_U?9cV6 z1Rs%J@yD0N1#b+*EUBn$z6J;zxk~k&5qO7o1cuo=U^knBJuqk)gZCgVVH^`l53;&u zjN1NX`;5kyr?4#W{f)XY_6~(&UE)G+VG}xy236*5F9-Jzg6D)@)(T1(l&}m=X~8m^ zaLdy_OK$X9UDO_@^@QiB0YLG!Z_Re|O{EYPsCdxX`%&c|4;A@8>D<6g%|LZ4n&d?#t3+5314s8ra{I6B}}ap%R&t^rxwx7WmA z^DE|sKj=6XX3O40t3RD13zLZ;`1BMMj_1ZKP{J>C>Txd~HsY3M;CiZX!qf>DL&@Qb z`{-~WA%+t=xe6XVC(u{r17ryohgXPU(GP(K6a~C@Ss=6lgoOG#qDjGb8{`03o1c-O z>YKs6j-_#~$ZRKus!35x>7L*gv;N>Vv+m%pMnl2D=!Bbx6z!7ZM55T80gbbtWaDqn z=7x?jwN5R=qJcj??OQH>?ejbj!p;X?{c|Wwyxh~P(g^Z0eh*p&^&M~+W07NiV;}>s z_5QO)Zmu-mimk>+9PZmXyEPBCj~?VDh2ad!z797= z2iM#dg-fmUbiBs+~RC_L;Xd}z-SE~>OOj8s)OuI49jxna_m3`1A?tqoHo$< z*W`M&pYr#9hPk&i;uVba2efKFN_-)&P2X0ik<6k;hJuT6>F~uEttD;enyn8jRVoh)R)L`%r$*)sNRL zlI;5U5QGjOSM0qW#MbGw%|VYM11S^qp&*M)K*5Z$iA)voH}^9S@ERtzBQ2mYfv=d2?`aSUOPeHCOySn&f#Se$ zb>T`Sm*6zNr<$zMBk8P)q4>Cc;~#-OPSi|2)q`WSk``)}ok^RwJ)~Kl?I{&19HNm> za2Nv4`R;QWC7gi%7iC#lg*h_exZ4pN`9YC~T67%~b={e2*OrJ}x5ag!Jh0%cf?39_Emxfi!E^=}`B1!k!G#xkp66 zW9K#};rE7&kS!}(A^H>f-A+T%sDn5W@YZw4j`XqF%qJefJ}JmX{-^KaQz^(<#_Vs5 z{jL$yvJjORl$?0*cw1HBhCP2eV@I`+W8el;tD!b3EJzu4BqrL-OP~_tE!r%tR}VXQ zV8Xu)au5Qg70M5va&f287H%YQYz|Gg+_LJWU%osp`BZqkomLQZ5lw@7ns{~d*N^M~ z7XXglJH+`_U&_peTTy4?M|Aj^0C6SPod*ws?~2&48*w}ec}(2CsAQ?q9(g=xw~$P^ zWf3@Gsi%_wbaLK11j%FGzTg=ISNR7b>5Nol4kTo?r@ z1*-*2zXCX%pH#4ZjiOM3;Zl#z*ry|`Oc9xSEBkLfSOwCnLc1aH^ShDpQN^z=kw67> z`dQS~_uKm4<({fTv;wVLfOBbN8VD==A{NAjF#SBw+2D3}#x@u``-OgJ{8;4c2i=bz zervx_#W}!Fd5(5Vy036I69#0Sbxps~8-yXhJ@d?!Am%FQmSx%i2vfylFfa(GELLTJ z$`L=7biBAb?BGag|GCb6q;OOZq2gg>{MAcm})as%- z|5VDi^To7a0;y7fIiVsB?%=zh&a(g^z=|uNZif{HNUS(3zqIfwT%}%cyDv>3EM9RzJ>Jthy11RyI;Q zv4pZ1%ruK6(2nx}SUi3NEPCL86#_8lOhBYc%?qb+Rumit z+vI`C4^yD%aCwK87ote#c{O`aAs1A?M(1@FQFG=Y@&%0I4B-JgD1C_9c8NSrBmGp- zeBsxae)IAl?)B+7UscNP^gYYzi@ge`-ySS^j_9WwU%kvB;Rv6X?Nt-Qjtso9$1Z&3 zg`rvlu|ZV?G&Gte0DuBC9x53HUd_3ZE+BiX&Xrd1K)VllHa2b^k45L+j1#pK`?IKvXPB{d%r0tKe+Fo5xwgW zcuzH}6N5HL?ypLB^j@o}Mzo0?xot01dOxp~!UPPzIJ}1543;!U1xkc;1k>H(_xBf| zix`kxSlBT_K)!qTVJ(OYyt@Qn?lV^!M!nu$Q~2}yOCPFd|7VK+rH9MFWMm{9PVpfo zFce@2u=s4UAoluoWcTq%QGYb0dEJ8JAj3=?^Nrl^qsvC9$tbf|GN$AbQ)_2^-$tH^ zTQ_`&5yxhEy$33o5z()>#lXOj`L+?q(NXM8`|SJMEzKfOI%8?l2FTcmD1mBX@~4Oo&V$9P5iY+@PR9rDP3RkpRtphtu_T34wDt0=ro$X&fwj zN6xMC^6z8#L4RZL6hNJM*7;7s0rJ5>mo7RW9fMri*ckbbv&VjhHqQPv_{o9f*B1vZ z7);{y@U5@=Z}{ABPIrRV{h6=&pKPW@w`sc>|UmSygX?4fyLIg%}vsWqskCd#P6oYObL>KHe6| zlqcAJ9-==&95JhB2es7kzl@gvGu)=dK|7jbgvJ>S*D=zU+)P`B)KNHf3UrZ#0bNl3 z)~!=JJ}&ER;p3H!Esq>P5kN(?-V%44i+uC-lIDog5$kPD&m2QO=i9#2@?vw!3F_LE zi^i*HvMpbbcblP1)M-s=Nv_EPfNn@Ny(+g~=x8{$#y?{o?!aEm`%@_TylfKzi-{?+ zAF(Qml7HIy1kl9(0;2F}^h28~#gg#f<(NiH29}R!lmWl(uQKi#%)+C$VkY`33eo{5 zF4BT}9NtM+0!3EEXWe{w?5w2)y1XhHF!f;$V|LLds2A@&CqM+#mjlMASaTCKVe_{lqEeG?TaSy5_g>&s)Qlz<{1fD7|`BN?zeH(V1Oa|v#{#(kH1S9aMTn=RE! z!m`8FPexAI9&*d$IUAbyy96qiUdWaUfxI=Ssj{>8*l)cZ7I*JnXMK$AH}86eBF&?v z#-MvM+s69tGeF}T@tH>VgZWyrA>Vzai6Aj7TF0lp6pJ)3!}1)Xe=b2v#Sj3*K zKhvU?0vSt;XxKikmzHAlO-&;%EteY77;@4Qm~nw0-5-4Ak$XRIzojPOUsvU_q`?n% zy2_at4Ixg#4&4L1==0eb!bp{wIiWVc%$3`tacy zV?(v6moR`*&mv#EBU2q5fO>Q5xuA$%H5Xv@?Ak9$fP(KI4@1Z-Jw^RugC}JmonYvB zXoT2f#gDhu3EOq9&A6@*>;@*Fw@jo4py*m~P4HGT(A7#PCWroL;?aiTR9nP5gg{W* z8PFEff|%2rTY2{WA9j3~N9EbufAohp{!j!rx^%Z`+UPt=O60ohBa?dJ`^SbiEbRGV z{NN4kid9*26J0I%@{j!~$i#JpW&;YuuT|YZZL*Wa3U_K&{u{}(^8qP?S7?!|h~L5x zzWYnNo+virQZEf_8F4g}|#PL{Mj&N#j{fhHvh+=ntXdV)AwmH0oU$r=�xutA zE(Bub3o&nS+W#(9%ZL-Yu_4=r=4@&L5Z_Xg4=i6Kh@2D9(c7A76pDa6cLlrVFiitL zj;OvpF^J2cJw|K2=FVB6w(;2%F$%bKaJ>GaMi6t}(fIv9Q(Ji>j#NHBgJ)7wj`6Oz z*qAIAt&kUy{@!fY^s5JPX9o*Z7QRP&i#tu8E#Z{Tt-ap`S8mFdk)+0$ltV<)2+uM2 zwB~KfngY#dYR7&PIOkU#B9c_%gEJbwF=p%cmDqfFt!cP*qrnY}tloRj9;4P*j+8={ z;ZmnpM{b{nTy6BeiQnjk1~h4+t-mkh{Hmm1OPz|ere;|O3f=U5A=x^l7jobVz6o|* zuFj}S_T=KZZF+1FUVEwZSoQ^7%4PoB#DSNdpV(Q>%VRu2KRyK+!?zW?8aY_}eXv;5`HpLFE9DzXhNk9p89l;G&|qV9so)IV$*t zWeD)^S?B#GPTYg;sg;Xe+lFvJm!-RxXW*e6DnK$7uJ{?a!wJ*ZLiN%BqalD8*`lKt z{tKFtr90rTz6GF((|oZ22cCOr?ZANBhu}Voh=fRce+ucwFf_IqJ_r`@-1O%UmG#J2h#3&iZm9h)J%z0IxVA_b;M%;_0swv;3o? z>JB!YUl)8#bsrd@1KK}+wwQAt8Rok>Yu!JrK_YHWCdzg{d?5c%NuY%l@&p&Yo_e$d zSp~gHdD^E_<%C_3e+HR4>dI<&ZFSjOy+6(FDx1i2Jnh#VRRSDjc8kUYxmmTfY~n7z$A>2;ODE?ClrgYS`{&OOAN#+wbSl5#ft(xQvp=mh=|kUt$9~Uq z>ZmJ`2zFvNd=n4=nNj2%HK)$*P!cNU6ZM2%T%^3&7qcB2b*zrFT}liIY@n5T;u~qf43sO`uU=o^t77q zyAwIN@<^8oO!Q$smA_F_A%aOWfDMr?-qbwnZn{w0<+{E7P!5y1+2N}<3rg;6jcbVj z@O7kn97Zk+SbKioMy5SkVKDgtLE04F^U zs0=PU<`-`K{`AU%nkfevZhN)Y?7^W0{I<@}AVn%glupL5)-jk$1Nn)rK)=t8NBKQm z#XYy0uxy zu#lDzC_T7G>VkfwPaqh{A2$d#=nKx1P9^h}n(Rip48cl&^(r^;F_(Ytmpw-6kx#@e@`j0WveQZ%IkscPim7F()iIJU;Qo1I&qm_TE;!IAz3y|57F*^L=io|DoG`8^kUIUFh5&a%7LWbLqVFhVCN+sFyDcl^yV05ZdJIb45#xuNzF z?1)TETSq7XMLi-f5Wmg7%WrcZMa$(o+L+!7UN~=n?$3^#U4(YK(=@VM6ZDKv-qq)#_NMuJFiwn z{Ett!yQYN2?>@cnftvks@t6;oZgFG0bGN)_XMzV0Fys5{WN64hx;jlL9$1)1O=xVL zxf%AE9q(Z4H*7p7aOY`o?Sn^fpo<93z@Z~k{wwz`VWTyfkp+2}Dt!poB&wJ>3Kjx9 ze^t|89$}#?XudvOz=4oD=dDuOPv-yDH`RK<;7`M(+El6R6Rq{=XX(>}XAO6lW9f*B z{s`Ju0Wiz{$y@mqpL6KnGm@*tjL{#{jQND8D&Q7~?n_Q#&?(R6kq>wkafo=0Z|ZfK zkLf!DI@sC7!0&XUdw2({AAEp}7D~-sv@KQ*QnNZ*z|A&NsJ!47X{0*}7qEu|^r}bH zq>4v|Ju(A9_Pf_xq#j~_-7%@0WhVnIQ` z=nmGre~n3b%{$2r$KfaNyRqF0dcSH;j0Zvd$hP4{(_~_a!<#yvJ-B@;didhg21m2v zizc+~06{cAvJ9BHbS=mBUu3MKRjdh___p&CX-6Ie_TvQBkyM+3C&h*Yl>ZIkC8=8rf$hA%TpLEmo+TO+FQ9}y$YC1 z<_($u-h#RA&mdYpAIa*?hv3x@5H*TzyDkdI9p<+AU_YKui~7q3Q=z}F2mh8*vf`_qxb!pgk0-6-%dUSSgyGEsCZ(! zpyD|u&}U?*yAE?zYiz(jXm?R-dlxbC;%%s&=ABu4`>y0Xr=R3)x`9}XgV_80!2qnB zY9@ANVQIOyu<38gI^vI7iNbBHp;MSnK1Z<*Jd+O=qG7mtbO%s00*}{9?}o7;q{5AE{*ws;{qfCEVT%d$m29n`hW_(By?>nFpL^gTaKWdEk} zM{GtNHM%V)<>cquJg4Q5UdO3&3`Vc_^9P?mqvVLWwU|p}B_Ydn>e56C?FA-~w(Xl` z6w(qA@8OZ#dw%}67r|oLt7rB1#|U^qhz|6nM;l+S7Q2Y_Y7>uHru^RsTxB3%;@ z>7Tq*F+qwr*xDC5=zV6O4PFnJ{qm~?Gq+A1er7KG{Vvc_9^>9WXuC5$z9&`e^sF6y z*%WwrRQ7-M!NHv__~*;%erxV@bzSxp*Xba*qvjocsaFDa=inCB@zw6S+18_g7e@~J z2M&3eEO{}P9-G^p+S>71u7-N+lV2O2PJEhUl4uZ_PzI`W$?yLXBz94u1^?vjL75%; zuf7iM<`Q-fT3_3S5u7-R^GKRFBXo(aTA~}=7t$p?#w?+w5VfJ9W2ah!`S7B%gbE(jwu@Baz^`SOQ)W+DU3TVdg(yG`WmFeIdKOq9dd z_nwNLp5yYK;2^T1>gkgddMo?0BDMQ%zTor)a)ld$#EI1#n8Rj7O}*y~Y0~!XZJ=3x za)zE(oX>tj-HYJn4N4)SZ5e9npl6SqpoFFgOgH_^Q=(>m+u44IX_C&Iu>JSway0=U za5ppMZM@knUud#^agkP(L@S@&bY%w=I50|Q%{l|9>Wi6j8@M900~&cg+3YpgJ(bqt z)#B$D{onJ^yzxcLLdzTRN}+qbRXe@8%YdGZh@u`=mcLoJ2*KQ@?G#m!_vnobI!w@?#c*gHg z0JO}3&W1QFB4mok=RdV2T%AVI{$b!{`09prCpKu4fdQys3jAtnj+L#JK=#Yk=B&XIgtmFsrQWc7}|&=nFURqjP+~T*L#~<_!N% zllgjN=TebCJ``vkVe$Tb(8_3?oZIEbIchxDbh{7q)-@?h5XM!p zbkLxjWq@vKuX8cs=M>~4(d+B#_;Cfa7pB60K<_IN>_^GHb)=&TMSy4iG|$z?0v4k>GQh`{n>NLatog*uDQneAH`$ z{6v;2mM^WCu#~@>sVXT#Mr7d|k=u=bjbL_11z`nG>*i8wb65ho^;y9y(9Ju<1`445CH&m$qA+$M;D@TgHSaZ04;E+ zsSj+akl1fb&E%Wsr8EG%_>)u#AYTh8*8AlP3KlL;la(KOD4qT_Ds{Y$eKu2maEX~m z6S@hR_67d-hJtGn7&Swtb9E6cV@`ZFAZ3#*F^f^|NI%-wH=;7Cb5ak4Fz?rb?;rCkDv`<3o36-IF{}2Dey@Q)_0~Mpe#t${6s=UJW3klW))GDAn;3@* zco+_cKkOR-J@Ify;js6ds1`9cR(9q4j|K(;oVf558L&uP90{mq_?Ug8!y60t6E^2$ z2l=k@sepMtB5Q0QjG&p95>(baMbp6-&t<%1_-i1j!5N!P%_n|LI|XGIv{uB$jTs2i zIcStTw@9M{;J(!FG zlsZX4GqO!cC!F`WBAodBHuA}(upx=W6xg{rt%XA&iq(vTKbhJWF8;_8JrmS@LVuJ} z5GHYjlX`|HwhSdiV)oSnV)l8C5z)(7hgEbD0DP1HP(2v>&%nhd9TWcfJJ04=6JQBW z>`7!Y4pUaQ`S27d24)`Hswfgxs<2z%mAWOxmJ~P_W-Vh!K3H-IT^0Pc-57MT@VfZK zt=o&&4Ro^jIJLJCV%SeZ_}R3)6%%FK$V>n3lLb}|aO>=dO#kq4L+S$g`p?Uw{jF9^ z3y&^N_Ja(hZ$^JPD57vB3}kog=XXo`^39mbj_jfQ_m!G?xQe`AH;U|7(Wil`eih%s z^9?mG%wmWv!~Vz7b;m>b`0?k?*)y_*?8siJxNFK**%6{_DrDwP_9!GfDpXK5!kpCPtD*sU{Wq36|9bnq4%# z+g-wvziU}|{neIw;1-e|61of~AZ;X7w4@qk?UMFFSKC8=m@OXD((Sq0dy{!H|I4zu z!#$au-Q?&}?xFc_`TO&Zf+|Yxmw9*$c`^31h-gDe%6T<^pqv+_ zmQyL-IKo8<$0t<+tFnuVqa*9u1uEx(9+<WZu5{rLw);b=6NFnC*Iuj6Plw9s(kjmFbg@c3m8Yiql8&RXY>0#;5BoTy2qd zz95mFZ)vV`;7P|sN3xgER{@`sv1GNrQM#Vi$;Tc3NwSKu0$B}@AH-L3j0Bnk+_I@Gira<;t41YcRm zGRakUcB#_5dQbQ1{2-Kqa#V9TewP>X2!12tqm2mde7Uxbc7z+IFhSzQ123iPPEHn9 zt0f(+Qz`5ziBeCgsVQNeI63H6qRyFeF0-6JbTpL8SizhkY5pY!48OmOOaj{-N=%E- z(-*H!h8z%*tDZfw5iWMvKIJV&C?lt;p&@UzI zGbS2WB}~&6`9XDfWiQI;ll~N)g?FPbLba&ngs?tdq(^|}nLFy?`0l5^=Gk%6OoFxZ ze@iqRP`VKv9kuoy&ZW+Oh%I@33wV4-C+^5jZyUT20K97N!+~{1AVU<7E694(r4;;c z+WtH9C~w(!?Q)WgF2DSPv30ovvA&G&D_rXK{fGOv!yWp*{W!l)6_v_d0#q<`T)XwD z;E6rCt{5-ovORh9vsV4EK*wxBRJ^}Z|^KjAE!z61XRD$kIQ;GeW}FV0k`kOG+wza6&e1ay-1{dx|Y?6eye>rj}8>#Du=w;bocPmF!IbDC%Smg7h9AN;oKi>o=c^m+yHp!_O2>G_>y*-bPd3DWXMt}4^iCl*tc0E>f@Fr+0}h-AwIfcXBy1Pc zdq7G}xw;Al;qh3#wzrb=OLY${EMqJXlnfM7ueipHO7@wSmuCHRl9TUHH^%S&8zZ-~ zC|!nt10@40^&Qv4bp)I%#LD2xZC8hZ{0y=yR6q9}2c_L43hw7l%iK;)3sDG(9rSJI z_AE9gr?;n;G9P9^3Bjv-3e(9@;y}lmN7!FBB5gj%3>gGJqEr3o0o||Q?Z?YHZ@}k= zFQ>67pJ{j*;kHWR&=~{F{(h$OmM$t9KqY>Lqx4U$r^z=bVH9jAy#sRj&@IDn=K2B$oFQESb&xzk?`a^7>T`7l(H&vnW}w&;p*dK9==$FV~yjFmv^EOO!tqG zf-E@EhYdeQ)3cm3ER>(+?W7luWG}oju!3H z%l3$hW9w!ol1PbX0T=BqZZyz~tQHuWnvwbE!oHHC@B(t^y4_ z_yFepb)_cXXK)MoZXOm{g2h9I#-jW9M=zf!M#7XmEu|7QIp5*kJP`QPTr zT^KquyuwNmI=9R#4Q6u?(9XkB5a?a`L>g(A9NED-a$udPLz==((N?@W!By1i(5T>; zumYwL_SCf>jD6)glIUo6P+vy25}!_kfd?-l#l_k!?k-Bn^oas zib!9?%-dfNZovj2Zk|Dsd8H+(-_T{XJ^G_>4YR|`O_KaA;TBN&LGl_J_C!}7TZ{l+ zk#*=Xsx$D$rbEZ5FlZ6!|C$52$XH|Jk8@er()faB?Ix9Wz0dvJfz5-vlB1RP z$gjG%>^@>^MApk&*%{_S8)?k3K+iu@@grq`46qwD`iC2sUF#J3- z;*K{D_ElxDsZL)jp!Snu1qu%|t;clB>nZ-r9%qU3`x3zyM@_>j+Y1lWV9$H!ZHEvi zJ-$Bx$beYE&}e?9>P#PX(lgleN$Hsqw7fQm_jLY!ciSmegDDry3F?T$aVi;WXm#Mm zW{!;PPja9HQtR}uK}AFs+&j(%t_ghw?icTRW@b`N;A~TJcAqEDYgS9naFkn~;4e9Z z#NS=&f}~R^3X3VFD*&(C^AEtYzSNc#*VX$Dzz4Vj^^N)4@1ECxs_DEYC8cma^3%B1 z&ouH0Ajg17F+6NL-J~oaDq1@NJm}1Ox@9&uEqXhbjL;`~%7^IXFb=09@E3@`xt7$8&=>+2}YVA^*~_d9S0BPtxS143mb~s~487BD5L%vd5>SfZPgJF);sPjsC2q8>{bl&0x_cutto~TC(e-xtzgxt4oh#ZPy7Kep%Vu05F8%2^0 z09Bc;K+5!Jt;Ym?zTe3Dl84`cf7jv&0^vl-8xL;=EN+yE1Q+w8tuW;tLmRr%o(P@+sl=F5Iz_Sm+}gLRVY2JaGR z<-QNXflwr0K14V`?U+R$R2|UybD^Ts0Gtb}CamQ^c7k;Fag8R^Fa$*UL+=%5iK4bjf6V`Vx|;O7FunJ#bn zW<|Q%Wi6X@*?;g%QepZv>@;DX@NlV(sy8JgA0mn*bn8zz%rsqT5#T5PkEwvd%bR-s znHGmEdprl-jq!!h?f>T}s=_T!lRS|LaYBb=`IthX;J;a@#t6^wblniw)^8U({jl8^ zyzwaL5kfb2RE>eRkZvW(y`;A&z`zgrj9Duhf+5gIEptfXG4A6d)%Daze6C==?R$qQq0gk!7yNH^4zi z#(^C*SQ4OoGgE-=#zDJMc$bgydl%M+5B)-=4xR4Z4I0$`HT=lolwmv~|ImG4qNSf68Tm83%c6?f?5jh_Y_ zbJ-nC+2)_WCu|xX3@_dH#qwcM>~qECG9~(=gdjO)qW=)SiuMbD33!3iC^Ofdf?P63 zkdnjtoP0eJEgZf}FBB9SqlwPn@?Z)EO+ABS_~tM5F>}EB2Wswep93h}AD$}hz%>|& zE;YG*e`8hb6Z-3~&YOLIOZL3NHGhF5k&bNIsiZA-R0t`35-3^|3=iAp6nLu0QWP%) zEgNDAwqnGWRG4pq4w>Ob&FNFDZCS#1Xm%skX%A%U6qekcuKMiIh5g zZ_bs$aqg<$Hu@0;SQ#u`i;oLZ399j|`GG=_5bhtNVQKxHO~ZM1B}$C#{e`s6bZ7`JR$^udFmCWz=2qJ=4P1)kW?`WxTdqW8%F-Ny%}E3w7Zf z3|TA4Gy>931e<{2vxDLF29#2NI?oim<>fIt6b|(0KLJ+6V;CAgEHfgEet(!_rL3r^ zP+?mwKx@j|B7pA_f@U}=?8&>9~b zcC8nzRlRnC1x|lb?NjQ5P#Ahytm^*qnW*pk8oD{Z*BnS+HyCoZHZonMJ~$nVW5D8< zSo{bOcDPvZBW!@sl#zxUnz6u6m;i={5{}cn3(U<9-T}-R5U>4tF;rKec>gOHI>2*? z7o%E1TKzQ+=Q0fR<+hvMPLH$jyQ%@nI!V6vX*ksxIsXNPfyOWIeI{&>zWw1v<}N4m z7rPBa{zI^=9|>ON6Iw|cUhOM&3R8o_Jxu{%DD~C|XrMD4bob(ohS~$p7)$i$H)pQHu7h1^0w|l10KZuut9M>9TN}FcoesC z;0urv;60qHvr>IEm`z>gxe(NLx{oCV{<1XVJfMwVnB=Eo_L&nIE4d*Is6LZZy;ZDW zw5@PCy;^ntlPa6aTlyA>VoJ8PVJ0Wv$>snQ%!B6!n-Ou*(VFlTiXr(n_MiXcrx)jn z^{eie?WP4>iORAsi?qHPKFRkNn-eNlKm)+u#kAcmy_F~S5eQXx0uHT8^!=Eg3Yzx2 z@AlpHtxKv+;q*D5(Ej@*@MDtH!UI1d?x?=Pp#*G6K^yIZs%pSwJg|CXLh=<^8~_je zhc_E5vI@l_Q_Gwc9j2P%06^8y<3H7d6g_PGh{uhKiTH%sNU~ujTcM!0@Y;2 zL1G7Nr8)qJeYuPYVtz@{*W0!>b8E2AL*Y6Z?YV0lNG}hPi$ck6c0{b&3TSIbjN+z0 zzR`+D+mO-B#>IgfNmq6I!v>N;dl_)mCD4A~;79!K2m29~AEQ@3uYd-2#In>Rb(hE4 z8z4&B$SqF}wCZa5{HbNHB8Cx=lD`-nZ_13w3m}m#tz7wK*`}2&=T}6`u^-MMadmt5 zQbnaO$kgn1QeGB`!{E1VYn5i}Q5vJ3WJ(P~Ma}v2%w^6~Uf#EYvuPZW6;pIp?M*b6 z_@}$x819127)E#)v^?SUFqL3@1tmWOvAov4g+P%@a2{ zmXKv!`x7!SO#VUa+o(l$ss77`ocuNe^0ZDx$7bToJnU&7w?wN1%vlDbSVi_gB5zP%22^V6IiQhh(OA}sZWBZPTkH@rgZCC3H0Duq&HNez8 z?&!aoea6-o>_S4q?J))zkI}5jg2&tUVNFVu<(x~j`l>gB`#?w!e|`_@xL`s^U3UB6#er(xjuOJ0U7%ro#uK7(N;f_Qy zFG2~D{yLG(Nd3y+zZ|?D&4s^@HOXbMj2c(G?kEg;<|poZ;4pA~mo3?b=Yg!Bqa#Nw z)ov>Je2p{H?f56pFhQ>kQ9uk?2HU#HlKCb5rP}-VZ$rUWBr)s7l4g`kI_`NWo&Pzq7S(2;Pg`P`9tjoJs` zFC(v8rc|wdYz`!fy3ZEr#VIO7nDf?woYoz<^c(ug3lRpG!a2Iim%=nB4_d^pF{l3e zHK2^7mt>CFe;)WayOpg)zNmnW|LoBSPD|F+GCeu0l09iHIhMS(8sWFy-yeIy4B5AZ z21{+z)BIV_4vJY=DVWktD33ZNQKw%`-Ts}{2n!svUqMVg3??chKIC~=tLI0&CfX>~ zfd4Uc7a}H_8Hm*h5eL%MZH+A~S#&65yHoKo?Pax+cx|>oDOsAETLww@S zs?h}i5A`9Ijb8i9;^FWzZqZb*;kRCZOL2N5y<-1j`z_Y};daBl!+=fPa(4=DIb{lW zTw9CNk|gq+?}J!5j?E}}#9r+4|HN2$We}SDQO8#?vA9KoiSN5is&soO>q@ZN{MmN_ z*uPC);61}UB@7TiWRSx{D}ig(pJPQP;ig@YkT#wD?OzQF+}>S-U)wkN+ywMTAWQ`}bpTXgeuzrPGk5|BY9b{{F=0aKj^V+sYwPmgdM2SU9TN~j_ zF`*)a{Lm|33$oYkcHC*k?@ksga!S2on~JXL7O@!4_tNGrLPFMau5CwW$#kB9BLL{T)(IrrE>I^hxUb8k?M$(*tgsAfOE~vTj($=)czhT51j!(obnlD};0>im zKSh}j%7@oSP_tbA_o5}J3}RZK6tfj<(K$rNYy6C|d~PiLDqCnNZsg~@^u9RT(?Aey zat3zY>jB4(dqKsQ%h*r?Bvlq~#izpq)MPEBCRoXaNix%zsVd9`{`yB`(3#P>|Ka$- z>iogJ^Bp9C{9xbfXGe4i53qNT(VH6fb0P9LS`ga}FoLO=g>Dyhpt1RYM@T|qThq)m zF|3|Hfkf8*wKLw7@Npzx-)6MHn3EK4+p5>rCRZO2^*ZgwCFK`UjhTmKo>qId*Uhk; znGvHerfXdxH3Hq%r_QFLHOxzlu zT)Q@-4Ko7(xk8|0OLz(U{Uq|;_sf{OPE?I*|KfRA)qo_yzf>6yp(`HS=L6B`#Hao^ zM^d=%Xb=iA4eN?d0v+#21%01AYJI`!K4pptQ1f~*$E7XSnv?pb zGA#{G_OsUexHWXQnsRM#-T~~1&nG4)RlLxS+{nktAj$KWTXADaU4vnHZS~7JZ{O5s z(*xz}BTTipvl|=Dts!Z19{Y#Ki?Qwd4-GhO?uIvqe$@<&xQuywe^lS%zMlee)G65e z;+@gf7fPV_WCs;O@VQTo(JuXOF(n#)gW$5K3iLSjmk+TXR4{;&ZxM@SJe<>+JA!ys z;>%Q#c;a4mkU&DK68exD9Yp4&g5Joe+Ve$DndBoPu@qd4t zuI7^M)Qs%)6n!8^YJ0c6Y;v8u1|7mm5&-~UqQ7(#-e%aoF=wL$eR~8JoFW=yV0=B9h1997psBsF?FgL*7+~Q~0 z+L-Kib`wv5&56TKtc8Dlwa#OU_e*mskDl&>(TV87eI9sw1_S#k&v#8~01`?|gqz-L z4m{h1kkK4@8lG_QDKR7`hI+t}cvmi6c!clmRg;GjjKjUS_geg`)F@0mvlNOAoZdf; zU__XHXhFQT&?yOU$*^^`P;#K_snM*7w823(XBkj!Xb?O!#E|wTC~wUrN%Z>3oC&Wb5x+xrhB~#UFSBpympvsVm=MioSZQ6Q2Q+^woJJ-RN^DE8n1o5>RaO>iI2C7oYR@t*2%;Y(ZbDbw(voGfSY<%C9MC9Px} z`PuG=d(u*&pZp&mT`kwq7&bVdm&_FKzkAf%uiC$5dOIbJt~gMDlqD24#YI|arMR`k zI3Oq+ixsNi5^4T(@S@J_IUo0}Xe51a`g7yH{(k*LeSQDcG8xOaQYJza1uGZ)FQn&K zV;GZpDLNBS0Gg770YH_4yV|iRjCpk+*bQu_j&o6jDqD8AJb=Ps#m){-Vg1HZ95h`v%#NCx!~HPz&{^-P8&4x3hE~L zZ`{zeBBs~94H7goprYV)T-||iLE?WJgROP$n}=ZbrGTKbIoEkHd_$E{V~)P#gXT1C zew%uajC;GQ#Ruj;Upu~VuMkz-&)z5yI3(eWmxE3u{yBYVy=h+Sf-57xnSC~bp7(T3 zh6jm1|2s0&bzm5wNY?xgk5h#M=M2DqRvMig>_oJprHrRYBss1BU}KZi_i8JN7DciM zFSqpdXiKT3Zj(qhN-^TN5Fe#QfdXZtbF=5TP9m=bkgOApF}^sF+MSf2$Y(Y0=T1r3L0~d9|EX?{&ZA02)U|Gyq^nMSNi9ko|jYJwJfC;9jWS zVE@pn!ap!oD_iGl0u8vqQ~>j|&)${EUVPrxHXC|-i39U1^KGWdH^MIis!usr76!Ze z2ETWDO$yQPuAs-^jkQ`n)sr<)@|Vx6ODh@q^gy*@C4h^P@9vNC^7N+iQgrDv{hDgj z&-%QiqO>x9tv8DE0$F!#t`90A0Jq;i9^C~Psj5S-?3y=iWW|-ZyZgsRJS!W>vR?U8ibN{f_89vESDdv0TEPKcaTNpqlIGi* zH{BR!np-SneaF!(AXw4`j(zDu-(>xKhQw(ZpXscC9dC4_Vpgywe~7VXNL6XDCF3N8 z+i=&C5`yPg6ubh&qJTz98W|EDcDOf`M z`EhwgrLxoV(nq4&wLPxeZ2ih}oDrkSR30%(`x*=L;Wt{8$^LE+*rFa+{{ug!2p)>YXs)1}q%B8n zE|2j2EYN1d)$ozdBdA1mpeE&@_C8w}X6U9pId3fRLmWjg0E9_VsQ%c;rV(=L@Q&g; zZ;KqsqrZ4)qJVFLs7gmlhIIW;{7C}#TDo1TTD9=WU`D|SRDvf%7K$DLbK4ka?*GIU z>_L5KsfgwtKeD@TYk^AVRx;g6Iw>q?Kr!9oTp1~9jrHO>q5hi;ZeDP>6NjnVXio@I-l~(%Jf%I>EpJDkuO%xPNaPHq6{Xkm&ISu z?_13pjBiDL7~T=7-ktH!J>6}Sj z4-cB@;b_K!6h$&Qv;LM&B0|BNYkcpL1zu6k=TNK2(l>dITVDHwg`Oh7e()_s5FpBW zrz~on$iI4Q1uqrVmwcKeT^dQr2sec@>rXv7F3ef2l*C@C0~`mv{md@)77Gq#hF|j+ z&E&}ceiH^~d(HlqJ$Ix@uAU`6Nxr1B$p8JQ^o_lxI$5M)^?l(M_jbSP!YP{5Y_WN5 zI{;t3#+|1Dd6Q_|ZL~D8Qk&W9I|nX3U?qlx&K?GLb!Vt3k3y@v+n+XpGbz(GoBxY$Hh=ugGNngHM$kQ zdNC$z$^rJSh@-kmBL?i7UX(vCzwE^FIi8~8c}d`06`MGYfFPHHT6)qSks>Hk$fKek zRg><&=VqWHN7|DzAROiZqrQWHGfiY--&c~X^)J=()b^G{hegn)JKP-!w`SSj4Hh~; zXFVZc@60~`&EiOWYxhoPbuL?Ncr%4SKisiz5o@EKmGWYnwRo|=md>%ofK9bM!^vCd zrp@a7S>0_?K;%#3XTC@%5T|75uG`{aVeFYa+Eg^HQ|wRTflPUKN8pA94R$4JVQ$8V z?GIP5@zy0dEwu-8aI-+9asv|Gu=?xmfV4QtY-gt~&uv5k{~M{yznBV6OV4@UX{Olw z&5cv|>3ge7kl@C1)s`|?1b{UGe)_5qbJeNukJ)(Z=O=dO;@{da0&3#gQFe`)xMWYm{E>z-}$oo>w>vvYj&_M$QOU$_i{GsRP+#C zYo7h{94s$Fq^DkQUCr&zBtu-^bIEYx7B+0#y#@rNEfL{w-<0_JNPyUB8Zed*(`R~cc>6xp4R zVI)QW1m1hr@Q&;d@OltI(5Lmvka~zyGM@7|!G1hh-sBMMi0j_M<)%}`&0xo@P4rts z2bScQ%zOL%UOK&cH5EAYq=gdGs#Kht8@aTC26M>{6)<7lD>249VjXoK#cmZ( zb1UShJd3K{?^j`G^|9C-hQ93ji{D?n_8nY`id}7s5`M4xk&nOqBeVBA>l<&}Fzbu0 zYd6u{JuIPaDnCyRIl!E4ULYO^)osgOEH4S&Rd@%d7>-z4znPZCt<#_0C^^j0kHK`_ zrp%MI6Fti9#VpV$a9hy*?nw~?Fr?HLm9|$$_y);PFK@exx)l~!+<5Wl_Psn(OcFSm zdW%W?y_V?3DG6|1SaI@p#9KSRA>?CW78Sr|r^vuu>2L$s%j9D-+^S#LyiKZelLjMR z|JAHNKZ5zXb*c;`ntwn{ z-z5bSnOaD}E?869d_S3`e-dF*xg`l=u!O=w@EVLB=GEKRJTZ^(OxkbjGQr=LEL4O+%ae!itq=&Uc4KMglY*i8!w9r)X4hQ_TM6@lQFmTu_%Rm|zID zT9tVtqe7p{WK@Wj?h|C*_c|%)BOV3a&4Xcje@iw`2w399#>T%e{>lDA1@IQ?=@W_z zx}jRRc&T3FRKE|&XZ=H9*md{xr@geEukfzSqx)Y}$bl}7n5S0(O!EfI59(1`r7&$PcQF~b@_B@@A^gy2mEHgMxG1xDVA3Kk1BRYdnYR``RF$>Q0i zd-e(;j^#E$qpXf{<_Cb-7v{LQs@j2rHUS=fP}=exxh6INFn#5@Q-WK zI$PYGT~(nOn|C*JzOY#SnN7vtcsMJKn9s6<;d}t#X#Ay$VrhA~-+Eo!Qi8T*>IZ{= z&K-EgJ1aZnzZ_{hJ_z!NFxRr!ia+F5pZ4=;(2DK-iJzH{cg_T(scW zowQjBFB6gkg*fep{BE+Gndx4af|Dwww2SW=o-0|hq?2~X?w2UNrU`fQ$q1c<*OpL> z2Z`PREHPE&fSwQ@O#%cC9!@OVAA>!5HV>6aU|-t6tUDwXG4RZ*Lj=7_=0{er$?r$E zWN`PsZ&F@!8GcexYyo2q6uAmh>x%bpL}g+s+pu03WI~d_(>z$CCN11TCRRZEq6!A! z&W8H;(w`E1pP@1e@uYIR?8H|aooM+aAEeQ7u^ds{7k+Fuzay_HFQ%y_ol~lj3g~-VC3AuhbrMU4BiQU;?|_yuigqMGi8E z_y$;P-$Uol!q$Ed(hH@jtZnTCX>Tf^JPL)2L7O~u8s26Fys6VMK1V8he9yQSpElZs zcE;~ATLI0L!`P(P4Bpe)@kJ!Y-DxB0s* zfv-blQUyOK?nSTxx*w#6C@`$u;e%q5^ap?3yiL=C?*zpe`IOSNP*Z1K@$lz9O%FLa zL$I|8qmV@S*P)?(xtaFw2QM_mZ1jn(x9gE|#lU;nU-QZFRD{EQscfWdP6l8?P9LzP z1k6+)t|i6zUt4}@^!Ta2yx!0CQ@&AnqX}ZgApT&u8DAWvV<}}Hkx--PR^i~*rTulCe{pBL)&POO{kWls?6GYruEBz-ZJP(PZ^v1fqYU~ z==r3ZUaZgA%=wetKn%DxF8!%Yp*CJxx3hia;?e#3Kp;`v6xd|$wy1hX>u6YHk(ouvDdbHR6(N^g38}3U0CObx{CyXdfZDv(!E=mS7 zdIC*zObmOe%rD;2wiUdJ$aUtH_4BOkJBByhc1c6hoUwF(n@7OQ+#+>gK8<}HZ|Vb} z4kyo?IF!8Qq#+N)%zHUy5;gg1z*gFfu+)Rx&Dbc8X&`@KodN@az^vcygpD_@0O&Z zrA>q$Veaoh8{VZ5EPi17fPFMa!18arh|yqw-JBj+{G0%yw!tstz36znc?pflG~T8n zi!-C5&rk+zxq3PU_Zpzse!FFn2+e!pgw*Dw8@G=6 zDiuCKkN4|oHP=9C31*gz-c~Cuw8*S?ex0WkhRJq#Uuv7Jc*0$eDGPfLswH~I@ok>^ z>SvAD5~XZ5OyMSi?BFzB=hX@plK-f;p*iE0d~eEjiGBZv4zk7@@+ld9C)P9-$$$?? zP~MM~f2ng+tM%JoB-!=T_!@xb1<)_fp?WB0s9N+cVCY2x2^NYn3y7jvXUksZ%X(G3 z*!-kj$=m`;;|*SvKO1GV!6SX$h%b1Pyh|A-a_~oDwcramlpr~5Fz(n!DTJpCyU3CCXm$ITKQTPa-DTEp=OgW%$<+!>DOUNlrv) zhL{7q)E6U;$Rs8P}e zBVU?|8#wM9y}3Ws&o>ARggPZ8S1VNfwbFib^yg@0X&o%g;<`blrJbYDt|k)(dxXZ=kZ zizV@5fH2fg!}y!Yy8CK${VM8H_TW-DpZBybsqw*sjwc&eb?h(-W)(lmpKfNv8qgB{ zin8T=$&w{-turQ&9zLZkx#>$)S$lHt5;JXWiI#3)WhHD}q#cgu0RV+7FyIb79Ozo{ zhnNHf-|whU0JuBS4llpLWWiqWF3J8@buR_X^5ka~1)?ekA25|e5dU6|eg^QO1k=uK zg6ot0CI2R`C_Ys@7YvxwJCofw*hJZHLqHQPYlpyet(_Vu5?aqzwtLXj=Gl15h4#z5 zBlwFdSpvaw35q#!T0gYTRmZ#BrH|iLF!tWHyn%GQe?`wNT0)%JQ0(*{fql}I2|lfM54)6u$4_6$#h-j zEiY0h>SC#EA-;d;^dp=86EXts{__jTs9K=@kaCS99pjv5=NU}w`Frr9=Z8p>X3>+| z4^F3U@iR%RuS@-oMqzJ#ZT&tZGj5)75jxwdbB{({2@WNe-RFNqB zh1p8YUFo)j!Ek>mhXjwr8}H{Ym4t?;*dOZw319Tq{(OZ`=Jmt&WIrUCcu;gaPw_4 zi^mmUzUSdD(25D*!L9}~ZtJa}3ie5mWYNfc_htod ztrstA6;M_tT&WEgXlVYw!Y@eb4&3af`=dxX6ZAD)pVbm`MYQj8aXf z%cvMz*bltRiH1eF*ZnZH#t{9)gRiJfFWP znhS@ldBuFB{evwJEa>j!<6d94ZV93m5KxG}{}nk$2KQ9qeRSx9kJ$K=&Gct=zK^^I zeUUcP(U=?Z`A!R2%piZr&mK_e>2rYy8%+T}hXi}5S@qD@8Htp!>SP@HiAEmaar>rX zGc)y}S^PZ-*Zm2}@~@8%gE$F8ld*o6ws$s3RO#uBB#bA82>rdF^b!v(P$!ZMOrn6# z|CWUB_$*#t(@Fi*Cu`GUy~8EVh~l7bRK28Idg#tfWxKwv_2L**KQz~PmSSsXXO}iM zHwT1jtq+F^jPFf+nJ?T9$g{xZ|*e!n!D7c4cjXBfVg0*FUT^ zQO7_Cw4ppipTKQ<&1edPx-%<0<;&x1BmRLmksZnbS5H4-rqR^@nr>aCpCkABYuWKF z>R#ocoVCv)?^HT(63EWm{ucG(VEvBw)eiPfe3W=XB)Z}+b_j2yo}Zgwc&BR2Y9JTO zqx>|&(4D@Ga|3%>=V+Rn-@E?&QtE21{d05lTjN{r_~Q+zUQCXBg=$q86|3$jteEwf z4|~-iY1T@gB`|kq{B*&bX^ipP9zMVBLI0;Nn>%#!4cD8zx#YLvijq_bQI@K8m5ZI>RnZm!*71zl^_DDQfozC7%iFv6V4 zs>(7dyWHMb)M zM{VwqnLMV~O0Mvz_O!NWoDoe7RC5RR{{)|Yel`rQ7nr0ALJ;5pt!KbtW_*q`i#ta* z;`&)%HTt_SMIrdza{6`DWz>N%g+W@`2QnCdt_wk{-Jj2tVBj(5=%uY9@T z6Yr`1NjZ>o_+Kx&d=RMK!SpjDPLFo`kNui}-o1ph+yom(do0@|8wIgEN;|fB)hF(50-l@Qh^WC(7*=F zcR`tMI;$B{;}@hYqbWocMO;S2>O;1|)4(PZ`nAG0A$=y^cr8OES>jAR@6;N7k~!OZ zLRtA4U9`AQ&>8lDI$m}OX~7g4g6vSIKR>NJU(g2&Xdxmr!tic;Eceo(H2flHy?!1|^e${DlX| zs#n8PNv6*~*l2|B-8H_HcD*NnSy_cIk|9OQWanW9$=vqi-ZiWplcGj)G-UIGJqurw_Wv^vMqxy73f7<6F831q;m?_-; za4l~AP;r0QaCe@S4DdaLz24=g1@=71U~8@yhxJkWhx9z^TEH$P#eA9K4aA;&2;e-A zEH-aig`mQ2!loBfqiVv>Jxf;yrpAi`%8be%+aee=A3`_o^l(bQW_Y%+OVCAs<#oMr z+D|2;(KY(9gD&+a_`X|LlEMG6bl&k)KK}c^kG=OMBQtwsXUmRKHXU2pvgbKg6hgAg z4B0DWkAy__N>*fN9_w(<{k`9x-|xTrBXvAEU9abLATMuCsR|q)_k+`SPCn-6 zZw6ilKEoY)!%G@Ao67%`?QCzeTLDkpm*y44`7{6^)Jr~oOj#Sdr?DwwrInX0mx|h1 z$=^?SC9%ESxOJ)e62!y?zof_0g5#O0c>*N2=FfV)! z-$pxh&|naYIWqp?#MXVb%k2hIf&+~%vg#L>9j_M*An$mI@E{I3KPRt#>lxatV&l_rLKE z7&ukmqjQXBU9tL{P?`H;F1RH%Og&}*j_4H%+oAa#O}HfDOm?N#y9w^#H@$7Gsls%} z`$4BauXHx0eDg}qPJ_|#(Hk>UP*!IEk!FdDBq2!QL=KoTAu;ZcpmE)llnNP%FaP(! zO+drEN5-cl{DOny5}D=(Qzacx&l4k<=Ff(a4Jng@IwhU+nDE6<<^*!{-1QP z`V1r7sUp+;VGUm3e8TA5qz;5BR*uSaKaCtmHQe*WifsU@5;E4p>*N4e662MFT`73} zW7NLHeyjSEa4#teo8&+a$Y*C6AP65PoKBROB~w@dpK8X(lyOIyklmsHr&^NL{A1^h z4L^jY-Y>DS^ml6ue_kXCR`-8u&?6Hm*Xr&Ql$*S;TJOI-Wb_fauMBH=&L7WFiMqhC z*n%|-*u;C(E(vUU5^AfvZNZoZ`uld(S>8*&Sj{m3<`VD8@sxZ$8Np}bP$0%dvzK-L z12(KIUR*E{MUy|(D;T`Robo{wd9Q}aax0f}m;R3SsGTm!MDa%A(QGVC}zV$D7I= zVEejt^0H;)B${3dEU(&WZmONUp^Opfga<_SdJ{PhAn@8^8+WlH+pW(@L+-y0L6lsr zDC)Vw3f$m)Ar>kjZ7a?JAySiYORC3ZB39JHCq!WqmP~PxI&Ys1YfFd(i1UDeat4l)oR0p?I=RDFeOlHj;&A; zHRNDLL@cxgS*2@>S156cK9 zo2eJJDOMD3pNu3Sg0<+|=-YX4LfaQy z8CbZ<}#}26QZ!%${g1DVgkH`Q4k%6oRduXc=^FXq5 z^k3+=>+#?BQJv3m!&P4YIn?EOmZk&7>Fz)l#nhJV51B#%Vw`y%X&lXmu~U05r}9Y? zHaq}JjkpQ~Lx>v$p|`$_upz#>c|m{m$CCUC((@>%+A|NJ#W&3p89m;h7YmYL!bB zVtIOlH3fQd=IblMlxUqudsN#Z21mRyHe38(#3rRdE4hUSJ%g{QI>tDGcFy)SyNWcC@n&0%k3KkL)vbVGC;{qVw-psd9_ceZ&rGMvV*QSCZQL{h>VME%%uzgz{DKLtHoy{k2hYK zT#5w`34n2dyea@-fsA{+o^W9ey0!Qkmu_ESJ%mY$) zZVByaOxeaewxJ4C;dwV z`TPY`U11MtvZ3Odc=?|@-&-vJK})nx4qH21O?Fl z3Jt#Fp#TJ?K<=ruV{5I-E3oR_4MLRv*4U=wqzMz~a3WdK-yPDH&y4O{}dSX1DUv9Cy~0Y7~ZK*f02{`^^?PK457e zG}LPz!oduPOURN+xmAuktaZR~0aX=Ht3_7X5t`SHR_v!KfOr=p3r4fKYq8CZ8_Dtx zwzMC^;!RaJQ$O6q8!H&3D#eUv9ITyi2{P`grkW)ien&BJzGUavR~B*3h;t_(Cc-_Y zgdID~U~{*3bW&7hWOLbF_LT{~W}VjQ7{qBfv$t*06}kk#tfw065X#I95?i)@+jOXl z4^ijKjpM&KNUsX!N@Q+!&l$#hE}c{~wRaVjqV z0=j7V5VI5MP&Xe+WU6@XL)0TGNJ2qP?M*})t?^7?UtK*oYDK2%0~cro-S|6W<46Hc z)Eo?O5<=>nR_Zz(wH$PJUU{8~motM5`vK)6iWMj?Zl9GA+-S=^Y{^FVaGeV=7Vy`A zm#a!Qhbtb&7vYdE=Jd zkC;%bxZ5i_@mXpdKVAQ}Bz#6}o1!mh?l{lYo)TCL>|!l;5hjDr!TUn}=abT$Zk^j> zo-`)l$c;-eu1w=JC<>kC_(CA~tUEsqz)%1B=AGB&m|}X!d;%gQl?IGzWBi}ezkD}a z9O@%Q@NTwGSt>4qvH-DHHl`LJ%3xXVQ};lxZxt$_6{7VAr+z>dTK37;lap~FCGywP zPo8~9(kMH9W&ZSW^8FdSe;~kGAF_D31&;d;IMo0Yna~K)6@&SoiF>-EMwt7xZ%u5g(GiZK%w-em9%j z`*H=2jw+n|OF~Pp{I0m(S+qKPGJ>jQ8~}xqF0nIwo>*&M-n6u@Ldr{A zYH+0GwsP0+Os8uAHxWaM^@FpjX7lo2?tO;!)SGe4TP_OifeY&kE}~NIk3lcPyWBuT zLR)J9H-?a$M~1}e&&K`;7oe>@XrRxpykLHsxl~l{bEu*}kgcXuC1Yf3D=Wb4 z?_+KttEk>4q8f5cKX6!B;dl4l8&UQl>s0z}C-;1^7zUVPYVU%I6&NostdJXM7OK&; z%yB|qm~ySD&i;k`zZjf0dyMrGLzOAHV+!U8$202X{zaVH-X@)h^ z*+dXRhx?lz^`fOZ=# zQu!vps*^x$gF#&)Sh6kfFqXV`!n{)gkJQYw|D-80=nfw_<0K@o`9&EwE~P3`V78>- zm+u_;CWX%E%yspQhD|sRCiqW&C5!IcW3ds?^69DA6Ors4|KE;Vn}}E9*lcR((^(kj zGoODOxiqUduMh`kCP4_U44h558>m`*HGwdhuP58wXmq^OTVNYfCN}D#aj=|^rVuHM z;29k^@$0?qVa`|u7@qgDwcC2To_5Q9^y1A;eOR|S@5{{xU-IQ~JzTW6clJ70YRmTC zoi#e|)O?UmxNH~Wj%5Gwy*VXmgV$&bF&la+{{4nSeNGt@Q!gJpK;sYejP$Y-irMtm z2Y9IdOD3mS`Vz^T&Krd83l1{LbeK!mpZ95HZWnE_bqc~<*$PHM2H~^+|JLLM$4)6#VI`fX3VY${BQ25vit-8h-nnBNm|GsH8cIE z(j^e*_WrYAOM2OYKc5a~&qzZU1t45v`N(E?5Tc%{6qUbeVS!|yWQupcBaGNeOxix& zpLt+2o&c%aYLR7Wnpm&PSl~5#HV0k)-Wqu~_Zhgs2LKBp2u+?RO3Poy!RP3Lk*qAG zX%rfksBOR@6|AiLSV17JTtPI^(9iYpkR4%#4~9_|#xn04NGGIf@xouco={X`ta-)! zuz&K0J&j%1J!*nMn!-?Fe1*ZO!tmQ^f~0NylM_2ZGzuKAq9=N%wqI}(*j#+;@mnFz z`lm?Hs1#@0bkm>&fbwhwRX1j7vCu0Mk!m#>9-J?X6aC8s zTgi&Kvs!?}>_?A>c3% z3M$-dBNw+^C;lpZFb@C90^BR?Tqd>5>q-g6SKVYKqhTUZzqlVI8;$qq>OL|E|CRii zdm@28rjivj?(CKm@enJ_tUagO4AA_nb0YrJK7vjF^M+MzB)89OOl`b*JW-QBY|oo1DH&# zW9+V4>mC@;tm1~VUmm`L=?P!e#sE?2xr_m+(v#I4YQQ39mZR z=o5m1pj;Vrlq3hnpK?gkrPab~xL1CE;$B&<;$G>TRP73F!s@m~7@pD6ce%VmINz*z z_H`iWM0zzFHkzEu}QVs~W3B%Op;^2JoB?co(sPlh+fpT)D zkReQ7M7-LW;7Wyj!PcWfjPq$^5i(Ke@g7z)!wOQhSe}2JK-A8-&7~~pXTBYLNy#7m z>1WwTCKR*y>dXD_WvknJ3E8OCa5bkp&h+%Q1WM0ba`JMcQwNj#BFvY`XCpHnWX zE|YYro1hmLl99t5CnY%_ud`gr_HH1%!KRpMX7K4mY&BHV5!9=`P02yw(RxGgVPj)M z0qBqeF9abqepYW8;f4`?V)Lq~QQix}?be-c>;x83>T{EN?prDPM<+N?eiY2`29QZW z(3B{!_+iUFehP??@6Ic^B{f=WHB3%6A`gsbYXHs&ap36VeU3klwz}?QZLc2z=nnFN z3?)%T?K$l?KwbSq2)QR^&-9xes2c}>@6>{aN~=CawUzqLBOj(7Xp15O zv84}+PA9m<@VtC8T&Qd=#W3oVI`?@KD;Eh3@m0{%mMWP)lRHRM+Mu#PB~MfgW^7eSk&?t zA87HNoL&L)8$`|a-*Np8E_jS0o?dsG>S3i$RaCRUu16_^9&z^)p%W;z<})V8MI*Il zeuf4NaZ2YqoP|`sp*JoG!w6?={vDXS*{sYJ$4cZ?t>;Z8faDvZa8VuWe{vU?Z-274 z*iNNn#a~qBy-5Wud?*Y~!a$E~XKe2LLaJeN^GDyYgZ_xMKK`>RVU@c%_lP&GWWG9X zk_qgy)ei`Q6l#JT7+M#%^x`>6yQ`$8zE_0HG`!s!J5M+4U6a}Ni!h^FBh&p+VdOpDvB^{7RdNSz4gUS7g@$x=*ysUE^{8{Ulq-~3T+ zW_5?=!emK_b$@yy-UlCs3zr_!%E*|mJYbQwAMEfEJKvd`N*5Q&R@QBHJg1}CY|LO= zq}RI*+T}|*_VL(ZRV3b}@aOYMhKJv_YG}(H=~<;c9}6ZZANu^cZnsBmdD3^|FPsqb zrZbE-cl-Kce&mTknLW_ssY_U6^H&5oFEi>n`+W!XT9Lfv(wFJI01NQ4q6Ex`-1@P} z@Wf%q9fTb=`RDU$3}ZP+)|7)tT{bhiO3pL@eeSnfJG7o`2e8B8?`C~mE9Jx(X> zxlV-c{DEfPuF@^aeIlIk4lnE#E5Jj=nXY6raDJ|mIA(C|6yQO>X=-8*oB6Y=CtO=I zu=~q0$hs=pESx)RFPD0JTpg}Idi4BR-!C-ZNY!&Su;EADPq#=@OIn@VO6>6^gJcrf zoZ637Dfp3WiG=c0+GbEYIn0tjZQ?47VdOE%>N}e#<<=6W6sxE~snZEXX+lv(NjuhD zic_f_apm-vhGmikMi*s)?`sC%+6GRG@q~^pHMK4w9vO}o4fNS^Fpyk7-n6y_DxdO(kQHrgxg zz$^D;Ye2bO*+#@f3-QoueI@^nYW3zyK0gN1$t6SO+e=;*Z!JlYmet*oSGCsJYhG)k zJT`nDRu$j-tP+8`Ki@%B0h}m14my%Dh@~Inq26-zz&j~kGq6UWO{Bl&Yw`Bq)F;&5 zf{X-Y5B*6gqTRd&tfSReSp=q|D-@Tyh0;mGZ+=Fod80^?N}Y$Vla%WgR>}1P zy|StoiPEImAzglB=r;pzfhp|Cs{fcGv}DC_UQi%M#F!v27f%y;`7+v_jKJrD*7@wj z-(wHUC`b)#-wR`WgkPgT98sMAc4>-X)0yah`f}o+#)`XPOEp8H0aa~C)f99hJ ze?MJ`-;z=gLWf|l* zlgUt?6;Nh~1oJE~h)@723%Jv7B0l2*b&r75#h7`g)T&;`gilzP9R&KqaNAd`#RO92 z17nCo53H(nnpo&|g|}veg*N7efqL9m*cq)C;0%LC+w$5=@SpQ<2Y)b-r+x#p;RU>P z$$>9X9G|)ndxBkvYnCp=7C}T1$Z!yjf|lR=jQI4v!XqJ(d(FeW6fB$r>L)vmvKl~wFxFklAS_(LurQ0bh4Z$B; z3{akDGt54*ANfvO_p}4gW^;s^9FTHW4?Ur4{tCi??I1Sfd4IY1dnHP!?>+A7BwZY? z)#QiYCTvaiRX45B!~G_`<8fKuFJX+BZcVX9e0}|9<1PQRb|5sp8`O7EsWFvYmHsFiLRvgt9^Y-5FWcbfo?OHE21^UxzC8K55 z7eqZMN&?_z;6KAQ)?ZZGxTKy~t87bVOD4ZoyFxb{t5C*y|Gle+K+muKq9z!UDX2vk z{6Q99;*8hBEp6XVH0iYpP{1G$K69w4X{dlJ8fWKq9g3{KBVa4gQE35$F?Fg0l z#GY2GTBUG8irbqqBt_odYgEW$UolBN=t7|c23$p-fuZltK;L4Swbe>llO4!`8WRLt zX5mjfgrGqegyS@PaMAn=MrsaGl&A;XrEOTR+Lh{VIsxZK zK)5~zx}l*cRj+N7AO!quLK(N)&-p?Ee&PTHw^NUE`nU6~87O{2yDz^w{+DdPwpt>C zD9=FnwY6lHA|XN7@_4o!J0G7-{jF4%=k)Dd!afsg5xi3kE%zso0P z>_WQEaJBl2r}Q+wpBgGn?tmM=6Rht9H|dOK?qW#q+vjCtcZC1Jr!CLM-kGSI3>zT0 zoZA{*BTO;ystOFFJ)rs=(?m!E?lytl3N!`BuB-x(eL==#>w!at_i&janu4UliifJe z0w0Hn3AsEc*=94LF4m6cqV1As)lR^_96}m*(D5?Xs>K#HuBNS(%%a9OG4_@^njq!r zl8w#^6r7CGO&f|@cs!K)FE@Vciw{_ZxM!3vIs&@n@iuG?QfJ5Vre198I+CL7rqDSWhigkuzTViMcsggp>KncXG~Gs4T8G?Aq@|0r_vMeeOesPU;Z~vm+v-BGj(nO5#?3`De3wjD!>i*VI;s+ zS4@)xCFqEt7+za5A#nR+czyWG*wZ~rUFU0P@$RkT#;xjY)!1#~3aF+a0d_pt$Cp6K z8pp@;M!hr@odj2NXRv(_)e5!2CFe%u)a1{~ObVR+`-Q)$hXCHGg4ewz;WM6Rzl7$lh zUmnU!`R04X)&KLBi)+{;mY>M?AuCd0Wx^qB<>qROXA85iMvRJDtsobj}~(QX_Dmt6h9 z(0&2HIY7!BnSFS${3qZ^X}9qY)$I$S>@tqLI~9@PTuRN!uW%O-L>uFeo-Wk-Z?d_+ zeJdd#OE{KJXQv)a%$JdFD?AflbQ|@3ILbp$knGPNHN*E>$%*bk)9@&>btk#}(yjVI zh{M=0FDLN!@q~&Z>(q|R$RAe%;E6qZ_#yNCi&J$U3DfB(_8K?`oA+mja7@0dBuq0Ysm zE#7sIG5yNOAM_-h;r$J9P@%5hz0B6GGW46BB%#ZLYPU=566@t!v{?{oPcj(Hs)D#? zkGNV>(gf}U020vERC}V4N3rDq+Im@G+QG&1+52An^p(8biY*)ITP)5?lyReRHN*L@HE|5bF{7;HmFk-u)IpU=6 zOTFW-zF5uWCLyJl%XiaiIBEHNeXQ>CWzsu%nlRUb_Jmm9?ei}qcjY{P1M3!zU#`3) zLuF8K{R06k5w!0O6!;pBlt(^+BDiztCwEx)_E$&}!~q7=J4l*uZ0owi)7- zVx)y;>{^R}U6NP_Sqf+#Y=%&6&|$fd#$)K!XC=yy#bts3*w);?3*HO=^xu6pos7&z zJuI2lOjdTXx?N~T%8%%g0G&%H*{!IrX0>bcqgEc^gxKh{2^a@XWFqp{5Gb?N$f?@y zSHyd>M~IY*TXOCc^b#$fxd#59MZCf}dV0=?EepOzso1m|FFB62v^Gf>2@cm?py}^m z;Bnh872KbH`df}D`85ZIZaF#pD$E=YA7$~&kvmSEfi!wRBeaj_nNbeOzdKWfN*>OO z8wl1@xE{8hP`yin?M3$}6bnP%3sc$nFBbMcyO?W{k#eDzXNaOqEkKyGfwq;CpVU$a z97~VxH~o|iN_Q_o;cky8cZ4Krz9WbLxF^G7aahl#IaeM>g2S152YQJ#s;LQ}=({l! zh+oQ@=>ODCIstEb%hav_FBC#4E!nX$A%DuuX5IDRG7TZHTN4x;vD%HStBy-aF)5bB zjFn|pnnLd%#@MP~`Po?A;2E7#yB0u&4D(_D>1U*=BMj!k3{qjTV$_m0|1zlW(4;#&&oAb`sg0$dEefdZo&d9qb* zK-5;Q7Bn)R0abFdZ;wE)F5ahb9&m7@#q>Y3f&VB6bkDnV(S@D~x`^)^W-OTB8)hFo zXXgKy%Bd0)i9ZmqyE9B9Tq*iZvaM|{gZpDW!=q91`H=EgvaHZwo9-q??}j)3+c-J4 zBsME0_fKN)#8xAjI&yF+L3cRST8 za`5DbJdwCu856D)$+)6C1+4Pa{$I{usfx`al-JLsL%@eGftl__g3@o#uVHz+; znhvD|t6{}PpIglXxGQV>K z_^kw>y5>C`Pu2*!m2CdW27UecxIC%ube<@-oe|oeq_^`6&j$CrANKpeZ!qhj>QZ5d zl2oD;+kOEdeAyGO)w+5)Bq>#>0^uo5PdO{^-Pa4Re}^(Ny%96#;yulL<^SC^MVj?n z7P3btg~-&T+bRoW!?7(#v>nWgR2*g>k0tKciS+HCQxYD3Y-x>Jo>gxf3r^VS%KXd% zvJn)NZHcZ`p3mB(#U8jTjC35iZGKi$R&bvRA#G z7kJxQw1!M#eaH;vP6NmXMO>VMmenvM3|O>e1kpd&kRl^3v|{Ms|HjT1IunIB&+!V>{Al3S^;Ip{=e!5 z4hx9#DWT7~FdT^)a{eG?ef^lQ%6R(rXvKgFj(PeVL$?;)xG7SivqWjU&6wAX`I+fMq>Bp$ET;GkM)pQatw=!2Rx?JucKRkvB_p2~t} z1jHB8{0EXyKC3={$sh%GW?gmTpR9gJ(H1`iiJ+yldULJ`7M>yqN(KGx7Una`0$m_f z#-rW*9a$Do5GY`7P+}~oEu+Lmw@>DX%W8S`Sr^TP0u%qFkQxAwq%kzTe|OrS{owa@ z1o3T%x_?Mb&Clg0r&fTBh+piFu5c!QE^3?Wv#*bhk_PmWIfboTseLo5;^6b5JkE2g z>dw4>vKuu2B5;f_W#)o8KgnR85q(H`o~@tz59)Tc%oOV2H?5MS1#m$n}7p14vYDe zsu0;j;qp)ClCCws2e8Fu^F-q9&`Xv3jv;L^RTsf;YcAda$mTBPK1nI+ zua*Ei$<Waavt<3GsD}P49ALW5#n$U=<;TyBs8<&A@9Za&&uv_kKCJ!0*d;k%VYYLPy z&amLjW1TY??SuWxpTP<$jl$_=r02L_zn;O8{x|OG@4fjkO62*e7u9ENAUf2$@kf26 zx^lqx`a+d2^E8#@mMWmFhy&a`+(U!_Jz2^|qxa4%(_7R^16GP0qC9-!;@(aQT-b3~X# zzLd{eDen{{_*QY0n!h}xSh$j`Fn%_e*~?jvV>2mOSddSz^kR5Ir3EK?8?9+dOyEpc z=;g{DQfG=ht)l0=#ZdOvF5oV^Goj&E_Y3MQj}=lWj%mNO#A@~p~ zS!j~%EA(puU>T<%19frbKeh6EG44m=cm1sE->8*Uaw#LRERQ3a$}(Alg<#gKt3y&! zu}2uMf9sT1D^QI*eqXOj7A|0|W`MeKByr^H{!D<^`$m}oKb*~=IRaL9d=^K(lu6#H zGW$e^HM_&EU2W*)a#zxz)_l!H40*cr9Kn25N!eUTPsj&C;khqgUsNj!e=;z8JaO7S z{v)Yeq4qQe<_1ZH&kB(UrOfLetPTE8MuuDlz}Nnq`m;!3%M#PGZgr-U(+m;`P9*aJ zEAIWMe3NbMgLgDw`$sgQ;-B$}N=UMtim)Zq5|mq7C0wXDOOaTIJE0pfVluO$O$p@JSE@S$fp_I{VNig|9ip}regM@`}HBNmcsyHb%pp1_uJ0^ETN1HK( zOhAQ|kj9rqYb#Bnwt|A)U&I`~LUuYujKXRj`{0H6Fs{DMc^zSalB)YmM=A(Kt7lX3 z@tF)STE4Ws?^=0ME(k8{n!w3x+XT_Urjf)>PE2N|iPZOF|MP!SQNFH0cFF{fE?>9V zIw^CTUpvRj41lGx5&+ke!be4aRC3e+E9h$u@Mvna%!2>hBtlje8qEdkO}TjCh7WxH zYEc_RX=88aLaVPMO@&h62s@H0J^5N><#nawQ zFDatc|3cNw`CZmxY5;U9#l~@0hYHz1yvp%k=&Is367d`W{tH@hCt)eynV4#7B{Gk4 zA-4uPRO8(!CG9t)__y`CV}xJ+%r=*Eaa#Ybu64-Za66YH;{$ApUdUF?LxIfYr~3n} z(R<-ta8QpNaKL&E0?!`gysY^#*Tc(065hh03NFP>gzhQNhoF0H|2#P#`)bydnDjs% z;7o#z7ZP4Ws=C(jce9(y4fb$5E1+nP+%rN7=rM(iN5h}qEeLiF-81lT0l%=vM`S=j z<<1Dg#cW>AFFLkHLiklLnLaOcvH>9c?3XPUW0adk`z_`Y=XZ187V<3-ENtg4w@5Zn zeFq`)Yx|0fs%~29kqpqGUGhu{2kAH25x`y;5q|xa|0Nk0g`wfbaU|}Sm*lJr3nq36 zOHGVEH#3Wr5B6K~VPThniGi*51a0JOfWx||lg7(?)nfoaxOD*GOY3+? z3MTG(Av}PB53N2?m?>+x5oOn%@AHAD3bj~96R>IC+U$oLcCidhKLcUkVzUrv9`@7Y zsN?B!%32WNQzZ`a8_}0T8Gx}Y(rS6qLTN9F&kVxRvqkBBH}D&Q3KywY5iQ0!uKJ~tYjUlBhF$2pWL%uNca{IPa>Kq95t8}|H6~DDVz%Q# z_v#};>yeVtluNpdw^L@t2$=ExzZf+sRY3vzoSPZVTb+nF8v_1%Jf~B=ZV~yjj>Gh9 ze8diy0FTaxvw)a>w02eN1w$e^NR^+<40&nCTs8T5driq(6VO<)hp*6L|-)=@(Y{@j@=}X5OmuB2x?mmiX)~WByIWz-La686ym{`5BCWPIT!T@wzojm}AlAXQ(&@E2(8hQ05 zdfVqfFr1>y!SE4R2DE5=9!#9^sJcoZwssni>QV7VDX7)-gbH{ZeV3tt!mVPD+T0|r z)v1ZeV5QyTar#3D1ZYaG6DF<0c3t%lwlE6m^pIDEs#pyfA2Dy8fpFyG7ZPnH48>lS z)C6Ul4myHvctdL4R@vLknIy@3y56mHlyQx7c7cC_=h+pYns9B~b_dG+X3w~A12Q%_ zJjm|@?qRwgk;CL5){9`dEim&8$Q1BlrJ#N`1Cstnh8e&RNZ=r|F#-4faeQmBpvljM z%6H(4t1I(=+}g=mR8^PosLpIjAx`SUJ2cI#zdoHOPwQQ3E1MsWJ;v_4B+~tZ^&KUr zj6^*5@VJrEO$P;^CxS;AFTtFqI*VctG^x*5xFn`pJ*$Nkf70-0Xqigh6Q(g|l{AE??Np#bgAUlg)gJaS4=#IaFarUF^ z%d4;P%geSV017j|bz(ad9?j`s0t#gvj~RnqEK~VrH~P9a!TOpf`7oT`J=NQ?r0e!}4w?RV^41D-)pXL?#sTzmDcAX&WxH|}%Cap+M;k;d5<&M~?+D?ob&MdO( z71f<9r8w0$`7rrV_JKLC9_~A@=58p5bOu!gGiEPz^kSGh6RkVQUL4Ta)Q&rtNJQ

)K_X4r;2f(g>3Q!j)6Ki2TD@s|g`xmG$Y%VhpzB}Kz*4wcD(hq++w?3%vwO}BM|Sk_ZJPGCv9c2FBu$AC;e zT)#$i#BzYVkeGIcD(z{=LvIU_+ z0SofG7~(=jOA&wMXEOW4X{4hy_|ET(vtwUc9+{sq0`{6&s!-OSWn<(r|DH(}NXtjO z9`QQ{9KG?X#qV(=QJ74t{fX)?5L0@@?0qSW{-**9454w7aZ#q*+=TD2GLw%>$uL08 zN-4FtK!oLah;zT8S_!`;@E#>xwS(r9>h?HO=$ZKTA@_Rrz=mq#`EBLYU5KDbwY8bV zuRsa?T4{B@oU}7(AvvJ`l9&P*N}8eS5yOUlAB~SL;`WiKyB+Xyvwxufg{0KkztMl1 zONe#=NY^%+XSVzVAQxpM8z~fk)d}g~b9eja&vir2x79*WI~woV*oOLF(T)m_j_MO8 zhBLUpLt=AJJeY6Feo34fbsps>;f!}-7R;XZ9u(R8eXf6*pr1+Gi6-Nep)ldyY zA?_!e;G?0y_b=TK?+;Ntjoyzp{R_5|rI1!kBh*;SAy)ZGchg%I&g6SU+|1CT9>swF zPr{r|lL@b2Y}!kli=Z(nUn)@woF1w_9;;(cYIjCfO^Q8-~>CaxXU`n^6LTiMWm`<(Ph@Qx zX6Zd2=9NJf*hdd~wj;JB*-C-TGO+W<$(q$uWK#!z0m0(#0uxdTttjn#tE8KimKDFQ zwV6cfq(OpLmbH=OMg6Bz656r%VdkVg_`yP_a6;f_69%xhEpGzIgguqBdG{mo#ln_r zJmIm4tw3WLJ_ZJRpXU;gL;Sg+BQY7*_5qM8-8BEvofy!Zkva13Y@kRTwyY|)w6cjS z7*-IzQ~6B_g;`W8CK$M*Hx$IGN^a7Gg#D@HOsGwHLV>w7&gy6Us!&h#Q}_On&K>oY zcVT1(-@mQCVfAwmM`apBKT>Y@C;@m=41ZeIZse+RZ zj(f{ZB7US|g(-x;jg5qtHc@-ql2~ceQ-q?S8YhdX$$jXAXWLa9^iVuk+PP>U&zM!M zK-$iu3Ht`dIA)bAV_Ul?DNUEV>WV7=>cP!xs2a>`-cpX3T^4XJ4NgZs9ZP&V7E?2T zIwx4JEZlmal3R<43v&V-g>LTu$)CZT4ukaSBR5+ZO-$6}G@Tj_H(n|N zZ~yzDYCnJ7h9+O+X;dU|{6D77GAye0jrM!!P6=tGyCek$L`qT+kQ^H6Mx|zyR!WeP zlu+ps5Cn#91?dI_327M`W}p53&-rjZa9w;P|~I!#=MKRGNw%0}Qm)Da-Z;1$^|s;&%(pY`y3?UR;C_ zqhq_F=Vnt~O@#z61NQQA@audTylD-slGJ7_;|_I8`nz6*3JVKt9EkaE)tY9W-_C@H z40KLBL?1Q{f3?C2a*}X}%7p(E06JGm#r-9mn3nGP`p7!T)vOeX3nv)?6YlS=MYH$SL(RDd=9!GWfR68AhTEZhMoI(#1~=Gz0a}l7+Amh= zLeB)4aStiNuP?*$h`_V6{4EX?oEh)1auV-wD&#y-6#xxYf$G)cXNVs7N^1go#k=Fv z*}L=gsE47mkE1F7>Kul9axRw-W>^4zmN)>?k*GlUSey=eZ4_K}RHW)FY!^=;rExf9 z6V9v1c@6aPv{;s`wEb+Va;^C?o(*no;+coav#o2~QQ9^j(0&+khlkd2)8^3;+*LAm z#_`d`DAWsJ^L`!lw|Ni2UIAMgN6ghQpMLbL)AnGa1NAm8ok{!)yGC*8BCe__cF6b1M8)D|+pY<9o z?+vk0Hsm{NyT@S=I-Ob*I!jD@C_2gqNWk2Em$Pu|*`SRQHTu#0Rr{*fJSV z)7Z$xI-&sCv-}TfTl)8&l}!&KT|?-tk&a1c*R1z^&i{lc-c(zkReM5V7SOx8s;93I z=Xt+Pf9#fCO_mhl_&A+t0{M$X08&ywfZvor?bom%$i+dK z_)1Zj;9qQRviBn8MS4;4o*eGnvQ9E<3&q^e=L7n@M?+wGDcIHc9qG9S!lj|x+Zd7h zp^O(6ig;>o$wcsc=&@A=ep=pofYD5VoNdru;TdN(Uo>^hCk>i!kGNt-rqgi&Ov1U0 z_0N+5YPl*Kay18skxVoVgxsweVSm%s?X&KIlj5Hin~{P&%KEc-o-|rvlnpi&e?g01 ztAB^nmS1loHfPEbkhN~b53gJ@h}YmvR=B{r$z5XC5)iU6OMvFApjtw>lYjOaz!rY9 zkVHl?+3LeC6l&Vp)5X&NKHKLKTmJQY+A_1jPDxldA)Wl+t|kHbUroiUQ|?@aW-1px zLVGtaeHK>M0S8=yLkyVD24u=-B+ro&Whta4Qx`>ED89Jl^aNIG2W`F{&hLn5Tz{FJ zzVz@pKP8>DKqP5zYZD2GbR99+81nrw824nqR9@cstFA~Nf*(QSWj|XfrLW9%F@(gQHaET{ zqHZ4{>vwp9U1mBIO^DkZc^sP_bD)xiKfKmqL%`a;8Zj;kzjF0}Rs1Gh zeV3e6)%0(SPl6#YZjJ?q@!dO$(MU&3Tw4^Inf=d`MY^x-Xp}yoL6_?&r`-N5ZcOFE zFGgBiO&NOI2@OGVqSZQWQoPvLNhTJcs(c$n093Ff;WBkrOIMsAGw&veyDp@$Y-M-ivy+tDpYr~|S zz*GvIm9tK1dL>GrjV+b9E%!*0ozZAp>^QBVvi6zqxIjB z^~xy2n)HFN!Rrh`Fzd)5e}>!nlX#u1*RQ_2N2CQSAs0y7YaQ?-qK0S#FJ=OnAD-Xv zNOAke_k&ay+vi;LRYymQtp`Cuan&-lzR8G|J4PUbsQ)oq(~rs2WV-XyeQlG7-ak{~ z3gK_DBbZGjmZ^f)>jT11GTPbM-qaVyF42`JVgr@A=cc@tcp)EvpjOgP= zfMu^~f`x~BlPdzeu#{SQonsYbig{Uyou#E)S(!vdI+)GbXGCf=#d-zyqnz_Vr)Ix@N=FMo(rcV?x(c=lk3BARO-rNP|}Z)c}k& zo$(w)w^}GG6Em~Jr^o_)?w%3e9;E@rgyez4xi+^lrk2WE{}VzH`~U4Q-ZSE#LQMi|a z=~{$%N^f;@?i*Om4yv$dSqW;niE0HaYgtqk1ev&kM}kEwI+9q+ZKNA4xew6IEKdIw z-|SPsr=s+Xt*4`CQ~YrD1;(Bj2c+5x^ow|v92d;0K!tyUf<{3$y~dt*vqQJ>R7zYl zJTQ8MKTj-|0b55H-!n>^qtSpNCsE}z0M%4V(JZ3!>}dFyLuJ2-p=GPiH$yA0#I)vgcg@tI=_FUJrB%U z=Vb^0I*Qy+cjtP3Os8Y^XOaT8f97JgCt@(S<&pyqruY0ZUgG-x{b3z=iCEa3!E%A! zW!Qz5OQ=F3Fj-t(IC!IZ<}qd6P;(NYs}c(;Luf z!*y0p-p<{X_;krDWgPsYxLr*nb!7>ibd|#0Ejhv?^8QS1xVUyQP7kj(!1Fjm-E4tz ztnfDa-Hn8An$}e{*{d#D2#4q1d{j-85)TG0a3auz|F+bUy_H}WRrSexAvT#{KTYuv zNS1s&$HCBG1e(28t&%uK>t=$oL!j&$qGVlzKlBcS1pjxKKrq}L*O_LKwVY;AnAskm zTu&aUh$syCal;1DwYlO>qzq`IzTJDv%uKuXt2=IS>@e?$TZ}O}x}zgQ*+4|(aItvq z$vSHn3>77$MpeIgOZF(M6RDFD)CL**UEE7Fxm zAHmvnB(3a4)&iJ`TR1!AnL2GDl5;ah)rRZr_@7Wl)+ZU@K5C8=>Ls%TwV| zA>qG3uiNa)8bP_+8#z4c@Wd8a+}n$Q=$&(I<%TPHJyQ*|zCnKLR2@Jtnd1gzCj^ag z0oAu%*JtnVZ^`4m-QJ`qq8k>m6jiQmAL!@7LxtGwyc8axNgEX zvwf5_^_n8_=WwR0vM3KMPgc~yr;D5nP50(g>Thvg>BLW9{-13m42T~!G66r?7Ajm+ zYu~uLx0Vmg<^?$dwOF4m-`H4{}^6OgveN1h9R_X{4|8et|rs&uxz5vG&#{d3(Wind7 zp8^d4m%onqw_-A7I;X?x3g{WNyeFtIuA4_bxgKF2 zCVun*7_0(HN{1>;GW;Trr*C)cz6G(G$a!?nKoZj4`|y@(r8TsO z|B9)OeKD%|GdUB0vi`w=%S!=NY-*sbiyMEjbGqG_&*z(6R@0`CA%&`ZI0x68)-6bf zrSJTzHqF$Srqn9FuKW^@98MO0Lf}4*H8pBMIQ_Hy+=v?iX*`*4vcO$;0^(Uo0JXd< z!~Kr=I>^Wx&B{((qv3fjRnx)y#44kKL_Brny?~)*XAQ-eDOJTygzX;&fb_sb+$9<= zb)F$vsS;C?(mC3|;{2wRUZlu^#JGw_+|Hs^cifNB__l}*tQ%s&qHX0dpJ!u5FS_WG zU9+z%pmojBC=*o6(wTZD@hxhuy6Otffpu;)F1uV2;Q{AbFZC8wx{6e;uOW|R)*+B&N^x-tR*vTc(j-EyE!S*%iG(S+4MITJorx@NEdyj zN^)`Tl9Enf>n5owtjJ_5dPv>J3=GwNv?vBM#%_{aoC=T@OqU;;(limo+i+ z0{}3$CGmbO&#GOA9Dqbb3gBrytROKPM6?;HEmwc%g10YgVQ-vsr;@zywu9Zw2_gW> z`(VZ&fZ&-3w1p6W%6NC40|gXKkJDtKy(tj9B(~zwH*>Ju+r-`mWy-G)tI_{%$w@^( zdG~xeoO3F8sE8_%uT9m_e|A)ThUnV#Ug?FeJndRRly>uBE-*j$NJ3}%Re^`!`BBfH zvL6!Q9QQtOknXe_Zbk~&F0@dNK*J$4A>PQo9(~BY6XeOGbN^LrX+5p>4}CU0vt)Tv zRf;^k=C>nmI4Y8)w#gxlwM@rC0}nQ_GAX(q=5LNS7f|#yeQ(-0@*-b zk5Js7VLQrXa>4YtNeGn{-2N9rC{;5k*D^9wU&Bpu34?CT&|Jdj^j+6a&@u{udC>9F zZVl=A-7^-F2F3>4m__f2LGxhsw~FqMKcrUom(`$K3HhmM;%-os4775PyqN-kd(Gyg z6U&K=qs2S!k5@>kI=)6#l%#?Cx`F^I(_-|Xcn(AP9UGc#pSGHm*>FC!{00+>qsi-B9p zW~6b5^H7iOEs+us z<@W0aOAbVn8r0EBai7iq);~`^&Xq8>x|EnA%JEgeRBa|icAFdc^scKaTI7e$a+ zKBH{n*V#F7K&1}=&Z=_bva^Mbc7H~YF+$)_ACFrAZNxhE9njGt5~=(C;lR49RUL)% zgGR~Ohtsud_vS?axcN4@|@J%iQ&$%pEkFM@spQ^G-D?31bi2a zF!RL^(|>HM*Fa-86^M~H(QMkOH60{FzP)AuR741YuJT?v6je)AnW4R^t4N-JVPQx* zjj8KHMqYsrT95DlV1~Kj6Hy^>Us&;AywX)b3m93oWB0lr!ANy+_l6%+PSwYbn_$6~ z6)lZ?=D4kAT(Fz!{tqh+%v&KBB*D4xB(Hvh!ktbopOrSss)e8~9%tqpc|0n;hDY)E zv&BjTwh?%+2c`XZu{Shi1#Y+n8TTY{l|yrxaG<2>x~&Q+k?l>eUL}YGfY}Bv&mu(b zwRhUTO=2)MmOdIu3Zc-?tIf+F%`$x$BXpwcioa=CTx2l8dLS6vbZHhoUVYtWzr{Os z5mV-VV_AF?0R=?*&dqRvm#Q`P8;Wfdvj5Z~o2wQ@3JCL}XOE&9HPr$*^~jo%cDK5C5;f8V6? zRCMAFeb+G_HqKCo0a7Ez$J z)W7?a5mba&uAmynH%hH}vGb#N@Q>h^P|v!)ktYL#NyD(;8~v zg9(|8VDDsMC`P-a`lN?juD@31mE~5r5H%Zd(<&n~X;?aT1&Jp_^2RqOFM~2pkII2; z{vqh^Ne5xAaH-Uq9D=mw1)1n%Y8EsiBI_~mHu$T#F!h7_L!tp*-AMuk-a>)=aA z`#-CmAFy3u!kAUjQUkDGfjs@sz_Z$w>4m2pl-Aiv(U4-h4YOG z*(079z@~2#`2q$$Z=?PXqv$2A>?X=UrDFX^h=}8gk{s4*`ToVJbtMM8rvRw@H$!TF zf&!tl0X_^zZ(eisB~oy6$~uW#BUkx^_{3gvJFAJ+Q;Et)ZQWO|d#yr|M_{fFx1C7+ zjKBesT^j&?UW15U5_mwuavU~B-(f87&7ood!T!&Cwv$clxIpNM#~vQQp?xL?-U4j9 zU_j-?X}Dm-VpWkyjzWk}1p197rIo+UfF{s-(8?wjND_nCB&OlufB_ppyFs#^7@lKm z(UmIrxZAf3Xn3_|VE3Cb&yXhM_+L1Kmv}_>*#${2(fiHE z1)-yPJh+gj@`iw%JLoj1_!+w0s#`ODcC54Sa%G{e-uE=kj9vWL;0BKj+UkE|lQ>#w z;au%<_qLrna!3|f_c_~oQMxkrwx_T2t(@F9XeZj{Z?NQWb}y|kfdFW!avs#AH8zg? zRBQ__-J7*BP7t9hfu6_+Xg%a6jaTpxtd~KNN4-3B&=2q z;-;^ojZ4nekJz>19f-0@)-n16PMMbeXLA7+`_N3l(^t!jCOCj0KL?^spu_frmjK|G z16Em8wYsk&AEV3vn;UItaS0)Be9bel!p-?OenlmvZIbR9L&nJHg5&lZpL{r_^}T2P zG|~VS5&PwJTd)wj>&1!Ik1Ev^$J664$SU#6RLk3-+cCO8KNbc=oec0#%U~NyB(TRq z*;7O1t(648zsU`xlq{I_+HGF@NC;_Vd*Lf0_$22WYMs0@p*B2$WatSeg~HTGoDpe2@)v<5|rQY zIbs;^D+J#87k)#$J$D>01FX)Y+2PCi>F;07Gt>11)Lh5}$;#NfK2lC+SU(CAz8MY3 z38O3QVUQ$!I@_Rjvn!MaN%U>b%H*HAE;j;&_eKE} zeH^m#F4_X$JkzLy>_*q?bX4d^Z=K}jaoV5Gm@5A_{##hxU{+swG#ep~39U%HF z-1WZf&V%W9c9v~4_vRRZ!E+ad@J$NDnY6U+vxt=N1N)KUv(CEl`xUMgy(3(NoTnhiZ>)*O+bC0IkfDS|+QfT-scsCD};p6#KG7@C?+XV=)e%z$}`72aW zc(kuOx+;<3_iFGj-WHqI#Jr5E52GdJTmDCqmsVda;cm?P~%?d(LS?Pd_1B}HY>vYfL zvWWnQEM@=MwdidiLWVS{L<{~IEh#mur(NS{NuFtE(}7D=c<7WnHt4Zzv9?w4^4p*-N=0$#vgf<-RAyw za;a_*GVb%;Fp3N;rgZWvUVQVPxG#2$JEG4`xa0&cp{^IzR_vM2-Tk-|xF&a5-(W%RHa=(ty?djN-?5 zrc<^~FUZ5#KljnJT$)b)ZpI0=>HG^;FGdF1)3khYF3_>y&HFK2)L&{pVmAe<<8S4r zCx*MaX6hzMDAVx}RSIi9F}W=Z&Ws%kLiFKBHu3#ZQe#{K#6OORYnorsiu%_2ym=EL zy)^wTC_S&}7-4{TQGNoD=7|PcTkrNOM*VKFs^Xac-~6b#g0>m{4(ePrB}dX;4Ww+_I8L9t z+-$wBMwIrRRYQG%W;>tVE@lvq!Y=%DfK@3G38K|E8SY2;kfJ#48G5s<1i4^CmKXt6 zybcc30T0ot5JVk(Abmh$_fpQ+Izs!+CL>pO3fvF@S0-QOaovSfc~;yuy-q zcA>ZGd+ToTPsdNgZ@UxOLiB}FX`PY&*}u;wL*WE4s#HWfNfsj<0KV`DWo4zYN`!a4 z&(xS7NT{A4(*3uEO@icEa(DY_OJ<;^vaNw{ya_>GB4UPlCZ71CvYe@o%uoSwq~N$u=BrVA9gTS1jUZ9d;#IFr!V8P%je|hLNu+YNyB+8m6{3edTFVv5ziO z|BVO=i8j5miB>NC|-LK`PgN(9WD^ILN0Nc>5p5c-^-Q>(HOFkHI=at?dmwKd}cH@0qJi zn3wO*uRRLi8x?izq_M+N2FE9d-$WfLx^zkf+?e76Tgw1U~W-9_L?EDqKD?x$l-TP~>__<>Cdz8d>91HZ2K-#(#NO� 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

9MlN)8YVYP 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

hBcow>sja98Zrv&Dz0_Q7!frz0S*b+u=-<`x4 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%0An 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

TyJ`zCun?$W}MXl^AcEB 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

Nh@QEJ}d6eq!2dLQoslZ9_s{ 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%0AwrfBwr-H^e1!_ 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 Dba(9Tmhgw(&1YZniH>gQ^2RvLFD1*pKdme` zqmo{ZpPf6PR4Dl1&VIhOj~B^DT54|r-SY@61$HNw|7hg2`fnxdI)_5u%rgZ+w4)85 z&>3$~qP8wU*!n6-7-Q#X(TDdkf`sO2u)A^ZD1jNhx)ifsY4>xt?G*KI9nGDG|21s) z-r9dZ=IIAw>CCG#&al;$#U4`6i{=_G)`$>AQJdB6KaRl&dRmoKJ06x?i5>DGH^^(4 zG0~=Y2%zl_eK{qiK(uTFg`6 ztWA$`OyMzarFlJcVnUfi>g`67jr4Q9rs|R++U#JLW6H6!1BfXk1LjEpPa4Nj7S*%5 zW2;-rs@dD~1C9-W3S2wBkrvC#ums~*cb0DWY{sjct!$B}^%anAI0Lm~zIXBHde2Ye6%9?1ch3C0j+KgN z0uAWc1c0)SmjM;qijn^=R!>gRiT+khN7Pco=DLrS!~o zBA0UM%qT}OgaTrIJ|hY?p@#@{e2cyAHq_p>{nXgXYDU~|qc|b_KkXum{OyFIISADJ zY}i^*AlAyK^q!Af_QklmgN_f?t?Oi^v&DO6zGG2Kg=5PefMixed+qBtdjr-fFGE^C zCN$*wmyfv?R!!x9ZIzv2nMLqB^d8z+y!e*tNHE zKry>q)ma?ziCm4vm^#v+(wi@pXjZ6+uwpK_d`-F%Jc;){W;lD_n*~2QC93q`S$jg%31_Yr|)1lgFyaZ(?; zCYQ~vUHNg?7I+d^P$vY@?jr>>)i?8$ROy_L9+kXWrT!q+W?K)yaO3UdZ~2U_&n-UV z-I)nG55ElF+KsQ0bcj6%$g8|yO~rlR%My9hva1v2UDA#htLJtMV@Ch2MX&b49ix0q zyVoXml~3~!8Cr-*YtCYUuWnG|BKZ=Jf4r(p{ci?=w|1&{)gPan1T)6BKEi zuxI�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

)mQI)nTUlycGJUt#6kB#pNNr8}c=)3nU<^rn< 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

D`He)8deQTh0Dg+1P@wvYAK=n;Hk@ z?3GrO-T06tA$W9>0Rs`~0q5{}V<>ul#_j`qVyq{xe0$e@uD_eV*L_l*xsASeQ+6EM z%R;>n$C8=8yAo)kALpAVE1~3>*V{{!L2mC{>y$(Pd<`zjBdbJ!SO{7cE|AT|Kf4%v znqDE~%OgRDV@F3tUa zfjNH96AsSZX$a16d3<$de*X27#~iP}i<`zjIkz}Ftw#Mdi2CL0k7R4n*(uG@y&oc$ z4lX@2GxeJz`#J1AHbK{!@~l4R2?q* z@%*VD2-8yn!2dz?GZXi#&t#S|>}1Z*^GJN}y$3hhX>6+fdb~*YnbL#?>S5i65aJ>p zdY*b*T}^o{GtpmU77rS{wyeXzyN6-cQt@3Ti7-rb*@1YUGBDpx2kG5Q(BhnWD+A5B z!h5qtHx%1hB#JDmg7E!+AP>%Nd@9;Th9ap6U^PZ*HbjYZKN3&ehierFH|o{#HA!ef zR(XuZurl5N2eL}x(OhmZii~Cl!wKv_E)`hT39JMS{Ma}9PGtgHk)Q{{j8n;QsL~h< zmbAn7E-awJYN_@ob1~P%3oTqah4>!ni;3pa?@3$y3$4TXisFRp88Qg4va(ul0Y~k% z*SG~#BEW@Tzk$(eJjX{%xQAxE+?c#|3HV5^P5QGCROB1Y>4C;+&}Ru~;>R@zsVkp_ zLDpY@BTPT(*&l`veoKFeMA<)lFM>*|U~(f{+`RaR8C#4B@&8A-a(3e%vrG$uhyhR8 zF>8%vt>q`DDaRK;L#D;?WZ7TkRb?-GEVx{z;#GZ*c40_em3aFT zFMd4CaR%zp&^{{s&QFOie03d#iIY8Nx%`olYg^85L(};bJKc=WYWT?5oe`ru473hx ze?pn4L1l}L-3?g@VjTU}^^8zjSeSFdvR>Q%k=P|6p=KHXP#L)(aRvjusBFfEQzt*M zsB-9pkh_2N+5IqHxDbro4h-aJc*(=q7|9TZ(2ff8n3dT$%}U!OU_Q-nCm6S1K4m5hI2s?iCbrp0_nty)dSExb$epH;~5!<(XZ?;OMAf%I*3^Ly;$c zQz_15JvznPr74wrJEKFa(j&i4Y7dzGq;}4&eepstqK*)J!@026_GvNQ|ghXFn=0zs~=U7 zwEDZ|EPkF>El1DLY+-GJ`_2NTzo$k6Hsj-P9^q(=Z&=hYz|hM8Qt?T>TX5g4mm0G* zeqn|iH`hBYrhHF@F8l`PQ_XtmNfP!W-z>Q^Se?>0+{NKPF#l+0q4g$}GHl;_nej!A+tH- z%Ks{Il93qB2l_~wSLGl)wfFZmhUw7@?mju)3-fft@GTh_V7L6RI1cHd!~gp(Z2EYG z#70hPH|j)L^hnPfp|lc4YwN(!N#txW&X8?tPurPhvhd-IXv;vnW92o-MOtDCkm$E; z{%v2}7<+&FzjwaZn;0X~_Af34ZK7!Ew#q+3hVyVJ7F4zSkC*dqdAE~Gbs;jj`ET@K zWz+kFbSPiAyV9vKtd_UM|I&t|Ha8*71X6N0wLsZePoI4(B_ZA&HPWK>R5o3ppc1?_ zKW`%?Ar*%uQNbbW-@2O4%PZ2GvZwXBzbkT%HlaB0=Jpc{ik@l$*XP~g!boFN$~h_b z9~#p7r7gXvkPbu2KaPFqz=!;#=Lz_yg>|Lf=#nhRDylpWhTRy^Mj?b{4en_IbJGFS zwTd9bhpf91c6?3D)Kb>rcLz=4I;T#cuRphOu#%Fvm_<7fOGM=|^AH47d^BgHRkF#y zclwkaFDkXag^dtz{xhht^5O;5gj)woGD1skdDVAA? z;AbEVaQ`4YU;#i6f!o5XP=nXjnAeYRd4LCQAQfmlO=5b0@ElV{SCSLp>CS9#%^r9B z3kkjw=MjLK7Vsz_fipz~e*f&`(DzY1rIh%-MeuseX|C6AT;#+A1C1A>XsXIvD;yUjJ=cnqB0ni&Qf5qI{0?vn_WpV3rhk`?vxD=56~AwklIz zvH){iDMHQ-FO`Rn{?LMQi)NHTn!X|cb!bAsHOobhtNw#JuPtu$badW-EfNE9mHd&x z-E(jVo9*n>gy+4qu!(U}-xewBW~tP_t>#BDe=6P={WHrYmoj+b+(d|F<`r&g<@p2! zi18fw(v~54p5c*uQSQ~q0;uGVps#=^z2M6xs>UZowA(~m!r6n=KY$vyG*7{Sb zS=U>89mt}#(>errrkMN_fJI}sQ?!yz6T@oQNfY=zh z6#~9ivl)4OyXk3B%M!^OjLQ73jN00gvpuEOVR75uk$jMm{EpBfPZ;F8XkxW ziyuBva<3rz3=Zi|{OUb(#CCRyo)#VGgrHr>#{J?r^!L?p1-ROK6l+#D8ZVluk10b4 zg3l>nB!38Lzrt+vD?0B(XS*T3^R3pV$6K9nrmTm|Ox9J2(qG7_$P+Y1;tPpqgA6o0 z&)gLON4e}YQ)Z=5#bnv}6H^xDE?~*+FvzRM+QV$)1MIUpz<(uQg&SqS#+}uI+UNMz z_eccI_>qnwGOirBkLM40?I)+CWW&OaAm%9;J@Eq za2{@ug-L;nN=o6*Si(2^QQilDU{IG4R{)FY6+8yhPypV!(vH^}cdp@u53S?HiRA&( z%ra^kkMo4yMCTvYKJwK?3spTSz0fHo=ZFS9yK_a>*`+L7;xYNp)gP>Qr%XZ?9m;tt?T2TLmX$b6TJ7<=Q=) zJZb2`zq72F@$z(bPo?eDCk3uZA)yvK>9x?!0PDy?>j`GVm0;S-ZsQn%hn6JqC&JrS z4QPLL4f>CUnV50W>!E8WMYLj_M6~t_i@z8W)(m5!c=O)*Eem8fVQ@D4H_-{3)r~sPG%>a}}aW`$ab>=S%iorM6y4BJUFr+ZP%4 z7+Iy8~;VAr8Zp(*rsyg;J^T{f=L%N7%Ni!e5?SnD`NTN_Zv9@wuQlAtS(e% z`6;&G3dX&XcW+z1b*J)ARwEQd4zctw^vvy@`^_DXP&L1g^ZD58vo>+ke{Zz{fL4Z4 z%cqVDrLT@!8T!e#f-Zu0v_x9UoG?vKXNO1841;1@t?)8+5OgVDL;iSCDWN`rhOZ=r z@~EsTW-_Z4oN0g3Ya53B#g22M=5IKx*MZJjPF)NnXmV3yl z*U`crHPL4#GZ>D-zU9>NK9%0QTf_9w&@Wi3^f2qI0=>wg!L>jAfjxZZCnEvT0Q1)Q0WT(s!ZW!a59Kq{x`!VSJepjXlxg|FbfY9lZ5t9=>Z4 z$1EG+Xnyw&gZT63MRWodc|bz)tKA=doRoxEH&IPdgE}d7iw*`!-zX+0zA|ZtzslUi z{Hp+g1WR(i>vuzrlS^z}9jJs7r|V1@T%+l252#`w4f>NWc|xYQmFN+K?4QQY#Cufl zU)*hGz$-v1)12I07Kr!JcfU`8BqWv_WsqyvEbIRv3EB7Hwt{N+Yk);gtpc9hB&{yt z8%VS{{7D);O|~owk%WtHzfs0U()K!R67I)g!PCpYrhJ0VhV5Db!l+ym@Spzr#SM31 z6;#9P*#qjzjCyb-xSa;bG-~cB$GPbeR(y2<5S8F3oJ0a8)NH;!Ke_LS=-F!q<*u-T z>}FREhX4Fh&WDk3TrCbvorNoEC%#2dI_ODz;ir&>sRFa_Php+8>l3__(b#-yIji#fBgc3f}MPN`6cG|zKmb1M$?(@Q`hAZvKQrk&jQ5#Clt(aMk z1ZPLrzc(7KT3>s;xPDpAbkofA_0LYRSGJrlY+wqtX195%>8uGTW>pIeN~aYzeP6KKcFoHw@IO zn?3%n(Ma*xT20?Zec6a^&HZwjf5YbnTv_4Xv^QTmv}*Vw1~!Y0M9-m?@|$ROX&3wK z$-KUi!4=p;ORe*(TI}f40rYS7R!~`IbZwU+c+{w}V^B~3nTLu>T*t!C$3K11q3p4Y30YRc+fp(OUP0e>K%y`1Rd-ds#S`<#o`b zfy*Pi%~5HKSw(sH2jxxZGcWsRigz|u5!o1YT$wgl{sVg$L-n{N#UM!%VaF>&@)?fh zR&#=cC9sEGoXW+PsngbG??F*=5@KgDFf4(gA$HAfx!vv`oV&T~%S|x<4-}vwRR-1$ zv5?#sA34`~okKT%rp{EtvpCLY7S7+`;IEU(s`VH(4LW5Nv>xP3&W)W~nS9q0LB!J@ z;2}{~YjRR8Xn30sI7_$0O@f+p2y_Ul1o2g5OaU>NyW~&Tdiya^@iN7AlcMox3vzYe zw!UctE(U$LyhA(z_Kk`Uq3D|ju_8qF18AJF=fBo;V&?@=vM4=@e7e}%^vSkpU$KoM zE_>*YBpIARZ{+g!NcZfzp4UIla(#AO{~GCe>?m1|3?3qY@ol0l=L;JWBLbKc=(l%* zwR;DZW`jOO&K_h5oSI6KWt=Lwf@;`N83kjQW7&=M0a#2^w>k=25-*yd#0US@1phM3YJ_K-~K!tF0z(ny3y|)Hpc=*wcf*34DE>!8m_0x;oPZ|Y z{7*#ZqUu=Y-$}}kHU)4v6kr6tQH7qM+3}{@kZsI+^JE@m)h@u$e&@L^` zwTf-0*E%1pqX1EGh%Vc}awzvxZqbwjOwOSeFynXb>yNOQ%7%?^L;Ju~Dois$o+`|MgSEl_5C z7Y;_07T`1ES6!0Zf{Z7(9P1cHXX!a7gL}@2?iC+;2Bg^}ESlJj$ULUTG51pXa$`lk z_7+f$jTl0*2VqyetGB1i&@gU;z5aGA#H?Tncj=UKP;CHfjIr-T5&P5;;*vni)@H;8!)$Y2`EtVE(r8wr&oO4d+Wf$Z z_t<<}^~=wh&$@Vzp?A#@Yl=K8s}AsEB;Gr&*Cuw+3iq`jBfRXIK*0y`r!JfR_v)R; zrEX;?uRvP4e5L!N1M3e)UuNW(d}3Nr8GCEM?L1U)UcqBLvX-vdL2|S%pL*l^e~kS5 z^^ph^ER#q%fH!$wBywYW(`i(li_9RGlcj0YX2bNVPxcZDaVZ>@@ijX2?@fPpYs1y` z=v2?rx?hXxU*!o2rLld!Sgf|%`}-7!cvLR(AgTbG|f-#Qf7Yp+fibE``w|W#8)G4wcz^fvvAt$eP#D-yCXGD zGQO}klA_Mq*=xT%#IR31Y;~3LPndC&WSsh2p2o&MB*iLw7AJ(6^3Sq{Xr+P=*jR($ z-1Fn)*s0nsj_Ld*v9CBgy88Op_ssR`qa1$SmRX*?${DcX%~}0ekzuszq$*q;Ti0b* zY^p_`6VE>5iol9r&ZOz%5&&rQf)_c3)A>{lPugYaD95gQ=3D?ytdR4*E#XQ%)u6zY zc1beK@y2I1oID0d6wKViAe6+)5uUd*ip=3;{l6Rz$um@A27&}9aonpaxJ z$;geGr9P}4g#-K#nW=#>4gac1$#6p*-yAJad1;vk-Waoh@8DND?d;qe4TBvR+V{5V z3G;_{ojw3&aRZ8vU}XNUff|AofdEuf-k-tI^%UEwbMpUb=bB++!22DRw?`seRIX>k zD=GDqU;KH%&*x~-2FU~d0T!4@h%Qn9gte?MZoe3MGBPfLzK?9GKi@CjL;)K;u&?c^ ztwZ&!^z50KwU13(n0YTjZOWsHNR}C@Y&^y>#=M!_I2j<-l6g zLFrOxM$!V9i{*r-e}6XTBX@wm`;6_&5_DWP}|E+W#)d^mphC77j4yt%pa+ zKMA>e53`M*!FG2MNxuOs_XyeC4j3X&arXsH26OuTRZ!tIx4bFz^8Eg0IUQ;1gN}@FVO+De;e4`oeU)9vPj3Rb@%UZ*hJbb4 zykpw8pC6*WB^*?|{?(!s0e>k$9@`#)Q&*P#shNiq+u_6l_)u`eSo^Zfucl8Ijw>=-Q_AYSj>UP; z1gI-x>Vh{;6qTC^VH2(HGRlAdVV7^3NoqXTOL48PCX_hW2MXH2{y z0q`kL!Sl*hJGiHZvX}qpDwtBQlR$A5Fj!WqE2yq*EH5-QY-9?fPDuze3uRMiI3DDs~-9oPv-eYp`4$!K8{3y z`)%rJs~kkRwC!3Xf{Syb5kr-I|6Oac3BFjDY$k33C8q`(7aX|0nqiZqWSLR$MF^mb z<{w3Pf~o(wco+sc>bQ^3U$S;ZY#cK#(}Kyz*eQA8>##C7%XM%|(Y0+8Z|gE^O}rib z0fG?*$$sdMU&Y{SPR~{9Fd_D*eln-yqx6LD&&5f|V%W%@tsvTR62Z^EQQr=^7K1NB;LYDx%b%BE z31+N_MD$)E%%MTuSL|V!e#9;9fKNo|Z@)S7tA6N&HlxWt{J}ZKgA*2cM8_fBf1SY! ztR^}P(~izQ+t#%9L11{?6TVk0+4&e68vaXKFw2Uw_TfLqZx2!Dtl(RRrwt*G zdaI!3j9|ycOV<7hM^*oLi1quKHryzMXHhTwcn--JLSsgTKk4IUCK60^3)^o=X$?7I zt9{jE2P+J(JZNE8u0{hV4zq>vN$xRKa)|i&le?Y)mm8i-`78~+2tk})@ELhlqV42# zVY2CD#`+lBZyzr>!2bAp!`?D8uNNLx(cl-leuI5^qjnAr>apFH`~&Im(S-18f`U8t zz}8p(EY2V`j*W63*=94rE_lg!p>*^3enfCl5iI)sRP-^~@sq;rL0w@w*_Ht_<#x{A zn~0%fIGs~g!3~{gy)1imhRfqmi;WA zKnO(sycVn-0HXa2rVrgPSNPF_x-p@mnSTMP%|+h!usZ@~@CB8n2rhzDQy*L&+prAA zq(If3b z{+WqG4oAe8WB5cLng16#Vr22<{kuHYp&#?NO^mq~w` zF?+{Kb)S)qpc1M(n^ksJ?lDbvUP_s`l*kCnRPXjLB`k}8c={V<@9+vDg^MB$%~Ek@ zqO(PjW1qv^%`fTxk<&-)&yFq|9mH1fL+e?sRm>A%$H`JH?@F#+(YDFULl3cWw7}kU zbFVd3edQ+%msduaU#UFNY8!H!`s@!^Dx3h$y1Jq+N6`v^M@7Q=J3pZgPNCqwrV-%6 zB9@ePiGTT)FCD3%+<27G*8gzp0uvBwlmKvVn=$o=n{byl{nwXvNMzhq(BZcOAO5YB z>FupW;*M#+?D0iFFx!HYb0HgERsL@L12}zinFTZeN#=)uwCE}2buo=vEp|>5UPJb? z6tw%`@eLc;t{{NwqbBSZSnl4AAUyl!n4)!F?Gv#2`Yq}PwfUsd={?P=)Oi)->WWuAO1j0T=?N! zKHN9)8jHKH(|+ud$kCB!YQkqwUeP?c09h3JG{R#lw7uLPePiX6>~$Ugh>ZoVRlRcr09$MG+hk zcJjpXXWrMNivmO9SkgzOGYtF&P;Gj`C4#}n1vyxWHkMp{dP&5?!A5hu&8tXvK7H!3 zhzF{}?bGzHvMsojY&L8Dag7b<@u~;WNyGQFddp3ODO+m0?6Y8177t;H#zf0T{S(X2 zzFDu~z*vj-$iC@kJr0T6BL$(nxd{Vy36IRr=p>hal@52Rdl2%9{;&4JfMLjFydh!u zmLYCkl$SdBVQkpej9pHvon6j(lXzXes6%7#g^T>B)R?}eJnZxAHg_hE*!4NAa4sB; za5`()V-=Pbk!`gd26CkNtS4bnCUFfhMxRE!+uYyFK#f7q&MC#jos)ksX_x*$vU~e+ zijTRhS>g4{;s(~&rBct~nUB%hTdd4nlTXWAhw0`!&k4X2N-7`#_=&|443=4GY%W+B;%cn{$l7yvx?uU)6u|wL_oVu`=hu?unEHZ+7-Mr~b#qck0&Lf~F?A z)|;o9)kC|9cf*cKq43aN_>PSv-v4+8OZWomh}e!;w(U*Q(iD|ASg9A3tq_lDyIUuAi-Vu2V)xCC8(4ZTuX#RCzm4Oa&{ZxwMl^3r~_H206`@WmX$!# zYuFyVfqqvTc;mEZrhlAPfbUrfUUoymRM^I$P(wC~!A#Nuai@k(b}Zb(V}li>ZtR8; zfCB#%hx&1txnucx!f&RjUA*tax9@6fGp@71qMmiesSmXwtg)^WMOj-P$F*^@@{PT#xJK zu|%h}?7k!d)JhVbkZ~w`o3f31CZuoG{YNn1YKcPo$MQDOa%_5OTgd}RIYJk$HXht+^en|cv<7Js#eRDWv1))BP$1t zDqc_2Bbd$VDaU>N`JxR00osOqe4aa-`DfTnHv$-K9xX>5x%l)+! za#$f+tZEpYmGO$Z&;wrp%8loXd=df#Pu_#x7m$F(Poiv#b*dw#QD)I0>+y{_cn>~t zvzwERs|A)dF>$|5hsG2JL%;#2MK$4P_Vo4+<4n~*^V5wxJE~)g=-SGIgD^N zl`+t;CZe2*@Iw%Iw4(p3p&{Ms)t{yXw`34D2vrTI6DR~0q&#;6j_|4a;C8g_?7~B% zy(aPqEpJtgrM=S)#61)U_K7$+`Q)&PX6a`+eQ$og=2*V?+j;kA_x>e6M-y(s0^w@{ z?_$iz9(4fZeK^t44IxwFll6u>cErrP*A8Fb+`Z%a{Dw|t8l5I#kZrD>BU2T@Tc$s0Cs<#C=c?5VLB+sGD`z^xVV=iPFcC!V12ADT8@G3Kss>S)J4tx1c zJRCuqnddLk#n20j=`gmS}#-_>{Rr#5pPsDwauH1jS z4-lwNpB{jh{rBhmDzBd81{>4^EL&78mgYE94i33;aY>Q%P9-!P*MYm~ce^y9v-8`z z#K8~6iG%ewBNn9*1Y=u@Xus@jIs}l-$jbu@CPlUBTi0<`t?YR%V@KJFlyyy z9gISVJ1Ksl$J)^I$zBg|d(*rye3^{_>jqX{%Vh_5UZ~X5cd`l5{$c8?6eOxJ@sWGw zq&$h-XPc6d)oOw0?(L0qs_E6vQe+C*>Y|={Ra0nNd@;Ee2{$2Jv#q&;G-@A+6l3_N z9XWK#LNEN0RX#f?Xy#0 z%PN5JN5$vTTHLE*ewrP)`yk6~VzvrOztv!jh5hj|09TOy;O8iUlR$X!R*fXmWUZe~ zR`{qP#KRl%Xnd4!J7aA@suD1Uvi#eeICmHi6*$R^AjA-6Mu6} zrTvh~7P;iv3Qh(Fk5{Xadbrpqmy5DRoNXA5;VbI?)0cuj>qb921FP~mY!4^dCC7i( zxz{I*ddZOFPE1AqpqtwDP=GwfFTC8Z_umn#WdsE!Ohii;(uL!_*Om!dQ8vm}is#+v zM5HSwnE@J8t$DfDAp7c|wJVBbOWY zz0Plf$pHkPq>KFhe5^gvp2v^FgB?W0L5gJ9(+PHacK-7D)8pQPotKhee$ z(`9x)?JNoZ*8R%P()cTI&*HUkA9jalDz`p%V<3d-H17$!@=c21@5!_S*jV6(1Ju-& z|0aEGWcH~doJIKV+dP&1Yt2O&JL2o^e&|ARm4zghtg{>o%8I@uJzSW!NFcgXYB~c? z4D>SK#Tq*&e{Aqkg|#VE6!7MsDhX>_6+>fl%Eg6B3u@Uq1fmv7G zcuwo#sp(vP76a%;Y_;q?CA_|ZWoq-aNkzrjV57pdp!-PN#SC|R#r9dj`QDSSH&{GS z*bLlCnu4(X%-Sh0d&n?)$SwPEY-ZoDd{L!6FNZ{^d!%rZR)PHCgW=#L{a7)U&eLgt zhuxEH6N2kHV8zsU;qJ~R?7v?TjveKl%#=CQxXDR*wY~L+j-4N*jdd@)e!U^WR#c3EPePc;f9!li_l_Sn@=&d53r&>^@~dFmzbvv zws8~o@Lb;8jD7k&(7K$m=NBj;^m$LcO#EC3V?N9k$LrJ*n~$U=?IMHU(1CDi*o6Lu2JYt`k5{7+p7tUd9w!Nh2X##7?2VQlGmQy?50N6u zYSoAlRj1HceRxFs#LTQ_A3`4<)GWcf>Z=S!`IlJ)U8{>A?8yq@soN+i=-7Xu@*dSK z?pH{{ASL4xJt$_r1!w0b2`-Di69R-NDw;lL7lzV(k5g%dm?S^-RMOQ$T91SR~8$#WV=zqtVmC-#4VDX&h_M7o))RiMC z_zz)8;>OesSnySe!G83HSU7n3s7eU@VgUjK4YMN%*0Q~TvthOrA7u~18o9L%ss;F= ztcSB<{62%vhA9G5d8a}R*NrlNaeo zxgFa52!lw0(;dPV1bJ7{f<~KGU%9Z{j!e*D!n=0KV3+?k*HuC8i;bTxuC{ zg03fxq!^ZevmnLF+onqg*Z0%A5rh}p^+CZ_7xamqyjqif)Q6`7!-{*wD?&ObVSUSU zX3c)X@Otegs`}nrR3T4J7+(HN>BfD8AGW%pkcekqF%`dfZB|9-0j>^tC7gV-PE$?n zRv=dj%a0t*&L_?_cG3!Zqf9U4pO8+@f3K`V>(NP({!5WLTya^T{6lQ`ZyBV#N@sL^ zPG^fM011g)I57Tm_yr`{x%o8h(t913Fj7evOl3m)($&2uY-4|lF$HD+5ZiHKq{*o- zeCF+`U-6N~vQ%0NW1{>$nw;O?5&t^t6fd=#SZO%pwvsbFl4d;^^k%8k8<71s>?R4> z$p*I^u_v`)m7~vN0g>3Ia0ae>WcN|~u+$HZUmvFkz+po}%o^+kcq+p!tPE)=dQfI* zDJ|SJbE75y_j-)2l^jJ*BwvQ|Nq~2;M#js#+5QEt0*C^P1%&PXCW&xD%@*V zlvNSggv>It?nU8KGBUGQ$lm+j^E=<)KlkB}`=5Kx>-Bn0V&T?4t}Sgw$XU66Un~<8--Egaptf4P)jD}w>yyA#7@p$%eFu7xht%GN97-5T2B*P> z*{NMgdq`X_czFPlhilvEtz>!jWZ4n@u1{~ZPSzbl%a=9D7Poi`XzA|?1IqybWdECr z)Rr_%q}{nnJxo1yoLZy4OLV5f&OrE{1aOH2^2A97bm)zYN<^*u_XDC60-TVSZaWWr zdP|2e?eSSUdPfVGsvm0L=k9>fm2z2+B#E(aP@_9Awailzdo5k6` zDDnyHGbL)AA)KDC8yOACOh?)xKmhbispI7F#O&i&DDACC2_Z zwN;&qMVXp%RG1Oxhc)q>)?_Rn=40Q;g^P(=jI_2cH<0B_IK#Ytg>9_1xr(M z)D;tjjxQrNMO$VF5H07o(ktOGsF8;+kUDgVP%b)2asl4fraQM1@hqvq>e9O3z3X&S zj>9-~q(C#m{k=vg0gY%;ca*;p`I!;7Xe&+yCu%j@!HhHf!usa?N!m@Fo$J*cVajkZ zws)5t^l#rD)b9VIX_R8i@VIz0_qs;~KC6#^pRMF(f{mc#HoyJL*CHR^xnp!juBE&t zPC;QC2KD-BnR@N7d+Ng2EB%%_nre7<*ZcF%JYJedcHMZYnv`BTb?Nt=x{4ooCfeG7 zfUR)w$(l?Ji$1~8!GVgh0KU$hT3YCR)t%>4uud7odC{W4Ior$XCX2R>TQFmjS)Imm z8?u8#TFyeU?0C_#wIK(J7LP8Z@;go|Ecif_n&3QeOvi!^d80DpcYp25jh41%`!@-2 zz5(*NAr=AK?v?EeC?h)yrqwPN7(u4PhHW|^O{yUf;nVvHx;h9$JK!>3WJ}N(1!|!L z`N)>%Fc6oYo<_|s+z7h$)2RCHdjs3H6%Afw=C(;j26LZvGED{7C5Mdo#ZA93{&M9= z8hC-RRj59+60!EVy-n0e>MB30K!5d)X*vChZs($8ncb16@zI98lk#ckDH2CTT$Es- zZ#dw0k_a!n{e^(M?7xCq->!<~;n)oXbwzz};siuaX!7AD(_?sXz1O~US2?H;H<(7wK=xgw$ zdprs^1;HA0lF5C{b@xaN0>sFhVH{usxEu^(!?9~RrhQ-Nr=GyE2&rqSa&XP@_abN^ zL%G|R2|=hRXMx{Qx}(tL%H_YM!hknGyAs5GQE`Q8%F$d|Uqedvat$1@ zDiKoaU+t{eu?5Aw3lrXRy->pu{{404`_^&>M4AP`xqh9E8{RR?zjCIYEn*HDAMpe- z@uP6_|WCi2Jq6b zn{ef>1wmeCG;?)te5zsj{2=$}x|9LpuDYzGB#p4+gV65joE|5bntrw?18-@Bs`DB% z0pS8sK3~%{&&6u=@2PJV`{KSDQjy&_!-z}S_VA$S3|{_JH@hVh?V@*^ z`;=&$1Oc(vfIQm~upgBCY@T6kC|5d;nlTvLt;YwG!Y&m56?N?)k8njw?W%%DA9Qla za3gX}qdj9If6(Wf*Ae*;HyPz>YkK~;^jBBcUobzv`uJPWy*g<|P<8!wXN6xDW`CZ$7zK1bU(H$Ec_~K) z=TQQN7hvgR1h$wiiQl8+7t@hCnv+gWP>VIA`vU9DxbJYL{_#A81P`F6oOGqZt(|z& z@7$9EQd4>V%DO6?Zp!0!&3;tg-zz#&IU^aICk*ahA(uVmgw`*>nJp(UH*@U*AYG&= zvy}iP<4(K~fEk69`C#{t%Atsip!Q$Ex4_iWew!S*sHzH8t9FxAH3^WG6}9Wi;YKzU zN0Yw7*pr!Ilfe zA{-@h`_s)?A~7T4l;o$a#*+b2O32H2C6+*OhF}}WHs>E~j%SuR4MoyH3dtu;A(0Dx z(*U0KLg#Gxz~bm+>ZvU~i^_(2INcuUJW!oR4WzOPhYMj5^KZVCtM0F9z+{iWq2OS! zEv3)hY3>76=ZWW7F6~!{a{M>;jS%0hjp-%j9+tY=x)&Xk3F^M4qPMFbi!>teW<%ES z3ut}0R88auJU1GTo_u!KxN;;bhJ{OG1ChwDpCyYZw=0xMH>>ck-Vkv2kB;sBDhtCB z8a1%jpw(ydg3N53Lut+X*M0FtSnENh2SrP@;Q3Kf{BqVMZ>tw4v8F;~Eet9+oNK@A z_VJZ%3ag;Y-mTUQ$pz|vLL*N{R_(7B)pGr$b}2z>E{UTSc`leUz#KvGRIDRZMh7zA z$HcD-POJSw0^KtXo}L`v4I7 z!@gBIU6U3cRbP>ReD2&T2`g`%Li$8 z>)x)I>6hVL`A=Z zFn>ma3y>)t>HC55rr*fhpYTdEPwnF6F(esBxp6MXJR;C|a}!dbb_mY>F8VP_haI2$ zIon2>LPOt|aS9Upw)0%;p!$a`K}$vyYoDCJC1n|b(Y(BYRejR5k@d6%cTjE=xo*nS zB$E9-Bv9ZwASK>#{6I7(3t&g_XbWKwzAOzTv#?yUKx$*LF$if4J(%}p|wSB;4rjVqs^t*=b4ppH>1K0 zRo6pBv3$9?`_$ov;bGogpKXV7Ff=SXhZ76pSJpc{z|TYch1BJzrT!xx)tz0PYvgBZ z7Hp7#(WU@Z@E?RNYsLdBC|}%^vqZ+DQK6!N*IGg}^u_nQ%29XP8pV$QygYNenEtgU zGVa*=h(d*V`cy{7ZDQr=R&Qt1e_B`Gq?3=u(on~rSa7k=gXuJpC$Dl&y;R?a_EtwB z(=>>P+f|+zTh>am@DKjD2XWd2GTsw_6-!Xf2W94q{{?^9IcE-;;k;eM&T(+Ge2Zb= zsqzs~ce~4s8Y+pf7Ax$zdYyLUoQMex$p7X@2P)syQPK)GGJpi_moqqI7?^oaPjFC0 zQh^>?Qiy5vdj_;Km)3==Oy=LZ!skVg5?Q}PN1r!)FiG9X%~-&Xu+0XzFDZ?mRDqlx z4CNZ$&kwo$Kr9SagOkiF`QLm`l?6C;gsu1!_BT6eyg&~8s3VWj+A617M`1~JhFAFz zPPaZfLeM@ExUTjq0L5xx#w}7zXW_%B>KV%^QFcTeZ z+frW-p8=lEgKZH=z?dRCI$ogRa}jKa6ntYBc~iS(eBnqWUDWJ;T7lvH3`LcTFFGB5 ziC$b$$j??x`!L(&xOr8iFf(RB+zu5xxc<{QNsf;4pq8#DJQ^_lIX3Yn`POQtIA=w)o` zX8PK!VW(PUrizTB+Tc)D4coQ@*|r@sCD<#EOC!Y_~ZvGZM|C1wdVN8_{g6knJ6 zAr5J6>B9r*O`_E^jeor+Mhy*|=cRj(p41G6Nt_!H-c<^|GxB6FWXET{_4kzrg(yN` zpnB%Rwf}B9SH84-m{;t8CD}Ldt7#Di9M8S2OF#e&GPAr)6^JFAA@uTLBlw_qaify$ zYtZhe#j@fNbxor)V!*b>p6?ZHW;xKL$;FDwXIM&}1?9;q;6E`ojFiDTY?5X|73c$> zthN}mv$8)EgHl71<+dZ~%=xb@Hg_;D{+^eizQ2(7GwyJcQ}k#>*=y@(k=IgDk(W6V zNbsQHVeX~!5+f%<3oYFKY?GRFOAgZjt@>W6LEN%}%=eWmDDA3n3lNa-=@n3bB;koE z4?0-EHCPCL3cc~-UKFHPc+k+yNU~ob%Dj{~>i(KWS>XBr)+Tn#Xg4#Kix1ZsQGpWl z`#Y5Dm`r&pXQ+=YcLR=Eo2q_)0Oi>o;yos^B*2gd)Tvofm!oeYNeDcqZh;cdiJebl+_pg7Qmigq?Gy1C(q5#r)Fq>2EdJQ6}des*T>JW1Em0>B>)d5?R zZeq~FQ2IemzHU|;WO{P#{oL`0-afa2g7au0{VK(O;03w3HACE|{#wG}U2Ej2K8SoP!}qe45YRajHaA({vy0O%u>Tp9U=-5?=n zEyd+MfsTq{p(pPG&V}!t`KI|r_p!ajQr#VQ*vxcy>6^f(W9>5@I)S3IPQyEU1enUT(0}{zIKBNUz1mKWUO9rRA+-Hvij@1m94ZM~I zqWq3>98ke~C^Z^GlA!m7A&<;sv^o>aFTF=)v`mJE|g7cxn*fLjyS8y(cUCyy-a$V#Xn(hU1KO zS=|fyVORQm^C+QgL8#6alB>GehLhQWI1`0;!CS(!z)} ztvF&%s7V|L2kyy2IJw4k*4S4ez1^{4`576Yo2VH7k}_+P+U5G&R6f>_RQtkYYT&=V z|AKo}-iHgv0syad>MEvzcS=Qt6U`XCn_sgK7^6V(kSy_@ZSc)CN^HRD?YmpeG*Xab zgd@4T4z9M}lE6=_c4NUR%`Qi4@{jtB4Vs$Vm+Vs2mgtM@rZif5BpLA-mK!8kMVo} zdlqOL!OLiCZpw-#$YkN&;|TpZp}GWmI1vQ3^HaXL94D+mt_?vb_I}ooKB4H zT`nW&1fMM|`Q-Ql_WamgFZJR4*^gE$@-ayGM2mYU9){%Nu>!^cd9Jca+?tq6f;IQr z5b&?b?aep5(Hs;%D=hxl1jb~?QS;)C?H%`AiXB<7Pgs3Wq~#xI1gZl^;NWIaPO?s_ ze*P+AgKub z;D#KS5FPr!`#(UUvfKA;-m)3Xuf_XpX84ke;BLrkGCv^!nPt2k1a%9@aDx$Y_jd?y zLPKzshswrfIFhk$PK~WUH42zi4wTw18fKa}k zB#7E1I@ZIYFM$P53xKF}njCLHDSJP%;X3-WBk5+1M3(x9!VfBy?HVAG^e*e&8TV%( zz)rG1Ezj|uy6?}{gRx2{rtbTUEQ7NP&}1DwFpO$2dvdkPHKg#F|NU7=0Sh9=nuNc) z2Qf2$8X6uM`Di!|dm+{DA;80X%gqhWA0&e@{$3uaw7NaQYpc4Dhc)#mkQPu=)Agk> z>da%`bt-;qrJm6m$$+DWOrXj5etmEHq}CV8{%(!!_IepD)IUF-JwOy>o(LsKwu1e? zEK`zU$mV@CXb2={Il#AK!&_7pl9*oroyjD;V`7>b`^Z;Y*{23prvNt0U=R^tqPiJSDvbx`X2k2hyaD*;Sxcg5|?6unXeTSw zq<6i{-Z0XPcN|bvvHH6)t|T0rj{EI~3L;5byFFx`5>bWF>P-oL3-L=27?Qp)AK z9$bzAo?Iwg_4?mQ?xzliR0QrnHplkYp4`PBrH3=}e4A!xMPM&MIp>b?!jy_GNVG{m z6rqj=HQ)1Fh>nNK*dNCG6c*o%Gb|;v2cIJFJ5skhhwApe4hslXbHar~P?Yg!n^Dbr zW@@nEZXdo(lKSP2y~%b=^H3Vi+WUKJk>>`Q#K&Af4`=}Vp{lfq#@10}y;H82P z5Xl2P4h7D&BH^qZEvd_M@$Km$`8EMm=}#UZ8>IZ$s-O%h7kR$+?bG{9rpdSv!oR7W zk@pB7+~<^-X2pF54O|Cvowk8ZE!6ceT{D-G^|I4WuyULKJ2MA#dl|Zk0E;T1_iu*% zf!&SoJx)s@sp?|F zYXP$p&DVx?)Kp@E4s8W2xNgcc{-GSIp8MOg#AKHJ8dm7@?CfmO(Db(?8@1;AjOHe0 ziRRP=Nz%Yn#)*^z>Tx}*)EtBwnyhq5BDo8ML?z}N3 z)7PF&PUKvQ3UJSJ1`n)7PZYjgVafDWMZQAeFqs;bNMGRG72OPIH_A8|fZLn|NFCOW)|LE2{o|!oX7NZX8ecr% z_;lBrnyPpfkmeZ-tN(^>-I<w^FC;l@kC*3uneBQ<<0k!RQUSh2GC~V@2W~5b`eG%PP+c16+kh zV3FU@f0f#~(t};bx{CjFsU@=&TmbcJ$TKq1@lW&moaw``>Nt#cc%FKJUm-~;YvpL!*m3CiUl{u z>n!CfA5da}%K7rTrAPx#vrVCS!KootpUrWVh)2A}??}%D9dW)1qM%HJgWeAQ@htsU zNB&i}RrCnOf+h4);U1HVzSnTpR5)&z`NA2AQ1-FFEh^A-Eu+aT22uN|83@?O`W>bE zLz8+3HFHQ?CbX$ge^DAaVHj`KL^hCrfUxuohK@$@aCc5jXyf(Anf@X@)r}?f<7Qkl z=#8ePW*<zv&~Wt`{*?ji%aA-L!F&Y)9GhlG2XP0rkfpq^WV~ZNzS62zJV@I&l+% z-T`ni?s(x9vi$ZNsmqk1{z@?z(@suaU)UebfeGa-YaHkooc!hXu>YXBtE<%HSBk9c zCLBM(yrg6|eyU^_=ieHi*vdZBKKN1G0-mpHJ)duxokrOfj!y3K8-gmg^;xRMAhHVw zAqjR%Xt$KaCg*1p7b(mi?TMZ?cRnrJq;2qHqbber6ewhI3-ZGn+QE|TDk(e>5UxFG zvZ~w7ygH?qT5}RK4h;Y_hD%QVx(Noij+~+s|L<69;^*kx4ZdxyZ=grtWSi`SzM&Fd z|8RKGZlY@4;|bC0O3e;Y#MIvIUXpcVR!uB%Ey&D{Z4FFaM1hcbK!`nW22hwO0a!vZ zNRFMs1M zUjO?Kbz|(tqRh)8BQ>oStdW{#kF;@rxe<%(3G3ou1vmUBg0SA}Y7*Nw<0l|w(p3V?v1Dd8Z_MYJ-F3$#QHzy)ec8S6iEu9(V8u9}6z~vAX#mqRkdvMg|Yx}aE=;7O#F}z6Qb_ewr{CP z;yMckV~eZgrNxq{=e<}YW?1F4LrUp}3uBpp%6+R7H^(%JNH$%5K@aJ!WJu|R0b#utQN7)-BA)J^>G8R8oy)Ahz@$Co zjs3$1`TggdEQ;Rk*3H-WLdvc}+E2WBPZQlQ=33QennM)=zYU74py=FEh@MK64u2x{B~iF z0Ykdty$JA>k+-0;yW?Oqm{xfG#f^0Kf}e)3P8;4aKT5rH^vaLib_8ukr3r8oj}bSO zq0?WKjxZBV&&Qz!J2CU?Nl7Nl(A><~=RdonHnn1Loulix;Spb!rl;bMEy}g2fE1GS zz73pHJ;Ma#;_YYfp)mVt38PNH0V#DECS+sKB=488G{*;MiIeuv(o8vsnM@5{A1dcd zA)r>TZ&7WpNP+*-1_OpNAKMJ!^(KF5{kDjP-{gG9Z}qf&w!>xT%1}a*tD`o&3FL z)t0taU=U7|pLObiW5IQ)0YkS~nASNk^~6~6Z&HgK6VRQ5CuYDtG{;K|re=r$eAEV{ z&X&OB_(ZC4xc*w019%ar^-}M{1fCk86I(u9gtSkTgHlX6#lzvJn(!LD5Yd19vPg9N zdK9mxAY@Lx`%wznE7g3uUeLMv#M%eZ(SW(jbi*#x+yt4;;XL=gS`?UA==^ea2}pgF z6KLa{Z@Kd1&xU32)ds^jlw`uwLTnP3zOv5VE}}hF1#?|EDxOa1g#Um~4x~TZ4;vj- z$l6XF%_7g&ILq2-y>_}dSl)H#5*o=h{m4_g=qnpqO7g8ds5B>@;vMn~X)C&lTYhDc z)mQDGsdSHDlhVHPMK$@3Ifk8XdrD`Er*+~PvwR%1uYI4oGtWaq2?VCYqC8&W|eI#o=oNhdTNGI}i%iKhcVfloha^Z@yF#RACzTAVs6&K&pJ=hmHshjPIuCJrEm37k3fUSlhdsfTNiKpSnR zb!V25lCc)y{AmnM2r<8vA`${Fqouf4KDMjWRGRX5??}ancM?wJ!9cJzM(3}_oU9yu zyV4Plx6&b!PWhPGG*ApK&Fahs5;|6g+>9(FI9n_89;HtkFd-T|!$H%47X96|qalCF zPbpH=mqn;mZ-8;?a_s-e2hkWbY=z4ys$m#}jCn~`;n2m%IuTy%cVs~}Bi=%fdkmo5|gzy30g+SeOIdw>qTN)^DUDkJKhhif| z!5`Ksc{p@aif(GC4%}U$B*C;8Jy(YW@b6f>Gt1nAEZ)U$k8+gVzIyelt?Q&U=O(^_ z9<+hD(W_fK;VHgLICwfOvVghe=3?ykYTVwOe!wutq^>vvZD(w^0sn9&MA zxW?@;4~98g!gVm!u5cp$g0fQ`qT;$wynigvRMGmAD>@ud?p}(Ia|g|M=@R0nij~9 z(w>1>m_STG_{hxY7cz&WG5)OVzcMPoYpVMwnzQd>A7>)I+~RKmN%q1dc*Q{!Ee|5p$UUYJePz z07hd=8L_TWL`A-m=q$s9udB*cM*=e8t4Y~D8U9ekldui}A>Z|OOgz4zPEl24>DEls zxe0n{o6)4G)9S%Ytm?}u;D#v{g;xA%TRv|og@fZF7_j!BMNW$KtR+nAO@-ot0P1#D zh8p4%sZ5-C#shKoEY{GQk>sEg@C_R<^PXD_Y^>ZWYq>Qm;?sQCDHs}K6Xtl^(svlK;ie+ZsT6MYC}oTsTip?my1ig$ zZO1C}sGJ6-D8CopzODCL($X-pX)|(5J1~?9sjZZ9Sn~w0`;K^`&%OSOKp{_er6~|^ z!u(1~r~0jk(Gz>b=>r=wd12nY;OOX?Xv5ZZ-i8x|TQC%K_r)K587RSqyh7p4%nOK$=i-4%wwp&wW+PXe_?p>Dy{1`SXrid zR`g15MFB_wGJNDmLGo&v%sWS|MKS4<*648UDF^^ECdxUjx{CnD3O?*yKcBeHK` z?U#7TLJssOe*1NT`MtcCkhdU@)Ixt@{{44vgWg*{GUlXwHrCJhcy-G==?2}xt-@sM z!k3G+Oyl5Ph8-8B^DL#913}WF1tee5EdzQab1SVHqcJu zy8i-v0X^v#1oZhCoxkQ;5vN#GF6?x$ViW^0fgO)V+}rDWe2?{w6*6a2Jyp_VQ#0FM z`r6ib-x$v9h!`&!7K_#gcZbQbd=)-iDzDC8%p8ampQ?OBUwM8YaNz0UUYCT|L?x%W z=Y*zG&J(Ge;^(Ry1`B`Vy1lt-*GEu|eyfrH^1fdvuYK-MkxaPhbCInqwV4V>CBmcl z*|ZkEGERORvn=)b`c@x}p5_H>H2iQ5?4RxOIMXZ4{)Vo@p<8pwqQ(pWx0w-h)2kr+ zM9)6H*r{Yv6q{A?M=M~}ZL;xVv_)3C?fjf-^d*ZYdzW-C7J^YH3pqf_Nxq~4#Fjgx zFY1MYj?IT5XjI2%K+jd-z~{FkxxfYWBW!a_y%}J%2tG8K?pDU2jK>g!J1KWQ2?15G zeIDTY1J{^HKh#ULtmZo-LyjjR7PhW*_;f|QccO~BYpwp;H-D-}8DhMi5y*6C))X<* z-4vB*L&24Hp8Wa8C3C}3GnYZly4pJ^~ec9x)+nGLj|JK&P-DJVAtIrNG9$jKQehb-8CqL*HC zZtW)^1e24Dqo5?NI`VD~HQkgu@vj6>zS#mbE~R8SVhFku*MRMR6dQ??`hZQOj9U-x z^<67R9mncAaPq_o=)Rm$Z^Mtmmc)Nz0vLh@9Xj+GoV)1la(r9|orlx(-+(%L zxk^7{LGU0PjQD4kg58bWEYXaFn(EQ@8~-LFj8nB7fSY^sXDfxpm9Ye#=EZvzsC%%T%8{p;5j(YPOQ$|e1YihS>6yYV?(CKm$h1{Ln&y+nWA%Lh0N z`*!I6<^+_V28DGf{vHT}u?!u+F{Z!>+B*^Uc9oDR2EthopT@ZibBL~uw?V#A(Q-F|qN)w3Rl(2J+) z>voX_8BLGR1O}rVG@Va(3GAtrQd*ZOW9(siD z|9X=rd_N>1u8fwFkQ^(8ixHmCTJ-q&{b|}m0ySfKP+)-|Kf#mRfr+IfR%_k6nV0@- z?M1-%--81D8)}eAk4xrAVj09^sV){cd$LeaEi%(Ks}$z9I52=9d__E8!+&7HFy-5} zC3ZJ4I9Pwc!F7cq4NS8lFu5TE-y{(_CbLstlSEX>k*^k$zDAaquRffeHadeKnENgp z15&jLYFYNzjc@qG>u4!8Oeb@dE257{AoTk}*P~I0y)wrm-gO^uP6dn&ca-z|0ZY}C zDQDpo$NDQ$3yz!(cf!wFAgI9oG&v3YV|KnI*V|tnAqxL!X!LxaWUiy3v3_r3-D_v( zl*e|o!$SwcWB5x{0T1oQwRPL4$uR=6PnsPsH&5>~P1aN?QLx@;mKSXLk6v)6K^hkN zHA36|2YZ@4Q+O(Lpx-L>8~i4tW6+6ogU>&<;`7Jjzu86XRA5!o+c$=rc;P<}+5{As zTK!hSr(~A}-3Cs38R(!yI8Gk?3f-$n$l`nN(F%(Xsj#Pb#n5q`XTGG&^|7 z$Y=smGXgyD-yZnTe}CmDqg??qVFb9Bmx_Hh z@&8=(EQbcuKF$OmoeFYc0&Hj!J=M6&`G{OPXO9~%k9FtTTRia8<8}+mrKx(+FCZPx zyt$KmZI<91Y~?ML*|h2Wxg4?4c=t<_mKLG`&jC$hBP2i>m-I9q<|K75{0P%|`~)FB z=3y)yO~>;#jW);o3pO&4t0k5%q9;d-3zsjIggDC!G8a$+rF zX$GI#ev172a51M}y7V2N?syIJ9qR)cD)7#GQy@RdEG=tN+1x!K>8q5u3Lvyg(_SM~ zGLGzoJ{Dff*&yQlP}*-TfgFYqFLG-r8P=``EI^-LrO*Q^&~f$W(3jEN+---ms>Zk8 zJG@~)W=8j4TEoP>Y59gX=Nbb&RM=o9MfFlMRJD7E$d}l7hbK(05Za;_&$a(YH@rRV z)NwdR_X;6;vZ5eLK6xg$`}g*Ro`*9O-+@myn2r9A#1sq=q*$<#U;UI=Q|uJ&v{8*v!LmcgkPa!R+&J&!llpv9#C{a%v8#FM)yi zUVX4SqL!n{oK^lbT0w!QBo>O3JeAv)aCA@b_?F3*T=}!FCcdm7JDON;wCGE4#DE^17&S?Xn+ach;WtttI7ejch~@SP~*q)L0~Qe zdSg_biC<-C7HVtf;^jg#&B<=;FlJ`s_tP6Qi&AMG3k|e3GIM4(7SgLpq2q>VzdK&2 zZi_pf^@HSp;;S?Z`=o{VbJq3J>UK@xXnAGFk={1!AlXIo^i=^PU6c6>A3vLL^pWgd zx-94`nDiI;Zwd|-O~%n3h%V8m;)M?$W)ti4D`SvAsptL5tT?Z^+QY5uYrU!0L2V9M z`6U#T{6B2Lw)myMA2aD3rSO*nqUPJfw493Z2#&Cg?)}@<-Cx{~H8hQ+EitqA&Z_+35vB*Ra5bWURV@0TABSwJSXq(uho7&?0wNvsy1R5E|f(X)2zl{ioFbsH?E zN7+0SNFCw6or}wc&t7U(+giuNvJuKdKC+7C;t+uloM3`ec2St;VPQF~X&0WKeuk#I zK`!Lwv4c$-l3mzfffe*QH(q|BXONx_3~p?*^_R5rg3}6r%6$IKmdf~f8!z=2X$cbK zf2G_jb6G>k!`^LbQ7L+0d-p{5E@e9E(*bdVW1X^)_5u!C&ZUEH%TMEb3oj)5Z!vV< zcyaZ|16%(08Ky1YpmuL>JI#Akm)K{NDHu-x<}(y&T?7I#C=p#kq+aUS2Ma^R=Wp2L zpH{MM?eLtR$xAZD*p7|tG9$@K)(zLv6#OI4K;-pC1tHLhhAfn?Jkv05bGpp2Q31ek z?1?XkMJ9 z(v=aNR~9a@%}uzqb;0ah?QX0u08330mpysDb@EA1P+NhB*6-uy6mnF`2Rv^hx%0giwm4^}ROQrFXop*P~-;TzIAaTadIS#C7u1Q1}J=iZ_oSAShCUhBzBKNmv2`bE8BUu~y%Q+ov3L0Pa5ZD?s`Uf93hb&ajErNL843 zJ_UMmb>dHfsYT}-B4o+$&?i>~sIem;l9qh?{tW&CCuC6AqFe_uF){Y>a3Rj4-zT+?iQ?J;Bj|@yB zpum7eIH61|H*NoJtvI}lu@fF49JIg3b<@-#!ug&spX{whDXp)COw{iaM!T%08aDO3 zU@&)O$UXGv;nh%=|LBBIx|3Y_eGujM;;8pht5p}=J;T~zP(P_;wArECdXcinwD_6K zw}g{wtbDFGhzz)JjVAK1qX{=q{=(Q)yx+!-m52GbC@GpeOl`kuY9A|fC zAZWx>8X`P`ngq08Ghb$jv(_t-(zRft{A~$x{R1Db2af0E>i567wb;Cgk5zU!-D(L6 z4g|PLMae=OPTwj9XG5#_=a_!G%$z=o|GI4}-Uip53_`a8c)_ayxo1pIR~1{blis-r zR=vNSVmWrocG~s+dKn5BGXmg`(7tycu8m?t5xjs$qQ0xxSBgbLLYR>zz@^Wx0S@Hd zTov%bN0tS4VWa1fFp|Qgc;`}7eEVdWS#*V+rVIbKB+i6c{B<|t0dvREfl0^l4!vmY z79&T{9v{5CqCSx4>$)g5uMvg_u!gh^2Qr_bNRROd&p%Hc+z4DKFEwAd>6nIrvYEzl z9jn1?2yhSfC21*>ll|iPUW6sI7rRo^Q+x~Y!k$gN6AQEpKppMW31?Fp9i!!yP@sIT zd~b;U@B+q`036$auZ%p}6otS9;MgHqY3Np3ZP{1qz(OAysW#LJdU71r##{c~oh`9h zz~Iur+DW$GI+Vgg$bhL@5)n^cw&}@sx^)V9*TENY@N@CelILyHB(?mpQY-j&%b4_x z0v)TT(Nroh5Fw?%lXTk8Pe>dAe3u8SkYMo3V3_)=gqtkyYkyh%QET@Y&$3GL=*hYQ z_uq$hS8G}xameld{XzW=8QnptatIf8LV#E=u8JE8>U%d;_+^U9} zUE7JmV`p#x&#QKLWN59)L%2kbsRF1mK0s=5+v%Fyec1a0ar&D3ec>^(oJJpmREuDb%5xar>_Au_wQxgFJg9l2h*v&9+pex znm-{?YS1xAQ4M_cd~o!r21$=LtKSb@yYVc{!c%f%XD`S8hToyk4xyVli{?Tkb(9GfIgJRk+zDoEfpFFs zDs{$Fw7qIt&2dJti9_d7g0JS%_wP#={op}uj$e~GT2t_&2(~u`r>Cu<&2i3>BE5arU!r#?feBfw@ z5kPTLDMkWg8Q+b^{C^&9>cIJhv|!R$1WU`lIKV9jg3wHs{-zo zdr9M>kvezCt-Fs9z4Ls>sPiOT)lt%S%3@aCab~QzCXVWz5W+EufI!~oQ8eYIArS~X zut-UDKfDJszr;EwsmiwN^x06(kGAmQWc$p5BvPW@PJ z&~%XLiQN3mG!wn_v&K&e(a;RdW4lcom&Ki-Xo%k6cJl}J+m*BU37xC@V&YNU^mNmo z#}s+Y?y9c(-tN_a|G_~<7w71?rz36`WoalRWjx?llzaVVM!~-J_x@+Cw{Z{B?+6mK z*xBCbK}SQAO3>>DgX=ToQ^&uf{i_bS`B+8A&QJvlQYO#&hQ-eBRv@T*#t^0~Q_SHY zxYn0OKX{jKE@+E(g)+qkH?J}ME=O@GK+(~HO$977TidoRn+ySuyFD=X>X|~#N<)>R zlT=dw_>i6qUUCj&1^>ZYh#}!hECP28Xz`<_)HNS4A#C@FForgxj6`%*!s0v_Pf))= z$zdnlIA!ro1eaK=?tD5!yA4f8Rf%0LxB^C?L|3*m%)jhsGY@y}7Rb5_i}vaK(ng;5 zy=YV`i}e z^2fVNhSl6-R6w*e_%H*O^WO6Y!?)49@RVIU>osPAmVh_j*MKx_yrI;>2QL4xBcMS{ zr&w6Kw+s!S25$_3Z73a>Ydz;ZmJ$wdey{aUGCsUFVgzvpd!xvW)3R)*YyA2F;7%H0 zw6cWJ-H)7b4rTw0YdC)7(B_G7WK2eW$_t9IkzF$FKh;b5_N-LkE*chO-n~g>pF>aJ zKw)tN*wBqz2zdY(3*Drp`$HvFQOv^j<3H)L;^$rM@3@S6m9rYqGc0VGEy_i;m#@ag z1A6`2J=-!>wMpN|8uq9BS~DC=k=q7$;{MTHc-@`j5V3@g)9juUad~j#C1mooBQ}ka z_@4tuHdJX`th&XclNF6PCCxVV7a2p>A=oVzC6D~(_*t9Kbj(ap7K3dWnLqc^di?sX zI#;+{tQ;#p!Z`&ss5zZw6rPxPeb+f%?l*N;@+M<&(6d% z4uIp1;HLMsyX$wALC%k1%x~pvtYDHnaFzfgGFHI}2v&ysZ_3kfH$m@lQ;q#{e{G;SV z54T*o!^b8MMSdn;sw?0HT`DmyECkL*2wc}r z^ZA5Njbt#~QGQp<3CF|S=kh%yYMP_yjx*= z=^HDsn65DATefw2FukOcj#9W)(EU4;MF5uFV2P#)%&T?gF0JYMMOza(6oD0Is@y`YL#S9uC zpDJc0w=NK#eq3+6)1zs&D$0b6J|a(cfCfGvNlpV=7S&At|WP2;fGtW2ore#KL> z|1rWazW6i14i>bXlY5FRA2p^*BpkuAi}grxXlQg~NZm@qU+tn?&D)^YYQ;8$GR3W45L&@PLIt zizc&I=`vE=dhnx)hB~$t3(}z0 zJfq>Rb*H4~RTHNGM zdexU21=%v(b-e1D^E-#$dI?HHfUPO^Oqg(^NxjFewrT3K+c>@;Ar2E$HU2S1R$ zZhJy-r!U9_q3a+?!tHO);=-3gVD2fwOpCe>Ds!D4)(qqKIWcFbe=3N|DMk&Ei`;<| z0RZM??gBTg!Fj@VRZvwHW*g;{OtewW}lTvG?%WNP1aUkC4Q^V`v7iDKrxQ_|HWh{Eh zt#2uQxtqjE@RiBQU|mbj5c7+CO?m?3P+m%j*Eqlfgh#-)WgyHM6R<5*1r^f)ue$Jo z{qyc4yX=AB>8fyO5)4J@@E;{7^rlZINm5~H4*zNWjY~ij5TdYVa zR?()-1H#`xCNIHsB{0YO-y{RY!sD`#{_lye_WEge!vOL~jU3@1G*y=4)Xq?|fh>ODj&fkD^%J&gH;<;evcf``Szkkk) z5^biHgD4{SY65G>d;a2>^~ZGHVtFLb@f-3#LjC^Y3IfSo59O$5(DR>r7qQe#?RsCx z2>nb#y9TW@8hBA+Je#p0jxF(r?Gj4rt+HLz8Lv{lusXzJjlXXN7(5Q8f_YR?6R^s5 z2p)}Bl1JgGeEf{L>6I%H4v}%+>Ys5jqD%=|#eO|M_raNPjM8@!PQ>sHu@;$hwLd*A*F_!X;o(GZvfX2zVN1)|I%zS6| zq%JD{>n#38kVaJdpU)@96?}y4vd6vll%C2dg&IhzAS(V$+6_G@r{#mEV$&!IaH)od zzy$wz@<4*ry$ByU4u$8kGh*RC6u5%FEd;M=ROy-~hUp9z9vh;?V^W^IyA<(DdO?osa1qacGHbvO{brv#CYlRh zxJzn1a9QWP`5bSWdR-EM{AP|bn!>^Ym&XnS;bp7($R%etW&YojcnxXn;r$T5M)ujAiJqABQ?Fu0XtVcc>SdYzr(u!Dm?!}Pgzik?oyw2!j^UKmovFz3JP?IA?Cw;utNgD(SQGBjIDvZw0Wh36<<9}e=DJk4 zKrju)%&vU0NA0)$;@Lzl#^O#6sz*g~WAheR(BGWHdqJtb0fq3IM{6IXsKB;G6~GRC_O(&#{k zA7Qjuvij}fL`;3CLmyW11>{e|k7E;GJB#8I*ZDqKT0s*6-wp`9zY^=iDmGiNopHXG zNdmVH2mbcAyo0uAsP7bUnQO+Utq-(mnyxN;z8?c)9jS=gxvdT^a+@Bn3r_lrsq-)j0vKU4M=xCh&7}k$BO>c*|~*f zISo1qh_~XaKG@InAepW=l(gd|58p4wc1!wN)4tOG18MTJ29WR7ym53f_f6HHr2W(+ z-2{taIaZ;t>3ShzA0s!o2D>g_Q>E)#Q~V7G*r&q3`LZ1j>>IA$_24nl?_(Fv(bbK3 zvU|1lPC-nTej2m-4`@cZ+0I5K^{=coC_9cgZOQ`Xm z{xLC#CIo>j8=wGYAL~{`IAxv;V~`-(P)%Ef-1cG#2`5L#w?I|W6ojCkl9Jt@;C^j9fxYKf>b5AQAA%nIknkbg-bE9 zddPaUz?l%NTe`WtVk&DLnD#^LsCvp#q{aj=(+1lu;^Z83; z8Pi@9&ET`76W6OvH<)LzI=s%;RbH{NnWW8BLNJaIap&_g$Z&7hZBnzkrVTL*6VpHS zmD;jyzI@29{5F|h^BWC+=?qH+$$)i6js2ATKObI%Yqu5dYXE|Qw7c{`gGeuQc{f@_ z5pDg@c7BqlXR1P@UadKdzUuE0M(^7R-Zrxg3S}T}NPXwUTGYHau~+@(UE{PlFTd{4 zg^;1;gG#o|5g?ek%iooCTlJJ>-`9)EWV-R5C7tVyk{vwSj*X4bK~(0zDl=bOpCHTR zyn^ZZ{c)<|u}F1C8jYiUXO1=kXZEY-AsaJPn)1#rKtP0j9m&^%ZELyUl5q>XmZQL# zkuJg=#jUHU1Z$vkyORlaI*kehg-J$ezPA#Zd>O1=ZEeQvI6GMVg1E0A8{#8OGH6cv zbsi2=%#eUfp36mC@EyZTf*xd$ z5oTejEbL$54X?l{am4dpA4ehlk2>h0?IPh*p_obHSt$_#G9i1euwRL7?l2{Q0zXxg zO>d+84O9{IN{WPL*!E;EHMM9l2U6OC++|2^LtRi`?p<@QL2gT3?H6a^SsePT%$_#9 znr?ysHxJb=wIWOb$TvK+oy{ITDSxdsLGR7`Ms&lxvJW+k=-{F3 z{yTc(>zPxrA$`ohYJauXNHxf%2a>&Dp%Bi*;5h74g@epk=UEsC8VuHPbSUB6H$XK^ zZvAHvKr~VOU5jl}z14Q!4abK(h0y#T-joK%Y|Ve}{|Kf*6fGeSpb(ZK9ih29-}sY! zuN?C#U0X(@U{&;gw3HKkA8wPcQZMK<&+PJf8D*Z*)dGE(FGQiGBw3$|Thgs7c^U)0 zDFOoRyP<+s^g;QokC8Km(KX$n)31m7ESZOd((I`kPqq5%UA!~~@Q}C1fV=X|H28)t zQLU3JvS(hs8l)6`-GQr9e%CuiooC)37toolKcIksm9lohfQCf{oaB#u+pYl%gwli+q(+aW=4;NinD6Gd*+om1@e#*;@F7~ z$jFc2Y1=xv9_jw-*X1FTm(i_yte+1K-}9^Qy2u>ndfGt$%xu5$ycDY`IJg z`_Ccqa0i&pPk}46YK+sS6l+PyW1;z&|375;nb97=oOea!adXnBat?m~S!g4bmZE1D z$BKF6&8RS#8tf_I2NHSxsB6-FDMIcw2EsH}z@Kh>knE&IF0#>R3U7X|QThs|k|ZBN z8o4qgPNG*ZA>3}kEhG8dj|()Q0~l$jCA}IPFZMXyp(7boFF~a!;Ohnh`lbv=#pAU~ zEY=CRyX1d^|Uiush=FfwpX05f!$jN zkH+tkp5v5-T+}zDsJb&#!7+1+F2}vASLh{{kM=TY^HSZCPY)eR7F(q|dP-v7j3^v08)~{HWnE=M>=#Fb?}kt*Vg8I88C<={|%eJghJ=;~Dk zX-Y8hPxAN8B)b(;T3lT`uY%=y(1W~x^=crTM0}1Pqm7lh4T~#{_XIZ{fN^}#q5s(* z0wNCDw0~Zo=o4WC%*MCtbxXxT?`Iw3;4bhfTl%x-Ryx2VVhq-+A8XC&l;ibV^r)xT?%@WDO6Rt9* z)Ojde_TI5O+050sq@tnmVRJEUKpnW!MDVhJiZf^NizPJmo`-Mtv%_|qLm3vdtME%R z(1xQ)!k2LOwcO=Mr)HhA$iw1ghD}*=s$D+Z?(A>p4A9u{g7Y{2@EoiUl>Ga08Yw1p zGBWn=_H{AQz`soz;ho)K^54Eqe>tVJCYU=1LHPqy>5a%*3H{7L$ni<%!spiz3%H&} zPN!RzaoH0Aqgo+Yu~(Lgz3H$vA_U;b6cKNpYUh)GiF>U(b_S<_(6~xTH@k!64@mEhZ2J&=+wv87;ZEcaMWX9K1*MeumM7-K1Jg&AlBTh8Pn5tYs8> zv45xt!wjcT{Wd?+pOR-jy*zE@U4V;w@+yED`IBfPRsH=;8#o0pQ)Ap<|);_Uj#vO_YU^r%%T4UYQ; zQoqn(a~+EULU2mLLpsp1u&8m{j0&Z4Af^o4?bDBrYBuNG)HDA(IwbfR38GU{3Kw(K zGMKv4@7?Z7(|$Xdb%?LdUpAAmY^Xbw%zA$7i^*})AvP&i42ii4#MthN*te`80RJk? zm=$)BTMrEHY(Dp(pjGr?;Q957?_}nM7aWtG^I`7x3#^+HMHK%Y1uJA^+MU@a`=B0zV%-?LqLo9bLXwy3n_kry*fm*1jMB@px%USxo6f)s2SAP69{^{IG7r zGjYKDg|$rR`>jO#!ZzAxDlSco5J`5hrTDYeND0Ek>KMm8e6+Ff%hk@dqK+GWY_`p12c=)V7YG)<*q$HCe-JMo!mmT$=So@oyXC!Wdy_G1 z$rka%Wp0vJbHD8#-$tKg=2BU4=3JTc^zP8m)L4}#`;oZ&(n?j0yL z;9m{lZP~%o)7YxZis1S|Sk>BC9~tZ}`DBwaHjd!eX0X05KLVMTkaEW%^@oKgYFAT6 zd?>^AbDOS2kla?oQX$4W4y>tz8btP{{E@X-0d`_(wyFLBtjQq*nu$L}-H9tL*r282 zDkA%Mr~ctRCCGbGg#=BNpttX%G`lAzdMd({+|~z~Yu|QfChPDn&5pAZ12ygUDqvr%Nm%)9g9FD9#AN>{pKB}4d<=e|tE#v!@t z92*^7PkURs=ZWn1$p;|_U$J~TtlUnoQiK&S;X60kA-a{J6 zN$_%&=E8{+dR+bq3;F#)dh67c{@3SUN(Ddsvj1Oil7(eqJ#7}q>i~?UN zzBtl!I+2Wk14mJ~`^RWNWb~7urkblf40@$;LNC4;Nj%UoaNPkC1 zn}@9YKA(J_y}~|in~c4A2$`{x=6UZ#U5OkLo0q&HMQ~?D9-2kd!SX_Bx~U;4FtkR+o$c2ycG5rzLTP5w`r`eIq^iPykrSo9U9U3jsj_L}-gJdYDFA8cd%GE)?HoR|(-4 zG#Fhiw6$~)cvt!=QWMY&2D}SYlfnO@&TUn$1=c9SZb>Sc*k=;Phe$HaNd88vbMiD z3ZB5!DIC$GHMXOe$t>cVim>dRh>FJrc-+5n53>L zKuskJDD1o@!iI5Pl;?}Dc*O_ zV7AqoVtIqU2)528EwD6P%WTaC{od;ggjFbnlK@k;Z*n4_k59FlzKM!c@HL!c2QX)X z151Z|o=`g-<8rx6gp|q0?xW>ucTHEJSj4!P+8f}IK)x6(HxJ%nq$bXE&KKEBj7 zB&4(|Q{bY?7D}D46(`uV#+mn-17kG|-qw=JACuK>9Hc0$Ctlw+b#7tCJqn%&pMLr0m%QiUrdM0qhsoktb4e%zhS<#tA>p~Zu3kcz&AZL2SbAGGy`7^ zDtt|?l#hh%(1s~|=qBtuGvILy3D+UV%4sQ0T_~%adm)`pg{g?S^L&zJXrx7aHiiGU zo-OAuD^TUgxHBEuQalZqs^j#m&cL>D0R}j}!LJIBLq6uf`CV*qwUPh>!w@GwSZ3SY z>Fybtw4wkK4_UJQyG8Gvur}JyC0IT*&ZSH6*@sC`nE1}sc6v6uNV%tSf_pFERGwl=S}J$p0#M8(hJ4qt79L%xU?Vjh{v4#XRLJOVn$OVCgTFqT8C#>oTX> zl>O!4iLOsR`&+>ijijl6yw|m{k~A~;s-@j{N66c=s`nA>gyU7!Fj*`-dE!Qq$0O8} zf#ly^soWW={5LyGukyaodyAj1tz{JLNEs za{)Lm$)xh3{~3BHxdmE~b^`!Tz&^SCV@$5CTGnrt(RI*+jRb)LC~gPe`BDk~6z zL^d72AG#ZfTrv>gq$u-yw-JAOm5*-*(bMn<{#N&Dc0MNxJc??9T<(^~-U%U2C+#&R z#D536ySXQ83?@HJacIqh#$`SRS$%GS=yB5Sj+Fi}*2fePuVea>e9920+QSzVVXzJu zUKi_q8foQa$u~Qdm9|QzM-SAV23=@}GNgvNad)n(Q9oBc8q?d{E+}q}oV5zudY`lP z6-tzPtNA})ViDPgt1TidJk6(HJc5qX&!oTav1v)s`n;Hd{%md<{zqK7!$;ias?J>j z37za_w0r)OKO9UlvV421XPx3NjY8=r4**-%DO~}_pTdlO^RPIrQ$yQM2(>J`uCYq zbS0+VIjn^~4o(`b?bZ8d&r=(y zk?6N->Xa0J^u-5Zs8EnfcWs?=Hs!f|26@Co5n!g8nE3{HN3(@Hs8r5x_)Vtx_YYE{iJW6 zgT92d>KAO(tYI0)hg0JP)&j6UoX0Y}3K(exIFnZq-+#f$L_8v7Q1(1S2RDF0Zy4kj zi3VP9ScJ_E3K#0X*La1#SzS4o1 zdVX0N*msgY7*Y36qh8E}=h`5;jj+7gF#hesSDS8@LLq>sU4gFoTg(?jLV@WWIFLH9!Y3r;uMgj*!|w%nc-~J8)#U{l)STOw6sUiR_Xcl!-h zw6YgE^i8(~%TWh8w<>K+a%GdiW1r^_dA!$N=Fwni6Lrv2Pqxic48H0uyj_$}x9m&# z^k&xAlIGUyaGde(u^oTZsymx}qNK=FUHRw?55d zYd>)J0LC%4kNRT{3I|h^C~aOwoVBhYI#M7Ed!d`{F+k*!0^qwAg);5R0t>oCnsj$wnTEENBb#jpVW{=7hK@i48NaDlti;Imj8x%(&ngO@X$!DB; z+|W~d$a8>(wAgak=}vudYEAWxBPpau5&?YBxafXzuy$JfI}5tGOv|STkpo=2>YzF} zKqAGo$;af#kg9dO-ytV!oFcaGJem)H6w>x_10QbGvlJ?BY-EMaJ;sg5{T@ueJoej( z+2!tM;N%-a_#Y?McAv5V0uwE4wNu%!7q?nYU7tL*jNBZGaLbHohZ(Y`1JwHd{z=S) zQ#6F84WE$!6{o(LmWy51=4C?tg~s+ZFjNNPgIjnL_*wQp`P)Mc=P%#Kwnbjcror6Q z{-^$fcT4M`y*;G_EP*NopA8 zQ$M)vej{2xX}lY+cnG0Q2}3TEaaA@hxGF2Y-R<2FiMh+LS;d05x%zv%&ioA`J{Ar9 zDl+(RzI6*l_X8Vjp1HWa3^gg@$`Cqw^!(A_vJF-e7V**Gin35tD-*}jJXuH;cZ5{L zp~@#T6#`ZLj~fyEDwvwa&9iTkF87yA)x-oB*K`k>SNk4bbdxgJupO&b+BJoo3WKpN zC@k1GKqA}|GG1{OCFx-D9-s35Q2JtIr~@+60l4!WTS5)OzhZljVw=3N)L?UFCR_B* zHQ2@(IG8PVY^&XNBSwD3-Zs+Y$z+4*iXQxYHNiIGxqL&-`Eaa6ASGf;^O`zK7&*nS z88y5C1xxtJfDXM@_+LaL2`csEnYw#tbTpmskES#K?t~^4fAob5Zy1NEwi}{gJetSzbDvt`??8jNB zox}XV&KYJOPgqvqnKpPIJzQU5z-iB^S$QOoIOL#thfwe-QBBK$v?EG49xfviq0F~jF$^N$FA`(2TVSVJf$lX1fj@UIzJ5~B7H+%6 z5wzkvGrR?3L zQXub=(!+jvlW#f*UE8vgu_e^IvM*&FjbuGCMuJ;519OK>J3W$%$o`#OuraL}pS?9% zgjMUTaeUTkt>PUWa-UNqQfbDz>KCU!UCW;Yth zM)mZp&D8l@=F&pU?7N#f3iV}fr|VxOBirXC$EPZN7jR;(E}BGl#uee>BH5WiPl_ny zy@z!bvfRUmclbXcDP?bU_ha(-U$-5}|Ea*p@83le%yfZEw*X7DEEQ!daqsGtB8Woy|cvp)pm@0L3UJ*zu3imD@K**JXx#9j!7*hk za`AF{&j|0T`JgqrQUU{hz3zX1wt!SB2uu#?AMKQI6Ruv___unevM7fUB_(n3Oz5{0 z$}|NkGA3s0sekVoS_WC&i0I&pslg>5wDupQAj@dH_8^O1I)K0liUOCnvF#${I6O}< zXI$A)0;**7yaAaMMy<@{?329g-WWqN4frm!gGMIAVcCQh?Y;+(>F=k=PXAh^%wn{IQUAS@S7_F9Y!QkV6E&C^p1z{Uf|9wl>a4K zD`lI@xvC!xDju}@#t6cQS9MLsCW4qF3j2JsA`3~%d%i)GvgfX~^)s*L~N>=6- ztvF!vIu5jdxN$naQvEjezt_q-EP5FmiNZxoZq32AZ=Zfi-h^!TnGjM`)`AW+aet+u zqeIwWyvJroh$HDGMVigz#oi;c{wsC^pIu8*qTm0quEN}$f<8qM;jFA1YY~0o}mJwvsohXn8@oG04j|U!sJsq zHSeI2PAkU*$g|I}u3cct@hJKBInwgRty%eeM#%YylLh;VY!voeb;Okr5(O;2MNm_7ryCG=Wd zwP|a0Rn^kbR}GL_cMzP`ppp@Pk2eiD)ohNqK07!bdL+q=P`+6T`P~GB)1Nfz~9qK1Op!?cfBEl zY@PG3$7f@9ht8Nf@sY|PyP{Es4tY@x{9Po(t+en2{i5eqDr@`Z&HY!I z7`5qPzwiCFb|1xFNm~Ef@Xyt4Z!>Vhvaz2B`Kn)_h3QeV)V+ce%KW|?6?oeLeB&9K zvh*nEIu)RmO+0)`ju$cGYtnctdY#}LmcOHQ9*1D~>He}$&D2?1%Cua8;3vz3{AdDB zHJb@=kqGSgNW8&>OShfJ;(E^!Bnj84F&r86ubf}-`uL1#c{$C{dZj&SDmRmQam2bjVUi?9o?Br5go{2RFyNw%q z>Rz@up=feF;XPRYLk%PeQ?rc?dz|$<|S?i&&dC&RDxKE2M@1 zW*UiH)Rb9aZ)p+Sl$&hj+{=uw;J3jPEa`kzrqj^tkm9QN`2_Z>8Nyg+EtM}WtVo95gq zRdPO4?WBt+B#OKaX23m%!@<*X$N-IGN>HAyUZ%%;A(*E(Uc5bC>(0HBb!3%GM+s6= zemCZl&a_%KO>jCS7=rzyN~6{IB(okJ9Cq92$m%IM@~2}k&%NhV5ggZ4*-dt5 zkH4Plo2j&Y2DonsH&9E$laSl)E?CRl&d`qL(gz?3j%&GGWW}d+LL;IS19t;tK#TPs zQ!VLU7b1t}Dlnh)F_$OJS0i#GBQvL;t&TlyR!u`;TXG+PyZ~@(z{F(-l5hlE3qLUJw(Zu2 zGrC@)N@wim>~Gg`=p+8#zKz=2@B{X$M3&pCBw88ROY|kQCumW>&&}fJ9z=U6za|96 z>g^+O@~jS+qGN3H?_K;8$KA-%JJ(aMP5VsNk;*EjC7D6t0u{%UV(~V#B=G~HL|!0l z3G@n0G3y0Eq2e5vFUNTPg>fmh^|ZSrtQ47=ST^yn9Q|J5%~0=7=P1lL^qys@{oRlD~$61CA**X4#4|%vL;lB!xeSZfFjKV-ZM~ z_f|N>+vd(KXxT4|8>o8fs}K%;f7X#)`l*^rx9YmwGaS+ZNsK@EuFXL*HH+B{(CeO< zT3){yy9i63whSW9kuw_kauI(zJY~g=eu>I`bmQU6N+SP>+R15&J3dF{vU*<@PoLZ* zDQQqmtB*+ewKdnG%uYOiA0CjDJD3Kb@tb_OFo00b469>*f3Z4Cw>#(6jNJR=czLDJ z{fFBK=P@U;pzraH#f?5Jehgkm`(&PyYA!pQ4`X)%of^h6U8~Z1bbbA~;V`OF0i_tv z4Ey`ujD-Ibg|7RaNy5E&0*` z^X4P5updyy_iIWB2{JVL?i7;bE7&3R_rpsDF(v@Vp_i+L^)))n?ERXfN2dD+P;>Cv zej>XL2>mjEw@vjD>P(vVLzzTKQa>j2b)OfK@Zs!^^>(?p)C*C0NSfSwq>#LSP@VaQ zL!Z+FFGN&pJ!jHxk#i!T>(u{HtKP!RSYb~6W zzibs*iF*x&OLsO8?+h-}eQYj;}6;su_#j zo8=JVvavbjXl~s|&Yg^Fzq%sB1f;ZqIk?(oj;^q8!|W_28p``ne29$+eJLx5!ogi7 zlED$|N>h|4Mq-jHQ02pVv+6uI*8p>ye^*cB0-SMG#1LxB(scbf zf^Y!=ZUF1H(${B)VYMyp*SBLUEl6(%K2qku!BvYi4|i)T40Fwl^X9bxVPLu9+0eDw z$W9ZLr{6eGAv{hj;#01`0gQU4JzJ)KK zk{NW^N&jf$^qZ+!SXjhuG^#M9B!J8>x%^iZ7_WW0Xl%8x$-=Y2`_7FiG$%FF1N>#< zdnX=d2x7=?{m_IC1*Wj8Qit3MaG2kL=H@?C`1PAvdr{rL_;z?NO)sWj%5Y?cFQtf- z#jV4pDIGH3&iVFTmFU_0c8B1y9bBY_!yBtR`q-z*E^p(^qua|yt5u(q^Ffo(pHjZL zgu#`eknsNswC}bnaSfG2-%vc$m}{V(-tvCRUyMg_ZG!TF)grakqKG;;5MVjITn283w#) zwVR#1j*=QIxOZw(k4I808DdInicnuY+fI1Dm#xTe?mWgqa} zx%_M2$UH3Iyz|A`Y`WXM&n^T0JZ!&?eX<|#fBN2O*UCsAtMK3vzdqV) zu`Ydje5DG7cF}uH#M?%kVxih#+LfM&*43!D`s__jhw+kXUhXZge`MXki^9R-ljmqfMyG!7V#vUi^Wz(a zoVW+ni{+6>Xsh~;$ zZCxcZd6Dq-;f8m7gnzf1;Sr=mAd|bPf`TD!%lLH_5p_htHYENYqNnD^)t))0vA29V z{Fu2^E%~{HFVrUj=zKYSqN1x@lD~}hyau4=jN8(m&O6i2BX&|$1oDCtTl4=Kst$j4 zc5WVr+)65fV?;wS(XX=b@W5D<^rCL&7aae6z}|iYYu&6i_cz*Jc^R{A0HaeioR9m- zN-tzlf2@`go0YDZ6msVu?^CVQ* zcPyLeNo;5nA1x0Ox@lgrR(aMD&mq3CFiq1ab32XdJp;v=*I5TS=92UyLtA^=bi7oI ze-7Cf)Sk3tf8rNtBV=U8mMo6nj?St5S(zDw_24`$_EUR4n)}3{KI2Jq+shqZh~iA5 zm^pBBcMsy>c}fEW$q6!48C7R#-(=a?J0p+e%gP!Wea=J#<`>-M*5M29edEX<=Bfjy;>Z^Z@ z-iX4N?m7wo$J1L!MfJW>-}ekdr_voFNJ)o;3?LvSD5apJA}XbbA~i#!fS^cAOG>BY z3?iV?B`x)pMnD>7<~-;3uJ?KVVJ-fGHRsGZ*M05J-aG3f>WQHd3OKmt7lql1y$6@* z=Z7yklJ-{ZH&2@9XRf4VW-&Tf_iH;mX4^OY5ux?yp=0|=w1t5)D^a>+t?R$6&~nN+ zop1(T2jA!Wo1#h5qI)!TiFDgK(JTBs5;M1hGH#+@o8sk(ijFiM1 z0BzdJ@r`KXX?PmQMUu7jYGD;Cg4rT>A?oZcV@Ja!F;MZQ2=fu14SNc;{MT5xncEi< z<>xCU!pT5$_(I&*N5$t4Wkn zZ&!4h!;q`bs)3&{TS)hs_70pU*T_WSgoNk(HFBBrwy;G$K9zAm2>uB>Nl_>uCzmRB z?EoWgY-kW{@Z*Q^Apm*g_^;mNJKyTd%qm`a7p;vlA+RrbH-5RJ0Whyq^{GvRiA4V4 zrk><&Cqka#uNmBl{k6oo;|v!Ij3HI_b&GaeGQjBE=0(;<>C1ibGvUwvx={d^RwFnH(*lrg1pBp8w=xMnqd7b9*B1Su?K+U3ui&_kNoi*O}0LeXb$y*q_`D*oOh? z{uQ?-mTKmUYf=YSt|3P!59PwD17(FY=qaktA%HO%+RQ;O=yIL-?PprDkaQI4!k+*a z^5D10&zT$&vEYlrrEK~~gULIt5WUc%y%iz75Bj`Wb@!QS`GhNNl|g+(<)k*2o7l2w zpGLBdx%r5(@}>dV#NqOErLY*MxOF)yEn$S+#`QjTA5K#lx;LxPhs%m61`oPF$Z5Dn zoKu@C@97%YooVvFrs5WOcCVEjXo`5dOTY-f*rvMc1+{@GVL>c$W`CR+!BRHcPLDB0 z-j));j-}XCYjOM&qIR(4aouRxDA~DxO`BRE%l0Ceu___3=0OElIMJq5$3LF6A&>$78-ER89iFkE9t05n@S(7+ zN&q+A7>k*<_cM^LKhK2s;vO`+LxYEcZW_rewb_>&vU;tKMRT9M{CwP?KqL|yzimaf zv}DT_0E-g3#Lre5HyfK^{>KuIdRx5?s|G(UC;%ZAU?bi6?{d}b>YRpLT0yfmeL!NF zfO+~MuUJwOZN?dzp1Sw4?6d;PLV%L-Qu0J`tNU4wS00ty zIc2#wLwQPocfyy|RIjM>g>pCujoWp^rvL`ot*MDRB9ReJmL(Tu` zh{Z6z1M?43;anGxKHjZ~k0NbrVyz*{f9nt^Au)yrk)?#_{J5)Yu4twVb-b#@Jtp+5 zLt3HXy?Y^)oXfbFvqD+7D83E;^Ntn^+<_yyLg-_e*%tk9T|F%(|I6-P(~pPJVt!V( z-(;EfG)m!+aowRZq>keFM@6*XB#+w?SAFUI;Ov#Y>(^gPGqvQLP@heG$geF`t#Lk& z4@uaa&;a^lKUqOQ@1o!mI{9St@3Pj{akbmB(1oy~f0%E17DP?A(c4rH8*D3`--IGS z0A5Kn4reHtSpT4*Kx4P1K;vIn0lEH;sOtTF)OxdZzW8&;?p8iNyWEnwPycj2Y(@3#Ha9d}k+i?Eb>^AIFO#OrAun}scjug|?Mnqei5 zIbXc=F$W-j%Kr74b*v93R6&M7GEvF)DVH2cnFH+$?uBF%#&k@q(9AKv3pZC~{BLoA zVOMT}Y1&mLP)|<9|8?4105FLlureLr@NZ$CBinI2S_*@D)0f+&B6`VJ`xGkW9Jhb>o_F zdMs4;)tECmnbGdbN=}5m{p#9WgN%}F)$q=$YnkInmrXMk@FI8KzWEwDL#AI_v-cW) zvP(wADq5-#2-Dksn>d@T0s0`1f3`pW25QbK1taHZsKDp_in(gc&E*K)^LSG^>Um{v z3G7_r3y^Xi4@t*Cn!CUKpTF~g9i`VEy1aM!RG9EXRp=@rgn?S|-D9L!yNeL5~ddft4~BW+orJ z13;@OyEeZexC9^5m_Y>m`o0NEOQtrktRN$%!7P$r<$jA2yoUj%aQO0HH*%b=fM4wn zT8>ue8;#@MmFgzAx;?Wzu@q>tD2Ft`y>2eb7@9N#@CGj3qf1*F%a0x0+sOATRO z{6Sz;c}hoM*rLoL^KU~kFPDNmQp7&$N_HX;}_mBpVITPOGOdSe^GI2IYGh6J8 zr0-SA&&TGDXv6a;xf790WZbdyypK9xizyFfob&FW`!>S0c~7zE8WUd6mGJX3)7Qi1 zr&sQvSYrBnu_9_Obs9SK1=Ka@Lni&0;K{@&eBlF2JbCm$)<|Daxwm$gI=p0P*H?h7 z?=4om#_O8bV#MY=!X90s|3xFXy{T3&fPFLD&YpCZCkza5>SY_!_@={M9gcmrRmb4hjd{wYHajSsxvQiq6WRRT{)*tKe z$`0Yy^vrS&BZesWlG1OI)hmv2-@7@u$Ur5=grz~w2X5H?5d)veQD|x~LE(@$S=l|k z(U3X~CfpE}2@POE2mlntFZVz0s3eN;f3pHvf#fT=`7&ULTVTRl zcH)!$LO=cXjB(w;2|6G;2)G}8P{qmZ)7VLZ^a)Kj_uWm5GYt$n+0U{xcn+(xl%Mh5 z{1fMAeGQs^jL0rPexHswfog_S(dviy0$UrNFWH-r9bXqldNE12!*L@1p_RBajq0H}q|5xWm$-(l4QS;W7g7PZ!_{bqP2R(wsNi!wvu} zFu0~=kzCC0z|XSNX1d3py!ZDBIoS-eFkTqRj{v@B!%uWa7|z_C|5G~r>oGsN%BXt^ zHJ98eWYBB+F6}qUTR;x!yMq!LUUbc$oPU3c?O%2O)$k3+In6ZGB%BWx0|9rQ_lh3YXct#!(s`7Yc9lR5 z9-n?j?cmKE_iZf*2}7n4xiHngrWG3d6O!>}^qIZH%1U~ik1H|b1sr-Vn&ma_-R1K$ zE##IjBkB1Bdr1osCj-mjjDcZ)JD|vlvW7xwU0j3PY$hG1u&XcIAlhoMK<6RcfD((& zxEdI`da$&S_bJ57gXGK|DljAjwi(Y+BPYz;(m$)U>WAi)Izt!2PvXX)4!%ITh!`%~ zE!7th&nOc8GBV)$o*rS~rdjmJ)O5JE3L5138nG*Sx|$$8KT>8TL!Sfe@>&Ds zQ{Z6s>HS^V6r0-uW})st<|g*4Y3H$WFeo{xNFl;Z-(_YA$*6fj3bq>g}ZasgM2T-)j3gSi^o6wIH=v`G^!fq;Nn9P!BfJRl$?Ka^nQel1|y z*$Kb#CmVM<-(CpKubP?aV^wO|r6`qLWc453QSOF%rrGyP+AiKFWr^-#th5m7FO?#N zpuk(zczH3huKNqR7Zh$88t+1`FS6Ipd6SU)KYoUmb1Q3&HPr>hYWO?`3CnzZ1&!em z>rCkA%NdGNN{7K`F+ZQAX>wya28s}8yC=Kd{2S~lgLm~ih?I^bqb2@>v4MsKiKl`T z`tMUj=`n$A;dGbaW~J+tX13%3p6^gQdDjtUwg^JN+1nw8c?L>^7Z-mt9-((56I$eI zAuV%TxN~MCc1l1$2&SQ;rWql@k&MCHnd9xmeD)mW=^IUD(^UONNm@&~M%f2n!v_P} zwdG*K@OvyqwDh~RGs&4Q!Cvt+BZX_-IVR<;pd!oOu>x-PI)7}pGJIQoxm$MSHc^xI zV_u>8J}y*-#OsCx@Cfj;tGGrhUC9~^_9o?MQB?S@#vU!(+Hy$79H!4U?iF`JvWuQ%x}RGfLeksH&&tJxO>|81D^l_+j>R2 zkxd5u7gC0U=qQ1VB^yA;cDyn>x_(uKwdWL2zkB6i2}wqO!AH~3Xo{-N!B;TD{C1LFEUvBSdQnQRr^3%ygytbKJFcY-7Vm)8VI&OV6iGK<2NSo%9kCJ?yRpl1XO_o=Cj48nlY7Dk*8Iq)$I|Baam`*j)?|Gz$^QV(K5E;8!aml8CegBHe3 z@(QAV_5i7M@Mu1W>V}HmyMAVG*!vSC(y7XBh6Im;rzqw_wpg%ZLgZLczMUkhOVpG_ zM-^6BY$B5FZWy%|d?V-Wkr$Ic{~J#x|8L-Ht-3MU_mGGE1s#>o`KI|lrqKlz-Uu1^ zf!Z-qHyEKp>`%O8n%bNpA8T-neDl;6pF9igPa3C~r_eG_`UTt&M)#FTcYu0RA)djk zt*rJBR9G>vCX*+SOc(ToYQ9C622W0!y#9K;>1_<@)@{?Td+E2HW||wyrITKccR48v zeyt|QhS7bfCv(bl)2ytzrU%(84kJHYgB!ykYHn#Ztx&xi*@~V)y4*^oTwSDulQ<^y zcL5XsYC3RfgzS!NQ%n$LqBr)TeGn&%$umHgv)KSa&C%R|x>vddu-dCLOt}~%(7f|+ zYTRh?9-h9uwRO_L^${60WqM2w5|jul4<-G5XCt8S4<^nSqEYbDtVL)F)$+}j!r>YI z4gIgDkkMAuU)#&@rp8!83Ju^E+}_ym%Q2CPKboDst!WrKUtgtK*FA4OoYIJOiJnR8e>Y5WBm4;T>?e z{)j$Xge+=0g$_G%p62+!AY%gei(%Ag_Z=x`4|((>!1fy0&k)8+{N|z#aPH%)xWkc( z7w?hBf%dPHyde)7ybt&M$(H}8|ADJp`H1g6t<~OzK_&*DK$zyfs7A0H5wpAcSnl3s z>o#?j=NkpwCn9@uNej|r6OMc@ z_u4yD%!OE&=4QL22+Cw2usz+0M7Eg*9jOhtGy~f*M9Udz_YmPUD>sJk`^~H>I zfNQw#Z`)G3&eUEREraGBk(o6bD%Le|6~xl98*u@?SYNKGD>)w`GEpO6u4Wv6(I;!f%y$nk<6?jk|?~@97Ugl)qiZ1wJ5V9 z&uOII>evX&wrL_XgQlx5I%eei1b~xG9EmX@5gJxdjKN4yp*ct;C;UR^!Pnw9m`k;5 zqpTm(l*kz80G0FJ*NAIFfeSkN)lX4GO^8G$7Mw@sUy)uF_{A~7Wj|$EYDzn@e->ZY zz|Ki>WulB;VJQ)2{Qe0Upz*KnfFGZ?@~S5!2Sxw<;k2sW0OMOO_irTqoLx-_+1%eY~=?1!F=r*7Bb7*KD3&xrlPyHqb>YY9JO+QnOVL9A0# zmT_ggyMzT05a#i#94M2YE+mkJ{!q96Od6ZOP$R;^Y=*b;td=&8?lhq0tFI%X z6nZgr^mqZ;va4OSZ`;pbmAR!rmx9m&42uqMui7wm4FI2pDlGoN?W_uCfv0zRYY^mc zWNE;t^A6z?=l@dTIW!-L7=Kiy6){PN?Ew@h8GaFYlZ6ZA{Yg>EN#*WV!!;k=(*^rC;z)y*6=}Ucm)Y3A z?+TG-zG`zMCs4LOx-*~gk^1isPNsL6^hTHOhSlk|G~JAa=DsgWHTrV4+#1l1tG!z^ z(^#1L29;e)7C(qAr_Jio*Ce2R@CO0z z=xB!*9(<|Li2Royr~7NdRBF#y;4YBh-xYsRaZ>4cccO@E%`-)X+qEAq-*Vc=Fv~&g z=nDlDv`#rUCF9QY72nD(5;Iska0srGz1THBx6*;GCO5uAblHGKvWNFVApJ7!b%(Zh zOxO)?rv~oI2agA0$qQ4xb0%Xr&7@S*tf9O$=_TloiVhZxq==X@GvRp<2$?G9k8H7z zKvj01{SSDVi@04IZln!*>O<@OL@QMMcTsW2m|YfrS$g<0$==1S$&3iX(4Pnu-tmmu zYvLUhgIdBh8lX&klx9OE92&ud|7$#Wct5m$9M%PPw3`;6vBpy#u9xd5#ffc( z?x{Ll*{vEETKMGpWK77Cm~N+jYWmoGA$>|!Z5e9H&0XGXzPQ!ahbj1ztg=&|Dc%$v zzUC#-Q62MMr3#Al{ZG@1 z(7gSMUOkn-@HaAhNnhZ2l-gI}0(rrI4-$sp6n=vD2@3IT!i~(!E|O^VrUkPV#KQVhXV&z)BXX&f1#_YoS-&dZ3!inc~U$zFHZU=FEKkN>2rM>525 zS}Y7*eQDi++pm|o_j&=EI^Qhb(6H0p=T6=|Y$k=-Ggdplv%uAJgX{{Fk!n*>aANLL z_~{I3ol8^l^_`S0FlH12JEiK~hp!f?CrE$KD1ZP~W@g-~(iweVJ=r+sqMkhE838J# z@CAW)M;RQXJ;^Gqt{oV`ds}QB4XAuOJFx6N(QgvS3w*;fn#IN-+wl9`|DWzZp^YE@ zFL{hqeL9CimO8A&_rOOLo6cJ86zDF4Y;^YDk5}d!UNY7>r^cuMcw2ZJ_>Oju*4tq^ zQQ`wK9$f~mhW;0KHFQ6&iWP6|MVj)Fn;wd>ruVnqC0ZND<4sSWB~?MzrHe$}Z;*Aw zZd{WjJ*M**ckT3D*q&_Qyp%EWxc_deCpQ(72=4r@v=%U0f-<&)7SG37n_#9##917u zQ5;*yt5t6f8b)a5`Nl}~=BRIhY+K+e?j(BcXi+gek(AWrZb&FysaXNFBQ3}|8Ggv?V}hD`B0 zv#pJ<|4eqne*1dF>Ju*d4k8Hwwwu$S`d`cr5o9t5{B%qCnE}{g8JN5W{|yS@+;Y$F ziZA#t?b4VTT2pj@(bSkjTYUZ{dwhsxjFdllJ#g>^X!3r|Dn>7)LE>h zPicQWIs0Mb%Nk~)CkzZ#;XV?(Ux<2t7#5PuCH6gq0*l}O8X2EKf~Aqb2Lzk~6iV@I z$=(9mpaw$PynQ2hEup`f3d6a66RQ8R^q%skExTqXtZ^uP&;fFXnlnXz8%huPg?oeK zh`KQtSCrL({=3Gw4g68l&5`B#{`xzmP2EwLnDy;x&6IlFA#XD}VYw{(W`fK7OzD-2 ze)DG&JtLGbiTG)yJJ!;eZXPn?DmdL^!6UWlgi#=*u}YHO>E+=aCV*egSVw%bgZ zq_urr`AX$5X-y27tL;6NWdn9z(E0s`1Bg>{?!6+Pa1Vn1y1Rr|s>cK}+m>;PanQ|r zM6C2Z_!?UT#ZzsBVVP(z*efoY$P&-#NaYgxSfTSs4uy%_Mf-}w242YX6VmIpz_nTw zm8A{hIu*9i=KClEDQKUc!?2s&JRfKCKjX;gAz(AZ(jbnbPA+t*!`wIZh$G>@)MXUb z)s7f9!U1VM>bmRNSI^A=)So}>eZ%UU^)`AWqO0q1Xo1OC06+I$!`m20{@kP7u|DbJ z-drzM~N6#mKfA$B|a5AdU;_vda8I^40B9Vq|{*ONOH!B47Ew zW1r_*Hn_Zao+BxdtWR!0r_5l;4ELbM)P+xV^!eudi#EyFHXEog>z5$5=uQpaC~bmb z%GCsR(W9;DZt2HSt~v@+712Klo?&<5*zZ<`EP3Zhhn3F~#w_0LCf;fnG{KnLU|D%~ zKD#pFZDC2ShXN&VCNKU7xRQ(jdfmT%Msb%=9<(R5Nm{Xt5|a$$Zk2hFf25Q#2&oqbg##vsao9=4 zA|x@KwRO#nRX7bqt^4gY%uLboTmY&zmJ&T(8TVu<$mW;h^i!{RcVK6*XaK0l=JzEY z`uc%-rU|Jj(307g0Am>FaKy9HcEAgcw=aT;CuH-!mlz-O|A?f}-^(!wK-8+<1Y68B z*&D^$UM7;L0r~JjzTI>y@$;WFNL{QVMfrf zc+nn4W8HyadG*1)h|U$-VkBlaTs!4M0)mWrQBX*cIwD_GXYROT{w0CRl601-LK8Ug zoL^~R@4MEHOZShfXNPd$)%cI&qX431+TWM^OktT<5rRJo7ph7vQr;z#%kK@`N+h&+ zpZL*fzKy;nOd5_}d4oX6*w= z>XOY~nf(`%5-N4^x+%6PltV})UKq)if4b{g;>D?z!mRO`AH7fhOiWpvwQq!YellG3C&&Nagi$9{NX#)Ao*1FIY&@u-)u~Q?x5|1 zGXMUbUml7S`Zx6b*|zg1gm3jDQ)-0o-c7w-@6gQjoy_0Ao{};T#R*TZ@H_UO&E#od z*Mhtku}!57V-Wie{Jr>6H9p+a6KSkwthxG|c^W(qXWJw`S)G~qUolyw(&?X;(~^_9 zd3ZcIJZ^I0WfiwD>$5DaF&yHeswrX%cHZ`L+4RU*`S$!dt;;lPJTRF8-mCL1!S&$gCbX#F*t-H69-S1 zGeoI-sjIm0S&B7Le_eKQ-JJ}`^p2Qa{LNo@Fl{)7i#hFnm%b-7g^{5|$PDvucmH%> zDd=ktcXzgHL(C87vDbQxpMz`psQY8nwG&*VTrpe2W$e=xr~gU<4|#TWsc7kP59rv} z$R67t<>ayk%fLNb9N%ma@lPeEF3{1fY|*Mu1pR7FrsVt?3NJLy=DUAedqSka^ey&Q z^|QgY!5Vhu`g6a~OO4MG#n-9V)}LW=u8X@b@|gI)cmwkU!fLz{6_3o>Q8l|RuPEu) zm0Up`mqOUO&$^T3<#!DyOoV_aBcgfg0~40mLI*^wp7-7lrmBhwWGADB!-%X=xEMhxGTCXZ?qRn7AHg z0GYwusW~1&jWvbr)g`{GXpZlX|=>B<0q%U%e-PrWvDT6cIUIi4;GAM>lDT8}mn4c0G0&XT0&>w+|%->suqzih)`!hV@;45BUmhr5~v zRmmE=o~BEXh6okX;wPWwEiagBvX%5k3x?uyWsW5(tA5UK6e+Oldyq!lt9bf#(Ah#7 zNwh0Vs-OEG3^*>|b>-3^<4NU_jD=ENsIq5jAI-}+%DFNZVwE@%*i_@1L}8%RZ-bip zdXOzOf!6{d2o$Ok_4$Y0!Y;(Jg`tDzj#qV<87+_Fia_34#fqm33YVMLm{i=SOv z=JU;YkW9mNH&B!!^n%!XV%e=p{pP?-l`6hZpP9u0frMY)B+ot!r8y0{&5|3y#UgzD zk*E55?N_ey+we$ZUx?CV_x#XaeGTw1g=i#>&HfL`@xcb@3^Rf6kwcs(JH8Ym;6J=K zY4D)q-)HOTPATYQlWrf54J>^jZ^X*Ub>Z-nDwz zI$YBeS5MEN7&@7pAv~;bzM2Y!-zW7b0V8rC(D#ZOQQ8z>P>YZW1y78tpnqqX);&gh z{B^fJ(MYlH2&9oDIs*eHg>HXc?sM7Zw%WNsB@?SLZqS%2b2TzhR7N8$mBP^t_r`dM z=7vE?P@!osj3GW(^8#s`6Xd-1bF>M2ulz&9HxJYkGRVi2aHv^E-e9Ks0D)=BGZB$$ zq6T?H6>M**k)PbSERe@vcYXYo^ZgZ7iB(0GcPc2eZ{~>0$(38L;R1N+WVu8tkR9ex zVQx&K&rS0Uy>+K|M8xob&0zT3T#?};GJysiBY^(^Uurs}TiZX=iEo*O=6f#LV?|H( z{RwLV@WmtWe|n@7Q6vAh>Oprp3?;5iO=RxTs}Gcq)KZsTx)ksOil=mSck4Hk zAUKI6{r5jPWzsImB$pgd@$NEK44JeG`O#qC)1ddPUMqpmlDB{r4A8;mW}VJS@9d6s zOBtD6mY5$uv7E0aWzqxr`ySZ%<$xD$yQV6Hzm#5!#JKrU%B*Kp^Bn^MdkNAD1orWT z;bcuJDy)&!+J+2%T=}^G+On9Jvu7&ms6mb-)wyEda(F@GugMSvI_*FYiFG=~KsAcM z>z*tL$2=U1u_HpT;_*&K3~hBdtxPP_|NJND!-mXx#C=1or8c(jCuHlAXYWq!)xjlj zZ2X<%sXGmq%X?BfL{PLnz(Jd^CD&G$G{=iP&Iq!dA_sr(5HXR)7%}4_9Xu(0yDikE zFRfS%JltXlN#Zq!x?$sE79(5phtF2APJ|zDd(GVNJ|mrip6z)7yiN*o@DsJgS1X|S zxc4cn{-;7?CGW(EeFE5O`ch*?N#K2wLL3} z?ZtR{dWYi*`)C3?@XD#jzez9P<-;0C!nPCN#JHA{^k4l$0TlnB!^Y}x#xQf5!V`uA zE(O9s7s(cjs_Sei8RIc=2Pt;7Ocw5jbECE{H2_U8rRf7!oqgmHAn&tkf06mcpno5r|j;d;NPx2_lu8#*b^a+j2n8G z+n*SK*CqUQ3M#fPO)GX-1eO^Z^Tmwq7yk6O1y~tUnM4n;8VywWtOyarHM+5B z5EjJ(NZHc9#`!K-{ZdkO}2rHA}QVw=; z!@P7l^VfN?Svvil^Ks3Rt4Y1RRYhpxGar1Fm3s(T$@rgmbZpbXbF=Jn^9x1W|Ir;} zqz^uPvqt}=&B}dRXPO}+hgmK2OOyYb|7bB&1%ZUn>s0mg^*oo}OL$HHvHYvU;uTK2 zy)iT$I`v^b2s`%AFA)=#Kk1pbXs>v7p-&3L&_Fp#5|Gq1MM^TShul&AS4of0a1aRj zWtlpp*)-Qq5>NYLV7wSWXp#9i&kf|J+28ow)%M^3=O!gIO>rEhgp7*`r0FvGhQe~f zi*8V0FtXycXAh_IWKzPJ2YA|q-1Z-hvRmwm+=>L%)8nW7BJTeUU!0myd{TQ8vo~?9 z`R>|MS6BLnYvwf+y{0!p>Z}bvq+mP<6*8$%iz2qgtl$5LP5ZePBIbuG?d6AZ*;{LL zuJ2M1q~bd)8_jwtP?05Ue*Dc*JbmdRGM(9@1K@w$c`6>L<fVZ?A)4fe0t$a%~AH)zdwV|hn!s7yw2%DYOg1tE?TGk5=hT)R8#M4 z?@i#HK6^_Jh;bk`_>D2+Kq}*($=j(O1Cfyv?rElrBfc=sL}Br z=hD~LDO=?fshJa;(nI3uVn|suQ@#b%Bk1(+3c9t(Y+(=vQkKhs6dQb5ChG30#4_P; zm5NMvem))Aw{M`Vtux*j+{Yw#AS7ORE$ly5@+9(kMX3P>+qc+`!zCnAr8wG#qQ&=p z1Cy_AE!?m$Uq_coA>fFey>pj}eDjBuumBd)<^~b~{Rya-)*^~tz*`TV{zyOle>p={ zNY|hiF!k{gwqKMsr@L5tN97(>n*sTtW+Tux{|Ac={CYC6HwHqx<)1CA#qb>K`zfhs zWs)zA$U7jB!0qf~%6la9gsitVESGpu_;88HnK-3={P2kk$iwoVG`mZoh|UwnmtLjT zj3vKHd^)Q1Vh>e;S)Se$%P7}@Lp-;$<(=puo2mD8zr8N9N&Mv3$_#IksDXZPER)>_rF$i$qT&r`$}t*^`jPYuVpW97f{ zw-DuKM%d)JGY&r6rkFxNM>ScdK@z3}gM>JquU(F5Y}~dlX2eE9lj`e2`|ElVL)q=- z=;1U4{n}vJsdhIhsbDRGO@fP&x~nZCEfv~zPs@?SuYkqUS8xLmEB&-=s<(d*UhWxl z97!m90f$fkzHiP6E|To!j3E_A!i7tfTCThzT4fC|AcqEiTyXwI<@*f%@&#%@Ye|Le zi@Qg`SmiwhQx@9Lg-F3S8R>BYi9ckoF!i)$)mLrTg?i!`yMGgz-b%m-INA5J%_m=c zxBS0cN&syNI-paiZ7%8`I~tqG;?)rV6L{&59VH5XU`3Y3E!ggZ09d{iLi!&yrH9h)m-P(!H=f+HULQFIzX$Te!+z7Va1 zxRo{agw?@Fc@vG)6vy#;&U@mg*_PWHr{-qt{?^006D5Gf@mE0qvJ4Pt$L7X4n5cY+ z#3oiQ+Q*=fQFFg=Q7qVE^TMH{PdgMrE_prn#XBXX6P*?TucFE`l%KdXPuZstw6qQ{ zChzVB(`2aWsgXoyWj)v+o?YR*a$VGRI=-qj(Wo?ZpNyb z_KOOkqP)a}?y29(@lmsDG-LvGsQ7i{7A(VRfs)5t3>to~;>9LLI@0~_*ft=Ts-WLN zNU)>4mbu*Ade#EX{}U0wJKfoCv-*KpcQ^I?-47&u{9pMo!w^ir#^jT3L-zn&TAeF3 zJ(sH1R@1>I*YVNA)45g+P=|1!{P#>R&WA@nWu3%dhgj|G!ra`Kn|86O-v+#}E9=F} zM`VM4uQG%EQBZH<_^}DLP`nlf??klF*jvQyCwzhXD69iHpvt#fA2kgGai)d0edKOl z5L6lE*^rhvJ9zvUKB!3?z58?`ox4xpfhiLEHwSY^me9LfH=Az4fdXO9lWgGiXsCA4fvN5su0 z1c}iQj#AQgd6Lye%(0bz`KJ73rxO2F61?89Rmk2YeP6iXIPtwoCSZSwNfD0eI60P= zab2aV=O49vG)n7s=2qrm{ReIe#->IqM#8yEk?na3WmZxq>0BFqUE8~L3hrYRcl~OJ zneK(Rhvur9CGwpd3~Byy-#*!%X}PH2HpK$>+#`K5KIXhNzYv0wxdOBhs8^2#SbwIIZ4U>V1)rm#a)6tKQZEQh4|5 zGah~-ryHL}q%c#mPzeMS!EBV~rQ6EeCW%C12pj+uYJ9{k*Nai_I;IkE_-~?+8lb)H zMSw9Iz?N`&v*Eq!v*u+#IEb(4W%a5DwVW9vK+K&wL;n}kzpDAK)z=wu^|XG~c3iTB z6vUzY%l9e`!R=g&ZwusyjVm+@sWpxBnIEY8&dX}5=zK~RKn^b@D_3td}sm4Lr^3{M8ww>M)Rn*RZZ&(>6KefNzZ9mUaYE>uRa`w0R z`Awv>nL}p>WA3Sa8sxeO8R=bl!=cYiCjck+eYlSu=nUsWqCR{8%yc^myiDj|aETfQ z7N|H40B#M=mPN=_0cmvLG127GF@g4fDK8_{)!zw_{$rXLV|6ku{kYKa-x~8({_MV+ zzSJ|yoxw+^2ZQcgT&`8V=W1`)Ql&}3Zr>X)i}54mWY8i7g0lk$A}RJ(%#CphYgIpS zAu@*&y$j2jlPg6h3Kj1GhyL>?Z!EP zzAjD)a)m*BCN12+fv;Jcl({U$Yu`Ie<5O^2VJTVmY(77=2`N^X6ZE zS!n26=i|RVZ;CxRps%-eq_g#1)Bc*WgjX!!Ks zYWo_>p)#)02T_X(DqJMbogkeA++h3WK!bnfaVTAn01l6X?GB{h11mc{POl3Ur_yZ8 zn5wI-ht-^*QUNl-;vYQvn{4y#WbaX?Fh04eoFvWaT*b?g%~IcTq9i$>LTmZif}+ej z*|SbIPH{x4tLs@nE3KSLV15FY!Y`zmRJ@8 zZQZ4!FP-g0AY1=o%5w4#0eE58=o>Bru~MNU5mxBN6kRh+KhI8(4?CSpckjxC>@(Q0 znm_#QW6y)`ETP9_UdI_nf~3|s!3CnJ;BKht{C;E>`c%{&y}&+q>pZ?w8Y3WYXSL2w zEs%Zt^>(rs`rQL3?1ND#IpWhUW`T=6ji}1xwWUA1qrBf*?xaDEMfSBS3d>r;*8)x9xQ?od$O^8L;->tt|PNcFg`ZIz@dq+0JdNL z5FO0b^;Uf4W8GNIg2f5VgkxHVK1)QFJ#T)gEPm>q3XxHG-T9rgH&M-auuh(6TMPdS z;%cgGE~!935c@wR1!DfUw>N?$Bdd##XOfbXG^S-_92XK2suk3Uh|kT=uYmxcPjSdtQ^?E!LCJyH?v6O)#UaT>4H5U!usJazkg*>!1X1}yYRQ31S)>EvAm~3$!VK~4S zBXM+@s!ujShY?=vDF1w7Gnhrpg<(&N2ha)!Nt%+9QchW|dfaVbr$O$hIc1ux_T`!f z79nSVUG^zdV!r3Uk9xU%6@EaN19dk`($T^inBW7S^8<-wuMTj=U{C^@0Ziz$1r=travcn2iN=}3=vXT& z-r-H6KG_uxW{&gYI!;Z~frB5dD%uMA?kp6HJ=u}^OGf`OBgcEd?o)Yr zYtH9%wJ$~Me{SqG56YDf7W*@<&JTy`$h&pEPwk z(|cI(Hs#|`crmlTTX*@WA8IVMjCoq;`NjgptY5C5jsGt9brLPQY>V5paH%7P84FUp6NH-%@TBXDw zrKA*Zpnb=QEWjQYOg1Pv7fJ zjT};V31J!V21SbhtLVE;MUH$?V2wtwFUljJNG6a0@I=*oT70W2{J603i#CoKop_9N zd7cN91(~$!|Gyoyj|q*wji52?jEWu#f*Xj);|dqPIjksco1NZ;c@7r1igAz%1jSo)AL6)w907?&SO8#fvP+pYFt1 zm3Ggyjlga}+jnU<<@XNPzRG(lpT5la3qZC!sRSBXS(F^un*2C8Dz#=vN246V7VvIk zU-@Y?5;z!hM@A1#%98T=ov~P)_gw^B_oh)J_bN2`gb_^#$`KxusQ6ETGp?H}H z5$V^R^9kpOT$^hkt0Tb+02W|4-Ly#L<1 zYIz0D591T*Sy=sEa;GpwJ4R3^>|it#Jx_F>kM8bW_+OqP{l*i`8hVE9*Y}Wk-Se8F zXIQxu23dbrp1p(I;a~c=_C!(8f64k*fUt=E)ms(Bw)SlM^ZZ{8{+ew^el3$dE7)N# zoOTPZ#6Vx(annEFpJml2Gqv%V7u9g&?+;X7y?{v&6%wS&JwS(iw|DhXo1SShu164! zEtsG1m~|sVL<@p9yR7EtrC(-or=*?7(>ZC73!#E_|O-=^R0 z*Z&LNP{;@1SvT)zW+2>iZYg~}fQN=B_aXBVcmNZUoY=SQ#YhZT*v_q0bhm&)P;f`_sos;llXIrHN`IutWSu>F9P8403^65cm< zejTuK?mYPV?3VKL)sN5C|He}-HNM!;PkFxFANn6F7greyg%XiSF?gcL^}5&T&Q+Ee zd-)9Ji)lwfZd+Rw$0#zfjZEXVsIrk*!!yRa9ZivCUiITE=VcaGCds;PdS1NbIle%} zH>l}&SBm|6$5(zw<%l=j%!xwL?xofCwNZ)VS}V%`y<-q!$PU!`_*?07)P+CgoF9B6 zo|~=D%UAb)s*yhxrM0dz6B{o3BvPP%{r~}nf*84N8r-;j;(~ z(btxM6X#1chZ=RL(11-`-et6oTh{eY=Ha93bJcpi>GW@QE$0Zl0*5$}q$`$F&9wNh z8fUr?Rx&Gp6weRqou;Txs_hQau5*wxo(jd zEDb=d%|WipXctAfrAm0|>9Q`Kwbp!M<|dXP3sm z5%;a^c-a2L*PU0Ml83degelKk32bEGE*J$l0+_#H{+@dCwY2va`(n%N9!ZazKjXId zET+0+ERIGV|3-1hdXO1i`#Rm8vbnXXyd4olqzchla zU!_UkT~YA;PugxN_TR&lNV(f=-3ZE^%GECBT4gW(xDy+ZQ)qWVQC#AsLzx5z`NgMC zbK2t#UD98m(m(Qqem$cPKj^>qbllY{0TVhAmqyg`;}>5rRQKcV2|FZ@)vg_z>Ua1S zaXFglj-ziu+HjdwUO+KS_o9x;ZQhg_{mihRo@#ccZ)OW+6*6@x#ysC*<@n?mlL7hd zEX_5JMe;tm7Paa*tAow^(Sso)^>e$3mslp0!MCupH1(7UGX_wq5@K-?p>sg?4e^CX zy`t2&C48{H1#3CofVvpV8(#EVCdb5@?Adf8mEFCmFsy&dqO?{aHW#Fgam zM<-M+ioO!EnQELI1wAhVL_1C4bdnsAbGrkxm1ZrAiCpQdxs4OFIK4BdanpR^2fOK` zv1ii4TD7i&Ib^pETwm!7nhnqFnHOD%KUh8;bb5Ct#g-F>qBqNyrd>5orzwc+l&l3g zgTI4by-I}bkq(;dY6&sgpoSZ-^XCFc1ckki02T|JuG;Z|^i!W~@<)sh4MX0hopqLW zJk9&KkRvGJ^zFuwxdhn z9W{d7C--|U*K%?e$u;)T{xxs;{S<&LisJ*`GMmTS z9pO*9#OK&yO9jlz9-bHNnwKbw0MiEP!Ra!u`D|&3n#Y!C^JRu_u1&+9=n&bk^cUll z`k((9w;RznWR=qD=&XJhVgyLNi*<^MbwnjEOV)Op&& zK`v@IA`rxlRA|0=5eVEq`o_1bY8B)o-!qd$blER@w^5Yoq@SGJ$B(%f34TdaV3FYD zHWK^as?Ea}56{n@1hb@I9;W~K9g*B`LCJd1yeX6)INRW}e`0v~+mh-fN%F$Qth@@P zI#Ral<4DJEig~k_<1{sPm3@V>8)s_HZAY7_1Gtn?)qS74f>oo~_0*%}Y{n>NKe;ma z%uC5Z;fL!59^lkDui<%E7-Myxi#UiliQB90*l+S#Iu7}$0I~X1+b}Df*FItuVOSX@ zj7VO5nNO^3DBjGzQtbCsi?IrFZ!&d^!Lq6!GrYWdU#G%Xg!|hb9Icnvy!LFhM5H*B zBqmO~?ewx{J#+L_+up|Kq$`@Y^~lOv2*$a6!gW_&Ya=taRB>@a!sVBj^!unOY<@ z5P#eekJ{FBD)cDI%+N2E3v+SLINrgY$DMCF zDP#H!ya@8Dcp&;@)Gub;s zj7dEFq^#pi-fUrB5OT*yh0Ygrhp}d%t%pO+fzf^TWcz%|X`8CQNT%xV1y-F;Ww+nT7uoA+PiqzSS`;*o<{hWHzmDrIU@O;==Va%8 z9bYzgy)Mcd8`+^Badh1UZ(o(LF;^4*TCMO-aEq}s@K>inRw`?Cel-++|JG3D`!Fu? z8|4ROQM(5MNfPmD?;|2m=B<-oMGxP3Gb8cToI;9VyO>unCOUT2_-FP`cWZa4fL~0@ zL9LrM%;@AAH=p+BJh|xRqTo94n&W;dS$`94A)+RnMV1y_tX8vgEv$3%BP>X%o&DE@SL*iD+QO7^^S z?FjZP^ZaX}@Zf6-wV_Gq42TV~GxI$|o|KLOt4==>1@jgyQWxVXUv~)K6I7mntCiX} zXQws_^rXz0eCZw9Hd~QS7@8PiC+@16P*6~sUj&sV%36S1Sq9`>A_v|-T+WP<$Y@7% zV#z3Pffs3iK@<(3XnVp2t~;e)*9(*)=Ig>!7`xf*ko7*!jd=9_O77Y1a1HB{Mc7r^ z0v8kf-q@F4IaI7Ogt3+Zxv0)^*5jtJE&%=ai*bMniM}W&)jrBB zWrN@D$k_3p;nJEcMKbl!KXs?bBP1)`njK#y(5o_@LkGttf|9r1SKVR$KKGqjJ22ng z>P%ldd|=m;(mL`!i&$WwgD#g@$-@uEmbx=V#@xksaq2^!f7w>$^yEUxdeb$vRb&5M zd(WkEukI+f5*?VxY$#8j>QQ!^H!kB4&j;ff(8{fR`#aCYtIE3jSc&-qy&I&1V#+be zOn*y4n@m#a20n4d5a}n|~0djI#+o%ihI^ehm?Z*3RzSO3kenSV8OP5ttmx`L=tYOzSkVB4xx zcIu1<7X8=uG~&{s!KXg_n|~=?k^@j2n+8!o&jxc>h%|ny^P+AKuQLC{v@peG*nkbX z4_K=9Us~hsyyVl{{YEat`Zb1<8frQ-g22~L4CoX)6XGEM+iS?*+cIf0Q*lQtZP9`A z8fDKIh9SQvq>@7u^Q;l`)P|?js;9ERmn}y`5p7J?UxMCbMIu@VeI{l$pF9vD7URgE z?}-ShL&mM6*?M2tooDlXfK$P4c63k*c?F_(LeCRrmn%JFzD!L}{CZn~T`QoSv2G;0 zZ*`7)N?LRGD-%bL{QyLJ+eveBKCPect`4y;g5&1RtE)EUhpbN^t2PZ1F_R2B^P+3t zr!&$CcXEYO6mHQ9RMCWD)1Rqb>-+QRmu6^}4)evL!Hs`)t43Kg! zcoO66IbEy=DV{)Jm!t&& zUt%pht799|se04JhCZrzYs`7S7Xw#kZ~mhZl^wXyscd9OT1sQOps-ynDRH8Sri zq*_R0%Za@otv?A5?5I#x1go|gmg zGWqSzC(*D>MX2|B$tUoK3@wOgq9kTaNAT?ukoBHn67wO!v5)#i&IKQC#EFwR3Y7}f z58^JTXwhbk1ExoW>?P){Z|jn_Wd7>+T9~}9bS#<`$NsV*T+fbjO{oWRqF2=ss|qSj^}P< zWaM7HE14do9{yr0Qi7ab6W8M)B^_g4|8GueE<26*d2wK5wuuU{TnhCyu4wU7;1hTH zXrMiwp9+6Pm2^f(UV?wgo4TW60*M0AEESi!6{O1jLJg$PEmbSnq3%D} z&(Gv!AXW#CA+gSF8~(Ri-GU6*%V1`Iy$Ut8xN^L<-OqPV}~>`h3N6hXc7S$mwP@-Fap}A1dVXiL2bbKT_rh(>^AY$A?*82_+e_b2j1Bm5<=7=Ll?5l|R1)BSr;5MYQBe zi{~)p8`%Km|EGpG@^A1Arls&U0Sp_nJdW!cE~87jh3)5ta1iMH^euTf&h!8`t~^b! zdL{tU4{-s}r;siwAeJV=-R>3;6n2{AxyECH@OwV@cs~_Sjj9NAqrabt+`e(&Qd2yC zq_4RNKeJVleu8s7_7P=dG<)_{o4j~=je2->q$tvTUg5s)D51i1z+gvU_wZ1H3=kz? zse3*~Kd5v#+mQTRQsxvJBd?$ivrzgtzNR@Od8eZuFm$t&7GUK3H`YkWEPV_v8~T9tJvdoOWE?;0BohFV{L$9?fMaYy5L0c$=#Rl8cuyy9|or0fB? z+erC!e(cXUxu~DL*2S-Y0E~V}>&W?buiaw@Gx$}%hXWiU?NFdRG*EVQ8Ab(0y z@W@^He#wxp!p?WKjPp?Xkqda7DFGAxi{N|{AZ+VYa^A*Cs{YAimh~K?S#_A+iYogD zJzzkKi*w@}S=RU;el-(i2VZoj2IZkrd7zU)+w@##jzv7TymP&^!#C!TRhp$LixY+I zM0mUvu2ejS=}0;*GK#^s%4}GQ{DvyGui?>9QSd;c%=4Jv0K0jc8oW7*Tm6Itla6!K z<*V6k^N)uiw@BO=5-S;F+;2W96OOC5h@Vb0S1Cnf-NFuU(T4Q)I16KBD~?%T;;e)# zF2BK8pPS47ysh3Vv)xR%rYUWyb$wdEPI)mJTV*Q&qCK6{aHg@;PUz z$Sh;~3el#J#;oEF`D((PL$k0^?u&3T(|qFxpUWi7O7C)tjTBQRmB=XO2(Vun*?y@% zHTA4a%d^xXgUexUIG>X8`Km$~+&Mom|E{q2o>r;+MlQF-CTFj$a7C4jNGcDea#y2L z`!a<9m0m~W`rH>U-%Xxg8c!a7$&yo7g4$;OHI50!9qckDp2Cy@_0ACD`Q{$CP^iwa zQ^kSmZ*~szRIB}G!+Jg)Q>brxGl}^13zXG-u!u3Cq?o~C$=LSu;*4@ZI_%9LBl;Iq zkbG0U#zgfy?R1lwII&#hq@hPxvqnaDVS*d6Guy^+Yby#nFjx5P@6MnIYP%;w$KqVl zb@h$^{uaC+9F?nG@1Yo2hm60V?nn^{oVeAj2_!e@ujo-aGw_M81=!ur*<>168nWWD2Apo=;V%^(B*0?{TtrGJ<2}GhmGP~=NLqu zOtq#`Ds_^uVffg=T9E9s&VOVr@r?Rw;OS-tLj_EA29ICqyjM@0yAuB+vV&IAJ%^Q_ zxYv!Djmi!wIDHM%J@I6v@;}=6j`S~f2H}8R%{{yTJAR%(n?I+X3RnCs)1Jd==nc&p-&ylAE&gl9YS&H!%=KEgF zbVN=YvJnGG?Bhx6ZJUM!bEv`!aj?`Er7S8cd&*l14G^4@Aemh2--gx)HZKCC-_HP` zcVziNp1Z`z;G=M}g2KMswM1NDI>6@uyTiu-G#a^U1Ek#XSGhvNNae)Knw?PyAbdeh zC6*JqgqI3XWDElos2dFUA89#)zXr9zAZry1sJ7U<0i~qvXhcrPznzeOB++0)bxT?# z(JB7XJW-}&H_b2G+%~n5g@#%l{i;n;hQfAKZ|nm4)`299i9(aSLO%yki#)F1`2$q$ zisAQ=6o0#OvFByxfD}phSqHdNZoi}fj?luQh8&^ZQTyibao_BqGSumwNqV^C+`7uXO^O|e*ub4$27A*I zzX>+Um}?PlvWYx!<|q0vLqpR1%%BQNc%|Pv(7lCka!50+cDh@sj4>KfMgKUaTkTs=B>ZyX z@afbk%X>dO?B$64`Roi;7==*0-SI#;Q=}bWuZ5JZNL%puY=KLx9f5Lxv8=TXMa-AOOt8uhFft zyCH>{>g5*1IS~NB6Q8ZNV@L-%CaY!^7Wz%i=< z63tIjxlj6(u0A2-sPwJ?{`0|oPFXheaKIno|GT~7lGC6V24Hn5?Hq}+>a2z31S_~p zlM$I3{t}Y@ufUoL@BW7_XTL{jM$J{=ue>UK)e1R(D3?aIa@x&AtAvgtGM*)cmO#?F zrXzlLXy(%2^I6)zfp0Z|>xkF4s*HM3l=r_uNl^;#)#?iVvuc%h!D}iVC+nPU^GmRZ z@aFR`%%@4cQX;PZ`Wakq;!e0|w-(AJVKO*cBiE|n{R#<=J_=$3BMr|>J*Dtxzk_oB zVm`n1?UbKx&Zit{{E5J>O;1LxO|u%49Cy%C9CtV@;K(SKN8+s!6X#VoDA@>$N1m?` z(`&OpjfPk`03D^ZLVOf68o!?s15Hzq-Z%=jnd`m#NADTvK$Y(Z=MG2Qp0i`~1IBxi(P{=T3#bC>`>0D?j&%gVeLtk8y`bwuhywQx7x} zp6ipM&}tdXVz5Oh5r#_aWC%Y|<|YPETx?cyyMPV&F})38Y>Z3Vak^e?ze9iLYHRE3 zQLdb0>kqFhc<*}BeH6xZuA3POr~HdyK9t9NrH%TY&2bn)L2Bh++cH^@s>R5*&AJ#Q znwMZvbjP{!-a3DQIEz3j#x+JG{`=iAd*Ao+_tqc1kr%)~(i`IceQsg7cQ^6-tyuT! zOvzh;0vai$P2EQG{${qj73eG*(wGk&VV_OYdg&zd!#mqqtQm)=v>fTmT^6Y*C_hC| z(b4_Kbz`W?XGv@)oZM3PVD-qaHbPyy^!m^J{{}i7OFq39GcONgJ>g?GA6Q+vo{OV6 zVU4B)HASACw@oJ-3*D?Nm-MQ!a9Z2l(8z-fDH~NNZap9iP>A$e*CMLGJBdf+?y=}( zBpQKbphZ&99GF(|ZjKV5{98obtCD83yllkro5)b^XPu;Fr_BIL#87;Sn+M(8(NUL15pKP!&ZQtn?}GPORRetY;|5v*}Z+b2D%7a>FR zA44t{@TP7~F){9U2{f5clxurj1;K$W$>ICXFR$Fwqt$ORGLu^qBQ{ihvViu?uz%IR zu7)^m%Ot`SXt1Cn)}-Cd9Lkf!vVBtO3MDyJ)m_JNK@vokUEk+zDD37yjX5&CYhWjM zWo_BnCv3p2Xou*c6?J_-N6+j2bZEbGzv;5dGUc+${LN(rN48o-H>;T+?F+W`H$>S-^A^94UOrJKazE-y4tJtZiyzT$lGqTpaB=?D7yhbF zzx6eyj8HMXe~pT2$jy|uWTc#W_?kx~7iZJjP;UE#*zjX5IWNN1k(but85YJao9H$B1q$j z&6b4aX`?1$?6V>>%68y^;H7G5k8^(Uc9EV&U1BurnGY{5D%xR( z7~j;TaXa=rZlkyUQ?SMSJ~#~e_xvVmvVaNvLGr~C&acVd3PpeiUq&U(_Y9~O>Ph!l z5KK%IOL%NL4PT*3E4J0-_8w+mF&X3_z|9^)cB;-DShq>NK247R`-Yi^|6W!*8(aeY z{(q&Y5LY`oPp%V>Ma^Z;3CU8)7ZaTDC8d_n1|TFV)darw{*HmF{h1^z;Kj~g;f!~S za&*UTZBKomlY3F1o%F%#9K)8?-I>eUG0}@z-%>f)zq>t#p?QCPH|O2f*A~&6CUO2d zx&^_G5%%kBg_?jrv}<|f;n{VY2tkM|Pwky$B$f9<^U*Bp=iLXML<|OEJtjWU({U3csVfW_Lpe}k9fejo}jc>X95esA)&?6VHHh){G;w1fJ zu#!Wo5bwM)tREFB|OTIG)I25^}zvb{2}DHMwofhWR#TLD#z+!*jpXG8}r% zEQ`qL-CdYb3zRqeAQz(rh6pB3NszgdpmxKGOzy;+G*huB!tad?!^B<<=33k5xgCzo zEH)SKR`82g$Uhe|`@ZstAg^w5=WPfX7&5zq{85+cW|W0Y5;pmLooG;q)BKQy6#8ir zalxS-{p!~DPx`SunwoI*;|=Oj51Z-F*h_1|)hu985rs{!!ls>6kAz8MNZ3c-9dzu9 z>Le~3e=I~9f3Pz_0hoo zAqf!k><%p%_h}7umKf3nwy?}Nok8t!v=AmL$9kU&EGJ~qs!4z5mzZNB0d(0BxlwW7 zE5D~n5w>r!B|Smu6*%Kv;1>pkp1~qc1xQWNf>gLidq*a*@{||ui-*sDxN6IVIQW`T znwTg#R^HWXp3IVYu*io3ZAR=49vpetLbE3wr@fIZ zZX4nxOp2UuS-ax*Jmkmb2ZkmO>NkoZYzeSkt7JY+^FG=rKfXOqGw!_6j`75pIe2uW zUl40xO@$>d{}&fNe0=e<30mRv+h3mo?QSf>ESh1j8bUjkJ1mFWW#7w*5@_9<4$IlN z$LF&2g2H5y{JSwvf%)#urhgcgisO{Gkdn^cuMdSuQ1!~^!5UgTa*XbV&e4*Ok4APl zuol3&5iW}7iS@HXd0oMxm|&fcb@vbYK1PA<7Mch}?KuLYR%Swm?mZ5}!f!g*tEs8M z7qXO+D7E8wL%-y&^b5`Lp?D3$Z#InX@33Tb7fFQ%j~j1KH`9}GUALMMc}(ejEJdT9 zMd|R_*t8go(|$Cavk@^FMk2JmJ2d5pldx08KZNo;qmT79(Pq=)pbw4RTYU`6&}>&Z})vXWe5eD&QGpb+MRArntpYpgcTp3TkMMc-BR9s zGEn2QJMWDrnT4KtSEZSjVcux!5J_M8cx7+XRW5!gt;`I+f$VAR`?a0uKOf{Q3Gb@e zHVXPu*pkaYBM$cp>e=A!Wt;n4|Lf?9EWJwww1CS$2Tp8(%dUoGE4crKtJaa*fEq1s z-Mv|Fn{;m-5=*{XiGEWm#Ai$T_#*Zu@OcDm(~^<+M1=mwo+!8ZiMq+(LJUSNf%ctB zy?jq6GH=Az`@PBZ-K1$cK2)h(StYOBIA5!r3y-rqs^zRa`p(IO>^MGVaSYj23I`$- z+sv6CPt&P-;R(%wzZyqv_3t1hMt16!<5)49-wl#F>yWQ9K(j#&L&wm|bi(HqIQheZ zq?muA;V^e1iOCTK-^y?$7TZ1|ISdrueGc5!AJ%bq?KWa_N^(LTTM>5?C@+s|bAB18ALW?Q+_UNM06eBU zHWV~pBsCGYIq>x`r+RKPX^5eR7wPi=)<$;E#?av(4>8bTP`Kfkidub~xd^Bxykm7E zYkv8#MU`#+g_Nx>4wn36&)a0hq!V6ETU?P~SxuOxUg%2s{sNGQ^gpN)kb|E5aI6=L zQ$%go$8HwIAGWsY+uHIa;cyyn_v%NHpKf}|T8mKF%B#S9)t#Mdqs)n&xv6EEuiL_& ziVDXhb`+$RKMU;nadafn-`>R)ieuA}w^%G7(9J2t-nuvE`%B#>~~D_lI5fDi%4}ta?W{ta|Nzhxodi#Y01< zT3TCcgTlhxI6wRvql?P_?`ll1#fbZhVVQd*X0y^?C;pW!EqMxIUPu6mX zeJNauxfIiei|^zb`rEfM{iAOh_iA*-onx%w@nCA|RPTiVS{I&ijA?hol(u!-5%+Ip zKB*?7gVm`GS|R-!(N7|e^pmfi)GMO{6jN=>JX@qkXS4a%=f?oN#S2HvF(o{?GDrq3(XV3zy+oyTPt;s-PISR@h0cv2BcX=i7M zLo4u7AzJN*-c#pOg2~)Va$36k7<#vs0T^E0s!{%6etI-NOtgRBL*&_Ud!tw?ocv}` zgeSkRw7Ayl{Gs(cj^n%{4eG(q=NG##N@1fAH7x{ zC;0MN9*5Mv>#~X?o9yLmN?0Q`G$Y^%N_r$olCWKr!yFAb^0K6PRKR4K;Rl|DWG%LX^4#y&XOyuii{lc~?kxqH=Vsc6X5 zTxzE-+r54V_guxsWfFF&d2Yemxc%E++Cy1o;T6pluc9aFo3kS)>F+(Nxpd^QrhTu{ z)(w=1N0M~Z8PPCE#kc>oAfX`FxltKKR{10FrKZa;MzS^x7sWBzr}q_FHpDQ_N>&tA zoW{j&mB)%vpnr;#Oa)Q_gz_z*drAiqdPf0f~O+f+pj`*KCNsnBcvh@aaJgD&u#NdnMh z+PppC?~)Zj^FG`^=N-H)>%2c(G*Tfst{`;N)o$1PD&-R~RKEk^7^9kNT%%>iuiN$m zJPbKLl7tFa6-?QRFfp9Fez(Xa;nC3zwUV`I=0EMy6y7NaIPTkDxT4BvM3HlP>%)sE zpnj1xGQ^evFaB^cR}%#A%}_r)2~84$-JUF;HO{zx|7R0^;_Q<MpfaIqHc!`7PKdOmFP-!t(OD~hp54^f>4KTQ{!8h>MAr!o zi*w7HnFzT;A$>hacH4NUCqVY7x#(%4jWpr0;fHUF4a-d`OnlS7G{OCc1|>uVg5Ckn zZbDH+DM0Z3?OrGzPQo$ZMWms1pB%%Rh(}{wriH&|`G5)X#zVb1LQ=yTI!(tjLovgZ zVE7cLljoYFn$mFrC7if$hmp^ULjU&#DM3l{@0r7j@C&;b*N5GO)QP7ej}wI zxf(+HUMQ7jo5O$<%?HL&w#s-hN-C=>wbXc7tR>w|QBWjHF(c_hjvXcz_%&ga{`(yC z5FQ7o5vfi>fQL+=Ba}nsY0j_z?z_~eu%>TxM#`T(6#+Ab-H{9^K=(*H?im@_F93K- zI=~e^%YNO?@zjnEF`C=^CXcLk)eWKB?^LAF41A$!7{H;L@`3VBhl6pa8Y2G8R~vuWJ2TeRgSqTM zzAb$0HI8a^Jg0O0wEg2%KJ3I&6kL2Xuo@yu)LqcvfLu=VM{(O+28eV_vU%g+qlBHl zH(rIh38RvF?$ubmGc7tA(>WZv^abnUVFL0`tesM@xFlSb&{R$}8>Y0c^w}rjN0U2; zws-^@!0f30o8GREjWrA z6!Ku(Wn^YWvyj;FAAd+F5P}yAw#_1#sBUI1V5aZVsljTZ?mgfuF1Vx{vwJu2?GW0IZpDH;TQ)GZdIrTeRtERT1l!rg=gxn+tq>xilqruQsA>zP|f)Ov;dB z>;gf>@mB+~xMl~C^ERBsEopGVRV)&j4;x{Z0;dpz?WJ(g|D#A0Tw$lE^b?mkepH?9 zR_;W|U#W1TRX9qiz5$VT*VZA22uA>EYK094kpR2E0nq%|NYnVtCHb2-Uq*A^%W*!{ zT)rM#G$$o0bi|~_QX$;Fs_AjtAGTYHR&V@YYik&2INqdE8 z7UBd?UsLs-%49phP)NtI>6|w6(xot~+rah&^pNuBN6 zXEujzSie1*&gEoQCyj!{nbD=&*PDHdykV54%Lb*q@;>{rDMtz3@q@d0=J<9`2CTX` zdii>?a84l#c8rseBR#*=BEHP>K#~nkIQlIR5|I*iqlg=0$JcFwx2Iak;3RgaCGS>IRR*r3bLp4?n|{3QMD{T8~Y zwvm68sp~IFJ2&4s7VTD#y6ctpde&S!vHn2!c|te&j8i-otx+lmuG>_rb-2@0toADj zC<=(le{t?>;r@5FPan5-;MX3}60XAdyxgMN33c-3K;)CiwfXQr#i%$4YUJXJ`Qp-u zwS2oL4{8fi{W~51d%)>7;sp*keY6}MsDcrKd`C8h6-2lO+taqy`<<9$0)LFup%F(T2nCd}Z0+(^R zMW~ZTY{(1NdwQ)vSb1ZJ57Cs}#*U8THHH|d*pwJ;`OoAp8hrhqv&)YATCV_7d8TDT zDB+tpza#sJ)}^(`a2dV`tsBBmX{2Z8#<^ykpPTMYr)U8Sm$kX;ajkCqxO)>CTHKS9 z*2u~(=%Jf=v)g>Tz7tN+t;=VQw`jNvBfB{lXfRCdnJN0IK@Lo>-5*GpKhO=sW^(jj ziq)1QD0OwB!~jDtz#7L7)Vw7vUzdazE%J1UQIExuW_&r9;-ICqnJTg(@`Ur?{c0}Y zXG{W$cQjnd27d^q1MD>GKKWfrlKl@dkKw?nK>OP}%5=PiS3CP8i39oP%cH_?7B>6d zM9T3tnMl6rhK*Ksftz>9K+gjFCu5M_LmtDv?$E6ESnY!cE2a*CVt!r*kzM!h~F~N<@}534!lB7$eQ<8_tTeE)83oKIb%^CSHJ#ZZfY2{!tb` z_0~s8TQeS#FRgL5?yPpt1lg&f%I?wrXI@%-vc>0C|5RuwQzZonQK9Rqu1uL3i2~C*@ zaEJBXfz#&>OxZE!r90+o!?cxjY=$1sl~<}xRNTfl@IUxT%@QpR8SWDX*cQ^-dPEXj1(4MZh39207qO-62C zP6Rsp@F~n(mldWz{<&D}g8AQc(uKNAf%*^scA!zy7p2L-R2KjhpWIwdFmt0ja)v~y z|0D+m95Z2NUr$&yDHPxtVb7QTd#B$94ATsXf5A*VZ1Qv>vTlB8S%e$6c$*vA=!KgOIm&RSSybTa(zvz{ z(RFu<%xfCS{lYV`gMt+LU7>ti^DS^c*T4N7Kl*2~Dj z^q7>Dr$Jd)N%_dLI=dofnj86oARe})=S+q3Ik}h%KQmR4xs7!LOkj!S4-(jc5f<1i zp`J>09v2^cjogUyPow`I_FUC5ds{?YC!9WWaqqLthxS&QiXCkPg-FF0J;HU?_$C`7 zsK6J_an^?T^0x8EFL6s2;L0l<0mj(Qd4CvB3UuXR24xY*dB@h{^*O18CUpwL58l>4 zI#DiEpoNvmTkwefZ!@`aK|#VnY^&|A8dJgx5Wua5G?(k0)KAlY?&4^owbSa-%F(_mrq$O2@IBRbX|4k19Psu@IGj*FlK zDKiV*UUz`*y(47PHj!NFX)niV;O$q-JFofeEA5y6zD5c1}{vjG7lItXozViqV&|wP^@S*pJxlpwE=f^q{ zzPSWeKO`UrEamo9L>O`hXR#BJNVKBuHD29y4Q3NYZ-tXvvUhC@{s*Z>1>~&muoE{ba#;LkR83kF<9a8WbZUGzA5Tkm(>>`{gye7we4at#VSd&w3 zztH6X)0d>c?+TEVhAos3eICKXaewQN5#`#{1Io2AbIPrWG>cP}u(0>o8QZq(G6&y= z_k5y^_?7*lm$*)Q)@$dmFnQgzZ1G5@v5SK{cVWG?mANOm|Fs2q=`V#eWa;RJrd-*d zoOHdY{JKsSY|;TOVg2x>Q%rT$z@od`=dbA*T)$X^8=DIT+&ny@%4z_<}#+(3rm(N68yS;ERgd+UzA#dVWpdcLErs7p!1*WUHe3-mcu4lJ_$ zbEu=GTbuB3(RsFY`BLCvfS7RZbY)gE8J)?pnu|`*R{QnC4UK1p`R&%K+Uhoa@$@5R zPq8)Uqp%P<`%PSF`G^^yS8f;h?_)gT3T1>5L;sC{Ratk`0jEN!UY-zqt1@Dz>5pEn zVkvitEE#6R-v&sn)cDvPhzEh4mR~%Fyb4e^ekV|CxpI|KERlBVw3D~pQb;GzExu-3wi8$ST7B8uu)=| zxEx?Wi+%^%>q49=1pr@h-dV}J(!`n?|K7$#;-02{UG{(Sl43tp8Z!6 zs^FGUa5sNH`k3j_>4ja_^fERvOX0oJf1Sq$H^a5=n3%y)^$<@YCn*Y_3zYl#0U3o< zTBq_~^&gwOI`?AWA!{}c;~@l6Te*!-1xp>a0Pl<-b z)kJF3pQ;NuMtYD?{m<*Fkq$`%hIRzJ#dpLoeDrO-y(>`6Y5TgqE!OQg(DYg65R$J& z(lVR;N^Akim+wevJ}h3-cM6#kHO7*|`ryx7qWBYcUf~MLIx7+2&eNgl5~Mj&jW;B z{G<_*aD90}&NDM?1H6`W6a9N3Cq@b~ND-%=tM>|j^I`MZ;|$J`6pA_+DE)*lgU)!#*PEjgKir4)$>-Qm5yl4CVZIQ*KnD3 zILm*u*f$6JP5ou4qw?Y}Y3PsTO4s?a306 z`l6zyN=l?|gMT5x;^ZG<#BRY~5wF>f`rd|k@k~}IoYhicWRFUH%!Nz7wY%N_SH}@l zRw9vYxKwI1ppAGgY!W7&Wr!Idv%QdL_m4^Bnx`t;{A=je_q1m)6J{zbm~duKilJ)Q zx+;Ca=tFlNAprjZ{GD&oNho+{q{xt#>_C04?kjDFQ>!l(`a(D$a#C2%3_=U#Nuk-}#khd8yVA^?>s)bN#$={kjgBtByv6Q}*o*Y`Sf1L`@bji}H z(Stk6RJs{FA?H`vVA?N;gp{Art5+fb6LN+U%qaqJLl8V8OM(?gIGv)_oNbu;EpFJd zAloo@*Y`uF{uMbQqv#)D`K`)bj9;+I!V^-KKfwhjx(F;X@8L8TFiE=si9Rbfc!4aG z7@JZ=o_2qu6b<%`60s1x0%jDxc3a7psmR_p7*kq~^CL;>RMI*3?7{~N^Z?ja>P=KY zq{^2!Y};s9ZZzN1M>br!rkj4mPDLUX<8v7Q=u46hRn_JsX?|Wp%Je@}$tlkR@KGl@ z6v0N0!<^YsjFi1m1w>men565of!$;yx3aV&(`vh^Qx1=m&fNCNstD{r*KZMlnfrvU z^+vx)qCFZ_ppZeSe8R~&{|c%seq=u)@Oj||g>_|5TiuQVR&|5&a4jK0ubM!|1ZAW|`w z(p@7OO>)vjs}xLTta^MU;p=#g=L}B$qcPaPDD=!C0x2vGZl7H69zdjcQF3;q_xRlcd$zp*4pQut5;KYX_ZdMGo8DV1K0 zgktGZ4cVE*?ETII9D_ijLPQzDp*~RX_xd>HuN6m0!6&MRcTXROz7ge^3MQYbI#qHG z+LCj|KyvG+*bop9-w7323F)Ntd@Z7Yy2 z|Gu?#pnMC*_IJsr;smo4vIq(0J6oOFG(#B{_Xm{M21GM;KCZ;r{w_nt)mgU?!rI>fe0Jfaf=!iwt7WWmzn~r zQ+=D*S#?xQ1}s0~qI8wQ#=O?r=y6YV0ot7k$M>PcBy9OPHZ3Z}KWLsCq==)V|eKLi! zT#4r$Oiz|G?PHILYM;1+$gX|Zsr{sL|CeT5{$%X-J1%D9JDE?9$zQ${@P>d?l|{ss zPwY;yNoUog{9W4cflg=IOb0L7YYEOh*>(YX=WehQydgPQ(W+~>AI{9!d1@uXV|cu2Tng4TTX^{!v$J z96g-iOF#PfB`GMb<@b>V1B5nh|F~asR ztnnL+PCZi_BJFAEs;djw&wfLXp7httP(h7lRH-lyWw77A2qdKaa&JZzOPeNIdK6L_ zTcs;gfIdN4ybK?nXS41fM(hgKkQlLwA&(-`{b7TiGGK3jTnD1nU|ut=%NR%M-QvZ4 zsjTV3^FiIgId3g|0`kIh@IDv|v6ki(H`IHz#T>#Yq2ed`YwYzkl@^|7514Zd`VIHX zr8~|;>g+K+*2Jhka#zVHX4;0GgrnGDWMqU8HXgcY#hp!*cj$*M($J>>0C!nBluD{Y z4*=ZiW%&KHp1R<8iyiK&;AAshS5}|tbcY;1e|P7;XuVf?X^?wm6HeU|xAG&PVYsv; z>%)pa;C;w?{3p{0f-Pype*GM*11)0tA^C4jUPP^%+acb%gal9_`|9r{Be7_bx?mNn zM2EDSbvhLKB?rZQ7l3%}sW`Blp5B4*f9mc-# zG^Q*2_ixr++p{qE^l9+zzxb864b|!2ubWIa%{*RH3T}Zl$a8i@m{ZCZ7TlF5ZnGN zHf|a3L2U?V5qEMjb6r;}&nf#4}G2?2Jjqt-iy{cKypJ0NY6He=N>yE$w z@tJybCD`uc$M=$RJmf%OrnSe&{eI5)hFOl??oJ0IQp7|yAk2Va5?uh)(!?n$!K zRhG2oZ=lHxMr!D?84UTd3;mQ!CVg1#5*1s8P`zvZv){*lJ_-H!`J5)y(3k0wlfWnA z;==u>pj^M&OQ>1g_B9n^KRHn!uOz5>^SjV&kY-Y>Y7T85zBPiK0?ahO*A1?KJ1Fe% z^-$DRxV5Df+K$kH?#F=qJzH#aJ*IHN3iL~(ov8I-*xMD|z2iGC$&^kv$=je=Az5{a z@Sgx+!QERb2L5{wM)n%c#KhM~Zf%Z}hPdIWzd@>d5a~81n5)95fb6VekiO8GbmUE- zQT|K0y(P8gdE3m-A8EWk#-CVF2|;=2h5Z_C$iYCqVb=K+IJ~JJ?x;U4(As;*)9q^OSw;Rd_Ihj|&618#e7h=`rwh zR&P7Q-(#b$_!VNbD_+G!5-@h`mD9KM)Zg**^_xf#uInP;QS-Mg*?Fya)GNn5-1`c2 z>_^$;QcAQ{0)j~-x$d>{l>XtDc6b}r+yJItSx)WcK7k!(Xw%(mPITD*a?xETEF4FJ zJw2ErE^G)~)H-V6)Ot6weot2Na(49`iEqrwHF!RAS`(zA=sN^v;)3X8pci0IE13e& zv?Wsss5%Ppa}nJa;=JrT!{n*#No74yoDxj}6a)cQjqTQo*e+~A(%`!D;yx#A>Hn;W zz&26>4M{Nb_wHCz;9n<>REZOpP=G#p%iQX3n58O8lX?Q_!r;**3xm(hzOM=Oo>>z` zdo14gi+joH=^h@R_(5j>63Z38_2giL`RO)0O_DszxBDNq8wZb8V43+f3HX-eb0~Rh zeTp*C$C+=AwrH9&g-pU|jk-9#d4>f|bwayQWzYXRZ8J>|mrecrpiHb%^nygK@dJ~Y zON4x#tK(e$^YpUQBNSXdu3_$@@qf3IKF8fQqxT%GjwwZs6j9>KU0>l`5-wsD%DGn@ zxA)tBcoN{A3tRch`Ljf}QNfz;L2qF7X{mtY>0K2BLCNB3>rl)|SPe25A=41XRtFc& z_3XUF7Juvyx<6cRjwc)+;e~Zie+kttkVksJ|4==^MO(~Q?Z6;IW6_olECt!+xfz-$$bo(1MJ9A0?P%zq@(+qZH@Ve$>#$n4#kLkM}-13Yd>H zbzyE&TB692L$0Jx2AyDs9~L1-Y5A|JaqvX8-a%@Z-G!+IY7Cb;nJmE#><-es0{V-8 z_9j~di&NIh%2Sp?YQ+ThC=>!#Wp7H`4cPE<7gz)wDURT$!vF6fBfMBEd_iG`;5=St z{EB=w-y$p6da(ukT+9$N^^}bK9RR02 zCH+&DbmqJkf_H1+K?#V#U${~6sB51Epzkl%XX3X;89$Af=*`Z;v)T0iO5Zo<46S&H znS}+ZhI^VoK-8cvP#kO<2l)jA1PE=6mmAA@uV-Gqd|4pqluqBDjx%?k4gYEPcqX-D zPA%zD=PQ9<1Tq2m*knAoUv-hBPxv9_)`irUue{RjFn8|UajfpFr->KQNbhvoA-wAd zmNql2ZZd7Mb{{M<;q=m`)j-8C=bX4ipNwt@chlN)ScDG@J9vHl^^oUWu;h`pNvd19 zPs3`UWo^==G|pZ#@5|Fw)%GVzS}F)wmnN&5qP;LeP*;xR${bI*_}A?(E4!pCRaBuAIIlh}<21@1i0}G)y~LUdi=jt>&_?d6 z(CPZutB`6Z3bKsFJgX?#cqXysN(}EmB>juefICv~X{#8CsQz(>d8=fX+;wMr$p#xZ zD9E=fmkDq@Z%$e6($Mv*g6X(yDH9GX1H8nnZy)EFUr~f^z#^D)Ld*_w^G2FxY-o${ zLsgC+rpEsYZX8AhKUBq%Q1vaSXK`Vpv1E~}gnlu@DB^oPI1D6f5J8|DdVvt31)j@o zj3D!*7Xe&Tyx-UkLXUm%|Cf)j-wk)Zv-nHiIF8@pDQI4fsMukxT`4dcgDVj#?q-F8 zT9XJMby_cz*EgJfa+?7}??w+=LqF1Nu>vPb-@UK^F|paC5B#%wtE*1~*+zJYMp|;q zukWvLRjXQ>$iDPk))MMcYjYYM8rJGw%OoKKmuXnLen8FeL4HgaKHj~a>MG-Eg41+Jv!-_nF`M|>huFA7l>>%YY; z7dEN9uSi*#EJSoE2eDr;uRx!}Y&0rH6JRy;2DI~C2IhX4viQvluu5-*KX=<8Ezk}~ z?J^5UX&EwL{p|IY4T*0odtKQ~J;Yc196gF*pb@fo$#8{7;E{(}nA;b3?JVb+Vch3-yZRcfoJ0Ha%4yxpD1&5$%4Y{~9k4R# zr#CTKG>lhOvzC%xFxaTO|A1}pH;Ku*b1uE__>baMKHd6_zzTYxw$ z66_h4TZ#Ms>z%+@y%3b}j9-BP-r^RQxI z@va_DRalVs?kl8G(Mvc?BzDg7;KC5cQLI{uvjSBIM=QiY0p_4zjrA>uF@KNUe#tXF zWKb*&M_o6bQGHg%?qD4R_#f<3%X5#DF#SYX`jAc1CUIlEa*60D2Nb#NBEs z4WAB^6d`)fK#iKasqp1WMacT8IyNz0tEor{pB2pbLhh0=nSh*Y_}%QQ_{R6(QVuF1fz z&V69HxZ><9w9z*AP%a z)SprU3}=TlZBxN~($w^*DMs|t?U-|uDNkp~kRH}IyVkgB7( zx&2+l3qgf=;^qc0v3`j)?a9%LIIC03fke$kezJ(xqd2B(kp*>oBDvN3v=%)e#5n(P zc&7M|6+h47Ar}@Ir(vBejhBm`(l*>=p{W6vTobHeOVa!~gGlByMNpL)5;;ue8Ak^b}+3g~=1*sHI&r|o}XvbQVX z14RlubQ>TZ&O`Nz>`-O|4B8;Lk${vCFf2>*ERTX0eRht&oVqWAtk2s`ffUVpQZ$ND zlQ>fr`E=pg^f?O4Bdb_Qc?FFPmm(-HxkFEdWXlhqRUJT0V<6KGlX?r-txi`ivC$r% z!llR{tPmev(#T@~(D|ovbHs%a%;awJBmi2>$D+7cx_p&Hxu;Y(%)M)xy&o|W7b{Gl zUWIC^`C9pV54_AuK$?fW9i9(t!-RG#Vr%P*kMD7}7M&tl5nSn7A(|9E#+lD1bF7=? zD8MI}iuauP8XVZcG;_R#3NutAF1RpNE1FPJuH<^IGUa$itlyqWuG35oR{PW%PGii? zBmIa?+WCuw@3!TYvf;V3OI1hLxwy|ixLRX&YqYPhXCd^(3!#^pzjzHP6c?6`)ZyzIsBa$ zcR-s{2j*o51S&eMwXBArv13}L$ArHJiYmZ)^7%r?iavP#naRDMNQa?}wY_$4pX%N_ zJ%>xTIFuPn4i}gS>dFpHFj(i^@$hHnr{tEBj#yw?pB628{C@Z^b7TuffE*5}L}3zD zSE?Moyz*Kn`NRLZQl^d1@wY7d5#?VTOFG5}_E)L^ z@o6<g3Geg|G`2}QjcP!DLK3&4*k(2nQTxH9AkGc>4 za~4|j{P=@XlmD~oPQs6Db9#H1cBEV>-3PNQWhrL3)f%q9$1?|!Z?8hF$(;ZB%^G0X zV=J1(uZGIpe0F{>Agq-8r0HxP8r)ic;wJEF)QP#N_y)7uT>9Ih=l8y(w%be#mJn_; zP9f1Zjuu{HV1w}1p9X{^Gw#hUe?gk^&3uv@d&y-SlnAI#%nomZM8Cd+qzEtUne;uQ zy0BLu__h?eO#$|80chlyFAj6O;+*_$xD)o7mXukZ*|{ZB@-P<2?ERPvaN5B$(Jw!? zJqXrP_o`j< zF3@e3_#n-E(k#Y%qeP+DDd&&SmD_BEz8@qUPKsuEZmzd3i`+NlmiDF3t#}@5T;Mn4 z97$A8)DW6ZpHB*fDUfR2T#kCXQImTAx*zLpMkVT#F=+PobQuaR)jJfzl*0Q{l#iM8 zm_C`iWD4jr`rn~@-^b`rF1TuZJw@_%*k1M0M1cLKv$VkJnOc}a@7YBBX#A+Oe0BVh z$5b)eiGEDSX(Bg%@dDRvdUP|{IZ2onQKS6=@qYH~Z)Jc_w)FAJu!g@Oib^zlra7sT z=?uE@tv<^A(-9@8NWsD!$m4hhkZXk%6`;i3A+Pw(kJ{c@jrj;JQ>2uW&D;e;m-doR z@685pHN^9{s=Kt*KU!P{IVyuqud6-9S#>L{(VxK&@6^1d*VZutd z8(HEm-?*-)i9l**y;6=zq(VljX#*ELNgmb7KkMZC`gBPS0yZr&{+`O;_w1YaWeSF#oz z|9J8#S~ljWGaytEjP}$5Gv{b8^DII#{RA1G&7QlneKu1X*Yi zr`-~qrX7&ts!As7qK&e@+A6%F$FGDkx9jY5#d!l$Jja&sYZ2VyLXCAf zYba8r4lIA7+Bf9s@JskyqqiNp{HNCPhi{15m_I2N`qyYCq5vAM)S(%zjBwqXc})7SvD7{oerWrRKNVqUiwKCN`h{pqs;%p}WLE=>1H0Ccmisb;xar zs>!qs_W_V!t6{*9JpO*MnO9UXonkmbq5Mk}OLb^uSwfAZjgjAw8;3 zF8D^tJTOC6qE>E#|CGqEquQa3(pe?p2G{{-}Rc)K54y_}nSED+@`Ijj4u z7$3!_F%#Q#mTJ7K^UQ*PDA63Dn4`0dJynvZJ&#;2apE|3eROXTGh>&oy_Rw^q)lH< zE+l=!GSK^Kvoyz|vMvI*0kqUy z433(uTJ>R5f5wrlD|dEfK6+8%#w*KmhzBo87E0qBFZh|uut9DpVB)??6X?0fsRD#_ zlB^1@h%E8qvLlQwC%#JQ;p#wHlEP@_{U432XVHroZMapEUE2A0;*M{={bISSS=pQX zUnAoUUrL><+DG@)g<>AjPFu=p#!9W1cfXxnFQ>hVX!8bILgkbcXn^QsK%4Cg4rm~e z$1hPJV&wSn+WCe0TOlCH;Fp_FhceHAMPf1^4ml7cEY1tG*nGJ{bUuA06C;1ClSmdj zdlh?DbfwRGZmI9)>gIcllDB4?n#4t7_MrHBh)Xaa$8%(%U1*A@UqP96(^28p!ru zJAE~VO7VlKKBoTHaCGSgU~u0!hj?^9S9v%|G%6D#iFY@LQ^|OH_)?y@f|Du#ckDBf z%a4M{OS7l3h`$Ed8|As##Q6EcA-Dr?gU5_~26BlD%byqD#q?Xb3@+Dy?=mZ=O@YXp zOP(HD^bXI+L#_;u#FC+n277Y!CYJ>z}k9Y zxoY=VsT4oIPj_oZ)`f}OD=?yHd+W#T)_0;K9&ID4sBjv;R18GC?Z3ZlmK)@twKLP# zr{Dds)L&ez&~OxsO=k{-hrcrt5`&$cy_|pl*32^Al=}p+&_%Sb`xKcVC$CR+Co0s8 zSNQveRr>kfuJZR+zxkto>)+_`=%mCK$Cn(@v&r+buJP*U&n^_mJQDs~na}#j3V zETPw`dViQ-rKOOL-gSXIF1o}ns1Yexb|i)c3H{vYrRjUocf&%4k?+TCwb?B4i56a zD8IB4BE=?Fw>76{fRfYIU+-Q|W&V*W0%SWrC`0Xkj8}F45Ej(qWwYSs#+GV#MXTtBy2-`vF+NgSEXf23Gh9V zX;|iFVl*jik{v8zi;%27KOj|27A5J@e3hm8RaAXTxLJJSR$rS;JTd#<))O-1v&S+# z7NOwL$jNs~j>?_h24;m|)Yn&Nbn&9(DK)9(y$BgySshNp5Rc1%Q@KcDwh6oD&Y8-}y@P55v5^c^;Q} z?Dpj0t8@(d4mARl@Xo={)mLOi-hspoA@=mU(mPK1_()7HvDF*Q@pr$>7Y|Ck^Wpox zslbEMj>->aL&h2)h47`H1VQ7wRcpV>!+C~3`}Q~^dsqL830({v2m$lBaX{@H8&)U_$O`ExEbxLHLa`>p=7Xi>pl<bG;RD!o zd86eYD$!RVbXhQ_Y#Pxd3&g&3)3J3QD!-b3*LVy2Z{0oe^&C4JKMpHv6MwDpQ5ZSB zH2UJLlnlx{vNKXi7qG%4^dz_;;Gs<7(!W%Lq%}hXeu29Z3%PJ#6_F&qRdBNlBw8WD zp_$+NeHjxjyfRZK%&btJh8-U=kWMC(lCh`f)bpNG5~#gMttk;Z_WoQN3D8Sgxxxk7 z7KK6ClNV3c%(t!1s3$&Bb&uA`t=|cEt-g_}0k=eYXEb6b+r=xSo)Ewzp*r$LsfCUl&0FLlk{rPzNd+QNdy;=(HlR5P0Q$M z+>NoHS@8Etv2E9{mp(>?X%Jw2vEHi>kMXI-BFd=gErrMt7hq5U%s8@MPCSbB#Wa61HbZuuFy1G6 z5SP78cj`wvj^iG7EZK_|g@UQj#)2;FTgI#CTAAsWcF93B|EkMWrn{I}lM@^2)D8!3 z^7Ib#Br4J+C)U%fiNGBWaH6z3F2CWOs4IGQu)s>@Ee%v~w}Pg0?OG#3ru~~t>j9>K z13&6NQI8;h7DR4ZvMe!uw!tj|q$a z4m~+gRwu$voukc1&Ze>bKT+ks8GF^UmA^+eh6PywIbHLZd8A z!@LhMIg2B0r76+6&r(N55MgAroCm7Yb!rj&@3@R>hTn@{A*11bRE2>;p4eEQ8d5~O z&i`AZop4R1K{)5^B<%0bAzjuM7ybM)GyTl$!qU>el{KNR;CmkYbOmJ&hw=fwUe>FN zPk-&(t@eICmzEi<+be6V+bamqXE(%>k{v|`kj4>966rpP!bv%T{?kos9{fJN-SBWH zoNrRP^{+BwLzGSEaI{G4exmN8()cFD*Ryq^ZlRaXhpgyVbCoxuf8 zPEgxaQZ=h%ht4}iq7y(XvA7Er?L=xJ1Wc^+a1gY@wrS_tw z=MxeO0Q<6uX|kIXhBwZQyVyc}g>ai1@$D#XT!vW?aZ%cam=|}lR2fbGU|%_k*nm?q zn^|FTxCIFrLV^1~Rxy%;6kvOsWa%n*AM1~8j+-joatA37qrU2Ws1s(M zqri@VPvNSh)TV0S1<{oQaJ15NyjkJgq-uEKzkbt(3LClE`(R^h{?g~_FIvHs`3SO# z_%RAu%Y`BfV0in-=oU*`+6(Yh9?MG!BwxVjxd+bv9wcDQd**3VPKH@&bV>*2Ewn|i z0ZF21{64P@!YO(mNo(lJt&}5!R`Ew!BXNUJ<6q;bz#qHy z)#uklXRx%1Rcx`4<|Ql@*-T(263p1l<&pccBb1;EdGdwB`J{z=H~%^ny$_+@yD6iL1@0>DLv?`^-rxrZqa z(>XODXJFaxubohZ9(biQwEjo|CJNdwJ*^C-V^JPA=y!8D?0f>ZY9~05>*b`P46;nA z&9lv^&Fz-j9(t{*DUxeAjEsc!aDBNHDvZ2d7tE>9xJM^X^rJ$X{fH$+0IpQ#2MJ1TCcoz%kEpG#(lh!F*Sn zb6+enjo!_f+qg}SeNdb}wk-UnSLj{E)%K$-rL*9Qpd;>y6D}@3E+E z8m`|Rcr1%q(~v!`PcR_V&;F%cj{iua#8W_)>|-1X?WWBX+ftfb_~rgjHJf;3`P_Oy zYN;pe&wzP|{(}s)cE^EKNsdnHJsumV(`FF5T)bnEl=UrlJL4_kZdJR5ge$`*UhSX1 zWJ5rVXDpK?dPmj@KOk}QxmZf%2o&MY=-XUR3$&Q}AqGG{_vM$R%u~sca~w|%PYT{? zHHBlP{S_S6Ct47|D&MAAxdqZqXv*2@4{Ti}syGmfgAVP-&sol)nUSo`Du5F8zGc@F z+|+)L9Sr1-l42lz6}@zHuN}Ew8KwV`l!EF@Lkyx&5x3T<60l^`_t_Z+iv(2fs)C^n zK!iV@2(0Q_k>D&Wa&x%dMHOra&Q$ZU)s&@S_l68IL=264G}+`(+PT? zvu5pRVY2@;ofidYvm1XBa`stkTjvfRNV$Rp@;6d)NZ?sbwSH1ij8~kEY;)|~3j<); zN~?&l%oIde#u-v$JsE+RbTFeqrYQ=B4ulDV#VmmChr>s{XUFd2vCz#{bL;7gaY;k? z*45R@%2paR*hIAF0zerWd)vqbeEz0DDWsDe_E4m!Poj*jCSc_)oV=QoRQAG1mqbp3 zyjgLCC0~iw2#v6}^NW!#1FM%jg9kmoI3h7>Y6}pucA74*fJkv6o zfRp6?TE-%IwcYXOB+iyEYF@T*Rx#9k1Jm_+M^p=Ag%|z7ifO`Iw7eTn<3Bf- z?72%r4tmV7QcEHY8up@pB>d!60nei%SRg84n?;wJ?$0E5^%fbkf_l@9(4DNO&c-2ipg3UvGc4ZO- zM)bJQ!J2be$yseO!lfVnn0JPT^-{cItww(#RiOdQn?YE0MQ>1y?01F1=@Ytj`x^E7 zJc}eHu9~R;7F9-R)#ylD*0{ump48F($Ke}VO0pgol;9h?5PTDR!i601UywT^Kv%+n z^B3p~J(dqvpPM^^*e0V52?nE3EiEc@vHsD!v7B3Y``{~l#QIK~WBZ92o71QSt>-nA z;ci6RpCB{6P70p1h{>l7HA&qa7zt>rzs{Xq#l?|$kACK@;U%mK1v&)rEGSJ1_XI&2 zxHBM{&Wd4%bzTC;UEmi319N7C*dWmuFyg!CW&|yjZ~D*$7qdah{G>QJN*oo*u?j$a zK|X_qHLeyzsmx%zm=hClSqmdhNMIw=V+5PTjtAg^utjPH5W6xmPWC1#*#;sN1na%g zQT0p$#hPU zN&RS4w|h^taP)iZHN$H#oXoSGNYJPqDc^cu6l5K4yxi~9c2Ar@ZV(m4WpE?g7^<>L ztd^5>8|=Bsn-X80Y*AS5W?76*w^JfEz$<4 z*`AzJ@uFnM54p>&nZfD3kFI}?>fuhJbl86&S>JpkR@=VHa$l)=HGup1P9f)$&SmbgV?T;pGUo9Xz3lj&4J(XP{R=hHIk;b<*o@yRDut)3Q<)?>Tas7Dvr zF?MH5d@;r0Ebr=Bzx#%?k=xOvwuhqVE zL1e?qT8_#j8Es!%8f8VmsXm;~oyOsXh^W0#gf7PswDg16?Fjzh`A<5R;ZIcgg|Be@ zp>S!z^&cFyCpNTqCo%v|j%s*4doIO4>Y?6=BLbw>7oAH3OroymKwyi(K2&@TYfYAm zJG*95L2poC%)@>OKlAc2X_0#@-INoJ+{`#sO=&7xRbBz<|Jsi|bM{TX2BAz>#Z&ZAQcxBtTJkE~5(32E`XBNj zANwC#o#mt>fl#jHM~nz4bS_TU{+i>6YIXF!VA1VrswyQf3NhNw6nP}O63t-G?*=@R zZ6Ain(Z18G3M3UU%vbpE`AX;KF#RVTD)G;mN9>QDWM2MgU~X5yoE~l|#B7iUPqOBO zS2N4=G$Psxqi6rL^H}L=Qfy;+U9}zr26ak*3Jgg>-%}VG-QoIMBUNgvawkg)0o1E* zo1H(J)+NXC1fo^deV!-Mhl3Y@#HNMoK>U{c#I@Dw z&y9wb=*yIzmNsV;O~-W10~>JG#gXTt%a}^xYkZs`;kjHzrPn>I5xkopf1C32ghv4O zRWV`nZdsE@T?UpEUt!2CP8#sF=v>_6Y2A5X|7T4YfvsAXiA#I%#i+N{%)@E=GcVSP zryzJ}WsxObMDN~r>)TfAug-~W?K|eI!rcR>Jfe}kDZy3b@KJG{waAUGrpAiHfhQNW z(R85YjJH%Yn5;+?3AITZ=VVd=t(n6c2^t;^MSRR9$DRW86ExSz$n5+J9$QrO|89SH zqJFMaE|JfRB4s$+uvb)?eQDEx5=2HMP(+V*6g9#P1eJAlM>*VQn9a{fFj1u;C)Bd1 zPeuRi!x#!~>W~KD0|R!zLVy>WMD{GaoU$VOGAeTenSX805J|CFbOsmj*0&x*1(tKo z)VA2NDF(W!t^80dtdP02U)naUp{Th~bU&JCK|$-BtKe~gDN*8_rdA?tT84J`^Oy{@ zUo#$aKWdLf)x+FqC+_kO3wFrazwwqpkHN&&m%CGNUSZkGtxC-GAmC@fB z`S0&T)b5OtZ!v;Gd(*D#CIVu1G)%1G9~1ED$C%Vq2Ecl87Rq={6@UO*Egh#aHz}|# zh(2E)$*&2}x=hGWvWq-A47{R_nnwf2%j77sXi44>6~0)nPhRA-GPYyEOe~G0Y8uqC zXe^?MlpZ^SRO(^#{pHW>MvA7#8POtgbrv@OJ@VKy`VTGd8Qnzy=X(k|U$MxnzhK{q zw>>^{)(ydO-JK~{WSf9RG87F73Vr$zfto2^h2Ki>>Z)2~&3A)6h=mc;zd>SR?9(!M*y>~pK_?};k zMSoAKk$sqOUar_Hw>JD`wg;a><;%2f4pX4UX>sEia~;zhiKKr(>$v11PFJ`;7M z4_&6v0KIms-S;u8sYh7sKu~xzhIOUDOmiD7^BBE^2?c9lykUp#G_rxi5vEi**p9wxz-f1DrY@vL3LB zxeIET8#w)4qL+8@MViSPhde*2h~lR4ViH2AtK1_Rj#T)YOO0ZO^88o%;xFY@7xg-M z9I~}Cg-^wgu=8@Y^gG#=AaLHOiY?Pi2+MbZq`bqgA^s){1L7JbXmQzl&V1)~$sH4i zIoY&1h8%(}t1!doBFFp(wx^iU4970%bwVL~H*i!sH%NtGmP=aCg{Dp+6d;L+d(vh}LdG_kY#(BDoI`_ox#LU-!C zV`xqlFSTHjOW_eLAnb1khHn;TvU*A;6b#Y#zM4Dt4# zhCoXd-7Y(%PXZ=v&gwNbPy(drtofxZSL=t-2gYtP*2KzxP(+;;R{{Q$1rii2*SnT> z$z8#*1Dt`3`ANaGdJ=57k)%$6h_7DPYdvg zGUt^a9UdP3)eWg_OB;2r)P(1+$Q7B@G^JlnIR~$~9#tD}g&f$N(s)L0D&k5t*3r?M zif5-Ko2+aTxwp?g6Nwi$Y6(cbKvZb;35oQ^3K#uE?<|MdNM|d?meFmRQe^XjnH}`} z?bgvYegxLBZooR0y7}N%X^fz$`a!X{S;3;ulDcw&a)f%lxDIDun)*v%QAn69Y6^JYckw4^yg-MH@2 zAfJz0y$0fHO->ms*}^I6}0sWuya{ z!55U=WXZ@;@<$~I->=zTD5RJrHm(i*`>C%M0u6ApE;@)pGLSU14VhuF%DQxYQ5bkZ z$wOlP2Vb5~Wa)=zD&LcxRScaQBfuKgPykC(sjogG+^G{5Vtbv0+aP5>;zi*wL&6BpJ7@}R10JbEi#A&vgcEyXzuOO-UYN0WJz7?vd%w zVCgOENo%KJwp!^!uT=9F>g%lDdpywgENcqMtAr8AD4WfE_!&P=jBD+XF1<2*wS&CkN*qJx=~Qmazfr=@GEQE~?( ze&0n53QRe&hcdN+dX$`(pvun+96Ow$j@P7~T0KN7WbY@_ zUHTQ-7hJ=XZfi>q(^2%&MSE|hk4yaF>OJfDd6m{WX9TYbkmv|=&ljQYEU2>hicilb z2-pzX1PEo%1`CZt5J(W|7$Y}M1{z~M5kbk1zw>_Mn*L&tVoVg`1xmVFYPeo`*m%%h zV1y@sm~&H|$WeYmngF*N4q*F8%N!h<4kz7s$pI`?HNcicQZefZCf0WVSJ5tJH%oJ> z<=7}$>Pcl53ebbwA~9x$c5+^eQFEGOH_l%Hxb9_v}HTtAlRs{cAK&Uv2CczNJP8cUB2(G2AZF;}qVmI9TI9>qW{U{{X-bzR?RaBgXstfzRYP9{~q;jjO1$ z{lHh5kLe8dnG2V3(*k1)rvuP|LJRW;r7O#dhli`YJT=PfNKG;i>9rIBa*8iJo(k=~ zyJ_={HH@nx_B=S6X0VjWI1A|dkrD> zF%4>t{*nAR;yL{(Al72~>St$!0y$oy{V5$!_BR~rY4*&FYu%Y|_&7SMpN|@(fW5l4 z(rZ14n{^)h!#Fp)r&L&%1W&xaeC(5Ws;TM4XIT^OKPJGN0QY%kv*-6(64Pfhj7Kv6sTGE+Nvqu?Z7(CzF!?TP3MK39inZ_>Xx1)eMbj3g5D z<+$Ia*&Tkz93GI5!T-F+4D6AFE*pI{dcfm>1lv`BC#wyC`+X7&SHo%NIFE)RW@e*G z9eS}_?|)t=H}+gaf{xDLz4P+|?HRy_bSP=)PHA7pdXW}xrPRZF^A;W06*o7Nx3!5% z@J83vL2-5V>pIB`YT>#Y6{_dZ;%n>$Nq0B7Vh3T6GgRTG@YgcRfq;O{}q zC^&Vt2RBW18en>63ktTmb+ODP$64@s!Cly|Y&vc23HJK?OAjI?h@CKnqKKrd4?oJ> zUi{?&@h>U)K}bSfes@zXqlJS;|8hmD>xeu8)}gA4FQrrcldy<9(;Tl|tlO1C2Xlz+ zioM`JhwBx8$zAbf|67w8XDa>R-Mas=fo&PG{&fvE*E`kXe9)2a3q44CxG2U!78=39 zNK1k=6*4H0pF0x#p}~>SUk@)zBN3Vo{eqA7yCgpHVG9#qgQvl0m*-3sb}@iUqh==S z10T$65)?)iDvyv>WBxx&V6lMN5;w_djHWl5-5dJhy%)>+{2LR^nt{W@&+ygp_U}`} zM=agOpSm++4ZH0kyJhaYHwR++h~a>Ls$bz<13-^hCCx}qkfyrw*h?a)3YEXz&MGwB z-5@Vp=V}m!rj|G%;$qc?Lw9QVGMw{PPQdzpM8Ba7;T>j`?~!i&_0;pG=&%y5@f%a} zcLxDW!qSG|@Dmc2;Af~z{FIpCS6oPE-1G}q zDtoo#sT1H%HGt2wO{9ohJ?BoZKFuK>w{ZXI>cM91lLzGbbivMu zr%Mox$dO!9*4_Qy)oPTxVYOK9W z4{4S}b@w%G?m2#htQ4L$ti{)8dXV0na8ygwzxM_h?Ta(PSGod}j9DSg9^a)GIg5Xn zT1@~62~9DP(fTJgtHU$ch~B1@itbwiJ5%p1;1GPU3_3*9KxYq)0P9>n5B+0Xy1efF z90+tpDY_5Ew8>bISMnm7pBggV&3?)uRfGfu#?X`}__-kbA~Dd%;@pjt`SbYrlYckP z!ed`4SSk}$oC3*4zZ65|WKB}~m$eY4UkQ3mcm{s=K~K6wzPiioEP_v= z)DrHNPDj76{&~;r+Zp>k^)_Oa@Ywa4+7`@0+N6F%HY0!C{*#z>Iw0G;%M0YnsIK*f zpM~Qz0OpcdoCHZ_OEl19-%tCK<_7#|lYW|nfl975MNflU^u_+eUaIr$uc%$(xj({t zboh84CLtUZK+y{UqdI0Ya_&+0_a;|smH^G45)m>1UR%3N**h$mvBL+dLBzlEXrF^^ zY8FA;t>gv4&y+wHqQ{K*&o1q*b=w}gZjHpZIghj*uX`1U{vnjfB_^!~c$_BWZk>aP za}WD@uC*5NO-=Rwp&_`^3Z?djeYiDJVt$;_5qkf4XRoPQUPB603!9+ZhD#zKUB*bC z8fKGd&i`QGLLgfkg}BgZRn7jKLIW^nq~+o9wA6k|rxniIhwji3#v?*v(TL5eJmFRK zKDOgH6fQ?ZbXf|(Z{@Rnt|&x{{`(CSJwUbY3;g_`LPPB~z^6RuR#SIBN;6{Pc7A#) zoERm4liTbX+2PoMYRwn{hk09$IF9>U>&6tV@zQ;xxml*{2BLUBpXQf4RAxh7k%hD@ zx0?U)>(#(~jc;Q^%z}@Ox8kzl8-&{a$ft?gJ*zB5_sXZ8>1@ELw>3iuSI)HJF3iZK zj_+}G{TP-N(%iDWjAe6r!mT6Aw`G04z9%XLa=A9XiQZ|_xU@&M;X8-&*&np&tFaE8 zCKcD!N|zqRS8p&(u+@HwLZs?s05>X(5P?dA69MtT{eCSVHjl<9S5!wtu9kQ= z&fiG2--^4lSne)*SYL-Ey_QByos0kBvUPXU_8T3EtBbZhlDa48$7R<`SWQzb*|M9%O{nIFzaqyrqNJ%48R}-x@ zuBr8iYG#_cOa?{w^zI&nVuQSkC|Q8IHHkV@fzq1vDAG|^+aWJ9SNHM{2g3rA-VXNA zr$;w8So4iVZ*nMg%D#unMk5GxJ;&v1cWFx>;5bp)1zFEDHGZ*rz0BGr zGc+^o@&C%98jW~1e85U|iSP%3Lg?zxZ8rX?#$EAtm@FDG@gCwXfzTYD&eA=zq<#I}A zXwG)tg@VdA_f3@eEB^jF^eAXEl@w-NKDSC08?7<@bN^rFGa5}gaQ4Gx_tW5NY}&;A z9yK}Y&8RgJnHIX5rT{gJ1VJUHP^QG937shLe`Gc`O1O^V640(w@va;`&#vUE#2M3e3C{rB8w3GKrI#)&X=v;M#S%qSz zo1)2~1x(1ia~-)=Y&Ea$%EGvn6Zc9C@Er<^uU?~aeqZakD3W4Z!ba>X>})hW4W^5M zE&KpW-;12mVHF3y#T^kEDUC%}n!^xRFDUUs^|jcgYqo#!Z~d;zk!sAJ^^nl+O3)kg zck-3n97wQWPj3EHy49z6NJ3W4s(cbfU2r@m#jmiA%Oym_nts|Stu+sKL4qDq$w+CL zdEN7NUn=;Nb`Ga%MUmdXyK!DXV~uGm&MrnTEV;Rxz)s<1aQ!5q?m8c#JTY5J3)m+j zkkh-QgJOXDc=Q1=M@2pS=Ok<`Kg5UZLh`nI=)gC(y?=4wu4Fgtb8);;Ws)eHsx`BH z!`#*WTB}YfBirRXG0|5jifk7Lu?ysFlpl;7%)`01Mi>1w)TT-v;tmOUQra$R&2C)i z8mm2R|GuPMW0lPJNKXq`@8x^(<-tqM35i;?iED{0TeXX)*}$4*P^Eh zuYk}f+{J%R#-}Ajh%7@tymjIH4mq_tBL{q@{Kv7?4w(6N{BOu8uOt3=&oZEE(Tx!V z!AH98T3hE-NU?(R6>@qGWkuXKoI=76+NKsW+nbxcqqdXn@zu@f!`0_%&GFoUEimQ* zG7boUiY_l==cx_D*w$8MDR{Y;E+gem;kkEX71nxPj3gCExx^C*3F|7dd3q&}!gE7e zPMz$pfYPLm8)mKipQLg1o%gG%y6Ha)*u7tzBfhq-$DOnxI|wx4zuW1AqYId zCUB0*Q9VQ7ee!ZPO!PIX2+)xKS$2{$(Ko&t&3nht^LW91CL=!_`l-413yT%mw@aoR zFv(tlU?~Gz^!B`VSHFcaWGt-;dZHzKR#X%sNB#MYBvC6vEvobQ)u}>Kbx78xzl?EF zr6MRDH_yt#XCMhlDSRI2*v&MpyPwTrA4~`VMByyPr)BKdWqghq66b#gBciOlxy?8Y zFwats1poYDpqq{Zmc?VA&8%I8;lS&*VC(BO)yp>&DB4YheBTq{XuUpJR)hhzE*le3 zK=HgrNyjyW?kd)z;TX=M=D?8poOH^d6sQ$9!f^s2A)HY?6O*aDaqe#+Pr<<$E5Yfl z@n41X;WVF2i?3~M54in_q*)!-ndOmu)4S<;RqL0yL!N=vCpikoR)E*&5xBBu}4?b^5 zcHkf{> z5cR4p|E8TsY#ZH75%;%O`Vctt<9c+c;90;b20#KOl^)K8?ZK6e8Hf|$404yyk@x?6 zE3EvSezj5T&gaFo%p3DW+54|InNbMS`{R}?8jdX&ZzxpkTvk+~V0;XY9&TROJzpP8 zx`Y65#mH7{f%_{9W}Ff(djSSEcs4#wG0Y|uC1bRUNogGK(sj8zYL2pU8AG>}Cf=MF z&AV5cp~-)Jpy=qvubJkXU#+VL+m4U!n}zQ734-C86*b4tzgw&iHAlF`K;fIv zX^SfPbV?sd?=Lk^0tH5$pSWT;c`oND`Tfzx24O^ym4?8!$IiQX3WXu-h|nS;BIB!r zVkj|VG(4DV2)7Je)(J3Op2@R`F)dJ+?Z8?+UYUw&uRfx5ml4&DCZw*`1W*lTqHk!t zu`afw{eFWx3c6)W-uUVx7bIhOwHK21@cXa~1sesoNZwmdO;@M4)o~a=vzrrBn~JbG zefN&zgCd%DWvDjO<&lRN6M2~e^wlX?OWPe-19;3r?Kx-JqicxtTs5Tv*@w_b zwm~}eXix$r>sKz3$b=|nN#7>d_|ahsO5|H496y&c6(yUZD?$zw4G-2^2VxCcC02SP zIDBwcY^4kGK?_@X%6eZV+)JIC*imvgRw4O)KlOhLE6WPT#|A_-SL|D~9Truzi z_TgNn!~&r!l^FSAFwCZ_Qsyz0Z{y4HO;USa3|Jei_0Q*!yyt}o-+ zb>1wl`|!eV+FjmAk66;KL$juR+w zLI+NG-Q=kZr#&(G{q$pxDK9sK?44_XN0c4N_d6`xGK2a6A9VfeuiSjc#3sfoPlZsW zUl#w9$1a6ig^Gw;gkBVlg}+2&HLVK!;kPL7#%EizCQ0b7MCgtp1xmB+q$Jszh2L3B zhKCf~aWC`jjl1LuCVo=ume?{$cH6Oz2@K7yJwRJ(36{C@SB~(pcp6)uyo4es2whC+ z2tom8Hk8kk<8ud{S04p?n&s5Dzo979A(Ow_#}Q28+_qzJU#D<%qLQ?6W)PTVx$kH z6qw}y{$(dFK{j@!l)#v>x_o1ozZz9t66X~t%67HP8EKPf-^_iHmq^XJ{d4-^2O7r) zHaTv4l6%W_uS=|_Vmh!M)Nsmm)>mYmg3x`MUAZdfQ_P`&lR&v7O-k z8q+tnUjUGde(fu3zkddSsArbIJV75 z4Sn_Q#?2pY0baMGSP8+=KpGygoR7C73`(8?aDP>e4#f&^J%f^Vx2$m-MLqcY@>>^; zR8jUeOEP{@$xCOp(TP7LDJGn==qtwCUm>}0s%suU!{@_7X_Fi!!D;Z#9f`Q9P7jPa zpgYYZy#h=+r1z%uBgg}HNL!D*#xvLv5pqAkQ4}Ifpjwok6=S}U@e*vO6NBMti7%~V zfaC_ibq28Xs8|V@%VNH-A-5-WAtL2%Rs^?v6k=+D3Lzwh69>+@&~vZNDQ+4lJiSVQ zNy8{F7zwx=kE0$lS+L(`-w{6%9+62_uDn}W;Y(O?rj{^A6$krz{f9{@Wx~PJ9Sk@I zQ0mkivWt_Jd>wVJNR6Yix^+b@o)utnj=T?K+}XAaBX*v0{Hb*IDA$hb`zVqdvX{Kh zriNmIv^0)S@J-})6RsII(AGC9)P0^&O@<^I8ujmKA|BCy zNBkIr+~?=;Y@zbLrg=Yu?4j zUb))QFE8UXid>)kK0Q>aawS49t%#ghguNx2j!p1HG^(|#GsiDdzTI2m7HntF^~b(~ zu6w@<6MGMf@`QNxf0AYtY~06I4)9smKVVO&e|%=i@Vr|3CRVBzq8}q`@gtaNQ5l^O z__~cIn3BDv5-10RWvq;y0F*qB&({Z=3UH?a7G@%-^jbo}y)LgY6^QkIEV z-A(ND^{g_EuZLkj_$y*xmE+g1-@F0fiP=rI*e z!yGFNJHk6yB>Xm4fYUxkxuW_}6m4BC>VSwA$NW2Aiv``Sk+nh#$vdya+m=uktPHJ*0hdYi7Wz=QS1;pg+1j zkS#@Ib^9_wS0bRu5f_YE0P_S7g+Q1UH=bnlfSVh9lw-r#UN!r4E%f!>C34Ln2{ zOw`3yimz7$?U*zcv5~2&#UzhJ!-byiF~A@FaQPt!6K!lOI4IW6Hc;Pu2f=oq}=jNAt%g@UvVQ zu}q*}c)-^Wu0LTrFxDj?;H>W$XJZ>g-?uAhXa*G^J#0c9C}Z&H*qOuC<4;Qh7aKGP z2tsg#F3!V-mn<^_^ac$B`mv_OVA?vT z`$x?-*N>BzAKIK|W=*Dch^AyjaeOK(o%a7#1F0`e&JN< zL$h@oH49oy6*U=)n&HWn3kAG*7Pr=o7@DonY`LnF!*6K>GE9CbYf`7f*(;<29azV>{eY}1xHb6X%H8UL*E^i_fV91xy(RS9=el&-S z0<5xe^bEVIf{#>G8c8mfH*p*61`vDgh~Y+V(C0fXTh)h`u%~+$TP-7Qzv=$8)15v; zws`uKl9K;@7J663sIF^cBQDS;7ciYFTd^t`@_IM~vsUAZl12i!Dy|Hc|uhNDq^rh(|KN6H-}m3R_G(gsZ5Y zPh@J4{Uz!;=UCn{OonYbOs#DZ2K9z_7J8Jcg%8H+OdGJIP(}LbOt0N6j-8?-xMNDp zE5Z&OcC+p1HGl7(lJCG~i13lCJ-^aT_oogk*g=o(XT-m^!5MdE1uA?*&Rt`GZ;2`} zal4lRj)w(BZb5qGDJM6JnE+vQRoM!`V?8&Na9^{MWVRiBo{qC|6or(7ZsbP19#$WNvzSX&y^+yc?YS?{2G?GOXDGFA($kGE zu(O5{l!XqT1Y&yR;;{sJLp$gqd`wz^c@{FYmg*(nvPU+O2FRIq?P6F3Vp;jrNYq^t z_M|c8V7DzIenI97S9fgVCe-;XwXl4usK~BlCh$m`9gWps1EpU`db4&OvqfhS_9-g1 zJ$k;;MR!G*Vyw+5usfAUk6avYIG8O`bk{I{Z+v+TiZV6T)UY9s95ROUa+Jo(JGF0d z;PT~jB>%;IZVmraWWxd{-(TEM@&udYALd|?6<3n@G{U-Fj)^c|$#evl6GQ&t?~+1u zw~~#=BHUK7FgOU4G)_8j>~6ByC|-NqI9nP={q{~e+}OK{gjY2&dsbg_F8@oVAk~e3 zUu8PXRYDBLfq#;>u6%z73nzD5AK>vf4oAk4PPr$yGMVY5UZCH5_ckY|BIE9E-SAb! zuY7nZ6~%hio`5{bin%x-ON{d0nQE0dwrd2g9k3Y1mkt-^#et_ProHNP&HW<&ym$J> zi)%Wh8igzVFYV$uSq5?dzbxk4gA7|T{F!-rH1)fHBHE8P32bOY>tCZb@)i-p6xQqV z04CymvD!1^@#xdZO#C&aj>Q7?re9S}3yohUX{d9t`Q4wCc$LYro~td&EXb4mPE_cb zs!pGK-+P-&3hpCGRKUPmtN(Se@CT+6%?;KOrZdz4cMaG$hO7W!P7Z|0$qI>g=)fU$ zEJm0ZDUX=eRPzdf_`8Zn>*^Fdw>=E_<*xMKrE#^I`n&p^g={2ZR3xVGa3^~?!op-1 zz8bds0cCG=!2khqT^JZuYhJ4Gef+X6rg-Is*>OZr$MR!zQH`9G{(>`{FLU6cr>b-l zWG>dRX4Lx+h(!VY)*9F=YMp=iXfkFVb{m<(CZ(62AOtm69Q`em)gF_GrVx2@fA404N7VAxj=^ZrVmk*XjoU_FxvnKv$a zYu)Ejkf#=B_;84w42Tw0*gSaB$2;svckb)Gh1a&^*v4r#_FW~Qt;0ar>}7Z0u~u@P z@muU1)Vjo&{O+m0+m|nYS3ftb4jZ|TzgN)$5polmPA_Uu{pZviF0ha`!-I$&_k+m4 z95nbWkbsVQy4j;%R#P)nW_KzB@o&gp|DRjW>xiE}Tbc!NxLI+t^bQU@wicGr%1md|A)qv1q1q4WW%2Hpx7b&tnn z>`1%r43+M*(e#*mQLmA0V6lsf6>}ag>kvHzhl{W5pk;uOkBt(CT^4nU^4g=v)_p&G z>tJxi+IiSsw5#gylr%)RmY!o@KD!!YMNiDuC21DCd3L4$+vf<9fX|ce=$4HBAD+H^ zL7q3Mq3CCeK!~QIh4TSIxKnGz<99shS%0)lW!4@~nXY;BKs&$G(O*o- zf)-YQr=KxJ2Ur^czIIEE21?6NkADXb-Qpm%xlR2CDo{ipP2_v~{JPm;4!qk`=V_fi z5%9-6K>ZwHTH`*)h@shR?0%EJQlcE0EN_xCv2N3&;-t*Gt%}O7q$1oqJvll3O|~Yv zKTsMD!S?e$io8!-A>=m{;3keckYmIzyqP2{5_4mPA0FJ?9Q!4V%d=K)!Zj4WHv{LX zPr(ZYqT;7a0M6tHfPDMk4=$ogP2=Xe`Tu(JBP|QGLDem=U5AB9UKmfR=%feNt|AZ4 z^|MdrIG#%#rONKvU7(?8UDpbdOwH&1tLnO#+|_2^7X7R8UL<(m|1w88H0$xkjo7&V z2o>p6@U91Q??!>LuaTb4Hi4}Qf2y}lOXcQ=q)#&?yx;Tc+p;WnOD_G6p=nTnEc)tY z4+@K*Q@o^&Yh_0VH?wAq2=_I~KX|{ebiZ|)EQyI6q~>UO;*fQ^$pi~cHWV0t}p~_n);(r#w`>#sgg&`hI@x`?2Cj##7{d=5vTSSRHFnm)AnH zZI5rPFUXPnC+6nSOY=6z*!9M>tScvRBLrpMQT1tNauH%_JDy)Fvl zN_PI)z}&8GMgTu_8Yl|~C@$12<8YZ1{e*#1FN@{s^ViloB2hlJIe6B+L`p;S{`F`FcDp8s7l_agz%3zfVUAwTk9#p1d=iyV@lV2TZ9ki zJkd_>2qJ~FgnzU0n3zxDKIKzw#OYxKSEkoKWsu)*qwl;?>I3fu98Y2vycz^Uk7zWj zE{+0yl1wJ+PF#{id&@;#m~|gK224pW^S)l=oc`xFAWlsvj^hprI%Y%R@>DncI}?vY zd5@0F_K3&mV6{o5>_YMRtf{Qe$1F4R_!4;KkH=n~61;~;f0Y&5nYx<<=>bAb9IZmY z{YIjXazM_4b)8pufpHykz3IngyMzPiVoA*!oW-17>+l5TT!$H)Lq}m-uN=^)_DA9_ zP4n$7N9BI1lU<+S=%4C55A40zv(qRy+f+UH>>Sa}hpF52mG8hb_n(B2VP)_B%vPwH zKI*lHM{^f_vCdb&v7VbDBy6Z6vyJK2%WDETa40^etqR<=(j~>V`Rl9z0iw4K#NUDq z^xeaM-rTr{LpU(NHT|zH?Y$k%%TDUdYz2iTCBmkkY#ECN3YZjE6mT?2H>a1^uVit1 zAaKdKA}#sxZJzf@)fJK4qvD>d@KON^_w4oB(y6BhLzPbaNO9Io*Y3<@6$C)wEEgv~ z$>{8@mt??O_pEC0t|h19U*A-CM#PY^4Qdf2HGueTtPL~}TY zH=A#K9rNblzom;tO(Vf({w^-X56QJw{>t3N58CIgR@j=d{!OOjlo!=MjiTyM52CZ} z{>|3lliYI!8qo{dg+9eHp9Hd77_NklQ7QrJD&KzW@7T+5+-K9qXNr}jB1z!!ZN1Xi zE#o{9g+%V}QB~{6wSG^d)#7Fxx&Nt|Saq4Rr5@9On5u3pSdNX+fL!`X;Zx5N1H~U! z-#T{*JL~>!M=cpr?to%92PW(atma-7sLOT04RuBU*umiwA&_c7H$9kKd*r>CG*Ex1 zMHshJ{n_7QYCiIQhTu{}S1D12vc~c(V)n-2=B{|!Ls@?0P#9A4Mk=g2HBUFVvIR-q zL1i*>M~+3t^rRL3ARQSkbgCH9f1=1Gp{1GIS`2XV9v4oF7D0PO@Iy~df#mz(V-hz9 z4TW*GhJoG$FUxPodLD~7PkcbCioA@XdgAYDjieh6(dT~T#=2AP3X zs1pm5E0vBzHMBHhJPbay{~0qC%TC4tnyuD^t4XlBBARY?E8&>fA`-<%_CO{BZ(5gq0! z7kudGaE-&rY}Z~zd9GWR0aUXH?fQB4J)#=@qa6!F&UeMWBGY_HI&ms0H8pTV{?h~K ztg)1g!RnRPgd*(3u0_Ytl{_8bD?wM#no3NylUdax# zJaf6g4(ASZI+E|#wjG>=`Q_h5TpJu z9U?-Xg2m8f$fRwjIl8@JRe%!_SCn&=6u5z ztuCBLE0em#dMWvTZP=Ee@3O0C^`u;CF@pC`vpQr_KFf?S{O99XBQ6X7{2-^m$*w0^)NJ|$C*g>b?R$4Sw9oWK@urMkF?#TXNl;7w%SxFCMBZ&sKj)VHHRS{CVV=qsb zu&g^S{D@i|4@`TfmwYSZq*dPv;D*@huUD_rF6$!pP-%1t&g5In=|6zw|giOG# zFZ{jaJCMmqM8|I+ah8w>d5`QXcMec$x1g^MqeD{k z5wktQTF606V0y9Ic?a6;tb4_U^PG^TyWM)2kw~`NzU`Gpxf8~B;Qj#&-vqxHQR)iC zSerNbO5lKlZd!&1-aR8{gfI|FlscjMJZyv%;sg!|;{*lMB@aE{kZJ|2c*!g~)*FEV zV;iWojjmy;ed;~aLA&8aqv>D<0$y=1CLd&D7iJnIDV|>ui+`4Wd&209>5HLCes=YA z*UdiT@SnclZPhJCn$rX7Oc=4ha(9$bzoh(k@-TWJD>^W4q~~J5=IcdUssP=+<%n>g;|XM$vVX=q-D4o+L(S~(o%e*zcZ=Y@H0Om~lnErxv~)eCfJKFGZkPs+prs*& zI)fEP$e$CEPoNbh6yz$_$EJOkCGoiJ`9ZAcUm>tNw9{7soAFEpd1Af|1`ijjlh z8j!9U;5UZl*{oYaFGvZ5wP4g(4U1i4C68~&U z!-9)3Wp}N ze_Ww<*>$X$2JUo8Q{iB#dZV!`o?Dn?d46}SntOb(7}1>~Nq8B~>s5c|)SX82$enFj zANztPBM}7-iHP}&b3zrW0i^MWqxkPL-#Flm8&YtJP6 z8NdM&?xpfx9Pyzfzd?=`Tsz@0=8CG5Y8sZKnqr^B^R-S*sh(YeZbfDZA380b%a%R} ziCGK(MhDpGOBw8go)}ZhI`X>i3`SP%`YKg>w3$=e@BBlQmR&`Za)5gBnwA(|5wRNZ z^Z6M5UnY+$Kd*u76-7{X_Jq$QCv8$4Gp6Aky^)K{nLne?=@hF)<<4GSTcbDfCL(-T zw;<`UeR%q(Vfw2Em(|9Tn54S9KU@MYpw{DJY;S>5T59lImghJ0gzgF`jmMk;W`H#j z2{M6@B*=RSw_uzdcMpXF)W$VFfN4e=15N~KV*dMsSQht-CjFJ-zkiR?iWhpQq@X}W zU!P_r-x}10gqO_FFQ4$9IoLzt97m$T$ZzaF%T+(k2&7V$n&A!~g^oPSi2FspX7p{i zPF6&h2Ks42Y)aTJIk`o6gi* zkGKi1jFX>5UpfP2c#NQ=0zIP~u004jjd(G0<6pQ+Iy=401f^&vs}8bQzVyWcL|cEO zG;zw|6jRZL$V*)m$|rhY{)+>=GqR9GBuP#;COOSKXyO1xXu=`I)HbE`i3Dp91L0H^ z6E$#TK8>3u6A3cXTu2@o(Uzv@Ci=7YDmcLA%2m-a>gSLp;@NYpZpY!?3;*_ix6YtK zFC02P7SVjHJ_=O|OeL3*1mk$He!JKYm-fzWK_mAco1D5@6&|vDYAhh>Z8bk#*jP*d zaBFxHE*gE(JG9q~*u->ZZnO5P5Fu%bLiQhin@)YiFc(`LpBiM@+4Y6*1tn!=uwP>6 z2OloP`)z{vrs2sYF2`9#^?!Bx>8KUyJAaxj+pnzse&3O66gI2bGgv4NkPmNjgVKNg zbr|c0xF{Wvq0*=nSv4o3MY6uMTikM3Qd#cxQB^2o7Ms|-XC(p+F(L>dnHOXORa||! zw4TF_!-T6qOv6e3Qi&a7!^|0n>kp9`w8=(D!c2$XN!{r?do`>etndTysPW;gS~>%6 z9-2rH&fWQbePxVi|IT;mx5vu#x9A89U#wa6I1$x;Y`C~Xd>cIQOkoW3)*@A`#Bt4G z6*3O)ei_FVNDlFOVfyy!o&^x~P9h2}<386V3$G-dC7W$SWtZm5e(z;@{XI6UlWNU! zh1(DKXWxk9R5vGG0{5Wz33y9xgt`I>xQuMymYWHO-oA>(xi-1o`qOxirOZ`Amc&eI#bydy6;Lnvu*8R>b6X^<}KU=c+ zf)#?te|7F$6AA3L<5O@;Sf}Lg_5R)HTeP4(OSI8>g};%z;GuT;9N9n`N@Y7PZ@Sca z7{Ptf*lsHFu=N+kB8fNzeQ%fiNH27Iu-+{6=`W=_6pf0Hh+m$%5}*W8VDvGa1Kf-I zKr>LdUv0)##_i{%Wc&II@O#cL4&Wu1uU;emcJ*gpeKMkV8}bFB+{!0`f&yF|50e^0pvv;^_&lPvwytC7ycbq9yS?2M6-eV4>Sb3LHOm`RrmH+ zpocvxIf=z(fd}>UumJ;Q6fad^0;>imZ zHQOoK*T1Gu!>2f}Ii8;Xt)v_<4 zmw*1_ut7%M^?v6Iy_LNtip56oUsb)O`F{+y(764n5P4|lPxNI2 zhN$dAY*i{KD9YOHd65SHE>DUNbAP!1`a#7Uodp8F6gX9;i!|r&ex+L9k?2T)boz|3|_bCD^Qy`AoLzqW_lk_Eviv?z-75#04 zU#^|ODP43XnP5vLx?A)Pzi|{BF*~0<9UXl8w$9-VHiCyRk|0>J6}w6w`_kTiCZb?_ zFECrmy0t7!gP-^Ekk+h}nuD&Je22clfLy!-O{SSoB^Myf_BdJM+fqJc~EHxAZz$~P41nE43k~!2Bep~=S zt{)KNSh1fV+3y}ZN+?IB2yx+o)eFkpIwWpg1ZYbHF@yP9BJL=^ z0Q+=7kR^CG4ePgO2*y}bekrpPA7+eaO6q)mDQkaO=>f3Iw5N#!oAR?KW&~U190>ut zVx^}QU$hdfRiP>VGq^E13OZVi@|@Jl2mCr5{U}eivde;RhGwk^s-IHW|K9Dm|38+l zJDTeM|G)0#+Oo6vPC{kJy+#>j7AfPRL80u;y;erHqR2{CvQlQ;YlI>+kz_~Nd))E< zy+7ac`}aEMUgzBVe!U*g$MZ2rOgmwkq4wewtmzKK8->fV24fT~$=%`=$1Mus=z zd^QiCKd;5u?+RNW#@Jca3fED2DWuLnRk5C`fHOp0I9g&#M(=$!Ju%WqD0n4R8i8r+ zcYh%F5#|w{8kZ`A_)p#xFQN;7F^UQ;osy&8(A9Sf`);$+J@; z%wB;#nDTs;={9Y;XbIQi(E_`rCRqWxmBiDupsfWs_t!WoU%`}tcS*oGl^X;HTcR+X z(I~X+ES3X7&i~WlVq)@h@SDGvsV`F^cmbTPeP1vC+Sw`8hgi1?vtFK)z?qcI9APCI zO(f6`K|A)6P}<*no;Cn4nW<%*E#pW)O+h=%dAP#Pb}WQ1xq2T{?|aL6`n9E9*jjYK zarmexmOwdQu}1nQCWFEXh9!X(!FS_hsP}+n^7+0cfjlqCsQlMh;*w^j@n?$h3Hsjm z(MsA^kLtH+8AGHfImYb8&x*BoTNtM06t@NNEOy4E%g(nyx-1P+%?l6OS3)&ZbkZ28 z+-hZY6AgmD2&7y?KvfBI4*jS{dGh}0(@<{Q6P~VoV-JZqBzZchT3N(4I+&%-oMkg)#_=*whJN^jDZ@h0{ez2KW^d27dj*f``LF5va2 zlrR+08{qbS#R{1^4^QarHS^1Z2J4m)R~I@9gx$%E4=9w}lAZWH?14(m0aiW%$8F`j zf^H>`E^kuH6ILLGIkE*G2XuM}YPejkY0f`u3mn9}MLODdbPVB~s9Oq;;@_c|^=-mPB66VON_nbneV}kPr$GRH zy!w2nAo)grkwb1EAXt3A`&r1gepIvtI`g;%vOE6mw=a0}_Vev6bh#mZHw|8* z&dfoSIRzLXfj6b13LNArjZ3lZ(!Qp2c8Zy_Crxk}%3`(JMvG`Bpo{eSKo|Km#HHwy zBNM9JOcsHu{E#J&D*726GNR}!8!PmC_)nLC=dnvJ+gO3TtOmJyT9k=~sFxH6QS(6H zGC1WR!$A!46!{rC6DC2jVkts4t-s*L3$_BWy)XlYx~ojc8ea||gB05nr`@!ehxT8R zpt7~Sv>%dC?RJ0!RkJSA8G1XB?z=4hf|&zTW^?XOG?0QmQ!HMfd0AdC8+VDKz#V;% zZhF9BeV<}HwLGMoJ`_Q-`1o_?O5ZMX+Lc+T^24DL3Iw<3sG!8`QTVq@xPeDTOR{eO zzylLQy(<6?gMWo>Fh&IPx70GxP$&KI_AvRhp42w=g#w++o5NPqH{Z|T+`!Ldup`b< zS6lF?&f2u>;A3beJMCjlCBf*&?P-MVwYIIGaned##3yxmPz!f9`5u{7*($CbK@9>x z6@_5}#e}Uxe^f6b4lZ_BDX>i&c^VJrYX@B?o$4@(A+c)m zv;TrlcAtNsK<%W|($Vb`MEK54+hR8GZJzJ?Hi$|U!zF6M?YO%?UQ#UXnY}A$R=u;w z+|`~q`t?GA)3C!Y9h_Is$jB#yw4K_t63)NtV$Tc@ zf`pysqq~D}umEM}iDI%M6GX$GblRPTOYU<5WV z_1>G>RL~V0R(^qea=R3C{zzN-TOqgpd@5%G8zzO${BxPh1Tnz=v4JbtCS+?q?jxM` zo_}Qi2x+-|tB0_#JC}OYqK>qnbG$-XqO`atk31+BGQU^AA_$F@JgN-Ge zJlxGSxAcwS-P*Bs$vOEuh{FF&96xk*X{A_vKtY?t%0%`v@&-zv|2FV z1>P24YDtp1uJ`C>g+mG5w?;oP1SX|5a3obH5D`I#$JJ8VTbvflMRM|)(@cDiQp-SCS+$M6%8?ynx8sH~#-`=6Go(L*C z!7M@LaBQ`9jgdZ_vgH6`J4=wK5A@NUleW$;IbSeyXZ@wozTm**yzVZa^elFAvHB{l z91oaewF0eB1UX}Vy_$=p6&?C_9v3uoV07AXZT}Xj?cgZy1I`LwLmDUq9&?R|_NS9~o;Nu-D3&HAHIgRVPk&me0UjcVH9nHK2a6nIcg zE9*;DqHj}9hOl&x4GfBV-l5WQUvBoJeI(wcnB(-Qytm~ZJO&Ayb0)NwmWDf$n`tiy z=0EIx4m{?ZqH|V_^ziV%(D!j+lbcieyS zD6v)OvLj`Fz~(lp8Gf?QGVl^Ekbh5;$UQeDOaH``>L+m+^J!Tp=FI4&ls11XoQWzZh zxCyN~>i5dg(R$*8DEOw4fTL_|KpjQW51!7QIf0a3 zzD$7>=*QMgyP-+}CIL{@K0~q=cQ20|TD-vJvLmHD{H!l;TbP^w7R?Pw=7OGHt9$aC z>?Z?lK9S~sDzgt|UMgvGl0Hz(3CJNlW&%1#qLWZxD%|nME51Es(0s%ve1Ev#CwuQe zzL_4SzZ@AcUBaA0I}?5>Eh<|T7@r7wm`Gc=WW03zZ9F0luz0Qv_KJ{P zUtq;c0QPypb!KN9P;?)C`|%i7#yG-59+3^dh^Ui@zlpf)1$6JpNqv~N0o(HD#bb2T z_@C3^3$b==%27H-bK^HOV|COi$9nXz4^&oKo`y>?mcdlQnej!5SFXwlkiQioy^!@9wYd}%&f#H#2#z4}IoRmVV*VpQwZ@7>V3~sfTxw+z!&gMQgY8ZQm zOJD}+8`%39aHhNjKj>3kX&4p|2N-bx4`TXg)#v*G9K?@831rprrfV@$hrEe55v@bt zHPayv)>+&K*>H!!-jEp>BOzPR2kfS1xwO)<77sGBWUQGm%b&2_#(PeuB^Si{OJU(^W1ja$Z-jCCZh|39BjY}1(>cr2DfdHt z{_ljOH`8jMD~a}K{nIo|^yUw_@eOPZ%!qI9(Dq$3yj>3I1#I3{c!?>-Yoeyd2PPrg ze@GTRxDe{#(-p)9TKoXJaJmV1s7P;Jm<8=CI#7QoAd?4Nd59L-YZPo@UP3rcZ|k`= zqp$8h=i1E4ys=ZYECpgKW=uqne57Sg3Y*tw_iwFlHUC3DPNj6jDbXZWeq=j=j1-vB zLaSeBzb6lHEn@-9sQ0{{@1AJ~t@%}Jhhmx5wC73qqR3HX=pNxe7-a4|Ox+*biXl!@ z(~vRr=Z-OnY;Xw{((VZyz%EZJ;jG8xOl8>RTI^)5@>#FFJbSL#(e;#HI)#z~VP_A! zE9)ox==F|9hu1c8IH2(a@-r9+F~_4bcWP(nYu8=9+BXT0fmm&~UQ5I=eRkrgV^P#Y z1xAqj#+~_-eSjF}kl2y*_|%y&PGA9GYHLhe>mrlID_9u@@A)o- zv?|6Han^mFNknE8cc%R~@j4P;ewBIS?&k-yD~V^%bAXHz$6^CsQ5d|b(E{P!0~}g! ztD(M%kT?R5k(|^H&&haZpmp&%_6NfMF%pl7S=nd(_93{03B!S6P{Hu#zhQeZVdj!7!z0Uw%q+`|=^`kKDu3$ZETP=TS_ZF5Q4(DX%yhNoRC=EE3 zKlb<*-MYs*HnngpaR2tF%Dj%yYOP22KG$4Se+h`Bsn#s@H<b;z_xhdOSjRk2 zCb(C;L0yWgH`ckVc57)J%>`oiK08qKkoi~beL=Q!P+zA6T6zO(N>*Yn}zDC z5YdTgDRz14!>5=`geCj*{GVf|M9hkA>(B?c*{R6cS2DeaCT=`ug?|BjJvhJaLnZOA zh}^e#-L72oUwc`SVtz2tj}r}zWYA|Qk^%mE^-=>3<;ZEx_{E1#vf}wiTA}Q%|Ly>t zM@hg&iv7hE2HI;0w4r==;M6~c{ifz}wA;HeRnGAGRt3MEbx=#@5Gz$|)sh(=At*O)}0a1b>PJ9yuqo zk${u_4VBX3`e|pjM2Cr&kz3QZ3~u&7v}gW`N;JmVanL4ssfmBtMZ=@XSV-DD!5iY* zM1Q+PzL*a1!f1io`zO*!qAICgqVH8a&kBz3vfS+3trvr^On(p7Z%pPxCtzj`=?F%0 z%E9!i=*P9;{={=AXRR_Yoi;9rv8O7H*xpCwr3J=(D*x=f{a)7;QOAP>_RI)Ohgtme zM3LNYi)BypVwfj$OEmhYAA%K(^zw! zXl#g>*pHgnYoBfro`h6J9u&_F@hyFv7UiJPF$V0clzqcaqE3dgoGTk6fb;YSVL3bq z;whMQmH|&r&;n5ynXSYmTK0YA+FBS+V+4f@P#zQLm6r8r_>08n_di@CI!f9I`?Xvf%)-Q1?k=NLj%LQt%x+F7ppL@(DWp`<312FicI9 zYPhX*{ui9UEn4oT|M$9T@x8BQb$?b+lXq%h<)pvv??#cZl46e?k&TqZ*n6Ml=*A3| zj=vwJmtBcrjAvUS8sh8e*)VAb?IU^5{)CN_mR)?IEJ?>CFcwh4fa%?xn`^YIMNY%) zCGtsLHcQ0V?#}H|btRprnFy&)LV~b%W`3B{L=&DAlqV(@$ToOM=aK}1n@uc3*mVEz zlgdJ;3qS0&#;%H}_CfagDP*=Lq{pd3VHalp#SXER z<~nq3{{uskv|u)1MQIqwlG2+w|-k zz8fRbZ;bK6gjo`>%}Wfss6upA6?Zlpg3GJP*c;7|^d^COQ@#%wIIj7y^Y$MHIkk|} zkKkYs(=(5p3qR%msEHC!^jRU@X_$vq{BE_=zTi;d9xE465Rb7%GN;#szt z@HY$5Jv^z~S9e;NmVw0ilLT>EWd_Qa=)Huq_`I@Ku-oh&B^S4ocH|U5onptuv_X=5 zf!K}<5|xka*~C`Wl7NWbgU6%Y!Vcn;tZ{ga~FrpZlXio&SgPOsAlq+(i^z<3OGJssOy-mB|9K3@qU$ zVQFd+2Pyqw-&b){Cq6*u`tE|a7p61x52|`Pq($TptoX5Xmkx?KwR}CEOwzr{B}<~MS3SY-si}JMhuTGz%jtV*!s=X zlechGc-(JP#tB!qfKETSKfiW}oawThDy={NiXin#&|aFl%$zyt zlz0^6zNEjL*-Sieb@(&k*c0f(@5bwQ0u7&N64%7CMzt-?2%BrsQog$G4=PR!sa=fRJ6L9}!C{1lQcEG>D-QWb?XTNmD0lLE}Ls^J1MQU^X!YrphMZ0Pf zGXDi{y!uffKv=*M3ESKPihaNTv$VPbC&v_f9x|DhM)PzUe#kVPjou2r-Ig3j?0Pd8 zg)8rGJ1?G7U3~&*+)eSPD18S9^_%jw2)PUOlnXnAl9`RBOr|0x)XjOESD4WpUswk# zc1i|;G3NnhrEqcAS+7$tSZXhR3oDLIevZetK~_L4VL0_TBQTZ;+}z})B@n!~NN$qk z#2wi!Ck;wOi!)y7;&UgT`G*1g!}mE6ORfk%Va$ynC5ffw*L~bKj(mpx&6Y4R-mHdU zdTh05kgeqS&!|baOBe3+53OshXjWcnmw6!sfy2$5r}qcfS{%CT+xJK&o)5u-Ts7sLQZ@9IO!Yu6MPpF}0a%=R^U| zdt2Q3ThC&T*F&FT6&%^Wwt}LpCXxSI_cE8txASNL(z87Vp39{W73Luq_u=%Av5*%= zhe7H>Q058@-+v!hflkATUx%X{H%;l3U(##{t(vSsYZ3_J)dYmpW}z8N5g5L20GwY0 zO-C3aFavw}omBz$(np1TB*7jWb2NR|#nkX)K3*@G24bgQRpzjZs>*KC4Jk&@x3k5> z`yoK;dI}%?ddf4fo-)hu^eorAv27zm^}MV$^V}U>8b)AhTUGYB+Wu%YfT? zIx3UJ`323AD?ZFxXruoT6H(lQ=5<=O2~tj^Xqf|+5{gsy95sBm)yT_({7Fb!)0P1nYRCo59fS=GNUI9tln|S zU?LxcbID@#gyQC=?t0=Frf$dB0P#8T`~4dIqMS$+|8G}0?$gcGyle5SMiv5r{a=o4YCj&RQG`|*{{K4o8 zuAkvp@{nj(P02bYW^9M+K7e>3%*6Df;Aa z>?b*(C@vDAR;3p6NlR@%oRbmW)X~^;gYd_o5i1+Ds{VjMY_!ZE9k;C~x92EvWuim$ zS&W{hXUx z#E(-}l@celo*`ZOEdHL_xm6~BpHt4&Y5J{_F`}a;5PqYiD2#=d#y>6Pg+IQinUBxU z9i5DRC)z8lFI41%>C#;aau#LLsN=oxdVl_W*ZG#%*1uoR^I){zk17rJbFW>_K&Ff5 zuiP=bFl?%WoE)3#79pXc;nXtVbX@qK+_8`esklcO&be=!b9#2xdw1{BoSP4+rM!CL=lW-{vH)X!*~b61t7~!i+*1_ZMrc zZ~apo3;TDPThWPysr~YfZ9x3dt*W1zoQK$ATd!(~Zox0ptW>?iQI(G*-f%YeF9h@} zU7VgQ6haxa;=@VtY()roFo4(ZsrD~`B`Yxy9u{2YWKzFRZ3*C|MQ;TyC}l{s3&0B$ zGV>E_gsnX^*(=?_CRf z&+p~3GAZllgA$iu$?lnfvALM8GS(z_#wb;(ykW-|Ef0pZpD>7BMzDm3MU~Tt@ux|_ z-dwo;Pn;pW5}Y_xa?zmNXLyc1B^XN(N+c5oJ0Y2&j3-E#SL`w9Z{C(XPpZ-f9fOIu zQ{W&&ctE@aUbb6s%;P>Pnp0(`Li;;pXZD+Az5jGx=8D4E`t0V>B93?A8(snoFY?@X z6r!B(lr~L8g9-Fdu~Qut=dZq-Qy=`;VcXLs5(cK!HtKw zw2onN%#qIa`uKVijLdM%ENf60yr7$+;UDW*tkw>sbWc_tGB?RMDLL@}V)(RVbjMe- z%`ciOzrpyU-&v{hcO?xRomi~&(R-iFqUrQl!b20_ESrd9^m&)x@J{3uyEj}jB}>J^ zVlSP4Q&QaCGqg-1i_=}Tg<6kw-pQdr)X>zaNo4Vv3$9frpo3HA5+kC6+FtA^E84Hn z8alqcJvkL1@$F>mIqs8i@g@?*Ebt=0L;(p*92Tci`ZM$d!EM-@1oUaSb0@dv<=|7ai9PBXRCa*`dtX@RHg(;m9VzOtNnJ!)PZ zx+mpCZ24%6xGREXw5d%0?w?KD%aRlpE;INx=yMcW9)1R2qT(7se zxyPxG3%%Z6N6%5@><+wwbK37sopKUl;#E8rmvsEb4HdbawKmIx$>)}_?Z+P0QTQm> z*mjYrNM0^*qG8|o)U)n=rDr80UNuHvmTPb#MoJ1Wxpi-N$VD88Im6C#av8Cq0YBnIT7aFL zoSNX?9R3QT@1RA)1Q`)}?I!1(Lqv_Ir&lkgU3|Egzoa@{ngvzIjYMZr)}nW0#X-b9 zcSMcTJN@3%*B+d>_2?VND?sdPg3>vZy~o`7;IMmTR_CRJ&5hsvn^zFZfnQj>@2>O? zz4#Fq^$b* z2dsv?yXC?cqKwd5O^K86P{XUCx!<4$__KXZ9-|)?ZgU=VS&`T6@#cf?4VJ9&h0yo! z^?t)e%b#TP#6`nI-V5!dr+hd2?jVPB9{HGqD>Kb|mom5Vz3h zHa|-gO;Dy{;bUgHqQ?=@;`pkn5`=2u3pmB%5YN7$YqH36sb4qK#x~Ooe-b587bNt0 zS4rui+iEL>P~jg!Xr`E1n87g;joMDK8Bq@B`Nn3?xaXo!+ihro1e9#?YX#n(Ak}&gy;@yz@Cu>oXaJ^7^~!KMzGg4f1vRs)S1A8z{`H` zg6A0Tm`k7^f`yuc#wMe;%Wq{eI6H-At0}6QsBzF-q9>HYuS$wk={WP~(}J z2&a(!vpvjd(N~2iCprsnnbR^{ZsfN?{Q5xHJMb9`oZ%E|4tyx&#|Nb$@fvFTs{huQ z5B(ORtxHY24%QpHPV9BGo>PFc6-GaoioU}s9jx41{PLS`BPHd*njEdOm>%)B9A9P~ zTd(L(3l6f-rt++_5X+^6nBqjAjY#Wr9D^4tjhyhV3uhACos6Znt&)m+eOy|(={9u3 zlF6b$atQMN`3yb`4>-wfgU}}b&WL*CxRU@xfT2{HI_xf)-b<1TZ#}; zhXt-UTn!jQr%DMYOO3iCj*1ksvStT3J@$y;niIwwmW9E@$!CYF?)pnr<5lau6< z5&Z+dW|zt{%u{1wrdv@C!k=Waz?;)0A8ckur4gi5vVGaooW}>=v-EITVr1uz8(u7JP#Va zo+%m|^?64pW`uzAV%bqYTl1eYIagWJ<5fW+^XbUdLg$p(CG4$cve`}O-_-;%?+{KN z*c~P6k>g*lKN!$mcnkc-_Pefa7ZcyG^;6Q|Khod>K(!jKyF*asGl?~6DEsD%&m`U- zAl%nF;fcAQIPn7KNk{nmKs;q|?&ZmC3v_tL6n0ARX2c^2WI~5;H>~LF!zGXL-jaZ% zKi^LP^Nl(=we^~t0-w^1sp}p7kF(hv+Gym}TNvQ$Tf|xbbCfTN8i$O5ZlTt1ob zi4jMWHuj8U+2;~C8N4DN_ohkeh}DI7IfjgL4x|<~66J68yulBkXM;>rpUqJVuO&k2 zqLLoq-YqV~JooZ&YM84$_jC?{!nujR#80FI;SMRKYY@pc0k`cl%u|oo`?V}ZJ)^gW zCJBqYwt7#47+B4Y2DJB}d^53nMw4`fpnLMjgU=Vf{(EPF2#&Z6#C5dLv*iyW3W3_ zH4CJL#q2rp53kdVBrx!3yNOgLb9}4$Ha-z8RJ-(K*Vf@RtP_?|KyV{4O>3QoD?G3m zN0a}y%gTEgd=1XT%wgmK2Kh9LTspYspZ~6L)?Mk2;>Ql|j9;Y#*|J|aOak08kR!&n zhzbsJW(BV+@ZD6ma-jI$oN!=oo+_ynqkMmYv$#Bn3+yA*6N;GKcMOO-H58rn&9G=y=3B(?AaxCv{ejwX@*L4=tdwt3Qg zBwP-Bo`aUJ2c7n3zp;YG@lg8Hj7Eixo zCQhUpc2vdlYG`N~yv+?L(l32!+2P7l;ULV2)8?#g4pCc-_3f*XVC+o8q_Iu>cx}Mz zK3>Ch*5iA2kNQ0)MPuMRN=y`jwP`{&ATzE(AO!nQzU7@jSRIf8? zzq|9Uzw+m=xU~*!mcPZBs@~N@?Fl`uwPyV&Zs}=N&-uvN&q;-w`beI2y>3+67K|nC zUkqRGn&*-#O5E7LEB^~RO)X4oE`-~}i>u)^>+v;Qh!bgPo^XN=6D`06wCuGguvCRF zkvEFYXWfl|Q|T9!`HlBpWcvw>4>f4}Of2HfCjxzbRde!u`z;jS{D|Ir=_U@J$s%Tr zV3(6v(oYl?dgMIaeg4=ZKpdJYQw%|3va-G4!^j+G@%LafC-3X&A@L{CQLb?N)&{5i z8HeycGQS{^=9GvZT`eV0dWP~w`)B3pc9jPV&KgOe*9SrD;lGlocjD)}khQn0Aybo! z-FL3%&8*)sBklaS8>0ICA0nH!UdxwUrZAc?5aAwW6Ko0$89iK3ui;k za`o%DG0vZ|vmDa9X4|1bDS5o66jH$H6$_@nnoV_CtT_AIIz$ZOZgz@#q{p^yNCrV} z86?qs2{zi#)bwY2Pn%lioV3;tw;~)F(n}MNsef${zT?*H8$^Af4dZL-{gEa2h<3wY zK0x$vRblw{fAU*o!t_`tI(I-`!--CeiRmK@oQyHS-e6#>HYI$TmfUhqcV09 zV)C@TUkrmSi;~X38$$C(cL{K!B?f`%{6t?opKVytq9Y=(`kPsCuLnb_kXt&5*9Q*w z1^HRMB`Pj{X?VtA{gBX+-o+zK!&Vv6+Sb{;w#}$XO)boZA@Ez9Zy5fL7<}vCW*G zqe5jHaB}#_?+f<5@7L|XO9^xuS5)Ykq*YMB1lsfz!f8b5C?zUOAF?xo+f4iDUZ=Sm z!}$>Zxg#t)>(G6{;~AUDy9tP4b@qqm$6=o3bYv=s-rKqC*hf zeHLZIatj_mt`jlyxI=-rZ)^WFwRV9)3-g##Pmya< z)`r107iG?l1%fxKpJD5ZIV0d)4vcCHjE8M0w0Kn(7s2yP#L&`XM5Yjedo{=QeI5_2 zm0_K&4}^2ofDFccH^dFRJ=EKCzP_LFyFZZtw zduM4=rPImi@R(186|K#%0;z4k=u^mG=i~Ix>h-CGt@nRtJA#eD`Mu!|^57M&q9mFc z^r4OHUmGNr2mIoeh{}_(hSamb^dGL}d1w_oI2y2+b2ae*7jQ24r3Se=of2D)%%0e} zWpHxCxN~j_ODriYj544c-DM&^|8JSNyRPcKL+;+IZo+i?)BhzKZHeYXni&wxmAwGm z{3D`B^dW=5Q9vL1Alfl#V>uJKkrRMPT(Ia#yF2_VxA8!=d3bt?9DPJy;~iVnq!Eod zqIPZ|XGFiPpT`VSISu({*nZqQj=s{CNqU-9v_v)9B6RqF)NW%q?bLjb@A#SvI`Mh^ z8~e&L2e}{oj2g!lSG;|1_nkn}=-pcqb0yTnT0%oY1CI*kScTFT8mY~+E*fs}F-<`e z)Ird*#B;~jHf25)2f(z*+Gg__CTV8xhj4=qtOGTv2-s$RaC+fH|A&o?f1IQ?MsRjH z>z$xrVZV7$a%LZO%~cb&a9sF7crnm%Q{MNz_F3=GD8MQhlD_?03dx=bw4SctV?a8b z3w8vIG{0=@I5?gp;Fi5%cU?J$_dc57I8VL5lxqeovCo>0t-QtGp$kj`U=ot^CO+|p zhXkpuw=f)mW6H}MLgYF{2A)e_r1sH5RS681{h0&36$t0Wtw!jHsX`bvjP1gft4ks|YK^^n1zg?bjRseE#cs%yRPcs)|7S z#h|6>>Q;zST*8jn5b@DFU~VFqZfr{d6(-jy`?cjV&#Zc?DG&bN&S(~*C(x0-XvN?; zw+ZFr_q(sRUy5Y3^M$3pkk5Q6{I2bCpJu@ToRE3tEuAby!KT=+P9%(_p8EV&-Z3eW zr5EX?!hfmTQncacHd-eFS1trFW@>oF{uNxZy#F~@~v(qu&oyefWlO&A_EsWQR^c$mI> zFe=xL9JfYj!G1@U)+|C;p#D?>Ij1I4@+UTvGIsKQEop>UET%Ri5^E#0)NU;)_d67>JjFzA^3p)f&+E*qB@!`_pB{GAxAe8v|?H-HW^i-`_JAFFn&N zN-2C{xNb2L2k!24B+vF8;F6b>3|~NeS$R{r-H;djYhO^ge;EaWD2p;27zRef7W<(n zJiZ92s%0+Y=Is!AWI`Hd3wr@t#8BCe^L3^2Kj?~L7onsLK~V;p>B>g4LM0T%M9S4p zNcullPiOn#>iR^XEWdMWCj+iVT$tL|DOho@}>bK`PQ^y&k-I*P04{1Lo- zW=vo9I0gEpX+fNtXzUkz&Z51&VE1=nN^g>rVYV2SWOMSENB}1k`zLmq)mVliX&PIk zSZ@7*>eO4d-1X!*TNbaNUJMB)n-YIPR?`hi{aq=krniRs-N;ppB&Qr~-hF&8Cl>J+mML%p(`i)gZGl57{w&h^~896lo? zSb16)tbveGxpYxiuAk~JaV1&BfEO5xF}_vSdE5`3k6toTzs+HNeYSZVVW2VxBY~dwL;iBI8?LxKyGtqtBDH%c(+AMZo!# z&TYPse7y{)`02HeE$Mfj`K=t;Hjt8TLVdCpoCl}-=-L%XER3K-;x!a4Mu9zdZkoY8 z=vIo7cN0O1I(*SVVivcpDFqQ^w^;Hi_DW_~b`^@cz zoEqTSyq=r)(k=am2~s0J44+O?%f=wS^Fr(c9&ip5h8H2$h;Q8TSnI-W)k`4lwq*_>a7j2u);aovbYA6aL(Jg)38hGjV-Zrz zHmA`aA2EsL)G{LQn!l&SsI`A3_JQt*PKA;piGG(x3aVG)H4&7$ z?w}a@MFjy&P%G}RaiRc;e-V>)#s)D~HBVrt@qRvaI7P>V5_$oOiXZB45rkeEV^R)> zo#@4kaRa8&4~{d^vY4m*B94EL>DTv4$bp`!X|c^8()QgV)aV33qpxll zMf|gQIf^$m?#Uz(GEV`yYh^3A_cPFm;3hkt{(S8w)6iee!*|-D6am2THxgC*(z&?H zvimpUUtM3X*r71$UtZ&fT<|k~V9#~DzQc))*hgph(v<#`Ot_sil;z)pK$tcOYe&{A8DJa~BuH>a_-mJlE{IN1z$qok;ZOWjm+b)+qL<2jWmqWx+bQ=j6tZ9DSLi+*Wo&gj%ysxEaT zNqF>?O_=-OpKIak6<%q(yn&VtHSJ=pg3%3vwG70b{Gzkl8UOU1y0un$1qJ$vvLMrehO;J>U1h#F9{0D5-={puBJ`cR978iAqH;&2Rr>GhgsaF&>G~1%>Dzevvf?BKBIed@ z7gAB`@k&`$3)^RdLNw0ZrhmRID*0b3!6Pj}E8x9F9p34-{F86gHKW9UlQ`n}0v&@m z(2geuy!eBfEyXUzTQOp2bu&nGpKJA{4@w!twvPom`+DmkMK{;Wez*2{)2IG=$LfQ2 zh}pRDlwGKu{@G|vTNM?kL%YTG8Ykd*f4_HsazCs zE}kz~Oycyg;AxTHOpM~?IC172g8vrp3zgVR1k>qvrOAgVres#}FNLCKvKtqygrJt* z6qLObxspzd*3+AR5}H2}yyVytkpRc)Ekoqy}WwvH-{cXnH|5nYc2eqqh9nA z7JHbQ;Tx<7qB?yddHC&L_IW)7v5CHTFq^ibK~lsas4o)~#c+dk27Ed2PfEI-5S40G zFNJh(kUf6=eBGSn-sw7@t0&+5=ArQlx?m6n1KYNh1ehF}3_7pRZcsa!F;86=IS$hC>0h-5}Z*()pV zRYb@xl|4RE$;u}85>c`$D{{^3y)O5<=Xbup$HU+5(k5QXfJMrAe>^r zpYfuNgO~0Hru7cD8f{Z8yZ7u|*NMIH<3-`*dikPycloO+vv2^5R;XnxYho28Gy(QN zE}E6$o|?rTzo@GSEl{O0pwW1}9o&^7NMD==>5s`TwQF(T$=qRDjV~~yr20@HY#Ah{ zN5gTBji?(?4CCZIkI$4(aOVn%!Wl&u)f=AbjZTFn-FDYG_n%dZeRDe}ydk=5RpZ|; zGx+YqjZ%BV4>v#6S~d91sT9GEypt_1m3>=$qeceNW#?UW$fMhq9aZL*Rg+ok0yx3y zz;pi`jgjU&2-EIs8uTy?SrIDhmY>V4LNmOq0X13&>=GWUV%2HPr!R~U=|SVRV?Cq` zgP?b);PEW;E+rRb-rNhuMZol*68KddY1V%Af2ziRr;(uaqfH>S9<8<+!l4gx<9R{O z9Y1X*1l#R2xKc=Od+hGjE>pa3p5#IdEO0>wJ>dP&e1;=I^o0~&5pQ3>U zSkt1>XB|_zZUOGKC>k{nNdvltkak|Yygl0%bhjPHAq}DrcMyaccj7yD>(|KsZ>iK_ z+T;1Jj`pC!lv=SDW8tzd04FhpPVw|FMJ`(1r_I_qWiy2jpyWZsSt@%>(T@?X`l`Is{OC8(1B(7*64kVu2YrbR2OEUufBA@-T?V7$mO!)P+^TySv zl{@>Ci)N1-O3g4QivY%KZCr1haBR^|oN=0zb=LFTs$4JO znK)a8=>GcjA@{IWL1he_uyt46)eg1k-Ely|7McC-^uG}ZrGdOlzbpOoasqXMd0OaL zH|rLm6b z-?@w^nY&5CQ20*ZM|Zs|`vz`)4Pmpm8XOShf9qc$xCd(u42CS|v9@kr+<=^{d(3_S z);(w1fd0x%f&-$zLkjDAB&-9BXTwYa=8M8zQ#i2O@#QJX1x<%9f^pL5+na)R(p}?-_$H(XI*uzgZ2ddD}}}1kCz53dvk=I?bWwh2wf$^ln5mo{D(g@;sLb#610c0&PS)EjSU)leQ zQsy&%rObPtN~`hNH#}}tYduxrqi65la%_fwJ(U5 zF ztg+`l;$E0EX$nk|Be`@x`hhmG9y-51{;LB>h}Lft(`AU?9z7we zJfIi-xtX=>uwTQDms;Ow`RmWf*t{M)MV?MTB# z7qdU&o1FCg!0q+(`XtZplSA9wUk9o_V&zfXv>BaPY90Gj-LqKSUXX`@$uuqs0|`B4 z-NKEaxsKpX&`Wqjl*gV<41D-Hf8Bo=N6<#nsokGgRyqY+Z?NkT)JwN(5SfIUfi!HU zDr+?-|C65P8&03@(2YFBvDYrwK3a)KSrdE06tbdGaO_ zgMCOMtRKY-zilQVf%gfpz}r*gk#Of)Qy&Jj% z4QM6N`pi)v4o$p8kG)!9ioBWf-&ZI%DqBFIHPT&WM1#s|XNVwrGa}&)=NO}-?wk0GIjmZ1*Lexb&AqG|qFOCZ= z0$DlZaOJY95+=C$^Y@I^hkLD3%t!4bg?CBBMLvG zw|3=j-xtPjF}F`qjw_v4dL0Yh-x<#Xm}qBcU@;CWe%4eHdKdbb#L25(dMV=gCGB&j zs?I7*)@Qg~9L;wi8?L1A$mt_4N0_JKW(HL}E*ZSj&^eC=e0}P3Dk&m`=hg!Ld4A$b zX2p7p?GEkv`u_d8HQg0XgQSPl-6o%VX1Q4!y7#4Wb1s=Io`MRZcuvA; z#{N1?*zIg1b+v8_@X+xva{O?-Lm>*lu3RONYt{)xcuk!P7}#_$g;Tq@=*_?a%6(s)x>E~RNsf1f-+P^^eWMl9T=7lzF4Jg91m&{nqe}bJ| z$16pI6M|$VTREZ#>rW^VZ^}^b!i^M^M(mdsBdKNReP?^ABb+q~JVj5oq@K$2t}9{1 zM1rvxsBO5+0+;)F_Z0o)u98=U=X%v9YBTui)s^n6eOf^@TOKfZ_fgZ6FHy{sb-`Rm z4xMEY8A@Bwb1+Hb0cVnXk1BhkvXR$S|?`&N;@@XMl|v909JqhR1TD%Ikl|^DAiUsdB%*YE(btFZmOg zqp;VgWtXD}?pLour_@ww{@mqleRDPTO)^ekrr34E939=qt4}gGCE%8wcg`}!($$V`Av%{ zka~>HU=jE?q5ay)kOXpJ#YEl@_EfK2=Ge9pX~b?Ti##Li{S-4c%W{#md}n|ZEp7Di z`8r=n{~!G%Y2oRthmY9C`k(;y2}K*wB}T$=O?8fFURejbBm8S=`}zjjci6_`^~>X) z{4bBMro$e8Lfn;wgFd_esl3xzt{}ZL|iGIn-@PKPY}LA=jiiTr64$;iMf-IB#*+tfeX@L z;cE`Gb}E&$RHaW3`+d=sBu%4d+X4kZn#o)r;hY57i)W3YyOb%w;6IUXt*OyG@edB9IU=&`hhI`aNfu&00S7r$UQU{rS z1-S;5XJ#OK_>*GL4xv@^Ox_mIiTA+i0vkpf3?ULCrwXNX&DSH%^UP1E@5jHC<(X0O zzjp!-AoU!u^LHazEpN5LDLcR^in_8q^6umhO<$HvM#ip2Pwq<_I?0G1FsTh2NQmIe zd=IP~z4l_Fewd zBlcNQ+9ejXgXT1;KDkUJ{rAsYfO;^GeVVcr;^$hPk!gmD`Ct|ySqJI!0*$s5DUj!K za=Vx3e^wQ>L-w|#oJ*ItG*@dQceEly?G56HbScL-@Z(2|)kpa)i6^;H_ft1AaO*Dv zXr%uZpf4(3y5jI#R+Elyf1NIaT{!RX`wMfqM|_s7w#-Ty3Ne53P4d6~)Hjcq(mAab zB+8qsM(5G_oX*pOsr8gz>iTuIvpI4}G0h&f4qWhjkvDl$IdKjiylElKS(AnZV)nFy zz>4q_SsQ)-#e%bIa8Rj7?(=$f)Fzx0LKN)ypEMg53~{;=RiXSWxLv)SutYVSCP1K{ z!RZVQtnFpYY8lW@9_~Q7`Vb^Z4?c&aYLgQubu;ZQcYgc#$4 zkYh@=nBmSQSS^F-I=YgY1Co>SyXuV1Z!aS%NJ5M`T$TN&&b>Jf&k$IrW&1**5xYSp z83QJSbN)<@-~zE<@$u~-wgBgaD%oSrLXE2lNRmicEY)xycUCv|Z_4;lITK*8WdcuI zBoIy>0T&X+gjso}_u6<*fLAH$;1h>rtKA7uGWYMREZCYSm83%DpFp0&ui{&B*47^* zmWSTBbie$wvmm(orL-{QOJ5F2;32hWY7#m>OyJwcl^|QZeuJnKG)7i<3UX}&A!-Q_ zDSYu<&wu}mtsD>D;`M3<8@U&r{ad2hU!)WQOp#+>BVTuV#Lu9`b4*%cLj3oRyVj*i z37z5jyng&q$h{@5J=(W#M<-xz=yb;st3*dD#dz~2V*S-4ju(>twxW3{=Wp#1 zue(-mDv~A^wvG_hA8hgMEAGD-8O8ko6LkTDUC72FC5m)TBi^yZ?ua9Qo|MavEh#U- zoaVob%-^3#MTZ)O-niB;&`o(XAJVIK-u0f!2#vHKd1`pq&h=jHouG$%Kh`D)ln7N6 zUXdKif?uKz+f%+a%IsxE;hN@FQiSGP62K?busE;L~vR`gocaD({?4 zEKPOVUGc@BL~Y-x%H8`OB;F*$7wud{P%V$6HCt8Q3V+r~D_l^J-Q7}J@_!D9FWrM~Q+AtB;CSN^){HtD zzAaya9PvF8UAYrDC53k=XUp5ihU6}ZS;F7}4ar*Wci*Q=wtyDaZQiHoP~mWR605$f z75-feN9)Q==Po~BLSpQ0>~@RfeRg>U1^s52)MS(fC}io>St9j?#$z#&1K#fPTDo8r zVf3U3qch>gj&(aUy1r>eR~4{{d*(x9-N$X6D=hAFAql+I<=Xqpg#e>0U<~}WYZi3) zOUUer=e{)qOA+KB#biSyDcGBwJDJt_uhC3TE(1eUyXLCU7Pl?13okdsSJM3s+~Zcv z_$rSsytV(FpJ7U8WYGbAP>J49u!GJm<$9VlJbDrpVOX=rtD}5!$+m=HW_!33`?nbMSF%E<|k?HvezJ`gP9s6XhB+GneaI(6vE9B4ve0v zizL7fOuW4;sV2wW)UMKE(LT!UIK4|qC0{k$PRvu~lE!Di} zrmxS#heLmpJjTTr&Zf<*Lj~+0!pUjIg1d19>f{HPJaS6*F18VtX!{%&^l%AKd9eh% z+n~Q@o3v5@!4k-Oa?&(HNOx_2bD*u;XtBt%$ow{u9t4o&{#sE zt1^#<_#6o=CURm+4+-pcGWyP+$$DO@bJDpz;u;SS&%b+9wVH|f3ydf!&w+Gp6j~kO{iGwj;1(2~k;!M#kP=9(fPvX2~~h z)N=KyfQmaG?+Is?j4~t)d2so@S^fL_QEgZ6yY$5AB^LdWuqvIw2j-)FxnKQWe8AqX zO@bp1IRE=@jlb@(v$2DMMMVn4iFnBhdKP4GO-Lwv?-kx7(s(MepSRnM9gi_tet3>X zIN2~(siTL)3Qrwc!>5@apBRK_#B4ZMBPTmA7SoxJBEY7>BZ4^D#8t}-VLn5f>3Aqj zGnpdYOcI|Wu!_|2LL_6IMEE~llmzBee$9WliAKm|Papx{x*RV%&iL4A04_ewtaj^p z|00%R-GP%|P;v7BV3sPtXDSVPc2}z>((43Umrs^*3Fm^(hn!Cx6gZzwz}I8ph$RM8 zFmMR5XLEtBKA5gUwA`<>c*_mU8zRCV1LtD10~O}(keecJw^QPIc5G{p7vIUAp4NIs zW2`6lJ!q%>O|A%Iz2LAdIh%PwD9Zsyx0N8qDbI82vGQ$hxAPN7fNhY2W5UmzGS6{( ze41c<8LJaIO6p=aO0^zGsaQY9Td6j8rC}ZDSYxVAkI_rx&*@VsY~|g(*UoG z1hEwWq+}}V{4TzN)<+Xh)q0+f`n3G?ZKbbfd2C=N=3F3;-dit;d7Q`PV*yvMJdrPL zEH`iiQLj z%KPnIi4aP{%;7n2y5x6yR9ETG!#%!G;!A7$W+vhC2==$4mma%oQJFX+XzW8G>d26I z{>Zqymq{yPe_KTm_~eYn2kehNczO@jiTxmKDE%3r@_N)%sX@iD5YPeHpJgb7I9H>e#q0||KEL}~OB~?YI6#FC z0Jex9FVA8_i+^%VzDhwQNAR8!QG>I9X7Xr1csCVpA@Y9Z4xZjqb#$Jm4lssr&g=13 zqfmH?rcLZZF$zd>5qz27s9%&)+>(fU9ydOD^(A z>)u}d18!>LNim2!VW3%STp(>RP!;)WG$J$cq%1G=_EVcnKn_cGY^O|82YtatgPim3 z+Osr?$Kj@B(D{m$A2v51@+0uu5)t`is3G<*D&_4ZGggir zYX}Sch;D)pZb#+E;kC9h;r-iEvb_0KYdBV^H5bcWx>^|gw1ngyI^>2^h0oZh88Aep z&dFqbH1ClzqxTl$hTc6o@{-A6yjAda7a}5u3jpMG z)z0lbskZ@4p!MxtS2ia6(zw0|>MR{XgO7f`kyp9%KL^^Iyi=D^=(BhfQn^bRQ7|Ok z3k5cgL5Jr%aEmlU0OqfIWImP#6nYd<|A-NZN^a9SMW?~*3vpgaff$W;Acj5WVJ+B- z#s#pOxpaVu!D%ToU@iCI3I)o(sQuZo#4LKY^?gy}t8sXBzSvZE!Ua5a*6B+&3(p<3I5SFL!*6(T5P z$9H`5mfHF-tf-4j%*Q)kk)!jWczcMy-e03!-`4??$>*WZUk@+hdb23b)Ch~0&+Cl$ z?~e;sulefG9>e5fFs}&Ea&ImN2o{M2iS& z;!L#W;z82faR#PUG<(mtBX54_?lI8#7v?z-K=30V8z~-I?Kku8?^d2-J{n3b(2Bc8 zt*u$4t#si02dm>C6vJ-;^T%$CXo(X*e?@B3QGQri4LYdO%)=<8Nh3$n8fq3|{$3J) zIbJ2g8+k_KXLBM&nBMk;Rrc*0})PgLFCT z$o7DQv2vS>uiAt7kdwxM-54|Da*~b>jU*J#{kgu8F+7+}yA11_XirQZ6P~=c??XfG zgIvAPEtstgGs~lp6!1;Z=kV63>Sv%0oLD?VaR#rF4gg1O8_X;nmu~(`vU7BKbmMu5;ZE@dw>+&;6ICRK0f?m zxYT$f1_j`3>SDRzi=Z+a;9s8TFTEiQH>nNKb^L-)0Wo;vVH{cp?x(=;GEOmpWb%ZK zzyTLvQhAoQ+1MnM@$L#XKx*O?=BLlL$)+RU(Oq{ulM+qq{U;%o*mHHv#1O~cE9b6f z$I}=dq4TRb@*bi*a@=7v)@l*O5eoz12O+{nfSv>Dc5UNE^hHla*jFG<9a{el$4SM!AZfLbR>~t!l>P0%B6S~;2U8Q~o_Q^RT zY7j3)Asc#6Ch>fD8+*9^&1K71ZAw88(%J`DPL7K^24|72%;V+Wc+c^GiYr$c#%$Lk zEw;}2IPB2ZW5C9gfscJHyPY-cxYVjI8|MtsA~ANfjI;7ttv@~{J(mCNum=SK&;V;F zBTe&;azg+oeQ_pYnQ+S2vZjcW0d{@0A6S_mOLsK`Ozb%|hd#zQ zlonA4Vwse~lK}pSF@qg58+T671w$cWW*~SH;5VCsxWHLs31E8LrN)4rIrs;>`MYd& zY><@&1c!yW|0iob^xf*+Wi)p5!KGU@lTIGY=AR#At6!K86gz~IM`)_KXSV?eDYj8f5h zq#n@k{6=Zud$9FjW8HntxaVi*%o&WWwcLdQSl_ z_>H)GFl`ZFKF;nt}!$cnEzvu9wB}Lm}(!8*@|=R@@_pG zI<3U#bfD&9Q;W|AicDBl+38lC7V8KX+D)qY#~p(lVhMiGBgqUl zC=($wWjV+S#~&$-MhgNM{OODHkeuWi#4m6JC#mv6>+uI_ey z$@DcEPNx^*;Y^s824;E`aFQOsbnT%$^tPBEk%$EzjCoCv*jUqE&pTkY`x4a2wOuk} zGWRYlrq>u8qer8hq}ImhK%xaQ!S6TsWF#}PBJPNRZDUf18Nqp`4qBThO%D8W#MEok zDbeS7Uu7Y(W=_T`WkgV9Zp78W6s4>*P*gO3kHalg2Xk3+GPlmmD1JD6zu_I$n{c6z z!n#vMJ;7`LWe?yh6Q;Fl>4{>$71tVkw}*}cx9L23yeTNL=(|cTzxGz1c}?Qd&A;3H zF^Vzoc)A?@P;lk%D4hLgGd+P^v`TA%!RHY{x0j{(S!80^PC#n;6YilzFi zkVtcN5O;=2s$zNC-+Q$9^8}?aT(2~T0Y5+zu|y>Et$83ZO>#rJ1G!0 zF?N>)J3&3jm9xyCoMNa`#l`2KVGS`HiQYb{sw}{b%@{D-k^S76rm>D{79t z(#LgdLX>I3G_^B|mFs9->X$+kxx5Kt1|=L0H_)JjWlq+Lp>GSeks&Uh1m<7U!WHET z=>VAuu>d@UV>xMpU;Bwh$W{peLs0~iT{WcPNT{Nf`$m~xL!-{Y_ZutRz-ZPQ54>-2 z&iX=;;)f(hEaLF)ql**P=&)?#6{!>D(La%SuLqELPw%h)y8bbNs3@K8|ZhKtOUWP=v~mSy#3L)Rpz z{;+$hnq?Kcw)pgl?N92nYrCqQ@K+ujPHKlAVgm>fp1$52_9I=F6XBNk-J4N#jk_qZ zyD#_+4#nkV-alwn>UypZ@YAO+k$8a-C^RCGwT> zNdPV>h~s<~w_tSCvX>-+%Rf(lO@C{oo(Uu#3X#IMU5aULz;-X;d6P z7~d@~1{-ljR>0E~;0KTx(`ryrZ0`ezMqd`NV`N{K# zSL}Et{SutYNdL8&Bii8kQ)*%7W954qZZ1;E9}54tI_i-3R?&6gi~)Ztd7MWC8}G8F z+fWfrkJLwsP3Z*crnj>8g~K#N78L92-D<}huAqs8qwd00A?CYZPF;;8ipfyp?*{={>m>|QoR~-@O zjhtG%k8q?GRz{oKJ6erU5UHNMyD$66TBZt?INf0`9)d{ERpFG8lGN@{^C$ZM^Vl%T zV()k>sWV`l)*3jDIx$^H*5b9ZnX0-G8+7c_IG{_P{sy=i1P!ho$xEzpMvs^JJ^L;v zlUtQAwr#Y4RoI0R@;sG!A?ZUL+U<#hqBvws#o2H{asV$wb6L?s0L^GJDJ}j;a6d^t zq*RLs?sAHwJp|Yw4zRP*F($Gj+_fhb<{3las2zSA>G{*n=dvAJud&#Z?J?QbxucrN z!zl)M)$-**E(hR+{5UOdedc*k?D3?S1A%9UkH)9C{6DAxZsbS>SHaJOI2!`O+2U6{ zIk!=C+G0q1_;+A3@%?<`ZhxjT1piW&XpScO%wQA%U1cx)RHjO+kq8*c2S5Yiv=kXW zIabY#01f{0wCjv;Rry9iPmt&fS$Fz4{z16?DDTD2&hPg_A5G>g2ocA6gQEYAJFWcT zeHFBI;n_QaEX~z#UMul|GxmBhtT3?j`{x@^H|DUAJD*1nCe{jny}kW+?nA}Qp{KH# zKbZWQ_IA?x!zo@_%MGu-z18u?I?j_IPp`7z&%)Z~^AR#3Cw}6|sH=RdX~JJa!4tZH z&^A|g(gKUVqL>J+uxPS;*z2L!gsxH|9}6^NO6W~3dFt@?{Ufi9}U>jlg7afa@biXq5q1W zC7g-d&xzQHP07Mi(w^`Ii|A6d(Pc_*%4W|+U@T#kE_Zsi0NlU0B-2Rjp6SU z@&ni$@q>%aZ^;pEjF2HNY2^HR!zl>1`|RP!tEWaLtp^x72dzh_xQHq_Vc?WDMN_F^ z9Jzx9ReZ1z`3IEHv;iMgZUn*zrm9lW8~HaOEP{?V1M(QXj%|1@N`a=%w?k$(!@rAh zmYHRe znsJa{O8t1Z2D$1VIo4D&nb(~FJ|?l-?~QO{`TgaMhdrx^(h9uLv5F#aGb%y^MK)%l zY6;09jw66ylTB%zV{c1B7mkjj>lFJWfzYPlan5FAf&%|2E;Pj+WQFWU8zGpSW?ZDC zr27BV9{EcHIDSfiF*DoweqW&D@C6IH-31NBh2AeCf)SL39xSZk>~Bgb zI{a_rUk>l^|J>UoJUwkVw$Z2#Fc|O}nMVg!XmmwnG0V(9eB@g{Su6oD-3spmgs-(r z0!$XGBR9%T;Pyl4dZp*-rQ6=_cey>*shl~~oB;->JQT3Av#Z~*+uBDhX&p0LzbYRR z@Ed-|etM{B|H}FV9;4sR$>P;DysYN4JDfIr--(;nu;55KzV1jFg%^3;ztI>Lb?86x zx`GR|y8vM~_IBS!EZlg1kV46whGeZHxA+e}lHnEWjdyND|v>22n|;DQv!r_UiU7mnZJ0sV=n`&qfyO1}CV z+B~$g-h9{VC9FRkVfhHz?ra*Cv34AV#$wr?Gd~Iw@Sy8Y!ynsY)x4v-DH7LJk52Lp6PQ8l%r}E;aobwA-o3iIw;Y;@?`7VhEn~7E8PKn-k%4|_ zT4K%#gv)F!*66 zq~L{sGynZ`oBrhRcVyvRX*FK?#2f1`hbTlq#PUbnYzBAc%=VXahZ<8$$fK9#QO`Qf z{5GNf2pCPo3^4BLl>Z&eAN~5=TuF^Nj!lfC!!QY{Vij$Wgm_!&jcui0$DZdMto4jB zvbr`_r%Ul1%j*?zjQmx!nAh`)Sw1C2o&0ZQ<rWAhf=K*Jd3pTs-T;K)+gt1Ca#+y~FUzX^J z`RSjQw^OP%c`#&pS~Fao_w_lxtW%~8o;%BV>>>tpdefSWzz)7tr}W5NI_YA!=YI!r zUyX=j^w5pLUm3TWi1{Fxo$l!uz=eU|ULuo_@OKgD90FeeU8CY&G|?Dk08th;{q?QT zq~>vOBCJ>klo4#asim!Y)Wn+cNT*Nh9}PDVjgv*;&FN~D7osV2X*@n8=dG?g6`$3F zv$zE!{eQ+xQukaZwkiVEM}XN|4Psm2Eu7;m<8&{ESEBNMd-k7! zDXFT4AEICc&f*t7@o?r;?Cs%a6PU}fkni%(Jd34Jd+K`I`%C~FF7pAv0?pFQBtael zfWz{+Ianawd|Q)kG@Tt(cypSn6A}3PF&ucu?SDHWXT2wy-Tex;9V3B5(LwJAUzZ+{ zXq?qSJnz8em$KzIcK5!%1V`CfYDL43MP^uga|Ft0Bt~#A%_pa|Bf{@U_O359bIuHO znTM8}v}&1fQ9r?i>UN^PcF5epHm_8I|Hz=BR@>@ZLR)R2P_nF?{thKr+PNW9k95b-4v8|$4#Cu|j&L>An5l|HTYS#-L_h`V$Ak;OQ~ z%%OIAks-dSs-BX|CqV2+bk9IqYGGH~p;DnV00TCHB>p`AHr=bhY2N0Je=sn=W@dIm%r~B^bR9VAz*Iqk2&>mgLmlE6t5a8`=5eQsp|5&X zJ}qjzy1G3*%_B9XDT17o24dNl%yu_lZ)-5)o$%WR;>6e6rv!m*{^X;sd4f9wQ(iU0 zq%$FfJGmg9W=D3E^{U(38rGSu8wyk&cD65UJ9wy>X;vA?!m>~C{ySVq6^R7FY6>T) z@zs3XG;g6c$jhTaC)(3y?KMBpAe=K6i{`$^BPK+(Agw&ef;@2^^$lSDHc+Ritx5L z2k%nJj4~NQXF(fQwey?k#OcG~x0SCa7=XyHE4O?AuwUuX{iEI8&mrOEf&?su5>cr$ zFc;uk{qc#&cUP_nvaXu01hCxf4VD*GFT_k-b*x6}u{TtNQ7^k7E_X zF(M?-G3^f(94llvKk^IOkING|Qkj?+&kKDM>U(crq{=Vu@`7KmUevV+7y-=tPm&WP zx0w85I=!U=0xy|wo?utJBwp*kucZ$aQV3~pK>rmc+K?q4b%M6tr&G^PdeTgfm71a& z0*uv}PVS8-xf#J>(Jz1Z>ged4(|ngxGWpf2jlL2oO3?1- zLEs}skVF8NZxM<4g^T`iycS=cvI~8^{DDX0Kl-P&gU!c&|8gdU?~`;S1nvZ~@9Vx> z8oa&I8W4Qce@%JqBDVQ^aeR}?57~Hyl~Tu#F(G(e3cEAYFg|ma znf^BN{qY=Qm@56_J;riESVcQJ+S?)wy!D-F{m)4|qQ&3$$e}y4jw>_l0zAiDi3ZgI zro=;N+Ti03bP_5vpO13(-z8ybyZJC z9q5Kqi%@hwuz0S~@<#G%2d-hY;?@rC?q)soq^^D$2frTHZ`UjzUb%^za~G_375IIy zp!+|ea=O!;q7?JEYhU#B^RC*_Lcj8Ne!nw!nwF^ed?_b>Mb|t)?CM<}G+;h#JgqQ8 zZdmZ<@d_U^=OxEfEOQLdhY#oL>NgWk?0uLfTshMe_x(SQVFdU*a_D~U5SJHwgwtn& z-ctyK(Ib)>AH)an)6g~adaFI%DUjExWk|;HgR}V6?tB-b^3%^W9@ofU3DJ`pLCp1M z>=0$^AO8Vjm0WUI$5kZo3$Nw$D<5a1zeHk{B#hHJxIffcg*8~bP~lDAO&nc2H^A3K z%G{$9{-ul^57nivr#^ncVs8`ZI(R-%1YXR=+;EhpF0bK4DewfRbP71-aeyLU;M9Fe zu)&ixVYHI{>*^oG%xKv36?*V0VgW<0^UwxZc#5=exC8Q8~AB9Sk%K1t< z>bz(#o2>7?3SLk(HPg~gp`K>yim z-v7xpY%GH*A#syt&V>7!g}nGPF`&(~lJi=B>NJ7(=squ+PMvmlR;&C>a15UTM0l&` zgbO~r@XU7M!HdsjTp)P>(wKl)^bb#>Dhy(+?a0$(*Nw;-iMT>3<=wWHP#$GmcuW)| zH(bAsgVn^daL3x@hDZR_B{P40a$H5Lq7Rcawev*`^CWx^Gqo_4} z*sxA*Bwlxuq|Jga?f9Ub2|WYgrC(%D!QovSC!jRsm>4Qo8A~fjeHnXb9t(Bz&T9?% zS?Q1+E4ZtpbDt>tE6#?wXr#9-;8K7&Hv;V0SNS=MH&^@1UhF)cw=KvBeoE7WzJ~ab z1K7hYfx^S!Cg+l&F=+0MuLbjJOqemcE|{)YHoQ(r`|xs4>gPdUG>&(FSO$-00i^@; z*9y^Px8$zhuww3y8`A&7GT}8=Ggd)i5ZK&bltcjCoearrNR_m8?jo&W17}vAU7A=C zqGrNGJ`R$1&j8}YLDIf&R?m!-s7CSn3vQs=dHD(gUihlWP|^Y1hY|S}_PY~Cd%QUr z1&3>jfJUtuy}1SbZ(iVk#1=HV*YwhJ|BNx%KVF2;AP-!dCEQqnB**x{R_)hAg@+&M zBJQPqE8u)ta{r^vkn)I{G*C!P$v9GSp6NrW);;Kmq!C~Z=R2O+^*?;Ko{Mqb_D(1y z!Ow`^Iwa^bVIgjF0KG1;(aRYhfUmtnK~7yU|NoAU=U8A-M6E<9bIhBS+p;szwL8qP zL`oKg`3?y&g9mq1b|(y`K0W0+5JN}tu_0C>>M4W?G1z1AT4bUo%B1RPp^H)<0C-@m zr)~KJc3>jAlmS`Qc!P5m7US;iSDMJ7$3|xiWA1&ZostNSJ^_gDvtx;;&{#A2NoK_9 z_evf^$IdG2n&Lk}i#uuldprG|p~Cp)5WYItITLpjWGVVzw~l`K``HphCM(GRlWT7#HAcEr&UPPulT`&<6X{KJJK8yqmf z21-$~f)PAx_=bUq{6p8O@6R=>Mi{0zL%%lD)=qv>*B<`$MBJOY#7M;CqBBB1aDu>j9qSJRuww^J+W*0D6pI65}Z)+=F0vSZRXa zjZoOcbt8p{)6G8N`rQ3-PPp)b)oAs#Ocjq0Z&~@@+^*SjA1O7N9YS|2bWc6@k}cJW zh+5XC&vYUjtk_-S>#*95a9$HO|1~ZYU%DsR1ft`49yPU&=U&CoMV!se$kOCN=zTOT zt3m1Joq|ht@0A=kFY`E4nD}S);-|{1W|fd%bvUk0CBLXTJynWo;()6~e#0(+IY8k2+Y?QdI<_{;|IwQ} z5C1jhVoP8qhca%9O~AHvw#Hx2aj`F$92kWbCz-S(Puo49XZ*Vw}Cc7sKO#=h3y3c-Q| z-97u!T!Rq}8P%}NHQGBmf`x?G;Ihl>Z}t1V9_Nlmd5^QKR(d}S8m+`F&R;a&t5Afi zDomzMxgMWe8nR%V@Qh}Dr_LjjtNy3M3xJ+$cEkRLkEKUimX)d55NUOikVmVTg{1At z?ILcMo*X(phE!W1)P1~(@JZQFGvRtF$@2FVz{V*kuA3vxI3$g6swHV1=Q{X%5JSeN zbof%wFF?Xb;N6_GtUBGl#V6`9u2ER)&iO3kG@ohL3)G*59}z!KyFFY;JTj#ncodtd zOm8=t0Y(b@>?k$>c*XMX7>5h@`EZK@g$1sNuTMFa0`KBwY=t`pv*lqu9`({W)*F-8 zVxdb?jg#WE%iB6dx{<7#IRGFK^&i_H+c7AN4)nfDM}qA+fQy*fPWJ+@{?PE8t$3K# z`^)Hw-wuriU^J!ANq{OfB-Kr~@Ryl%ubXkI93Ti*DR;i#|Mv9?0$BTj+$p}$Mrx6k zd0-b?VOH()F4rV(fCfYLoX!|9)r3EhHHZerF0%(a9PLRx-S3x0wV!LkoS0)46Xwq4 zTxr|2=b21lS4{wp3A#@qB0>E>xQgt19zAJW;!&<)*6*pAl|(?Q<>LV|^MBqv|73k} z>!#J`nnz$@+Q*OMR)V^(IFFWP*a-F~kmg0^GK=JA*fT3-2^60W1R5JbZtu z>l64WiaS-rekq%a`jZ&Ly+?HQ|Htk-%STAk3XMp(sL6rF&UKg;t*@7S`DmZe0?kOC zcYn>gROvJeF_a90{-m5}eaqo~~gbxfKZky8Oe!HJaM+ke-Hw}$6*l*)+{RKd= zUQm}Viu>)cw{r$`yP7KEf za)}h;2j5@z@9nO(u_wfKMIOupf=>&b> zGB0(~m6@C04f{g?I#{aQ0S1r;9p$=+qt`on{$HZt`KTFfG z2f#BtcJdw}fm%C7Y%N=aUIkwBq9@F1tkt%o!^cx0PQDc@4p9@H9moa1&6HQ3xT>4z zL(-aD&~umvgZLh>jWj71+T+$Xxn*`I?H_?5wfo8;4eBr#YI&n6l}eZKwYB>Q_5 zyT0BnSb#x%!xGq|$xz=5|2%opy{~EUH^H@PuRr^pznGkM-pJ9N`&4uD81iGE5N$A^ z%rTgfa7rI4s^4hPFYoZMrz|uv3J4d?$NtiWvt;V&C6uej2}sUusOgZ%MdDwpl{>uo9Yxl!iFc{vV^^_Cp;3 zCZ#EGfvZ|JDs+N@v^0Z1E($!ko#;^?i}8PIrQn%)7rUm-nTJ=A1;IOB#EjxuC3=!V z!{qTPxlYq%!XaK%2$wWj*7K}NSPQPWl3S7;`WQ1`0P3q{!HQsMQaJP0zk~lVQ7|b~ zq8%n0K8-BAs>q+5Ji5{#HxB^*6x+bHe!V}*uZ3ODidFiXt$AKHz#CAE_@p(iZyI?v z@AL@WKGjy~9oYtF0CIz+;W(&T9*15EcUGQ(?#MO?u6K2fLu319O=p>QOb1HiXcv(#*I&A-g>47^Yb8ZrPUML z+-dWXWnv)A#25Babcz0LOV0}nL(nVx!gH!5BRXA2v-?l^wH0>WDytSqRE)xScR{Cy z_CDfA9~?dPZV@j=v)P*kgy6tJyH=xWsHoTf-wDUmG3ZU_vkDY26$evmv~+Rm<|&WX zlrEZLT9+3SR>s{6l|l)Q(>7{nu?=?l65W2bPH+E%)$n0iTI}J1c=#7wQLp3EbD&zw z{5HnP1hv67g)>_{*oitMzED`ai_WF@YL0sLcJ9eM2FTl1&3b{RruWhs5jdFHXOjMm z)oJC|-TX5i(D-xFzMKC1xjAK6e~2`e#xu&2jaqF@?^2D96hpoPJ0*q`qxU#M-*Hm4 zx7+0=Lj6U?RQFy7edy8O+tMdFI_9e@o2bcQGv}U@A(d5qBn)bLPZek>dmYjHq#`3J zQLQaB>N;FDo_kMjap=83Kq5CsR20w%bn8UZ2T1S}&LJ=y{a+ZPf)Zo6R;q0P;l*$A z--Wvl15(HCj8wnK++AAEOw%F0ef(7g!N(ez!1=q@n_?S`q<1v4*1eb_xK9(e=vMYz1;GJ;|}_HOm#aht7&OjaK({c!uH zR=ENDOy(avuWdN}>7GBjcgpi-j_lcv`#)9cKYn&o-yMFt72=!Yw81W!9RTus7u(`1S^MBW`kwgmQZ19NgR?;g(^W(vlRGAO6ZNvm5< z!fSB?xo#HVTdI2zF@*t-Z9mTdTm|oy+AU)0af$#NUY5eB>gSvNzpc$tN`3TS=FRcY zbIIB$v4>V>p7gyw9E^wq)|dv=BfaEsRAX0jWYYeFXeMgaWZimO`A_k-q~F(f*WV2+ zWA}Ux#LMl%=e@K%`7iv?z~r;7JW6F`>y16*yRNWU>UH|p!A)6psBhEJQ(4gyk#eU4 zi?-X8{XATLMDJR(*ErHk)hFinvgPZsm73hg!bTWGjhyw=jLsp;J02O1i%as&P@^$Xr9_CmPS?sKhgp#J`s_HIG-m*(hpoI_@4~WgQcA=r*Erk`=FAHr#Lt(Qj zEA`>rl@G!q^GXDYud=y5Su-^4gU8mi)$rmuzeOw+N$ix2NL!AeYH0J;(_G za)&N`0_BW|Z#!lYG^NgpxPsOrh zG7UyVXAT_spis;n9@f!BxPU1G9@;7(yb=V934r8O`c;L=GhdqEr6;atmc_160ilYS z)6NyQI_eg)(}B_l(sR532TL(R9()n_@M#>e^V=&r?RJ*v1ptI{5TGUXP>0p|JC!Ir z14EhU?)UFG6kkI2gKu%F)`GzJp@XNbh;>-s4iO$Efzx9LEaZa#G2SES=Has%9h^Xv z3)~XaVmUKf`3K-$oxT0>^B5D@$a}!2U|&;iT^MrrQ({$>b*(ASr-FCytjnxFaY=Tj zeT|0$22Nib|H3$*bC!At*HVv}{=mPTKFD$LLO7X#47pY(?EU0UWx@p%gPMXZir)*E zCtkfjf1;*P)$S|XJK?ht=XEG_b=~$6;%k!O2GzySLQT4g?9@LM`vf9E1oeTkTTp{P zJCmPl&$@n=ShG{xiz21RFLRF2AvW6G0q{R{s>T2Oqv5<{%CR7p3%3j;m>?te)T^f+ zkL}t~a!kHHJsp)l?jEdU^bCP0g_>XO&1Ki+_Rq;G1+F79o(6U(&^x6Oz^!;|pq8Xw zo&Gc8*5y;Ale=Vtx`zR@2XFgav zI6|k*IPSbl$7di}^2YWNGMR-p8G=^E?jb>`whkWCP)izzWYbGX8rB&fBir3GWA_~K z`wV;s(f#m#$nXtj6F)m(Te>siH55)|TjA)2#>FEJNUJ_WZi(yP#WL?fjJx}@C+#R} zMy8S)68F#NxaOECXdfur;s43~de6slsm4!N5)TzWr=W}}=~nLz9}AX=zN5+KEQAe_ zC01gxM<+`6BVVLi9p%U~ne$+oXO!8B6G+fIa?i)`Q67+^APh`ei)+XY>D2+}ZR zv~yxpiYE=9=1(5qRlGYzhQ3YgKbuciLa3O7>k#IQJ0&jCPa-U)oHn!}cWE2r%K6!y0n5rTOAQ`0mUYg4X`w=%NaPhaVkQtZ2;;%# zuBI(-9p3v8iMsk>1Hbn|9`WoM7~74C1Ri%lMWjTnlfXAJBo(s-&sTns z>e~-q7eQgO{Q*q8Z51b?p!;l?p(xw zaC*h$RLiCdOqmEj*+g@#?M-1dgig)D9o!BfGmQ>Z6w0)J2!DuOPXIV{t2hjnc#voq z*GR|j1>SHJ^|YfnZ24r6%f%km4~L{nv1hR|@hbfD+|c zFqc*QlZ#Y%or#5%d{QE?NpL~rqtU_OhdUxW$=*YmQVV#kgPeye{LF>d9+5H#M+Lz~ zdKvUkkJ28*zY@~azGOe1T<2p!F*5SzfuH7aCyEXd{DGUchW)TmG9V;Eiqq2w$(zhT zcDKmIWY6s!_|OZ%1%7W>aj(S<7I!Yg-=6If7hX6fz#ogVxRMyZ>cL56Ez>z(nFUZRn>lS)VHu4<%WnH}8TGBJ?1)_YcYXMS zSk)?2Y`p3huG~YL>j)St=u!Ce3SW7MKe;$!!0-Pmk($l{3k=|E1pTSG>9ypj&5*|H zYn>__W2Km`uEl`%mL$uS48y|X;>8ILGFS-?4wF`i3C+Czy3=Op*d#MTkVSUx&A+FX z9(9-vpS-+%FL=)5GHE-6cW6`5WlLU+cqr8Ru`ry&3V+RXED z;7n^}=E_)Nobs9F%|9caIWs3mtMAGAy;t@A9k1weGwdlZUB%QN83)x?{REX8y(f-g zGo3z%C0PF&e1#%he60{F7=q6LQT_r=7ec)EKAOjgo~xhS$mp&;BxV~E-OZE|5r~v5 z?OJXGkXgJur^9r(U29rK%tExc1f4+ui@OZU+>%Cq6oEC!Jsw*BpmxC8H|Yxn_bVn_ zB#h7n6)q%;*hkcD^c{F+1wNBT8KRrfAw(tb`b?&>6CEPSFa)+;I zbl5aLrlfWT;AY&ntS#TisDyadA`HE)3Wl4Wal8FX=ALN)c3?Pq>$` zGOk)B4vTc;?_!Yr9k5YKV(1?lh35B&TM(gXE}Iq*Ut_ZX}*nGp5ptwQU{ zkJc?+7v+|wU-KNdzOYqzHC2?r6dvxQQL%0?M{`?WFyK@8>rEYIgQE{NdcG?sP;T|< zT;@CY)PxVBPCq?;dZmMj!O8jihXflq@Ws~mUt_TE4w2aSi{59}g=qb&>ywkoF6Cc! zt^1qv)weH3dbmrD$M@gs9&TrJ%)9&M!2>7C!+;FG6AA6hPjT`;nJ!>}U15%-IN8G7 z$n7hZ`es>YGb53zV_0R7>!FPqmDVrN;>)>9d~X7)YhOk;cBcJHGmd0voGDV>J_cSe zh{D*71J=|EN}`>_HKp9%`R^^AK%jo`Dgh+(*Dz&K0iVjaG$j3dG(-&@GlhdiCk%V9g98dvz3SEaz~v zKi|xlkE_P}9psQ^@}SXcc4POAVri%T!SFeHXs7S?If|n$AkmXoC+puIEfS1KiKEWPu%3C2{nSCbRVwgZOhqb z#vbb6qv?@OTh#hwH8kNpc*e5v`c0bJkkmNsyn(zw04Mmmq35^upa?}ZKt|XMJfl~6E2{+wFo>` zYU+ukKK|N~JrQoK@2-GEAlqn<1rq^P=2*%2O&F=9(C(`B0V=a1Rl#i6IP`WGST5oz zzx?Xnz1>AVL*}BX!K?cCWiqo5=SB+)X3VBoA{sh`_w^HxYQ61)uCSlLk@6iO#)YB1 zxl@164ou#0{0?`Z(mLnK!9r)*3;KPWcb1_qDu9V@s#&`#I26*7v6bLRPCmbaPqS{t zkNP{6-Ya&*?hXI)L7EEDlawLyE0xTCy*jCf! zW!?@)?|32sGD=Of=>FqOLuLRS9ZQw5i)&apg=g%>W0z6#n-CXWO5f^`X66TnbJmXw z9sNE{#T*1hpl&|XtT`5GvZ49~>9mZN8;YYL#{RAgapcy;e7#sajXNr!;)VI7*DQ97 zg}zt@-Ksss+oz*EwwN$p>>~Jv9xHP-R!S#Gbe*OO!1ditu_D-R_3G@sMDl&Ve79ML zs-$7H{?3rJNT%l>%mdCCTIai4aw z(cvZ5;Bz-JWKIVIebJvI8c_C_r)Kbh0VNfC=e{icq$b1rBwC3f2dWja+0G;5xuBB> z0wA24a;R0V&Ogk#4nktXGRC#TjtKo}&{J(PR*R9S^r zu4QL-jn;cpzYgZJE>v)w`*UB-ASbwA&Q$*CEHR5iy$)05uiBS>b^<$D(zes-T5D%W zTQ(;k8TG%X0mJLC=H1+uDPU$fH5=p5M8@C0#CdCh7y!-s!^(-1Psob4Aj+_JpP_aB zEgC3$m@cqj)8+0Rreq|3a+3KYs`849I{=owNtT917&s9K2o8WwNR&VuhUeaFAH9L# ze3-)p<66A!o zT07IfsxJ1M-C@7J|Ni&w5$vbsANnx-*~T{~o0qd6L6o>ss7`YYC?!jMTC&rbeG2Ljnq;;W&KaHGNy}B=s6@)xwb%>SP_9p(=5GABmI8emHb1*5FQYEO z8Gk8@jb7>^{ku(WU4heS35Su7w)8lhHk44vT#HJ2{@1^Jn|E{`xK~CHRRUsNjGzht zxM-Z(A&>cLVY#x1s6K4P&LvM0bKYFpbi51g`LTc@u4hX$b{^;x1}MUjY@{NmP%pY6 z!^dvzO)S2zGFcQVCQyU>ouYd)itxthtlXYnL(iUGs^YHRuvJ}S@M@5IsWrW;7Wx|%A8G|#bbb|4`eN2Bk^J^-4 z-YeAjSs)2r-%b4G92>amCic9B#!jxz8D!i&aW0nfqUnv#*`S&qiaKwrP#NJXN|<9; zW!ic=NJDr9nskNBP1@##t05G%ofOrve|DwTFz<(SI;?THY2=j5nz{P`Gk+^PqTuvG zl%|y)fNxYnGX2BIGX5R>oRTi6kS%^ug_ufKjiiI#8znLA5n)m+z3UJq3;Ydi8OQ%Z ziHmrxVx80H)mB+wJH7=!IAy_iQ#kC8((jk{bGH$Ry*XlIdFyR;wis<$7FbV1)d7^8 zxl6yFj(zWF{rL2OemfL*`TiL3qvX4q{=oMfPn{xRMW|(D?I%#vMH-! zenuw=jr6SU5TeQKK3z;+w()+lk^IF3e%epYgh=@ZVNFYh09eb)kjYMJ$->*WO9oKh1{~*UYNnVek5e7>%m-?EdU;~@$2+m zZyO13Iz{8YzH?;)yxm!;wtK_U;N~FmKjp=Bgt^zvz0?l+5IBfK67j7Ph$I{sqbVY? zYvC3LenEM}0Js9D81F|bn$c;4@bn{jifYf4mUYbMcJ7+{C8i?HpYZ6-PE@$*mI&ES zbxANT3O<4xP65fkQBUaEj3~jAo+L&%ohM0PLh{eH=NW)vMa{@KSsUYL>9@gg7E&}- z?mo=JMj##>x>8RCQ2hIHk}2UOOMA&X`}Cfje%bTCg$CD2mr{$J31H87Wzv7E0k+gl z0|hd3JM_5j{;GKtwEC-S(B+G=tLjXfWbPwDL_pflz8gB=x7kQqjz{?>l>>IZx0M< z5cpBu{)D%z!FsHP5AG?<2d^HaBM1>%_i^Mg^2e9le6VjjA(O~x@D zgLock3(P3^_6;xSqPZt(@gdM%O_?1t>#ZY3R&{rdg&J$gld(}{8beQq;2@wG9X@@O zpd_GU0whHan87%4*9r+d?z(C71pl3-(&vTNvL&mgMI(*nkMuc|h|vxB(CM-sy*$9{ z!V&tiTIeAmv(eBNT%bc21Vq$sldr&mQ{3OK;^Q&z+UL!*+KQGqJ7}M~Y(1N+Z(_Z( zQbM@8cU|bBq73v#gX;Iryg>xSa^_q9;u7VJ$0{ncerWgf^yK+Ki<^5|F)I=+vDqHV zwfZvK_(Bl(*FURcG)b$}k#SfsXTq={V;>{9_58Sv&&IE7i1IA2Sl+*sN!p8YzhM1|z7Gq#ub>o57 z?qBb|x3Dr^Ew4_iAdD`q;695+T+ZERbiLXUbvgGSztix}FdQ!HOxIk3hbdq$CU_Y* zv!psOBC&niO}`jK9ejjxn~`wtOx%8QsT%Fxl~6Y>*jl(Q^9m(-bR!@#D4wjSEB$ia zc*Un@LAT}vH&Bv&Vk1Bh2&mU-*Kk6E_dO*q5|NE29IvQS-CHX~xLZv5K zY3G39DcG$<;zg_u&+dG5T9ONVD9;Edn2>%zxr;s8+82K+2eV(y+P(C0-eO6XO1d&2 z;E@m&brgo_@f1TjV5ee<^pJtg6wua8QXm^j*`tl#GYYyM6Q#EtG)+h6d?VAqm{B`# zNJ#H5uLT{-DcV4vn~t!s#U=bkwAzAO<88pA0X+iEFx6Cp?UPsxBOwUJ5nxCr7mRO~ zFw=hSPg?o#;fnDHpr7ChQ)Bs^0ae7AwPfB^P_QVHj{~2zUPU584r4PE^2QCN`x-=&2}I{&9zK-cdQBR*2YNon zi(0s67m)nMw?PJMe$$e=z}4jP<|A=^XH!6xq5NlFJMnd^ba$@}Z+L(PFdce{pf<0WH4qly^tZaQ$nbX<#p!#@vE$9p(vqyM(f%U5-{XxMuV~NLiEAjj_}jN0QkUp z108dmz}xDf*x_?f@g?Q3#r>C7XKfklI4zWC6F+&8a-(yFGIs*ff#GzrP;~7| z_1&y9%uLb^^ai(n5cE!SiA{b!lH&94ip<9RG2d{Pv+fc`5h@{YOrRuPZZl}cqHz(R z`Pmi1^eqk&CvcL#tU)UEY{84cz8T0W0Afdak>uba5;*y@2~TV=G}+7F!~`5X@W|z(VC$ zML`cIudC#!BZ10WIE(V6Ks34MxRjSr%g6K6fHZQZH_mF|OwsGkrGehSf#Zv9A2f@E zi>#Z^dxk1TfvY<=I>UyC(jRky#RULJWLQm98pxeE;!O{B{lF9lBZ!dDGzCuZ&XI|3 zqaM%RMx=O7^w<=pq-pv%eDaOsx;|a*`o;3O++LStcbEL|a>K^hJ!6gTR_J~EsTKG* zMjyJxLi4|YhaLe-?urA}ed9}lW*u|lr{Y;HMRDI`XK7WwiCr~TD9YxhnLdF19k=Nd zcz>HdKk+&NDlRV0tay4+Ze^{wX6Q4k1M5*z)?ex2tcfus zthPm{q=sDbtF1`&#@1k!$zuD6jNw>iG*27NN5bMSo2J`je>6UTD$=keB+24Bwy=h$ zT=28rj!M(xVA4LtI>ls*Crxahw|-!_zI@8TO2p^HpF);Uwhyomw ztq11|tNMSuP+I@!iArJf5nF6aa~uvue}+8E`SvSNhzb8^9HOEGgQ6&YMKQu3z0d7f zf@^(%5oF1XE!_@|!e5i2lqf|(`{D>f3tmNGt{Z><#Cn0b9_|(9X`{;z86+5k2^hLA zxeG5?`fk5hqHTnm*1Ry02T2$pnms>gAblxQ6udkqNr&5#i~t%ezL$=nN;M=+0Ya|Z z-cpoM#Dw-e(oh>>@V+x`W;E~}5y?@w6a7Y;k3f=AVf3l<#sSS$E?8&`|JsnjwoX=Z zu)V52{wW!sod8|&JhHI#<1jgJ+L0do=*GhrO*C{Nft(X=R*59XT?a1@=Z&g2vf;Ax zZ*a7f3H>)VuIk-p{KdPpm}cm`4J=`JUl4tt!EycM4?3R9VUm;RkO#dG}aCx`#E%0oWBE1?g$54D~A zgLVTtvJYQfZj8wN;?df$9t3U4!t#gG@-kOw(D9Li2!(O%YyAfKn=@2l&IUFZ@mSYo znkOYK??wVv5+R$$1)>gftghGvAKWFnjt2dg=o^ok*SVznhKxTUOr4Bvfm3*V;plS} z4qRy;GWV7|0{oJ)`Q&r44@n|2@C_R5|3?4(FJk}$Qp62WZ+cE9@4c&rby>qM@5f6| zsvo;sz)R1XRoec61a<@jZi5iVm2fH?K~3*O2R2TM=1$G}#6m-wN20@{uw$gDPGCE!vU>i%NgWMU{5)EFn(3j~&GZi@xRO6cq_7X*6N{shH z8k?dUFB%T%T+X0{SsWGGT+A?9I2-?0rt*-ne3sSr(ytHAj*w_7IycRje##f8^~Q?u z1nYF&IvT2_G`#oV4#4H%Mfqq{lse1h@#C}v+E|FE)%*FP1XwudSjJTg$@%Z$YyJrW zj!j6|wWD`yZVj^hygo+59m0D*8v?-{^`Fw02at|Z|4aCsxn=zgvZ{2JEbMkLtJqi{ zT3wg7MO`hPT@@*u6fR;2bz5Bw&~2LYK2F;CUrA4ACWQ7t#vZJeo(y~L0FXHD9je92G9b5pCO=9^QV6+>!V zg3T>k=!8;6(1ZoK@)&55i%%YmY}Ifse6zkGlxtvn;gUQ1?iLC5pK&)1;a z?S@fJxi4*aG^$L1s5w1C|0pm+6qb+>I~Pef-~3z0HdH;{rttvxE{6mqcUMNBp8*Ie z(;0Lel3XC~_K}`+G?;RW^4-1u{WG%%eXf*KN=P?-0L?%%gBvorH<_UP3IX^;0^%jrRu8^^Ku^$A9< z`(O12@_TT`i>JZ;Z3DCu*cMPm>J5js3=c$W8(m>y(^d}KTjTopxmPUm%VHe&XB(Ys zyFO%=)Z~F9V~p@rAKBpeDJIn@Ib~7j*?_Ng*zQVHZUx zO!z8|4nX7NuE;Df=eZcWL{MIDbVaW>eR0HXdr~Zdy?yuE*nd4rPk<&<&#@yw;)YE$ z^i^+aQZDbo#bwjgy7x^;8Or2z;8t;YxXm@8zacXmg54A^^1zBYGO*aZs%IL!)*TL*ZeGPhipt z4!j1qYKR^5P{*8h2&fm`9Wf9<> zj`70>=T&tZ{)~#PyVZ%UcYIBOw!WILbZVK04=A9GhuI$g767;?n2yKNRR7Tt_+@D& zX3>kku(2lBm`~pMjT?hu%?m5al2z}YqLSQY8%I4=6{*st8V{ar=ky(iicCPz)RGfOP>&c?7WoK`%y3q0b{ADr1 z0yWe(l}qw7g`U}Cf4Dve&UyRfyE${c@rmSC`AH!WjZrq2-yfst;VWF})Ss)h*<1La zx7RXY2$#5Wrx^Rt>Jf2`3_rYCsp)af3#BV7^aq2$t8a ze$r0{(fwby`72cDk6Rtbhk5p_ z-OzsJDzzYQy)rG3RoPVUpDt>F0Jq@Xy-8_=r#&Hp782yyeZi&$&MldWCIDUVi)l(m z65$kq`*+vq6S$<|PM`AKWrt_ek!f|Sb@wJ?6TX}+M5aB#q*`?b8t{9GCfTAkMsLN> zbXqs!Um;JNaOyEKq;=8;)|WVcyG?~vLX$dgG_KX8?DYNZ-#8g6lItHRTjc82vpfU6 zTTn>Zfd0@sIL2`z2!ZJ(O)+vZG{=1Z6Sa`)<#DG#?n;Nce7;(06;r#8`sMHYJ>7$< z>wRv7b8`m}ThiD)eayKdd*Osx_G$raHpEvbqRbaz{;NjnK2Cyz(789XkoI}}@V%=^ z>XWspKYaY{2mlP@p|HpPX=17A?q3p(XtphI_Oat_L+I(D z4(v(x|NU_J&SfkxxA=@IRJ)H2A#RJexG6kJ%@HY30Z$E(z|8ym>zed=%ab_`(v~13 z>)B-w+UF)92$V+YHeAmpm8jt{)~|@pCa9~fd|QgJiRBul{9ab)Oi=nj`8~%6_VfFl zbO_J-2a)p=<1i0Os1ro?I)M)YjvxM*l_~c@m$NpAmw!nQdiSquW)=}=QfWy~U@${o zl0I)qFrYyHw8xDq3tc`cse{oTPCC(fnw;qvK1BqO8#NsIEBmVIKB-gIhw^BFXq*`a zCry08;xs<*tqn+(U17_C!Dsp=9k_T)-y$-cX*N2LHDM7lW0Ys0{muPDU_hzSF_8bE zF7)494YX%$=HGXYmIY7_!AXWzF-iXnkiv_~Ch0}WIbWiX)uoVQ0eH4NDPpNjLpyIi zKt4KGdz8%*Fd@KdLE*|{Qd_1ch08JL$(!?i-&eMa#Syp`$VKONqH`NJ#E%#&yv_XQ zpgr|~_GGFjAF^TwDo?6K#RxI=iW-h>+KV#twzl9K8UL~N#?G^+!g8_pJ{nN|^L|G| z;YX@-o7A2Bqvvi0ocNXe+a4-AwyR3IiNrzz39k2F2{IIl^j}4Qv)MQ}D$f0g%W&jP zf&W*$iv}DrUjCbYl2i1_SCuZ?FVWVRRRbp6DRnz;I&`lg34DI}>@5>LXJYMdsfPE- zC}3``e4b|J_Uz`E{-ipZ)Iwjw;RgzzM&Oyk<+MvPw*hH|ID=c8Q#+HVY72oqzA>An(!t80 zs~H~so1t)2eC7L3jX;buRT(WW zWm=hYvQ~hERrqu3UNAYqu|Q$p>-+&B>bv*Yv=8Tg-G@TxnexT$^uafQoPE%(IbsCr zGZv9}AlADM<;TKr< zXfRJ*?c|ZO67Q8OlL-B)@vkLnH;;pk!8tSG=|~@Rw{jql2Nmoy{4eSxB)ET&jl*;n0H>eG53&LF~%1 z7wkH7|NSJ*)(MHLyQx4fnvs|18VWVS04Bik2{Gj7WGoX>z9+9ysm`eKOWT{_jj8 zb&s)+YhLGB2Il~9AkUx^)mmC1&Yaap(~Ru6rFV5=xB8_vvQN=>Xzjh^g5(kfF_K2f zG3BRk>E(Ys0qaV}k(*ZqRB^wW49u5W%l_wo$7~Ev=RI9{WM;D9+{(JZB^<*ofI)7^ zxbizVL`!2nv55(GmTw+!FhZXQ587vYxj(Hcb^z(;;U{3vZ+nN~CZxcN1e09Acae>6 zi@nhJd&$7R@GrFUA5c|43LX9HjW&NDMi(k3G=sd)h4}HE9-l|z$lvyUl&vOidpmeD zv?>*cJ>Q)jUGU{j?woBu>Gn*P`N8AC*JCY%q}c(R+!eW5S(7H#ai~Y9ojxdFc$tHs zg&~lD?2kK=+=y4t;e9^q#!CiN>^I2m%p+oW_6ZE{)GW(A>$4?d*SFy~90nHb3?6zE z3njsJuYU;e3~WSkz+tje>rylw7T~lFw^#u?xITzI{)ZjfV6qbnNGeDWUoynlY9mZ| z@`5q9X^CpCbw}~nXsJM^=LF(YmG`4v4N&UETmTboupAi9_aCaqXn5-ZC#?WGBAdpi z&Ip#ulAy-x6%4h-4y@zWB@t^y*5`T#?&PZ44yKC|zVs$PHoJ9qQ%3}lOw9m)?Q;~6 z&>m(`Tp2^;2dzhx!JrC$<9g_UuQ>bB;J-iSuOLCtRRFA$|E)VU_w>j()PA;j!lMh+ zoS(~X(H%N2R*x0B7-a+=uo%#Y59av!nuV&NH(8+{q}H@y2XR%IA!Nq0cSB?K)9jV= zEO-S>lU$FZRQps+=b-yq=V5z^()K_cnX+C}U42Cl$#Eq+w(aGOs)cJlJpsnTN(I4Y5*o@f@1xvWv%b1@M+7T4M4PnxVdygS zXYj&WM)Zi%&7FLs8%=zUy?@@TTW^Y-uT)4e0Y34&^wr^Sd9&7KFiuimkW+os)3E2s zE@4qew-{fyg|B4;b66I*xSEKi)Wr5EEL`sgbN4I!_6y@63RSImhPDu^SLRU+XP0tN zix#pqB%3kW~?xI6LAc ztQj_YUQB%4D(?xFw#U3Fk_{QHhnd~|X?lT+nr}f#NA|*g?%XMSWEih^>@k7>6auQk zX{vVQC8Ldj`?`m z>sdT6^F2NdGq;6~3ZlTS3eZ5Olo*h#6&i?gW90QkJ*uVHOs77WrsTYT1B}(2=EddL z@b9h2HZw%|U6EF}4k;&Fb_`m+=0!J4z35bbMx^7h;k08KyoF}9*wP`mu{~fa5!!#5 z#C^H^B3$}#_r=?Yzba@%#@7263{H>UZ}TEVe!lEXPq$!xem>xWqpbdc)&AIF(Cf() zFa1xysm9aFSMN_#q^IG`{g1yLYE8wdmoWAic;-YfF>r{I-sJ@)s0%RL)9Rwg$$2n? zy23FVq|!4RHa(UtM@K!&iu653TPWjfEVh%S-~)5?A;F6jouFju#Ld~iKAi9p>4_r; zUG)h<$sM++u)0}jBsu9R(t9EpJMI&_2feK!x4LSo`8x9LeL1X!NFQ}X4~mwB3g{N| zC|X8&RI{WO+N4|=71lt1Ox_WAur)R5yKpEXrhHa!u*pH@0)h<9sS##~3CxPShlD3T z68Ip#w?M769kP)H-k$a?ErX&i6O87+JDEiS-fg14AVLc4Emor6x3!IuN3e3&o~L#iaqU>3T2Sai!C5U{>nv6L=9Ph$J<%lPUR`%F+O|60I@c;mqB1Jp~)9#rp#| zLR65DFcoQCe%0~qB5iskb1L7dk&xcgvk%w}gtVu7fdX2w&vvWjweesK?i)M${R z2M?TnGwjC;2w!_fhpvuXVu5(PBw8qG2@#2*sp3QG1VQ3}SEp7Cd?;*~Q-t8MgbM82VM-s%=G&j;?kSB3tGlw^L77s5N||Vr+x~ z=fmi9O&SoAW;FbyJAX#uFK-NXMxlOq)y3}uBs!%Dp9%NP0fIO*Y`lzia)Qp8YJ7g4 zM{K3`AmI3*_Ra@kM={^zXGV3;sVGWp|8dmhc<^Cgx3xptyjIUZ#3(XlheRPh|ZW>q6rA8bEN3UfpJ-{m@wJYt>aQt1$Aea;KWIG)^~UNS>L@@6fks( zy-{Cr_Gh7h-=miD4+9}c0`FnT7{uESZ(f`8PYS)`d>rt@#USr_E1cvD8D z(Pf!pvrzNtpEm-$RakVYMPkbI&{N;T4n=pL3YiCQa>=NAV4vZq=~bL55VLvsoU!jw z9bpf7J9L+-cT{y(R_;JrSFcCEp?kxvGgn?HW9-@!8TJs=#^Hh1L`XFeyMsc1cS9if zT|0T(AWd5MUcrOpnallCO=eIG_v9EK=VKi`1>WpuQ0k>_k*|lS2fA?H65J@lN7*~y z2+gOzJq<}Q?F2vT_2Hv@S}w?%T>7WuYimgD^s4E^uV3^ZlQXo3JE>PS;OXwj+gl=$ z8|*p};w4`Z29BXZro`Rj&+hH;Y-A`2nE37x6 zWCDy=M5FL87&cZat~(P5;ASQv3h7(7@c9|S(@3-xa=XfU^kyxMaX0w?cslQYs{jB0 zKhAOFARJrB3X#l=j5vvm2Fb`4uQDRDjBt*XJql4a6_r_;8ON^d$d;WwPB!P9=jZwU z{_y<|x?FTQ&->#xt~UXS#^OB^97;}R1o%IRvY?+H#+U@CMZn!J5BseTJM<3CN9`ko zz2DW%ZvS{aawL?*u7*$l;^Zk2xUK#P;A1`=gy4qx(9`AgZyr-nEW7~rDw8@o z67p5t9?ZYG)qkf38dNL}`})MZ-*ba|x$ST5Y11sTil5!#Qm-ZQczB+b+E5!5+b}ek z@0rI65V)7qDmk)+&~_zAkUb3W&D=mHaKe-aY=3}}J-YBXm&~3PU)$3S&7F@K8557; zISTa59d+W;SzcGa6iHa@s$dZjqt2~~j8x_E-gf?0Ti1d=SZYyS>TQ+KNo?kk`#dd5 zG3XhXC%I_`ZEjV9{>{O^yEw~F;#FOKSLmk1ip!Wi8#APBm&7GpZAvV2ZvQOx)edR$ z^Q36}OAdrVaqZCDdc%d)zxHg7BNd(%zD{CsS2F466Y^`M1VGpP-wzyMFnpPmfFVtr zJcj0FB7Z+S|8@;}%aZ<%OVj>~NA~n0*l}nhRk0M`V;zniPy4xNI1|4%T zxC|GY4HYc3BfOWIyWz`1?inL5>U&tVmlkt*(k%tz@*TguWoD^kOBUdD2!&z5#P#>U z?gam%Goc?^;sTfRYERxd;jBau-9wpB-64FG?B|;@+UKN8+4O~4fbVO&^7z+tl{pW* z;fCOB)_mv675~UKoRlF^<=rI2Uw&Z6*C6d!BsOQeTS!R{Fv*E%ckJK5g-lXDzxr}u z7lA3(-ED%)4UeR4gk)V9DnSkGVy|f)HtFT}pJ&^{Wz4;mrA9X~CC%V=vXKb!eTXBG ztRd8f71fbQy(AaidD^bv()^C~aA6atDLQ+5q%epE%r6*E2m#B)d!8T6J4eExq| zPTcsj2QO}XiQ+kJ+wi=n!O=MwXW6}Txzp!Q5IU}Qf*x~F{fG!noTWk>?}^p-^~#?+ zlEi>vIl)zWF2XM%kc{L-Q!Z^BTT1mTDS0c?)$E9o0E&j(rtIfYSSKDYR%{xwxB zD~0#4eAagAT$zuK7H^~w?1x2QGs~HZTCS1}gd-KLYZ0n&Q!;}rH6GN;tBmr{X*TB_ zngfK=wS%IkbR!Vs>>;F8=_Q+{@r@kMLi9$Vb6*1aS?JL0;ciphN#AfL{9e8su%)9& z(QUeB;BcdEE4b<{uzGfn9(>!Geu>@&rOJj9|RA0vAy6 zac3X*V?rfiahV-pmoCNRj#8bq9uWI_{kro&$H31$gI;L4qh+P99nuw~D6z5st~sOS z(5@JnKKfVwI*iW-SE=sAYZ--@zTj1xDFNJAv;K*Ih+Xqfn;? zp2oka41Xv&k%S(V6V$s3O2)k~_>YnaqOdCImaKZ`AO89kYx^y;qfWTkGb0>Ki@4f< zH8(u6GlvRnD`pROEhlx32D(ts*oMvR4fyl3u`o90iFJFYsly?6ZVxf6wPNhB_PsoW zI0>G6#Us5)tagM5++@ybj8Q4>PG#6VK|3Rw0!V?Vk;_pF1$`RHU9#yJNrW%Q*-hx@ zFY=bi6qH(X0^KjmsPEnBqa`o$PAOSNCYqOOYO945o(Gfm?rt?bB}ZoOuis404=wa% zFN%ec*mF(UV=MyQb){IMMt3;1$K#d-jL)2rf@CfO_S0}aHTIeQ-Dam}Y$O8loe`?Mu{NOmsu`>K|h^xGkcnrf- zze@QOJC$7n7A(M*0!!b#gC?Y=i?11zlG63@XEZJRc#CYlC>|Pr>fN9EXc)cGY4V8% zi`~FlB<@ItDh>3^{M>dS%ngd0+&rT=0V`dn|X z%)`i}Lnj1aUE;dk*Whw_kLNKL^PT6ijt{I0f_K>i->?S;<_6E-yL6lbLv0>v-cAvx z%zNqncdaP4vuqoUnAJA&y8TsmFZw~5WCu9|VAbT^_?UX&rb12lQ%vHD!op^nv%=Y$ zHGb*Br~{?n7sD-OBwN3DJqX>AK@cXF+D}C1AWzF$sIYuPMYj`I`1m6`KmZig_F9nw z-jyb|x;;r8oOwuxwOGpLm~ATXp>(C=1h;*MsxDP84M4l*Y>8LPZ=TOi5R8D{GCrga zd*wEM&0#Na-I#Ii?C3>C}C3F8^vneP5a}u{z=;VL?ywj!o zYV}FURM(jJ@Pagqgz_*N!M(vNhPZi-?F_}UKh+@Kt8mwF7xzQ9Aa69KIxqO4sQg4Z z-y8SIwvPCI`zaMP&(--gei^{s_+?q}YgAbg$d=(>)zr;Z} zCGRU%q(u!6(kGl4Y(YTxI>S$Fksxww`w$m*FkMzlddI`B?ccCJSf~2NukTg+Vvzn& z)A`M%?0b&iq$?zwE>2OZ6^Q%>kEcxM;2%JW4#Hu(P&IFSs5-ADJWcNq=7>S8qWFm} z*4*zm<_SUF_dGPyC^I3G_u-b9pJ%B9q6h+E$Q^;0zQ0`)E=?7oZur zfw2q6(_yfLr4YlGOJQ2O@aQznuH)WU43rZPwFBwV%r%LvP;gePAm9fI-w4afFstYs z*!~FrRQ28i?ZTiuiVBFJfFVrr+P3(@!T6k_xx~H8#jl2*Hvth%Y@rj_J+*@@?-=-@cvj?epYEg@baw-^%RJPqR|j zl%0K1bguCc-E}?F2MzUg?2;BKf9vqu9_e1YT=l8G$Uogr1t_X)q`fEpN8z}$95V0< z;)v&c6&==-cXpB&RCTNqLytlS9g7mBv%7U1_wuBhA}Yr^^Nh#j4mIkHjiV@NqyS1_ zn#uR+Da z1wvhhZQO`0me7;G_k+v$@iC|@qDAIP6g56ZLiy}mRYKT6`e^!Y0 zw#2)BA3kjy0+G9H@Z|MKyF@wVp9%8`E_r|8EX@CC>1RZMz+jl=bHp@t{azAPSmdV1 zEL47r)H!@jnDj+OA`6D0kSLrip1OxR75rzR1MP|jaZj!b%uL`Q8o7Yo{64?E+@uXk zvmgg?T0`uup)hPut&mDoI7d9^*0!ZiGQ0eP^%>nOupX)?Cl2Y`Ji_#7a(!ohTa;g3R8)%K=P=51cpQpkjA# zXnxtvQw9t$@Qx7t=v3ns>T!1~8V4raDRwiPp;zP5encA96416 zB3y+DV!x3DZX!gu-_|6xx;8RZF}WGC;T0@1ll=;dZE5)X3wJLAKb;6I9lSfwI9Yjx zZ+L`>!eG`!;rlpJ{BG@j0o`4|NA|vQ+lT}YcRz+-6g6DeITexb0hikZg~$fy9bd?&tP+@=4oCKzr%NMp^DxA7JQrp)+C(WMC6Pi-S6J3$y!flH4P=G;36j>> zL!>&=@4=ddZ5vt1we4gnKO+U;M;{7P*4Rq~@b7&lqKZ2HlJoIGg20O7$|P*zp#?66 z@=}&bI?enM5O)aNw&m9eY!rJh05BsecisZwt6hpej8jetj3c-2AQAPqu(9D^p zlKJ)n6a2d2Hebq|Cv!D&99&+006mM?^xL{%^5aUPrb^6O<><5M&6C`u0O8&O-9A>t z>L)sO_WZaRcaPWd$!=vqwHirC!(uJHE22l7Pi1s{ zj-(G(LiafpJ1g(cSNr**`B9&h7iW>U8j;OumJ|L95x8tN%=bUiY{@$?of<<(bAbCv zv5~JzCYVA0$6G8g9lOsjW8b-7y)t zN|h@Qhw;xdqXqKtr6_8{419upkdFBz8SXsrYInmAhHoC#xHq&CVrUoz$M)pz+tEG> ztYUrT++gTuPAH?Q`+06`%`CDfCm5k1UXlOV*MtS4ayj*D=~UwRik^8rt@aUa`lY9? z^!*oPBaSl)oF=6tv+TeH<|e7wmxy1NdGVpLf6iB7nB4%SXFoBoN^Dh!3HUvEKP&I? zb~a^T!Xw7XiR;p=&fL0zZWB;_iQC4O&pxiw zi?!;t8*$bH$GV0f*rv{h6NxhrAq_gl0z9An*+j@J0V*{*RH{ykMh?Bi0@@$W)b<7vdzE>moKnoYRZx!Sd+df3hBOpLs+^Y?12!lw_^ z*!8+6{eBx3QP#CA7Ywpd9qF<&`&!Z-o}Pa@<>4`h%gV|}cegI7q6oo&ogyaxPeiSv zOF@g99;KswO;JU@@#wV>7U9Zlif=q~fi-^O*5##=LsF2=+qA`|61>_L925=Ac8WJog=)9=!oW4UE z0eG8-^x!-!!%#0Rb>eqM%?KN*)w$mn#*pA1Lga5**vr@|%^&Z+WT%lWjQOgogvBr#CZvFec@eu}j?;7ki zgLOc_AVC$p53ZJd4%pGe9s6+BM*#u_zNm6(K|PV02E5r@Z^j+4i~oC_kzol(l*^TW z@4fubDWur5xy zfyM^oqy*b=7ZdH<<6gQJ8|H=Te8}JAT=iW!C4E+dNgDTpDmh`%aDm8ni zNWb{(2mO72soI|gFJ}_({Hw>Q@oT6D#khq04b(y`G|ZpZWz(4r=KhwrWLnaJ>c;IG zIOnweMAH?!$-iS^BC%f;)lGKE3 zl+4{Q#QFzt$xZTqd>&Z(qiB?}fIk|Z<1BZ{d7Bi+O8gw9FFGB^R?r{)le*AEXdK6` zeQU>4ftH*GGm42UB1Qr!p+xAOd0J_UBD^P4lK?;>Wm*t*9{w#pLB=SH?d~iH*oD8>iDoZs&Ca44HCW>g#L8*o6 z_HC?(t_dGx3y(J5OXOeZ3eI>3M=J9jbe?v9v(wAI3VR)!>9b;0u|KTj zSDaB;iSB+Y&kT5aOS3139=f)lxm*;S zLr-WnITd_}(<=s|H=q(r5T*O%7@K;*`gtaN|D7k=vZ-{xsl18r=$V80nVGjum7=0e zHUlCt*qaVfaewVqI0v3!;CFf4V4~q1vX;~eGuZ#I;6Vu5MsV+(Ep_qxbp_V}iyAyN3NLg|0)hC-)`fzfO8u|Ch097!7WkaW3J9Qh z3TE?p$w80Kd;UY6TZBF-0wjizJ!g{|L@0!5!hbE#lKP)mePL|KNkQRXY<+AodEsrF zf7biV_U#s%-IW{ zQS&?dALi))z&1TWy>6MZG}m+r_)%clehZISg!Olk8>uixm=e$En$~2OBSkP-?%F)@ z4lI^)wS6I^L3@(^8S~RJZb(XIbJ~>wyQb+k>n5u#5ZB`a&@u7 z;EM?MBir$V;yN}GQN@xTFDytYj9P|-c~#Lexz`+7Pa8VJtun)bOGtO?4P-4org5u-4`S_#hq`ms?yYU zi3nXe>xX;r)9k+-vzzoEPN#nKNJq2EUoiV{$|R7S`_c9Z<7wlA$W_#7l#!gCod>$d z8Qt-l!~0CH+hOpz|M1RYsA#7joY7uvIU&L?X7DEhiN{+mn&8(_Vj8jT_EfP9Hb6s7y2Hd@{W{wE7zpU+E<>l%c^ClW>;4cfKR! znQoN-O>a;0ne_$NZLbS&2hY~)1VoSgRXE~nP+PlFb0`tTs`P$d5Fgi#wjoO(Zg^>!N%+l_j7XZL%Z z&lww4k}|6IHPz<4D3(ZM%|-L*9pXIU`J&qeop{#kyG-202tehZclbCGl;0v?XlcGj z1H8UL4u%vgc%UpaRr<- zAg)OP^bei_yKqV2(u_O`fghL=0^s1smgc}2{;NdguDmwVML2_v#Qx|e8^Tb zOr1@g%4vy9F651cYHM+DM9+HKp93+l!81V!imiEZXj|dqTwpZz`MStHw{e;AN*3L3 zvfXGlyg>1t)^AT&>gL15J&sDMnOr1YoJ(@h(bC}2B7S{rW4i?(Yz8)+#H0<%+nW*dQ3)MD9&Z+pe&KX#t(r91h} zZ*y)dKI2Qjw@vq~kr#QncXOUi1bMT!H$o|K(eTRY&we-Fp4v7=k)8}^kuUx8NoyKI z66nB!?{S|W7f8x@gh0HH9x+pfywBE>6b5XYk%3n@^KXkCK(1AMgX|A;F5gGMmyff` zoh8`)&xZ_h9<(FCrWX5ch+gOqB(!y@!8Fc_)C8McJ|su$di{JH2h7y5TT5N@sn^zh zK*NWN@CXn6^(W(C`5RTO#)qvPjiPskQtwU^DgFCJ5R9PImojLW{sKcWZ_L`NoKsK| zjuD+E(c29co`eL6=4z&Xgy_(vBVq!VjiVujQLj8KeDcu4;r`R9@6HsuG{~gC@eTb3 zed(EJ>GjNd%DVvY)}y{+|J_YSILs5;eKLx^vb)4W|O`cX{xxFOW&C ze`k1Qw_^NF!vN-a#-lKBQ4;AI;Z2;o#3}aV!OB=HHyTc*c=ICRl?7guVHc7sX`*Wv z&n|qt`?$?kXZmYX(KdjccGJ#@6+ z#9nL=0lf#cjQKDSy>s772r(0dfga2TWs?4?XEvLH^~;{K-)x5}uD)V{a5CD#XF*bl zL#fN!u0u52A-^cWlK1$a^0TYMpXrU0qv~%vcPUR1rbG>mn=@#n;RDvqJ!sYjAxXVC z{*roA9i?`7+}t$Nad40q(DUZFcA}kHSe>J{HSt#kHU@&#c|p+X7ZN|SzDRw&GlAqw z&e279JaqUFOwL`*9P1D0=5k@`<@2g1s|`Y@xc+^o{U|k@{Gw!0Pf3lK2s3-&K%XP* zK>f;fwtB=2O=k*)7U*4+<^oQb!Ss*!Z(bZqOK5vO@QMvDqYt9W;rZqW9l9l)u(rAb zTjLbjU;w%kFK&9T4&v#j-F>L`r-@dYjZ!ccRXV_B@k#(oPmM67!xp^vv8|Vuqd^Ft z#@v>H1+5ktYJq&j6&)6)uuyFx-$saF-Y%qFz7%U0f&y=uq?`AcLE1Q>-7>Z0X%tb?D*Vg1}uEk-@H08xMQF*;&4$tW>GBDtmLnbeE`f~ zT&U5BlvBCCX3v7vy~1-^K;QeHgZK*=HOazK^a&uvkLhP^uTu)PZPVysTxYYf!Xuii z@fIO7wqF>P;m7Jh>nOB}&?l7{rRqRt!v&DU>p5Hmls4Do*h~x1U*U%5@C2@1-5N`W z^)#i=()y`~of1G7b3SH2ZoTQK!MVTFN$ILW@baPW0z|LD;hCjP=yL2K|2Y|xf|248sx{)=J*Y-DP5 z(#t>Al{5m8PXd%~d;wq7${-<@4I; zA^iA^bvtK${U^L{rAvwpGnW<9s!~**`i>+k%Zh??^3aQ4%rb~~Cg1*hBQ2{dY07O~$`N}Bvz86k@%gw@(G%5>sDHy()uzS77^5wS%U1p^#5px?l zjnstj*Dzdn?eS%QGub#qD>Czfe@=me(g~8iH^EG9RipTRoQ0_Xe1Ew@k`bCs)k+2< z&GVcaJ9)z6=ZcNfHYO^|OBgg=FCUaEqZ1v|v2(VtvG==3`&_7w`tQKzZ!QYl5?^X* zX7NAQy+llHO#EQFH1&m}?T_F83X!C+bC);PvceCif83->l0D|i>-(d@PLxJL#0V?B{c@GuiOH74eyrBB?qy#@TBluneqSe{g+N7P*H596!JDj~|CT%akKJ&#y~1!ag0p4^E{&hd z8;zCLYYGv&o`|Q zMs#SAfdQ>_G~cxV-vmx4c3Y`{bnszug6>q3Ob8qK!A6~D20f!xa?u_JSE>%V=n}F9ppRC`QQF(ZABIkNo*G^y9r8+W=J`q>03!gMVCe&6K z6umUW*A&MdU0XNAGcX#CJgQEe(2y8mV(x`PTF4sM8cNPnc;(z2OKM_-pNvc2Niv@uf0-`b3W-1}C%6sAwadvLZuDHNm~+$C`HYmU(IFYmU!!TwfX8jFGgk(4@rg#*VE3?edl*-(WoO;a71xAu#sUY<#{-{ zeL-xg)GIEv)06hM|L?ne?a}XCdFnNMN}D>Re7TkQLdikWY7_77M$cvq#);lRL)->&1zx3;VV;lqJKg+z!c^psVi2po7eM-*14Syjxp)%5T?CMrvmJrla1F6=<-l-92`W2J;qKQJ& z`(;Z+UHy+?z0a9#Cc2Fate_|~lmR;4qt}Kb(yrs6eCs#^9r$UL%ANP{^!o~B8@?`& z?6%r>o!PB+-M`O4ZbXQmtshBXW|Q%~#5pS)!#{!OW)>oU<3`JL{r&4JOzQgyTWJGC z>2TcQaUWY!hzD$AK%%VR5U_%(@^O7Ppw@8^NJ?#59=cKNfe!%B5QOnT5udKCU z|6UgeC{4UX;w3%VP#!Je@X;ua1toiQq237uU==Cw%C+Hh_{)1zG4l)ljKENc;GcS0 zpsPN?y=z2oHfO}^i8+#*)M%E~gt9E1G!#;Qhp_5A8o!B3@~*a`EWG(mmd=6_+Mp6M z_x_E>niI(r^5K<`c{=3b&o}5KhgkB`9F(X}Qet(`s+i77=ktiMKtxr^?BMb@PfPtwynlZ`!7Iq=)5$s7T0%`_z&MB#ERP@`K*j~k7_ql}Pe zj6x*(=coAC{K#h~$bTxYG9GH!(Gf14%O2S)=O4>tu}DX5N9Cjqw&P?~YHJQZFFqTk zBYg0j*Z6aa@Cu1{1CwKJYmFq9x46sv7pR8_WU9WSR7n)z^TNV8QJEHokB3KhrN?dy zQx1&(w?rWSXly+0D+j=~P9p#}9U4ezMgpz8B6oJ^oc3?C795%uVh}hjAs2&+M>Bw^ zxP-+y4G|zOcqb}H*S(jTB5MCuZ1ZxIGl!0B{lKlcfA0`lU5Y@Kqz;GR|7e7OiYj5e zQ-J#DDLe~Ur6bzbR1uHnpxE0cfmUo~Z#qN_B_cS88)C!!+9fr^qG;^z_YHV(`80lw zh2?JU<9ju4wyjRjV|cEtCr{0@uuHgPvL#wuTmNXVpfs^nDFedPcXg9bnyD_0GnP|1 zMxcMp!V(LX`^$J(L_cO1dAPkU(~%K2M3Y{1<;{6{q;uDo* zqM<{pas@;v?QdB)rVp)(QBDSSdN|3pALRUC2pB9<>wXJ|kZ%tg6cLBK{n3djuL7CI zo{_|PZj4PYHDS2@e?%WVIK{so@cV)HO*iqmNadIlruo~D%w19$E4LI2)lEAvLQ~;S zH?=H#>&cRa0V>M5!xGp9=&G9f^afg;GwtU$!TM>y;Vd@ zK2{k!1(r4wgw6`2hU=HeW3aZ;dEm)wBV?UeCp-_Limqs)f*00G5Oqbb5a~8}T2ZbM zev2~1gzq)Nh%|m9)?_Srg+ADIx;=<*$%u{QDdn0q8e-LbZ&ZiRHW^iw(6Rr)2PZkI zHu_cjQ7F6`)+!7#cQV?m^BQ+HQj)r@M{45MEGut>j@I}orYSwgDn^=?nezmaK3?8vI3N%Ii6==!Put@e#olj-mVrF-a7`Nth23N9VbMms+T)tY}A zPWg`Ms_G=$gg&h)^S;lMSnxTEkp|LS)A{9jdg4_7vy_jtln)Oj@WQWwz_?!0_vsIx zoDluD5a9iGSqWzsOtVX;#65;3pQX(f;`EL76JHi_fI5ZFv#lem-iaQzO9hs{*+DY6Cp8KZiM z`q|qH=T+_c^RCI*LBU)#kbuwB7p4|PcdBV$$7@GRI!Vj6x7(n!2M!<7Y)?VHe?qpY z=>_a(g`CR$n6(1yF{`jB(++RLFA?Vnl6jT>7rnj4wL)R=d9M^566^TiEYnqq+`M-s zZ@UhP?r2(GCQi9849&p5SsWt}r*GvUt}5`5F$S78(wL^I-XsJI4&9iAdjh_{KQ|bw z5aK7cS9(-GGQC5g_WvYRP^#H6_=D=mNjPAYlPE^=J`mixR-e@d@l29o_n{v5?{b^8 zE#qV9c&b8K>Cl~6>1#j!2NFn^HT2oN#{y;b!)5r(>z-}GaNTp+8L*(Z)U?77|6RZj z^TA!vbpc?__ulQ(HPqbkY-{&2j3jldfXFxK$Hw-wGr`qM(0=2tYOlV4DgF z&akF*J)|q0IHP!#3jBpBAVV#ZGZjAP{V<@M>1W9}lgY?tMDE@MJwPMHY(5$b1s}B4GIq}1c-2yT$&uazS{iG^ zor%wR6aiejS0?2Hm-=enT^Y?S%8fEL7~V8>{lnW{6sZw3GdhGlj~NeJ`#_U+7W{2bZ=++SEv! z^*6#`=SlN+uQM||VROUDxoxQA7Cb)_<>5dYY#=)zsS*zroxr*34Y-k(6Oz{W{kd6! zz*mpZhSI`WNk#h$AO;#`v@_b@sNmqxk&Kn1f`V~6Z0n?*ZgUgM+J2ysg^sJ$c@3xqiw7x>hf-{*X`{4M(bsM z55M_uchSn`pb`SDTcr00yh1NYm~7>WwOV|WejE9(dlSSCDK zZ`j(DR-$v)mXCK(h>L>)fR&^FRiCZ#!56-XN~?w+!TeKf&Y)fd&IcMTq(uYOQcrjt z>jEeAWC=30bgK<50gs!n?q_T-H*Af%>po(^Rym2Moijpo4|~CRYc`4=sp+Hu^y1!5 z=b-5`50BL|kM_?~$661+wBOYNZ15J_;Q$K!6QMS|apvyA@Y!Qi!D-Q$M*|dJH_e8d zY&AjC2$aWkwu~W0D@o(b%#UxHT)U%(`4^fjJb!# zyZU(Ny8nMU=^u&9MlsGei)d9}CY`vu^@nUwjo9W^<1*q1MBTaatiQ3D?@Pw4fZM+c zcqRU;-)SPkxvj&NsPJLoF1uXa!4Dc>S1-3;{)${uThyE7dQ<>a+?>tf&bcXB@9^7Fp{JzK)aGT3N zK9q}2w8x?oS1JB+Y?;`ttrYfUmdIUjS?LK`G0#=4zib+p9vaE&qdm=P$)*kYkK3RM^r}&d7 zZ4DiAJu%!}YQf!#J?wLU9_(ts%gjqS6LHEj2c{rComxbR!a}el)IjO17B|Zi zViTV$g(KD8LtRUKQRPyMy4WhI*YURV4tey-G8aQpL9sK^_LQ}SSW4eC9kvc4R-sw# zj-y-?Tds<;ku43|1x^$G-U=_8o2WW}m4_8rz@KjvJaevK-EXC}APL@HGgo<~jPAcy z2@ElKABtntk>ywFWdRnTayb;y_T)ppBtFhO?Zql=yq|-Twen`hu70H_@GVGA2;Ys- zck;UyY8(iAOP>uCii|2%tgk!z-%P%Yd^0Zm?uFPG;{@vM+iMdGxBFl5LSm%Cm&;`U zDB9a2d&7F>Se(?~qrlVCSBZ7bfsdTBQs{`q7GL!i>@`$}?Y=Sil$-4^;eVQZe0eg- zqtW-9D)*tCwSG2H%-VGCrTs}KpJIUeFIwQ3#pQz66C?hLQp3e!d?)zQa&L*tiWc%X4t?^Eroh7`dFa5L((%N0Q(NEIE~B*Kh^%kL+j#!bSHu9AyLE_d8pt~|^4nUSR5?iPLKl)@yHJZ63IiGvXp2DM=K!L%qJw$$q zsz+_rvG>4uOAZG6vjl)?15N*^J3(fjEO~Y^X1iuKMgjS>(16QIE~sVj z`o<_%D3G(kZMc)IuO>nVrJSe27=urd&95{-K&^61plxH4q0-FpYP*?D$Y*Iarp4>= zp>%MqjqYcBAVTf@O}xrh@ACluK)}57_sbia``*)$F3F-HJIi-wRP0eTCSqlFLW*fV zW)%=O%22mpiAG+Y%dR%rFA)ZnqaAU`jkj@s51S+akmYOKp@QS6mY02&c;I8HZ0_XN z67=}i`gDoZbfr}%B4lDN;1AAd`XN*N@S5+ZHTT#W9GotOggO8BlNWHd>hrkQ;{S?g z)TY@QO!G`O~iMu|FJI!|gB%_nQFGRI&<4!j}Ug!kKoMK#1xQ7LF z=>A{8sssMrZ#p)f}U#8V?r0`3RBH%L6I48|H zY*V9Ka$~#gN=NBd{SJHgcoo&8A5RGz3hXZ9PAW=aPMa{vA@yKeMs0G6!9ZHN;3jd7 zRgG#53mGuAmiHyLjJx062QtRkgvt=oF-=Zi^MEZaw{ z-{>xwFRM5@R4H!qiPu_+aO@kHKSB*ZA9^3(!DO%mumOSe1?GO~1DAy+qhgEQ>yQ7_ zDEm8`_w0i42PD;{k(Nh=QfM^LhLUAOPK295^5-49U$T@YJ54-$@%JjLSG0_S@*WO# zQ4}Rh0FSb>qs7F|+SPH8HLM>Y@~T4#Z(d|LvXT>bUV(sTVCA?Eet?e2?L&v21F^>` zrdI!JBhn1HAE$7TaS5?dVV}{n=Mk_ed*GPL25EnyeGQUC!l6nw2xo!-=5MwWBes@0 zx|GB$V2V4_TZJcsOH0npF>Ml~6hCTQE=L{FplV z^57W|++5RaVj-D5dJJzLmJJ9&Bg9cS$N>)uXS93YhXyB0X5^2q6nziYFf|1Pr=rVV z!iQf*-foQFYeBbtcan1=HiEzX(jyx?K^W-J}0rOD)kJHGsKNx)Obz6jdzIe52#Vga~klf z&f6WxRGo;UkA{@)U;53U2u&Bj)irP#y&a}Yl@tv$il$%dq|QKLBFDBWP*d)7rbf(k zPQ6?A4|mG{Hcze~@T;7`u6YlnD7Htlvm$pvw<%~cZ+9=z#-CZru@$bSLLEP7V892v zdJo;kM(@CH6LRe$4d6YGAnntH#0reZMJZ@yOEikI2BlQBKQ_ zRAPTEzoX+_66d*-S;L(8gRC1VfQq%9;zWlpVF2$z%K9LUePJWR4|jtQdyyM6VUHCk zX%j&07qMtv`epn9gJ9epQWGYrCU+?I_V*SLgH3s>V}qJF(zS3>2SH zY40GxvdHtprKP~12hJT2p+J5{zZ?wOsF)lmx(bU|L(COW<*Zu`Xs*-OF@J}$#%>O1B!GCuA8@7y1345p_Qbig1bo_FMKj)G%BmqCIP2TCd zj>Uq=z}t|<_8Ya`&#lL2F<}h`hc@hvCto<46M~w#Dbp@g1ith5pvUU1ofk~r^A6E5 zoYSdc2k0dt<^KDATT6GUToz=@MK~txa@{i(*ZY7Do2d_G?6CAsEF*LlReEoApKVf> z0HAyKi`+fcf94h1hwZ4=VeFzl3Tr5F%>cFh&Z2tMl1ePkwhCoff+$W?b&|pA>s(sR znd^CXlJja%ue;Nq6(QAxxA@9*Y`jxI{-QY1bdI|X%c?liQLPucFTUcVEm0B-03PUR zT{X5OO@H4o(Dcw@p?KCZr20?_HP`mxxBANlQ%_nr(=_9$-E#l1&LQ9?M)l#)e>r(B z6bhS;0eQ8;;7S$IE{BzLI^w##z`$4SKuf2zH`kG0(ke@SdR8SKs!lYDsTu9eysdpM z`(NDb(2jGfxY(qOC~jekjn|VS=OOj}85kjO)^bhTdr3o5$8(0U6TLq^t8V#TQ+s=t z7=lqNrMrv=h^JPM+Wr{$kiDC8R3Y}$_#dFh^6D3k5@(I;Xo2jFE-%-t@B1sl2#@j? zvE;diR4lN$Eo-Tm{sPiG+_JmnMF5}=7d>V$`^5SA z!u;>TDGVs$FijJ{FL3IRv*sbssoS(bi-{Y3%`2fb`Gm1t1)X)U9@bx?N?0QM8&dq) zARRb~g+lyH>x}Oou%a9R)u$`s@N|W zWTJbe<51`0P8?5Ocj-z|(s*P~XZ|2-aK#nU;0J60pb|z2v<0W4X8?-pq5!D9cpp%s zM#oR771W+M^HgkHvbW@pL~q;SMJbPZp-2QUAXjff=ZlFD?it8E4>b|@;P?}U6^O~* zXJHGvO9O^sD{Ls{ilK@(zwx~Wra)LJN@Dny$BYD))z{$FrO_&FVc;6UXsL}Pyy{7+ z^FIe0WlTSKhOeF!EA&5p0v|xN$nlG|r)Y0*Tx-dX=zluf+5fOvr~j47Ng^lqXD1qQ zF`o@z+Vx8FfW0ekgRZ>H_*ff-Q$bXlN2 zcobf)`$C3eH)bQ2+OZsa604h~06(W4qh{o7y|L`n`t3SHf&Rw$^;80uYJzpanaC4OrFQbF0_t^_vJ>yo6c^TY3ayeHe*^Sga}f2U+) zb$vHzZsLpGy?tdaqPgNtwV%|vwdWIBBZcz0rpR5|-R0VG{XbVN)XI*z?%MjZOG@)D ztm8&Kj!s3l^GMl7{&szAnk%=g=_4=Y(z z1QfX2CJw*Y`=bBM?D-#hj#i2Dy)88bwcE!7^Fya*N;2;vk(U|WA1*bob^2N2KRg}P z6uy{FI92AnushTq+$jXLS|DzA{rK`VBt82PytQH%^?T946G9?otRXS^#b#d9FEHb` z9r8_G%ZW9Zj1JImgS-n@0tXte!k+66RIKZ9*#HUuZ}=pgUI9J&Ep`qnW3GAeP8k}R zpvz-q3$C*M_8o{Q5mVE>V6}{ah{;=z$=Rkx0A-W8%awdQleP!XZ6+yO9wYwRoW2g+D61{lVY7 zs()61pd3q(7F0d)RI(KW*b#4{Ee&en0gB3lQKy-Y^%u;GpTG6!8UB&lG3>0k8UG(g z=N(Vw|G)9~InJ^7E_-E^RY>MBLdmL7b~Ge1ve!98R#u9J%qSsbXPiSuf^PNN)IBzzh4JI(f{!lIfZeUnW=qCO#6&O6SIj;X z5xiZ@L&viBN3y#7KK606p7N;GkxA-z6rH~k@slGii2ZoOT{CR*w;pcV3@y{3jYG1o z+uQR^@b*#0u~fS4(V!^5`5w5gWyMiY8pHduGxeFCaU!%Wcp^vSE6RzF&u9Mtnw1BF z??A);5~9{QSoqgs1Q;qjIn%nuR5x2A4b=INV0q47TaAi|h&dhVH-a@%1+3|%pu3c;yK z*=%fwTNEQP#ha(24+fHDTfgK0P?;4b|Cf>NF2q*Et>SKy5^)7sDj{{u&%HvXVJ^YC zii;*V$rbVdM>0epYb2@|nZ#ha0&La40Kh!BLR;b8HH5Rcuj@wQ+UXB0;0^prg^NDG z$}!-We&@VsW^MuF4W7}XjiN!Z zc?`4siis3kFohTQ7k0asusp{i58DxgtiT=}GZ4-$9}_u+#4$n5d+}FL@r8YU;Z2hB z{@%ZHnhLnCX~1XEAzBQ59(+7f18+4Bu9w3k6kH6J!E0c`tByu=>)G(Z91{D4mgd8C zzyjd^x2fb3S-Q>H2o7gr1BLWmhG;yhBKp{xOOK)}ux6L*35^XGO9SUtEqKe3o1`cJ zsHt8`3nH<%tTjN|sR?M}rh=jy5>wrvrm``!Sm;;lA?cD;ah>6Z+c+!v>F2&^=kh-& zl#2#NrE9ReK0lC2rv0_JpRLK=o^q~?`yzu2zsEf<3?E_}o%;a!tW-$2!+a0YCCY(!P zc;~FU_GN%^5q&Z>a;mp+7Vd*{ISn6NUUw&WFqqA%063htc2ymA+SJ(T(>$YvKHk=V zIYpec5jl!MS2186`hNces^H}o6)qf3+Hf=!$Jny4vnRmY{Q|h_Uat%glk&>YmmcSf zkm+BM)053_zlfZPzAY(}p$CW0x?KFCt^fj5D;p+X$N-4buL`a|#a?@`inWxqY$WPP9F}cFYo;3M!bcv)Fmg$A z0+&Qc;yYzSHSo;fYpoOd#TL@AL4Lc-e=~BA$LHeT{UW}6liH6*zMf?o>%>%nEra)I z`scAg1E(^Th3jJSHjCTANBi9lzvWBCS_F_3bP+p;jxdm}2~Kd}VTJ?S&K%|rATmBf9w7Z!R_Z&8C9(ObEg{gWyNuZBHQ(-&##UNkM^84`~J|}5(qSy zHPg)78(!;=99QFk;8MPK4?F)bm&{S8>Awr~Q*zO3!(~tEO3#Yj>O5PASBSDn;?*a2 zGv)0Wi|DVg>BhvcEgIOXosuWfU*%JXNlD_E@n6@ z9&b_Cwxg*VWd-w$s05whc_Jcsum7Hs6%Cjfqt15}?%@4{g4leF0byt_9R;*XZB)ZO zhR({_l(-I>n&f%>YB@eDEiL_erI}17)@p~{>iT|-wG*nBPoWC3Aivc*D!Sk%n!_$aK-8q1Pid*Qknw1xfe`#_!$4mu$MK3)2L078D9r3$3WeeY&spr9&9+3 z$>;&J(8|Zq5Z^7BbX4g7{n-;HO|{Ulu-PpagSY$Nl~fkBm=Dj;IbDd>S4%zZ6nvyI z^s9Q&WhjXz&W_)7!`X z2?gs=NUN>UY534kbN^1w{ZWGZ389NK*ef?a44gXk<7Iz^^On=v3}4n6E5U+eZ3Zrj zw{fz~rS4ste!o z9kVR`H<>6U$H(CAf}JC@Av2(BF(fFzpKB;xetmBDlCU0J!mv)wD!|L^w<>VXq&OdRjDzXyZx>*z3mSlDU0bZ+Bj??LxTF)@UyK8#coiHZdHXr|^dR?sx&Q9}>oNT;4HBu0JzC9p|QpIb;DX3_ui9c~PBOr8e*_g>I&P1dhCqdUtt`k|Ft_ zfu`vaLog;x5T{P7axK1FvcO;Hgm*Z_0uZip%4$p#WxPC{+*YKoUThC9|~>PjgpV?V?>~-;(}+Z<^j6GIzIg;389Av1Q2!^ z*YYBY5-CWvsLP~37@PZ58zeH>f&TPl;Lp5bKRe?JG;=}2k<8ble|&hp2uMnj54nMw z&C&?lv*K13Gdi|R+TZ^Iw;*V~kz%azEUtxJ&y#%8IqBDYPsX(r*TOshd4;n1{k?zoR>IUDPV9qHkc+A3I)as}sOm%Mc$0XMXd;fkH>;3=- zac$hX!VZcMDnp_m#}$^(>19k7v6KCwlGJMtz`zcFEZ;JV!Z?Qt7weDAm&krzJD4r1 zeun!*wY+#Kr*`5!ICaUf9`r zK>SK6H}0|y3IPKEhX{QzJ^!`je}x8k+Grs2r!YA6I|%6H|K><`m|!cA@e4SSkBFgr z_giEHPVey=6(5h3^*Ta`+PqMVnegF;?PCne8NY1VIl}hQW{2x1_G4{YLw5o0`@c5xO(}N(2NTT79V*JO3(Gq*Ct4wm*!u6-A`{lob2mZnatA zXk3G+Y&s4>^Rh$Umr(HD_$g%GXyQ&P8W5JCyRaRs50Y=zx=%hi`gM(rEkFSn=Y1k6 z2iE$g=!7PJzKt1Ggy%tKLbp@F9VR-&?bF}|V_I8S)+4@i-gIfj;{U}~Uzp5cB)Ii9 z{&wbWd~*TdMkEBSzc2O1%#xkK6>mEG4DX8xQ2#YDl^c!da6e zj9~Q$dQp%2it-(_?xPo_B>gc)p8V^FewLYQ20UY}>peQD^vS9Z2N><7P8qn`X)ut# z|8o>eNM0MgbA=0&$CzrbE=?C3`}^3r;JU1K6jJEJr0{*V&Hc-{Kz()kIW#QS&o zAK9YRRXrjz_y5gwmWVu%+JF3|z=9`Qytz_}9!3G62VJbW!XFGp%TcM8uOptEuDrmK z+IUt9hpSt1*Pva77e=YNaMw>wbTQ2D!-<-PU9Kj=EXUI8?#Z&O*TZij!1o68E@(#* zL_5Xo=vvW32_t_Z&5?2m6i3x6=j+lrv}rKs4b4bDplcn!uZ4zP;+OjP6O`#| zwa6t=LFm5BQP1@#=5tnEJ9=w#?C&7`9wLNZscuX`!E{$Vl5Ghyv={epX2yREm8|* z7Qz($-aNMd{%_HE>*Vhl`Gc?tN1iby4wp(dsB10;K@Zr$7jY&m8L>C}Xp{Q9ZNq1f zZG2M5W>p(09Z7n>Kv1&i@ae|eAOUe5@+K0>!%$$gC1iy2prVNqz~StOecMFZ`-O(y z{`rtur7M*{y*r_s0JZN`WJ6gM>A_Dpx|sU1qX*~?43b|}6N0H|8A|((<$f%OrDsPq zQ7v3uokf7PtN*V9uKOF2O7UVRh_aygUCQ;&3K36m0UvrAWSWYC;uJx7VUV1p@UldQ%X<8b%vWp=4n!_^&4cX$=qMYi_<}V1V=3 zD|bxu=VvamA8aAxkCzPG5C4X{t9lD}V3pW7M_-cu#-;uDX{Etk%-`ut3>?j04Q#Qk zIE%o+^r85UtG>Bg%650shq&F zz>uNP@Df{LbZV+q{$-x8J$-%dY0s{Ht+rFWY~SJ0t23K2386cW7P%{(yxGzgU0SZN zD8=4uL4!o5Yqw#nUdg>4?>qN0_*<5>_E%c;rT47_Z-gDvmZ=BvkoDp9^x&SM-d+ss zZHy~%pSB|g-Bnang!4+3Bky4<(${3ieFfW3=LE#u{(0~R&Z#`r^b;(e&v|lSo*jiA z%q6Lu(F|g>ac;n{`ugwOb0U7C{>g?;3NS)Z~i-k^KCOLQKK%rt}?}n!{kg61K z9)OuXZ$`6QWi}*9D3ZbSzE_tiAby_iD&OHaKvgb>Ar9wA23MoWm+fC z&**IGRG|qE_glDhdGBboP#q;yR0@pZU%_}62YSHGtEIO1FqVCXwYJSSAnG2kV(f)` zeK%dC86;!>$GkosXAGpQFd*2>7)RSYPV>z!K0G^n$bcGksYAb%FpQXAt$)EyzR#Tk zn{fC8?5HNwrrf7B*c6E7PLyn$WJrq<6?+&X*})T(6`I6-|9;Z%8Qwg3v`0get&I6o z;`*;&$XGw`rq-6>sj$0!7obv^nFGEV68*EAo1SbUir6pt|eO_X4_dT<79@gA>m7}n@ zdgY~T6pqsfT^`doTb6 z@5QR<$$qZ@IgvZtf>gy~Ajl&Nq=#(Is$B(TT!{5I z&p@S8R2L^8X7%RTeL^-SeUB zo{N_8m9qqHT#M(peuUn+KVbEqTY57$ZZRASE06_@)fz6|-fV&E>lUow#yj95fJ3gH z_x~M5BO3C{P{!`Fydz@k+|l)3_m?0Ea3J({V!o|vN^{~ z$`DIzSh|s-cjBP;TrUE5iuBUIK#RV4vqPg!ik^O8mRhtkt*er4h{g9W)T~aQiBA1Y z&#q(#7ktK59y2choVO_4b;l7*TiSe?qtyCeYhva?-Ii2_TCHbG$!6N zx8=#>NQB>Gn#(6jk75(+=q+9pZ^j%X_m$jWxL0|;1NOf9sy-eE)zp0};`0}=IZ&1_fYa=QNCNwA zav-Sdh~3s9o$old$MFO(7JMc>pXPP>k6 zYt7tV(>!_lcetxd4dzd(<`qA1yqwlXVQtNo=Pbfy8-Buae^gecMI?V*)wGU^@c!|6 z(Z1OAB9dYA?5QWC4+8y;k28kGmje$b5a4&~ubT655A0IwRpgbf{Qi}hITZbRgDXW{ zrmgi_=T=xJYiQz^=P|BjPJw|>3gDl9#q(LF>Utc~(muB~-fQZ6z{QMNYzV$NIO>3@ z$--E=R<_7h?Vat}JjpMIW;1wCbe;i%QIuGLLr|lP$asMCdB_0k^*U;G z!2NfXX3amztH6*G)16b%e_)u%YW8gA`13E1qtN?9&04jI!h1DpB6x~L;A_teN+t~* zYmCz|o8J4k(|TEs(|W)59W6tKLVaEMV&PHYs$lP~Y34|ShB z6D+<3DX&Aq7XPRlFx9jMs|S5kq0iM8u>0>Vjc+cN_R^}FJgidHslo4?9+Ww>A#g+R z?*%{zg{#=E1KgUD|A;vaASKX%!h`hz1kjlB^=Zh^#Zp6I1s?8K+HlpxE#CR`b+I!? z0;Y+6wEoT5vir=Y+NyA5%;dNrE0H^jYMRylJi8DMv2-^kLUDevhqZZIA3lk_xo{0t_Dr+9k*N}S0!l>ZK9dY^3z&w_QAj1s{;k0 ztGfCiRpV~p-TI4Lc%L?886&5l?dRLy#aErpRaOUCrY`F;80;5dB2jm5FIak#$=QMk zkS!@D66@l>SNJXU(^lu)u5QUeYWGTJ{0FQs50=(OJU-w^kO6vN&Qx`Sp7E>#{{#3s zvk%t^p+de0rFnr+>CXGwTyB@hY&$!rwx;n>O}vuJlRt%?$*J?`Iu_nM$G<U+z+o01BNeD3Uwrw_KAdCLwi#t%}-eD%g%k}WxCGA7%=@B@bA8T}cj{)~f zVGphR1#fNp4Wswaf7T1*eRg+f8Luxwg4}S_37&-R?Q7lrywd$%k6~Z)^HX-H>hkC5 z+&yWFXp_L^-ThR}F{+#5Q!X!{V+C8HTH*1%18_ryB(CJdOBC)=;1}fmJ8~ckF0gmg zE(SO1?km4XdjRx0I{t4*-I8AJ&T0vUt&g)Gf zzDmpod#Cr_d=9E_oMhSP2p!}?Nv#{vRC60%?+ z^o@=IA78(cBQthU*FXS-)qP?-emm+he8q=_Eo;2XK9Ki&_Gia2CNyv#mNqG^+(Ndp zEyX`I_xz5)ajzFkWZ8RYCX(P(TrCTROF&;YbzyPnr3+}yL6M7FC-zcXvIq7Qvv*Fl z!FK*_RW;7UT0!{$4UFO5}MO~!?%o{%gmV)4RP&S0$ArzM(oV>myc!D&wD zt37=;EQC}mi!;8yXt(w=8n_Ho*>Aac+{xVV5xw8y5Nl=U@P0crdNi0e%-hvJ-0S>DaG zbd?lT&BEv+b_MtSRJbt1fU(FcdRTk&6#DZ1>u8WeSCO&Y)`67=Ovm=Gk**hy!+N|i zzitC?CI11;XSgP#KUdO?YX1WT7y$nY*H!KVyuy+I>_!PFE#Sq+g;xe2VEWFPBT&Jm zpj9xVpRr)}s#u~O*c^$8R&-iWfOu7cBsS;m@QCZBH|c&E1& zFR{KeU{M6Yym0vng7fD6WJ1>t3#lB+`T)cJM;e ziHe+vccZ!D_B1s^VhC2?qpT}ioBTNkUTJIh7)t5Dz6yRW^OryAmmA#Cg#piG1vA@h z&}2=C83^6X&cS6dO*!@1?AiMIqJC=@UVM4Q66Ysyk(4EmXf|{O!g1&)PdIS>pS}3p zCtEdZ*8AT|BjUMn=GspAb^Hy< zNCJ#TFLCVJZm0aGt1ak2^Lg*MXU>X<_xT2GjgaOkkk^4jSl${9v-I9||DYQv*pNJH zeQ(fR=0dO%A9TDI8;;(ijO4y9baS%@7$-9JlQg0#kTdU=H{0*b^2e)9*sa#2FPn-T zSf)kv{w`%}yKj@`^y=0zrAPq2lRc>1nc*3Y{0m2$K0d%!vqZD z(byKax50^n+V=*IoW8vv-GSxKGynRFOU7r8@GU}DZ?GMm2CW5Q!e-@dydP6my!ELg z&NOi&PLIj_y{XY*slsKUC)crZ>9qZ&Y;=gwJ=Gs5n%%m$thjywDz*v$%{n1?6HXo+J^m^RufnyNqQHOfWg$%zS3u}U7TKE1iQ5e z(A;ugVt4v81FhFIwf?jhdS`-8yFa%fxB|kfn}P!uHvJ&h3=+= z$PAC4^FOREypV4)ZFf&DEVy-bpW|g(&MgEm;iKM?+Rjq6k4A`$o6wPN;LSUZ>?fui z79w{=R=fZ!hm6ubQ7_TUS#QnMT;Gm2aqB(t%{4xkj!%=s8_oQ!nF<#jvQ+~;^GmRe zE$8_Up=a<@akJva_h;%)EA%!Q$S>Wu81~ID-#cv$LyA%~Gqe9|_gV5e`dyAPUPy9BXusk+i$Ov5gYD#4kENX zF(6k)0sE-v%|*CC0B3?ysu%dizC|5-ve}n;@AmDCCEdw6a$oT%bn}(5|NoFm5}p z`MtErS%upS2T+1@q;wm)6UDuP4I@dD_q*|bZN-jeKR9RVLlFwAJ7-1VXm3w|pSA^j z_C~JiQ1`s)=~)n(#>O9Prd!zfsAyQZ&9^SODrF(~t(0$J)Om@u-q-f;c&iW{IJ2O` zU8T87N~i}fy-w`m2kLgPb+74NPOG{|@XZYc!Xr>GvXzJ3#VWJ@A}q&-+T{ z*9gN!<#b-{e3s$g*kv@`*`J3VILh>XoWoHqy#{66Tm3n9j~)s<{e!3Ly2?mEzza4g zAcH0?C}tp@+bC}DU+CT&pV?kqg{qR-ih;=p^(1=rEKz|Kb~!|6slK@_MjTXIroUL8 zb?MO!ML7h*^8z;3uJaZnt}G&SO9i}QuH2C0+doKy+j03Qmq_^bSgeO;&^&KZpO`v) z!PNv?0#X6)TK$H-A$hvqkNoBqSoz}L-JTC82s(9D80J2XVsDCwEZ1iQeDB(py2gl; zYZtgrW9vl#9xK_U2WNiMc)my7XoNPX`86kl-6P8nJZtqT6|NvggLWmkBMjEznyt6DO35Utk$m+j<02qq?p!Hs-OG~>qkBR-l@}JH#LT^kY20| zm@4?zK>y?iX#~oT9&F$fL{g#iaB60vBsEO?yaF{WK@EK)x$#&eivzgNoSqGR975I& zb81_?;G2bg$6shdVoNsstD8Af^HtpKX6Kd%hbi)wTcC4bxLenku8+?s(EC>2J}Uv- zGtd8?i~9}CbY3Dy$|;WaF4+9qFoD_5J%)5`MWl?zUZ zo8Fv|Y35Pi@EA#60!HnO5$@z4?h5Xi{C& zQZuU#$e0{6{BP8I1aN(?sPv$!kruxqlgSD44!&4O+G^2(t0+Kl98kVgZt`vpVD6dR z@72RyS1V5Y<}HbE>GL}o+mI{y7Ag_)KRD-2)9>VL{+u1`nZgP21ggxOblr>;DnfAJ z*5uRPnhi^JQQ=7;S^=As`j-q!$! zu6V4c@^2NWr&%e0Jsw`B3=_1H|WOA|kx^Kh~{mw%Q7_K96D>b>#teg*4r%_nbn zyX%R?y$<%4NnW+l8%<2tvawtcCR*_1<=~V|O7KV4agmVF9jhS9d7ctYb+tXQwi6d4 zoqBh9!Lpxa^#ZEmZ)C{@DR^5zRF1Vh0Ep&DBRWn3kVs9x%mgML7R+Qcj^=)VuLf+H z7y$kX5sPjyFHy0ZvEZo+&JaE-(f||BF(Yq;=r~exS(*BT=v~w4{@$1@FoU(H1a3Fb zx0$q{F^ML?#6woj`nqX+yb%z6DME92$kdk0M7p|pV3SR8g6GyhyoBk7x6Le5igjFx z7G5m!;{kVvcb$-4WGGZZqidNQK|SI+A%ZeU}~HG}k)VL`}ilGi6kjVpU9vPY1j z_^~TaM4zHOOYmA%|DgL&YtXG{C=Lr0S@^->6FeLGbzI3mRr@hEKC=p~1IR6Pa&(c) zh=>YH@(2qiA#ITn#_LwHc=ukL zW>cL3B_RV7HXqRM6vkCEGVR*q89vYQ?chgg*^!@KOPH-#cJ;h4@BgH_JZU7o3?>e7 z#6Q&SI`;AU06vTTuqsrb=jbS>5ddt)v2!Za*GYlkJC!!!Qz~piFSDgQexlcQzyk6{ zpT=4u5xBz#ZU0JpiMwloJ~x}Wd9}2tkcB;IAkAI)TR6 zxZ5aYiQ1QyiVEspgozc>=4Y+WB2HgH$T&2Z(CphU=3JTir$u#p*|mUne5ZQ`9pZl^ zq?E8*JcW;AOW-F?{Gk!#tR#qCoa4jb;@^nm3c$1{pv42+;`oHMjr28AuATc#Ov=7i zxj7iJRPV_$%5#R~-TU*W2%J$tGiH~B}N@B zzf8mJOaCq?o!jAW0S+0vz|q5j}upq|n62lvgOwjAzrsG4I=jB#)++)BHlC^3?a(?34Dn z*oy2mDLlpyN@~WL=ZGZ_#AA8toCw@` z0w{LZRqRo67&j$#9h$|HKP9Qi;PS3HqrtnSRH-cQR~=X@o0a4xZ1egP0AT8(@c8EJ zwX6S{oNIH&Qck4{;A^H z2A!frL;Yoof9ay|p4vS6L5m4(TGoinPso}RV3ybpAaMjpWniZ@bO%_8f?)ij$GRvO zcCvz<%OVVbbMvs1XEn+Tu7S_qllc)$dO*zqdS8yi9TyLSWiQ2vDxTlovN+vJc9MwJ zuX*fuIQaaHfI2yGuAW(mVbfz7*Wk(X4?FT1jZ5eD8QO)|%C9kBv4ZZ>6NVosIrSKj zlFgJTM{G4$5GJ()>ssClk*(tat`X*ozdZ(n7u3KFv_>GV*nrmH&Ded*&zE@~X8+7m zv`U5U;WaDKIGW>0Qh_vh?mDY%w#$+7)a;aU{L!BRq5;J#q~?(i?4yC`5CI%!j8+tv zL}`so1qh!O?)`{MO5HcG+>+nMQWdb?H05tL#i|gMP(#8Mec2gd8W0^0=6_KWyJ70WIU#|L3B6IeBN9#Y=g5wtvfdSip zfTaM=+sq5(*rh3WokJ6t5zi&sg!FLRJg2!(mL-?1IhRVWyIHr;^3>50qa)=x&)aX|Mf7n zZ+spv^+$I$?C^sPQ)glpE<7;MgOMSW%_CZg@KU>KzYUhoc!pEHJ4(*NYa>CaW94|kRNe~ zWHmOx4kEX~nDbKdQeLvibBnUbTJoY*VIw~I1oCE_j1+*Cx_aT@r%~H+cy^vgrTn-f+kSm>Vbym{DD>bfqMn9Y#^2>iE6DZ8AO`2}iwJ zSU@B%C(?2TD&%?^2*TeyFt`LHo8QCaLxtV$6%0n8#SG{n#Ork1^vM<`s)<;>KPL9t zOV9!9A5<@yle;-P%TAeqywKYy|LG^Dn`Yx7E&@}7WPM654^2wEm-cdFt2E?4zVxw^V zE%|4;7EQKOI0-z>YRkUB-ioyZU(iZ=QnS)FLYYF=op6#)P z3XJuT)L#-_^2l`iPu}iZ$tq|S%}T#CQqm5gIS#Pq*&j6M9{kLf;7D|>w#X?MU5+(Q zZJ*mU=zlmb=W|kvyC$+CW61)BAK*tYE60pMv!-$3K~~Rc`+Fuh3D;Y^u8Xjum)LPd zgo^khdO@O}V$tCEZpc#-l=}s0V%)+f-67*+Nl*a*LT6yBi4z1Ta{@s+me}Zx)R-(I zvzRRDcY0MPnDRO%q=@h>s)%<3cey7JGs!bfc(BJy?^w@Z=Q-+vhUc3_fPoqGa4X1e z;`{^!AIzb0d~}-LNl65$12K~q|3ggI+$3tc(UQz_S*gE^^+W{>?)}8Y!-|l0kb>mT zW5KI@Ki{Kp=HiIF@n2H?G+bbmQgDnvANI8MfsG!%)&c->nkn-Csg+Ca_ZBaqZA+87Z5{ue;SVE@;M32H$Rnku){;n<{00kUlrCsVDK?@`JP&o?}RA7amYl^v>X56(oBYo7Ou zmIqyKue@sB36(9+qc=WHGG~})^Udg1aFjjSFb1MrPu6twe zyf}ep-Llg-@Tm1|aT z2W^x)0s*?e!FNNfKa?BoUGf5MPcirHh7zwW-jdq$)2T?(B3IAHP}PVU{Oc19cs^pP_};#${%u??V-=McN2 z6SOCxgptbhW*mTukxldnMJp_rD7KqNNMv*doDW%;M^_cBKkC>+29oM$V)`slmILJI&sH)IBqyp8*(_CGSHhjIi}sQ`N9yYs#93!bTc8~h+L;$%gQCyuk7X*@ zI;lQd``*d@?7WC>_hJlu(rfF&j`1ll+g<&I?WfHX8VugEc0U)y8eCkwiMnoPpHQF+ z9}fPL{!as1d*t7z35XqCXE-?+dEe=@UK*tPlFT0dw7tQ3-GfCf)R7LZebuB;Si12Q zjY5FokRMXK9CXBV3!g5&d!F;a;30MzaAKP~G!(_iJB*TXPgwC z+Zgd<7>`|5Yy%v3jic~adH!y8-&p^#(0+Vs0Ix6QNK!PV^!H@UisWXE?K%JXnEhgF zY%1;<)*=iD%u6zMnreQ%l%TM>jqO%@%M>t?kbI!bc@piex;{NL$-eU->_#16FGqaf z=Eva>tn>}}@j~opCLmfAru^Ed);~TO0AeETIxMwT*ZBZ~^ui-Dsdi#Xt5ruD^El+H?f(P9thh6W{aX%`^ZrhGn{+j0d<5xJKIx zT<1L`*QJS&R3ZO(%2hYZewJH1_Se*czI;&?Z790Zn8>}BIv(kDUbs7z;mltv26mpl zYixFv%33GwX$%J@?D2YTAFdYiGC)#e`%cJuA+pZr4gHIOx%6zrNHP9#xsFqCBi`*$ zyk-1F-wSe1hCjQd1$eSL#@Q>!T?J^QH00jAINo8jt`f<6J$z5}&6?Bfj4riyUFUI* z?syJIypOCctHY?EHRJf>%EJ=DH?}{jFT6inoHEF<20VuDx;bvLdwIA!OJNX-5O7>Q zfC1)L0Q~~b8H5@N_~c6MJEDMLXU1l#J~sFa9l~c!gMokq><_V}f#7VF9umB~Y$yt6 z*vlK!6dg$LSwdlb+=nWV#ggvq#gcaW0vssmqV9Bi7t+v^THxLXxL(389tyvbPf?FN zXbI;5n0ONR+J=A&1~Ip73lLZu&VB??KI*TsP>SI7l`SVV_vfFh@klKP?5HKiwJ*C* zM&|-I{i--?lKBDyzl`1`2M5{M-KY?@GsL&r?M$^$OIS0+3(PoScT8{Yc}agjpYT$p zn>0*ZovdN`afZa0P0NB>L{NIyAp}j{^5$Pl@BeOaQeidW9P4tp3X+lSBr0$NPj|?3 zpj+zs+s%}oc!A?xj`1J+nu;%mMCIeEgP~6mX_3dyTKmusug)zf30}%s7=U5bc#*Y+3q4&Qb#U?=V3+R1BEc|ht2Bl3bd=d4 zta`Ha=YC1C@2{O_-=5c}C%FofB93H9|C!TlygEk+J5t$vtHweuHj4#nw0$oTy}$43 z?M_@sQ`&e0r<;+$F;n5x0XFCv<8lykP~*&|giGB^`(q2QK<* zbU=j_kbCrghhGQ85EJ0jG0nffe@doJ%vncTE$2DF=tGDv$Jn_j8l`=lKPBmx#qQ|> zd&t9D@v z0J!NGxTLd!?177L0Qt=y_4sdCZfIalF&6ujG99u-t9go0hY4nGgLM@M%e(&HxI_2_ zY#fu=$hx*7l^Kk)RQehA{U}A+WF963hU6{c=a2P`X}!Z$0MXR$^chTI)R@sR(e%sXiq8I=a!_ zrEybwm!F|be(y;`WEks3@ko8N1q3WpuX23mOnRZ7c+)`l4J~5z#vN4~PZ`<>PZ^o!8%zi(@^)EQ=o^Nz8 zSbC?*2XB9<|8F{@>%=l3D_3s6(>=~Lf@^NvXW*6bTzGHqcuTm!DRj3S1}rjFCC4PN za~zBC>isn5Jc#X2alI;2n&xA}F~BY;Y&P?p6&aJT4_2|tdVmXIN%$?2rOn&=Bvd$u zo8sJ8h)AV+5AthWRP>nY0;RGdZ$dMAIGqJfG5Bmb8$xaqcz;WyO`RVyIeCOseO>D- z(T$b&f<48b%h@~elnuAIb2%tTXP6d-+2*8S8{MlW95*dwZ}f13kDu?zB0#BN!uAU^ zy=A8fN>tgI0A8|Ul&M3z>e%(|MRTmecHvj&j^pa%k{hp5dERY0M=?R8ea%n(DTSoI z9~U_wc|8zuqWkO}6Rp~SrtTuNx;85y3H+gR@p$};mdM*E3q2X;RdbOhGgWf6(?pBc zE{DAYpmkO3$C+&|dg85g+PwFuU`)i*?0b*68>uvC(W1WeHWUx~bE8yDuWGM&;n;!3 z)N{aoB7=FrcY>mL(bAu%J8fy|bw>y{`Py?BzCuTcg&!#zj05UW-dQT^}84 zPc;mCW0d%QHpz4prX?Nl@k~EkP=C5?-2X8r%;1CF*B6sPJV@Ff)f>hyJZhJ8lmps^ zCNqB7PE;jdnJp&vEI>-xnpQq3)$GT!87O*}=Tq367QCv1HIxHk6@CGs0NOUn-Ac-h7MJ7c z?)M&cxJJ+DfgDntH4;Rt10IQ+dI;U0)Ybg3d)v`fAE_&IO@dIJec7-AnI!=8D(A79 zm&POxAL%D&$=c5hSvI4m$eUf!z+gd~5^T`wp}3y>N7b zi+weh%yQ4P`EV&Uv>y;(=gXhv!QR8waUx_PEP1_Ny}-vR%Uc-^8Z%r?#jEow zJrur~ZE2X<_t0$pzvK_3K5JRpd#kw@X*rLL)+IB=j3nL^u2OOOu7%UpH-*u`GFA7w za(3sR*l86H=?&ZuyaRzV~fh(tl~5dY8RIHb-3P5t&J_5Jo5|0`ubQ^Z(O@~Z6P;nvizeg%JyDe z)|Aj;P7-dCr5O7k#TIH`cpLvnVixO5eTdgP#kNd9RRHHo2I4n=4^x7#kOVoPipv1n zLLW3Jksuj1fb9H!=ziqGo^-E)Bp-e&y28Uu-&^s1=Lx}R&28+QKMCO3#ujlw|6Ixy zcbk~`lEp$FP6d)`P%nl-i@j4>&vuSgtIC;6Z-CEs} z(V}K6E4-}}2MVD7MmuBxvf@M#w&D#<2qqxctc(PHaQ7(ZRtC&CgV^jLS?z^%XLsn5N*HIsHFS>n(l|Y_0;8F zD*A<+05#>OG513$fr9-gG%-%i6@g`r&YQzFqKRcgGk&i~;6M7r1Me`ZfUY@?IAmM0 zQ}xXHx52FY%O+BV7D5;lIL>Q#Qk}D}2>$&1&)3O`3OiMQ#{@NN!EMZC0ps1>PbEin zzXw}`8Y|rHOYI*j%706`kcRi)IHp`%bgu9rjOn9NT^MTJkVxl?NatHW!O&9;8*+qm^y!_; z(D%QJt@}oAEKU&KXG;1A_w%av$bseEH+FbT`pIF`pSdnAr1HbnlQTJj`;_Z>Pg~5G zBsW?dM+0nI?JiQnqobF^sZsWTWfBcfHb4M02hUK?*RKLKqT-@2dS)1rUx!RB9l6XF zcKaUGy|_!f&U)P8P`g0^aZ@tFgEYR6e@kS{H?Zx1+@xYS5eWaZ5j;z~QcE;@K4x6j zoj-;>(vvtfEt_&M7~Pa^D1l!cWmEC;HJ>DPC`l|E^Aw;w*sz0-#VEVR zi-0cpmZ`6BLhAuFeWq=Ge37@Akw!tt1Q1_+xp+L+1iKcQDVl$lxy3Bu5Bt}CRs)om zuKIgmSv6WW{f&u+i&9CrWW5s)s@9ZgBB=21-%^^5G5)t}!j^gR;Op@6uBd6`nS^WC z>SJEqouVwqxQ%ILXW@zyXNe?V-^IGmjb}W!Pld{Rsp$aoLvNhFfPzB2)GMK1--6)A zss9cbP z?|o+SzKqc45v90J>;C?(sAEa_z3so--zk)g4NzErB0)uDgIgPWK**L>QZ!K@=GHpB zeu2xm>ioqr%3kJ#W+g!Gj>t!4=hp=Z!(_M>`&?S}mPft~DPNkzcmeZ387-W|PZFhf z5WOW3(iDn9ggfEyJ2=T>FCxg6axgKc0()iy8lhBtvzb?+opagFM^wgS1svGxBB$N2 z%OFAB8Mak77w)a3!<$QaDYq{Fl}uRL;&vNMb^+~AJ>-g0o(nC-_-L1sYX{5I^R5Nl zrH1@QZ$uMaxjs}Oeo^5jhJNQFdYpdoX&dQWUeIIyPKmnjdCT#EOix~d|5YW)wHI7P zI@#T|^0#ZU#&(!-Ln@R!c{d(0o{3q2PiWkwwbirU$LR@F%}n6Watf2lpKW27PbyUT z<*w@uV{GHyKDk%htF8=3HQXDQ^ykfQ0y zU1h!PyhbZ)waUa{TCC}C(0G4Jh;4A3)CPchVu0ed zodu~rqMs9bxNYgXC{+KqlQEw<O1o_C?9P0q5%GVi=0?(7jU6Y_P-MkAUgnip6-SIb&A)5t;`9VzivupODd!gd zEJhE3bmyFuuvWRF`PAaC$C$YaIifqBF!lOiAjuNlXG7h};N>g;0N17)1!V3212*4) z#Hg3IfFzT!Z3SiXNe7DGxiMsF`Ia1ag>#=NFt1ugt}E?_M}I;I6BxmQlF zrA7j4Jw0>X>SFUT25zFM-fXRjZShq8MX#{{@F)8u^Y%!xi?QpnzB?BYp>T*LPYWk( z^36is^z3Bb*WzHsYh$Dg1%9z9QpLc#nS(X*2(3lK72=BA$;R#KYT9>y&%TzQjoK=; z-OT8I&8 z)7KkHf3O~s+hFn$e4VIYfU0IsT)e z2>*K@!6y&M=n`QJ4!*MhzxO9FnvruC08x03fX`1YqJ~y>{|SHg*QMvi&PZ~QwkUx} zIdaOHH+z>gpW|Ze^Udc|RiLt8;W$;WlbqH_T`UZQE6qrQF2Q@6hqCR3)|5BllGgbz z7yAPTs?j^J9a##Z-a1<|byQNOefuL75et(91WiBShUfLBRi9B2ZlohM20v=--YfT` zhJF8myOp}&t|ldbQ&KCpw_;FWs3feK0*pL>8_|Cva159J!LXg{VJW_9n`#IF?$E)a zux-ivUwXp4_^`GowURqdql|*w-$LjQvkCaPa39!IA+pg7$|)VLgY#twR|Pf5hk^DJ)k5k5bh~$ z#}x;^-0E5i9wiBGQ{-C3YZO|*^!zff8SV+Fj(|+ka9ExY#>@s^RiY zs?(^#bVx;{`2yN_kVlQ>@>pV$<^Xpt^wES$Jz4KG^Ubqx7ZM%E`8P$>kS7IFA*YMz zIe^iLR+B!sM+#oO_!l`fqT0@kGce4u-{qjhtcH(a)9IEywr#v2H@sguC;e&RFntO( zgnRUIdqx4ih3Mo9H+~$KU+6x?wZEZ;3rfGMN-RKyU1z(xa2(Uq_sGBldb{Ks*ptKk zrIv`xgw9ww6#S9;Nx~r_KKP+0Bc+DoMn*-+^-*`=2vSv=5Y_x|YBHcuzKz_FPIDT< zT|OBNmgFD&RZON)g$OtZX7`R2Zs~U zBxLfn2Qv~oKD8m(mS^j{f}Xv_k)bJ4^>%{=E0I~>dn0R|GpgZlLUH2h$@cqob*5+p z_NE_x*YnkDQyVIRsM!582PeRP03qvpNO@sHB19!}nz)Xa zqWZ{hxp$7#oo(4I9kqokzS0hn%e6z}iDWOoVzmkQ6a!IQ{g7?*-;ZMNU}Srj5ZCmo zdg`X!J4gSnbab8-l7vv86@%pAdNi_c!AU8Dbe zRK9H*8uIaBz zN+d-d)1dSY{&@y!+KCbRb|hJR$f)Y_ZFy7l4>zPb53A%qQCI!R0K4IkQ=87IY3BC9o+g#65#zn)Rn;`!3mlr*nTh^^^MA zM5(1$IT%GFMYvlYicMl6iyhr{6H5zL$>vE?{Yb(1>1~2-=qs$mvAkItG2!wO(lF<| zJ0pob{bdU<7L-jdx%R{N4ga;*Y9|o2UK1J z2WcAFT%5@a(ILL^3o7g}DXHe+KqGf?O!^TRo@tj9s*O}*EYYChj> zB-40G+o%{H+1m8T)aFU$+_xd#)H|8$)%wYz)P{KmT2_6L&W#vFsEih;Jm#~FJqsle zfB&LV*96Yk7nCd%z&%U+tq_27R{V{E8TF9Il;9t5^*bCqoP|$negr~5!1N?a*qId9 z#r9kuNmjSQ0CXQ0)f4l!xKnb}5fx3czU!-$VEu>M$ zVVg&$7$YS*CVLTX$OHmU0nb~2yUY1%kFhn#)B>Ka5M=!>SC@Hkr2i0ODpk#0ZJXjB zLf%)bUq$0kpw+xR%wB^IB>5K9S3WW~zl;JGIy#x4ufrCNNFsKaBU@qnK0YOGEjT%6*f#Ao<{^%;Ho1Sv(vx!D?IobkJyp^4JB4 z?4X%e6`_uV<(-rq?1pzpdtjpgjr+CElkU|Y-A+cCrsG1=I}nW`lmask-_3Qw2x$H* zoRi~~Orbv)G@H~~myIs+9S7{q{w|6_0qHcNanq$7}l^3|)7Wak(IqCQW+b##>aZkf8uYvu_L%1jc}7 z6~{_<-U?W=*ydY;KYdC9mKwib0DksiRKPjJ*Vj2LyIu@|n_!^?suuyEqod1)ZI#eUr@QHv!+STDl@uGn$0dxdE1H%jfU^|(>?-gV|5dEI}(x++Hve@sW0Lz);URgHE9*j8_6=BKC|K%22Sg2)+2lXfxG=kqP4T2 zI_svRumIVycp_}chf1mq?cU^z>)-foqqCWW>M>)065mC=CU8$LXIE0WeeizyIJo`uz3_!t(Mgo#iNtPE;w1X*q2-3<0vL!r%wWj0jY{&@QV z>Z6zj!vn2{(BUpVHjt{TdOwh%fR8K{I9mwVJm=!Xv@$(p$Aa;DWI0tQS zb6DE~fC=Ax&n|>J+iFc*fC0Wd94?fWr(I0DUM3buAU%6QyBKFHF>A1hFUgD`^i4q4 zYQ)IZ9!#|5K_}&wdg9pByX3HC>F16bJ;FQpVxaS9uyxV6TsM@}n9xOR7hZu~y<)Y* zww#(JE|!b=5h%ocFI}FbKgbH6ZM`~ZfcJS2{wA}R)5v+)0P~XxTqxaf{+TpQ%HNuz z3N`ciTaTCkZN?Zv$~IBpfcmn4gr4s)dk!{-fwCA0^h>s84GmXN@>iy)hsc`M4l}-t znp~AIDIA%adpI2NgbtBZfgTc}%nBqGw$Z==B-ykBCF-jK9d*{0(o1jlUdweo>ng#z?LFL zh8upie@0#npaWl5KC!kSPzWz6>N6xtw*n0%njF<#&ASL+emv?%+-ivSpT(~`MH@Z2 z@fbCU;5E)uid*PP7VjD1i0Nb7WXdFoc`w{b9&t^*ty9goyqNt~zInRKDnITrt=^Mbj09E(E)fv0J^ zR{_6|wI+h%&a}OQq2r1bUYey#|duiDRw;ixC(DQ2>?R<}y0P0i-Abyn*aJjX|tXsEA z!hjJf^)DQG=cmkB|1t>(#J5%tTov7(f`uXGSxhCJZt_j2^NUC3cZYC<`#nKA3V_2H zAta(vfa6{H;WaK+w);)I#}@TaZO!Jo5DyrYXwLkIIA1*z&rsFV+|@DMHmKp}6#omB zgj_yupcItm7je3IWE)N=y>D;7cQb#xz%u!g2j@EY5t@5NKH@v_CKf;A`zPC2LpK$} zt#nqy4x4)s@NQQ9x9n>6e8uuSaX1&!e#5D9{s~<3{u`b@RtodK*?}?wip~IZl-Q_<(GV#bhe_G*z?`EPX_9uR|MOM z8!Vr}L>=4eP3O(YiMz=>>b?nR9)l04Q~3!<7542m5Fj`ny#}A})srE}u*g<}f9_o! zBit<0VDmlLwF@)b{F##ORh+vdF-ljN>=t&dph_Ly*WIT8)3ca5=;mphRXscoF1;B) z<8FFzIXrk*7A28N-;^0dW?ep*HSm&cTG9KGpJ4_ngGop;_c>Fu(@%k||D@SMKfpZ` zrn<-XxhjZ1X~3R3u#Esfj1gETf@VQ@K0BmzaW>5ziAFu5dH84b%; z&=p{N#BM2u7g?VE!<+Zk0C_K5b2>#3$tXBVf+RX&NBQd6&)Dfi9) zjHVx@zJ{Z=>HtLbEQ6goy_gY2Fx3Uy1w*9eVnb}m3WiiJiSTZ7OmA~x7Wgvn&!c=z}>-g zy7UvCqkT7DDEV^Aefe{h4x3xEguS6aeD?1a)qxEK#qbGobGN|I2G=tj9CC0*j&sV3 z!8Z&S7&Ia{$6ga4{U%@b+PV}&PtsBpKH zabBx(KrS3IqF|hkXvU#51qXfJd{)*iduZMc!QT5jbibW>DSB?hAOSBw<~@cd{FmXz zioR~e&XpRNb^_1Pe1%MpuFpbG8P;D?0%1Zf0slN45}iMt3f+Kq%|iYG%FThFjt$5y)dXY@~#VBib>4AvoiYx;ROPm|$_mMItIli$H#KQwj7 zq3Cb76JlM2IY(hO{UWy3-#?NU4v#Q_yT3g=`+Qs{_0-E!>jb^? z*e$6sZm!5O=geqyv#{KqQ-5~H@}~^Y4Z~mqVO#qRkJGAYFzEe68dv17-{gs)=7K4g z@5|oqh$q?N#k*-P=+0uQvOKvI(3ctxxnyikX$4$IQC7aL5pf6WksjmR`7taSig6Q( zcY(o;n@od|$r%bakWEyGEhQ~{{eu8t-}v$rQ&3N&oq@zCA%l5h#JLSjQ@s~S(?tq`DGs(#OWE7cIN^y}m zjVVz^M?4L zT)5T14jI6d`+`~YQpRnh;@n#X6k2B)cv;->!+s$}9BBEt^v8!c`3on1n#I8N2VWnI z#+fMvUw)3uB4IxJM){v(4QB-V8@|vvKM&UT(b}(Wz=D7GYd+pEM1q>*_}kVID)$2YL=aOW@c0KO0|taCyn z68fwl%jQJ~gZahkJ~;H4H|3_dy2?e)ID!(nVcwqQ%tewN4agCDRUl{lf~;T&9jS{NH;Ns{3|lW3 zdzUFT(q7r_lDKX2GJ^YlHhZal2q5qYX5~)Ksl0iyFLDXRV@@JKy@<&JBTtV%ekWjW zewS{6Q^)Vm1Kdk!Sh5=hU|-NS`nxstwG*MrwX7G!8Ry`AYMNXEv{Gp)!j>g-qL%de zE?fSuLX!P)mB+zdx0sn?Pv3JpsAKzKfscJU^7C z-0#s8YcPARBq=&AE}lm{knedV;lGAG69#X!iJqz#`F&1F)pG7HKQzj6Hlc?xx5!i-M8_SR*OSlUmR3E zImO~&SN3`RlQA?Wh`xVPCrpPhHh6cJSW7t~t{DTtR|$Kpqk!yE(S=zBfKKEYhbks^ zS%{R!< zF+vZdXM1;T^ndy+dC_wE;HHp*qX+(8In{o;npFWi<8`z;zHi}lE?7O9MSAaT`sz>! zY)8>lzC!`RT_>sjCKn+W%j{c@(yP4}@f@P`+;q2f;v)3tIui*tu@l8ZI{aBn%^~rd zXNNpkQ%Tj&f;LToQ)6RxNvT1Taos|`r_MIfR}!@q6lDi^%Np~p^Ifl;}{o>dV?=%5p3QW6eYDndK<*9k?(mz zhAsD>N^^Z&a`u8gI(%rW$E-(wim+)lD8YA-K4U%$I6xGU7i=`vq)z3Dl7k1{H(~ap zi3}^U4t}KG)lwjrc+E-nq$CfGIZjNPH_xWv65wsfV;hpJ`NxuhgGAuq86)T)W(4PX z0q)+kioIIWsTXCEdFcgxY$N4&i9b|tQe4B7M5{FBZd>p;!pOX@v><*P5>3%UbwZNX zs1_S6DRCDMGGTv7A{-l147wnbszRzFXc$h$B!pWGr|b_G4=~E034#BnurY)h&R5wZ zfq(H`vc@}NLfe@DCwmE$T9X5^OQ89r76C^8L+^I3a)7Te&k?5!r`S;N^x;VjZ%=n8 z$Z93^;n~o7w2^gzOO-NZV?3%HKN+@WQElh{P>!<9G#nHhuHHU5eE8lXz0`~ee8>-l zyEBZc&fEM-LLR&HJ#d#PUgiKno-_v!AeAyfb#Q~)@M+?z(`0q2@P5;Ztpz$|WZp3KYn zL=6efOqeR=|Gak$Q>q@mhW|OZvj5VrvO1ZA(UB2K)C#K*g!{Qc^w#0vwY}AwpCioX z(mTGVgk`|ng1ET!F#5wsEdfc$c*@Ov)s+7?%Sz75Lg_x)bg9 zpc!^w-rWUNg@bZtJHKB$N6L|S#!C>TDUCgOxA8r>(uaS!x77Mdrw3R#E5Lx%=$d@ z-3m5_2P7&!#2#F8x{U4pp!4FioI8=nmWgZRL2#f&oSi5UGrU+H0{5busV5v_LcfHO z#S@HRmo07R7p+Lm=Fn&HUtcAdm(S%M9uR>&{YF$AJq(HHfL;tFEhS2XNK_JtLHQ!L zzot=TA%VgN5j1c+d@Y_O>DhDcGvJ_8xbNNQk-mdLk$vsvkS46@%2kH8)CAKZ(uR0} z$WFHp5OuT(c?Fdp*StL7jhw@N)6+V&37nM?yI+~SZt7#*U5`HR~`mP{`J*IHh*!ZbT<(|E~z({EI3>zSHO00>`HQ;2!iGc zHThw@wXJLW`3h^vVl zk#rSp*hkVqAK0Kf>ZYXDp=*r3$ls(VjBeFQda3n_3GTaVRpP}t6KDk-{U((5ZIW0Xi?1Uymz#iIeNbj>tC$8V!okMgNLXb#|CYX8Fc zE?_j1h9gdP1P8b`b?`b@4lhf+r-e#ZXtN0nbeUOn$ljwyp_Q1o6&Dpd?%zT)vAL;5)|X zJ%_qrY*f561rdedK_x!`c1dLMKkQH(H{Ty_(<6NQ1dSUXatfQ3Nsnz@(#*T``yauV zF)N6qjiTlWY&dD0puE&pdsE$5nv}EyyL`GheMbcWPw-hw%aiRdP)=!41C<-gznM?9 z+IX0Am+WUhZ>sEP=#;^?*aUw*b!l;aG`eGQ*wzPc*!v+&d+o-AddOVHv$2y+0CHuD zAc`BS+sPl^c-f`sTr1!94U9RLe=DNXd1__mulQB0Tg>4hnjZmTOG(v9g?pR2y~kBY z0~T+HpOc#Sz$Mzib@U$yq@$X+r?uBG`?ttJ>|` zNz`-=7h!LXAMBt!&%>)dx)6K7x;=Y0ocb(s)rPA;_ps?Yl~mUud$-3omqK*}{|$8n z^4DeUDj+otjsnq!>be>+5Jg3Mf3RuF*k;uFmJ|d4E zLR=GthZU*NDbh5ftr{`wK-R}}wr~E_F;%Se$8xsGWV^6;f4p6w=MhH!IK!jNd|e&B zm>&0LoEZs356*8p_bjpWAAMBq_v!M{ooFIafi;=e)c6p_F!Hc+Mkp@fh2Kuz&*%hW z*B=U>q9Z_a>g9h3ylDkT^t^qwhnL5~iOA%a1($#TC&05A^_Sn`%FBez8(r1p8Xw%D zIm*)sv*5C&YDW>`6xsul4`0n3mh*YWjs%M(uMOPc-!*Fy0Hz74kU|TT_Pg%($G(+U zkV8)YQC#H`f$}L4>%DhA&_jS-O|63axOBa^CH(odUl^tBo2gwg;N{uoAI=Ixt9#y; zwLp6P)9p-sK@wr4QZh5~aU&Jdt2}{%N84Xy8seOV65&Wq4`{wp3)x5kT%!(L$o<6- z2%i!ugq8e}NvR6dmJfeKnRv2lEt3{x{}_Ikb(<?655Nss6sGU(qD8#YtY{fdo+h zv2q(-{^VlC-7=ci%S0?pu_OFVnU>%5+(5(nGz(=Ac&8R_Yd|U+@m4 z%)@RtDZg_nnYC|bqZ#FfkLZO9rsQE0?lMq!g9mkfP^V83>2HVE zQ)Z^*IfPC$Kwmj5Mif5*^qpx;(=(dW7E} z`%DESHA${W$F=_WVZUX)z$X0dRT$OCn9Zg8j}|Qj@VUv{1?s^)11-eSNqMW&zK^42 ze^YFN+05uKnb$GzO*ODzEAQg)+)}vSr$TDOS^ssxmJVd4!f>`)c7K=mb$b6or#i$E z)d206W_CUQiQe+Far!4tWPsAQ>sl;p$|ya=uH;eR=A`-J zh%kIZs?>~)C03J55BPnS=F^y5Wb-5H%E9k+x)I071G))z}n0|36N|;-72pm?y5_p_7bP=0#d_Y4~x9=Gdh*c_TGG}^So3}>+JiNEQEeRSpK`~WBJjDHo1DRGk7u;q_Y zSRz8(-}~T;d#4o?Ra{;Nv#VdeqZmCk)co<;hSu!wGhU8Qn&eb$PsX9!?5&tu$xXFV z7HhAv%ohxP(8!bNaX0$CqbY{ zK25l`GHX(dS@4Tu*epcPm2-;&PQZ;Dj_mNeA+|o9hsN)pxzrLLVJO9HMID+=*39^c z@~Xt6|G4Zq18x*PEGFw>V9J7vUg3o<0{2rZN zPmQcZ`WO~?fhHb|+InP2QfgUc*#$@HGQUwXj_&OZkv0~P|L=< z-TjIrx`9bOvl-$xPf7a1Gp_-oa)|sP-OVyN;EvfR-tt>qhGRu1ibXD~b~~ zqnDq(`Tx43YO?T{2^iN(LoTN>0EYu>BbzJcFq`E?nLW?rPA_5WVzEkud%w(-3f$tW zko^5Tmn5XF>oRsv;fA=Ok5FY!;$A}QXSNG$J-HzfQn;Y7vaPG~N_~Y0fK^(KEhDN4 z$0r!bC4JZ7c6i|P>GPHnGe1(Rl~*c>l@hXJKnol*hfj9i>wFKRW`%%ou z`w@<;xp9%77({a$9Rf(NqtFar8Bx(Mue=8D)uUT&jqg%_U7XIM{@`p+7c{W+!IDmp z`pe;icV0{9M6G8>0nS9u_0e3FM4o{~3&`_IY2^Ksa&s1Lxv{2z^1`FtC^j6JXC^pi zjB+n5+7zcPt3C6u!&l@r+ZYB({B=Q+d`S`BSHCD=g>c0i&)6q%8+`b>T^}r{4gRMSU&StGRDCIE_&i5xrg=V5a`%)X#VyQ7g z*sf5u*U0~bK4E7dv}sW!=^#Y&Sp_bl)Sc_j+_54>e~5{N-yWWspe$UBB}Jj%Bt1cp zMUQ>s%f6*>X0P2L!q1{6A6_=D@=m?-LS?pd1k^S845#hwvJT|i6=Nj|;0{rhWVlV&v`Ng3T(E~@B=jY0JF9{!T$zJ{j)gKl^)=ry2y=rZ^ zx2uN}0<*h?k1`dn{Ge&`*u1iMR&?n7A%D&M+_-9Ei+m|>NB;EYaEvAD50eVcGxbNX z*$XV4^D9>oUL1_ya_9Qk_d?aoeNO5)u2PL|xhR1zfS{4T}!rWi$@` z_T5bx91gi9YtOXoa}@LDS7L|7TLnd9__x{}7&D8%0bPDOw5xT)^Xbou8Poft1W|3E z0Q34dK>yB^qGNq`63)YRsYW&ZVenykaF6AXY|ET z<$I-gJ%yrLIHP=-re}W2s8bP6eY@%iGk}_2?Mo6s8mazgWze5(Y6!*unq57I`DkpJ zuh9!N4RCgIZhw+X)pPhxEzD00}?^P^q(yG z_q|QGFObgp=Ev<6a8UsRhu}qxi1z~S5A5?i=CXgqx5URym?0P=LQYWq9XCY$`dpPb`P_4RwRT1sS(i0gCmIZIdsa`-Q?7ufO6+P z$RYH(ZhpJ(y-vseuUT_$g?1$4F((+gHj8n6#CmuUg{vJ;o`qQcWad#oDIMCE+77Ts zq-#VYe)jI8M<#Z^2Dr1&B59`;9-L=A{w#_YV(rMwg0tghl_xt2aQFQQa3To#DsN++Ysw5$rC-ml513f!7<*{0=sF(gB|{a`kN9w(KQGIxqrb z=U>Q9*F3m#>uv(gIkU~ke5XU)aOVWN)ImPnb&Qf>ERk0q0dg1s`T$B`mybWg4!YgZ zT8cT>?>@>%ar%_umrV^=fm;WxuRIDJ-g`VP>wW20hLScpKr(>TE9`H@Q|XIXf)LLQ zShY_6+GwTRF33_2D3%{Cf>&wP5Y|8eG-$ycxD063s`RpSN)T*OFFsfkbQM&CUF;LD4+7tlv93R{*p zqr9*Y=!%KS(j&#Yw&PKo2+0aJJI|%z$IAi&KQM`%))?AJH4nC(j*74xIXN@xu|F&# z?L%s(>^vyruM$(-^#mBXJa&4t9hn>#8^OsL^QGPp<+DUH*XPhu!<1tC^t%IL=k)dr z(mlPWOCEka_9dJXeV};&-`@|t#-Jk2t*O`FI-s6g^0D8iCt%-*t?;zYLeo+!~MzorTcRw3m+i`V?UdBS`?^pMjaLQm*NC?=HOG|81H z!or8AL%dJ>0+5FHJP^7A_Tc@M@Nne9_YEw3d3HZ8q=U%;?$;I+4FFH9?^$M-aN3Le z^Aqr1MiRcmh6)zwEzMLxsf#a1dq>XV(%&ii&6R4g&I7&8vHr4r#lGPoakJV zm&XS@*X>u0UY9~$9#roRCozG{&MfOFmyn3&4AVnsw{DB|($HCQ-{HNdy_b>6QZ23N zLs&VT^BS?NuplXVJ4Da(8zSp8p0|)JY;L;6IC#W(>n+^2;c8C4U0>CPX&NJ+i#z+O zmT1pMhHGQE1Dlg6arc8w3OmU1%p<_V7aLd=q5pKIS>ZB~(gc7Tj1h&|E?v>%H=4>?@7uty4 z(Hp@(i)(V@`Wb=?P(o+LKvSP*F)%)rIK|+dlC_^(&D}amZZy-{_Q;crW}-D>y0fpZ`V@bp zBMxPf^QpXX+IAD{3KJ`voFweq#J_$~0#beSz99cgZ0{rN3nP~aiagO!R zcBsnVpE@21Wc8qoJ=2%^DH@QL9EaQixMtgd78Xs`4w48bbz2HnLfC}}jj&ETXMF92 z=vg1A=d-aFJ>{ZY`>*{e%V-#4r;!T(Af8Fm(KqjEg@_0ygaLtKA;z!p;bubnPKE@J zi!_$xNexGf5OWoBe2K$zK7%7iaht5`zFHAW8tDxK+m?GNNK#5vtEL47>&@-_A|DG* zs^-fkQGoHY!4M8yeN^}o5$$q=uTr}9Mj$5w$6+XlkG~AGW0-@EioF?6Y#IVMJDdV( zFBzOyXISGbyu0x(7xn$o>Vc3DNUX#&FZawgN&I<12-)$c2{Ab*xG|o@NdcdIJ3RD^PnpzNx3h1sKBawQ zb-0uI@+J@NyeSP10Si)7=#AfoSgo~17HB|oez+s}@8bRaRM5sIaw)qAjzMcKB0JV$ zikk|3ivl`$W6=0HV)~rzMHbw&W|^eA2T7J9DFSybc7In0C4=UAKUMD?Ku6Ai>L>kE zu^E|ujRTaHg%A?jrtI?~_5w`{SlPAE%@zj9r$tQ)whh$mB?F4MSh5=re}q>>VR7w^ zCp?bBT<&-Aq-z-B`R{a6B*0;Si2czuE#twca6>HqsAy#H5u>I?w8t? zZTCx<5uX%jO66C%)_UsMqMJH|g?fy`ohp_0M=6#~cKr@?+(JmKQUR8&nT8R&&`V?-{KrOnQc;B%lf9APZ5 zIe8lgzA%dhaZ;2-hLr#Y_}}vZeB)`HoO-3#OY8yJ+_|Lv0H*-s)~uvcMbQ6b4(HN z)I-&-k;(7mHQPJ);iR)Xy2}4txEORHG&ztIVG~HVztBg%Ia=QA*-5jNszj>-XPPDN zc;8*7gSAyLOK=kf#6k|>&`^qOK~|T%lL9Dhfw{jd|GwN%?M=Nm(Tl(l;T_Jp+Ic%9 zpj!paS5ct%y=E8X951&;_l_sXN~8kwkR%cujh@Capcs+pDaGU&OEW2Ku;anDg5Pdb zZfQ~vlUb&1@9LGBtu2vvk`gTqzpmVJ{HS)g$7bz?P=g=h%EAtiS`^sRiU~z|nwW+s zs{2sjGF~($2O2U{8GqGAu+-0#g|U+&DgrX!y(LSSN+&6@MqhK_6f>!bj(lUJ4kD;o zPVI+t-Pf6C@wB0U!ZS%CmfLPIC(ob_XBB1VymIb5c9t=K`@hoDR#|wi3A=i>ZdNMA z2o{4Y_VCme-!^QL(Wh4)Ow7+>*#GW2f3GoY#SkaiC2ewDTVsb^TlQS)vvN#H3Gh(k z26x8IV#oYk9OGX7Nur8NGv(?{6n> zTUD8Ty2qq8(m>Lg-W{%i`2eeRdW0=_tnm;a?c`L}&KXHc9Ony&K_ad*0Gxwf3pR!s zGNo};Cvqr(>*djiR9=+8co#%m{6Pm`?0LiB$o4l*&}3W)UDih`6Il}pZUA(DBXaY5 zO5b&O9bdjJ4XrV>s&8Y*-mF$+%+(oAyop(Y(oHA;M}4=B^$AzMhAfJHMVzBt+b-9CZB=$G>2VZX%5Q^|*LNI1N-?GEy zifGZ3{kP_{^hP}sD{U}$8nEBohn zRTZ-7+KGd2iWYm1ULbX==*SwPO>q+Qi+iWFip*=ahw$65S+4ZIItmz0d36?ZM{%4> zj^@erOvDZRJ<76g7TJp-s$1IwZENL<`LHMzL5-sVKaBM!Gycn|gWj8a0F$|JzrAjb zi&VBmHd2&An-zj3Lrw=3=+h}Jq0U+K>+!D3vJ6fF*nG5N{^wgza8B2oYV>oU0z9Uh zr_eQq6SI$xR_;S9UXw?7^YPAovSGGUu38%k0tc$b2;I!fK&w6`|9iV>@(63Zd<@+o z2ZY_3Ak3scg@|u0HHbs{39gvIiqo>$6%8Oz=^s8Moz-$fodfk$vhdwxSz%_qFVtlMSrY8JWyMRp9+#2 z-D5wx+#{lCs>@1C@k|0>(<7}dxvK{Eh)3K@|RWq<6#IaY+I6csW`WRGM!$5yiUp4l_moags^fB*ECe=5&?zwh^TU9W47 zkfTxeRDI^qlksfj7MfQ%d_rY(m(TXz4EzjpDUHdd`4geUYBYw1)72l_$pwrWL9GO9 z1lNb|*f|Aigi{N@Bnrt&bIOI%Ji}wHPK(-p$rKBsD0X6oEjei-h^-m+FJJDH8Ztxe zijDY3%Q1SN+s)51D!w4Db<& zeNG#l1yE3I7w!jt*_*Y}Y2kDuv=W2OqNlN-Te?R>1hq7_y*n;x=V<3m7d4vvJ5#1P zw=`EXXM`=h=M=MQEEsWCRI16z9ONh(Z%(8EJ&}WicG14BxR`;&fISmE)y04~1pUpp zI?~90qo1<#$+q6gL<;+KmR&S`Fm0`aC4(8q#gnE5XM=HptWbx9#x<%lwyK=1yFc&q zf4gWN_bxrN_I9F|L%-UQrPH)@269jk2!^{b;=?YUs+duV@kn9;4M=|*bS~P}5a2zF zsGt0N=qcXt!1-GJgAgRSI0a}q{rDg=FAasGF$GqK2l6)fF&$Pc9TVA%QMUAp90Ur4 zb20%W%BkHc3uw?8B&CIKffTq8YJ4 zag|!6!;$7VQGnM4*YV#{;l1>>S^sDGTBC2w1G~=H$uq@+hf`0#$Hu=&}E7rz8wCe_piCa4ZUzL z;z^caG)SNaPAArF(|Gs-v2nhCp9z7FWAhn#YEn~=X}RcMT2B9&Eif#Ut%QHrN}8lV z{pW;>2@rV!<0C5JL+Lk79?C#q$cCvcJqd-#od3rO=*dK)#)XhrParUya_C!4!z4qN zBV2+hsiV4kRS8_5eXz2ipnUSj+$HwTVOv_fNi%MR51&a0Kir1w^59u;cbD3Z_jY=B z2)>=7p}I##<>Xs3Cg=4zYP7sEM7E#?-~6cwUkil+_{dA6?V_ zE(>L4Cw23c@hZiAnUo9z8YlmT0_SbZr;-(*$;;=%Mz2Hs(TRTHl^ZGov*Tfm1da{J zFYMYFywJXt2<^iJkpH;kS#x8#8Q3nIS9dUByC52}8~(!Z;h}6X?2pvR^2?M}N z<@=ycn>TE{$dW??Dqj}>lU;qOWaNmj za2ilrdb%*ewERQ(+>`VAq7r`6zX^|{{!MBpVSEUFWk{r14Egd!EWVH(i}m~bMHoBVnT>zo;It;h;?fM0FIPUxd5b(=O5d9Ur?h z`ln-fasmELJ+Wq!|9gY+w+ESGh^_U`<$cBq|8um;!EZVr`^`}MKoBz0ed>HKe@%9; z25*_yj(qgDWeVBIUjQ+19e>}%7W`&}NiWv{e%Pgj%I52*qh~N_FIy3fKgb}LiH0mL z7dCM?_8#-g{7Z}c@a-{U@vewd*S(D5)QwUh?dT`kqg(e4i458_Y{!~uy!T0ZJJ#?Q zgkY64&zC(BGv?lV%Auy@$KA?v`+ucJO>^I!i#PxJxJ{;c#t49X*AM@3lS3-SA6_Q! z8Q_eVL3*`1Ahveok8D*7&T~!A!A41h;EVvSmK-$aH-i|uCAo&n)OifE{``LJpxXh#98zC&m4l-C( zrI)C7aC}tI(&Lmi9TbW^Mag{@c!X%-9v>0@ou02dNsED!uBS9~{oX_V&#kSzHzANi z#v9bL4-xlHyyNhpn8wiQN&6+*Wv=Gcw(lyIR4nh@hZ z7oVL6hLe+;c`LJ7gN4R2w`tq+hBs>vC(?sDs|+uvpVB-k@p?iJR}}!zrMD-~4_ry~ z@SKw%N07S|oDt!Q`w>U7UxWL1teb~0M=cYS-hPPBC)UZ`KQLB^tVjmRwuUeO75O6NoY)<^9g7N?} z)Gtmiq6H#w)iP(%c(OubVP3_J;^B=G9|e5P^W`GH)9I`;MLx#(X_-}v{tcD8)6-AU zy6%|JvV*k72;FYDK9iTt6z?L7pXI{G>%N!NLjYQJ$gk{`yCA8fizM-Nyj8y7A*$)@ ztGji#{##rxvj?`&7dp1Xb)5Zpasrj@T_=M+uArTw=z8?<(&BJ|-eZX{|hGU;|ukS$AMMZ|-54#(C<_IK>-EWdQO zw6fnE8+Y_W6tiZqJ)C~vwx&V&e1F2vLl%pmY)dMx=D@4pr-b>q&f2G@HD|mMiYq@z ziIb$#&(k-eA+}C9YH{&ENd4UJkI>_3$O&auF)Nl;Q*-X-T z?7b;f`9fKJWvqreQbyD^xcXUYwMP2^duDxn-`Q3{(x@QO;(zS`zIzE*gQ&ux>^S?C(TSuXBFmA9+<*WZ;eQJ(=&$F}PqPbQvt! zT-y}+7>}l$nTW&!^D{~Xx0_6t<(>>uI1WEC{KPxH5F7$x^w@HiSE=9SRjUuK%KdER zn*_8VJqu2Ekf%5R&}n}aKlZw7(ZsZ36>ckIBwme)O2IGyS$`y~H0;zrGXC|T|2Xbe zvG~1XzrbgIMj=yg0PphSmroDa8SxAjVRfq~A!H{!dL>mkH|hL**M|lh*jMb0A`5&b z3WRQHnaz}NXX>5`pzzKfPP^zI`xRg8IAPG9JY!`~h@53j&mu-XM5pvLezs7a*{y$A zp^Bdu%rTc~FVBqS`a#09jMH5nLpPk9R}YgIvEG?|8}6%zaNC!|H3P#LfGFWK0=!z1 z&%F;`%f^;G+7;ucXa5f^5Yna1=#f7y&_3{|yWp%7=7p}(GETJrGgD0yf;$VK`C51_ z$2anN)+@+>MfsQRLnu{_OuoH z*s5B5j&R3H5{q|xB8gS-@-c1Y5d`;gDx#3fyU_sLJFTDq|B5Mqw;UNr^@8y;udM0q5u(z0`=iT9f=yc`#e0rjO^MlH^6&?!?s0z81W*C!1MOt zl2BluC<|*~ly(~?-HeP!LT+qR=)?^46g1TYt9i;zYac{zY^XP^R^_i za7}@@Fi_@kOuGGQr{B2U|MZGdbbHr|_EO&r4GI`|UBDkLpgc^l;E^eQlwBH(!Z-KL z0|Fxib4@agDvsfoxC?^4{XL>~ByMyKo@0y(Rgn5~c`yd!27{Q6cSHm6V?WsgE*~{lyTKNd*-EK>V-7PtJna}uc?KAyz zPa+|y$vK?y^YwoOah>^no&1jBhu8Axu0CLSr!C(oX5e1$$zfhx^{c<-sP|tm8zmRYNmh!w~==(klFg?|Y1d9>^#K3b50zybNm1K&TuK#xU*Ydm` zjpLLGZxU`c@zdNj*<-6Xo{RAq+qHxq$w_RXc*y0y2qS@*mSdMtDA_Ft^J+o^*4oj1Jm z(N)eux*Z=wz}#|J`;s#L6%7OXpUnC3K1z68>f;=g$9w$qQ69vx($@`JoKj-?vC=z8 zB@ObQ?2`}-`z}k&OqHb|K5S=<1|B?@IVVJKQ($}z*sC7%exIy~DWIgZncER|*;MOV z++mSTeTM*F7Nki8Y$q!oeA4}$+C>=r$RTrNeIE6iW07sc4K zbUh1u{&CJ~)Y4eAn|!9oYclGrF1Kt)8UgtDWGH~x9KoAK5|fSzzs*UxL$j#a$=(@Y z%qqWQPY6CV*8#T@IrNQydw)rd^l2Ma#>W_g(>X=z{@J-q94FNllSu1lG5kJppk!LM z8D0WJsQ{D$`-hPX`vVv#hszbM4Sh>(LR|nQw|C(l|1a|#V{-RlW>0E*#Mr}|a1S`? zGd9BNpICZ^FsSCUar{!_wq!-Ax;7wZ0hP5KlFNNP2uY0-lg@arZlmrZ^ulUnCEk|H zcl!Kys37;2wybT11m7Z&z#=*|Yym9T@Mb zU2t9ho0Ljo`}0Gtclth-j2g_?xA5YplKE)1Lm9Ddz0~XVeGb1ev*1$KQcq#-n7WHO zEg$zdlh-ZEcD@z7lu|UwZ|4R741&ultu-S-ej6E#%-z4DX#L7T;RQ)`E?fnK-wC8b z0#-6c!8y&$IsJ%CJ|Cv}6t-*tP+aAorO*7W{&7s67O<`12G6CxJoi5qk$rFX`M*K% zwuQ3Sv-TvdxvSDwM-t?X9PZDo@i)h{{4&h0C)B6$>B3Hy8}q0M5!4;&L$5XOl;NHm zS?W!O+kbZ=E)M3F&38xeZgDy^#F=s^cz7L%^rYA0WM5>U?J_!$=0n0?{;ZnN!4+;a zZgS2{Q92&x9Zp7P2eOhk%8oqVKI-4F>ils_ zNq-IVRf*e^bU_iR(rI*>{nzwYye>#@(hrbVV3jeZSmzyue*T?MZ}@bEkv0xFvu=g@ z4GauRE=NjQjySIUB8e`)3c18kIQT@P+?>y_>9ahHnF}*beY)rTc0{o)?Z=$U z#3kS%^R{R@LqEf_pS>qMRbuA&1$d4^nQL*&Vrinm^?`UF>EdKNpG@yrc)I)^@qXws zl2{BS`JR=)gbhmJNd!@h`H)39iXNh;77^e{F=)NY-hg8&QN7?u`l*e4J#(p`Rn zOFgZrz4nAB#hPdBQF}dY`4SrjECdIVWXi7cM7up)@V2k*yhGE^|JAQds4DnYo2>}x0K%xP-^Ka{uSH_5&6m`0(%oSA63Aq5? z)B&0n&fbJnPjI=?@JJ5JFMrSG`IUj8{j!Ic+9RH~>;QWd5HtHy#zeCvD>?n|uZ@}g zPJ``+6qfSJ$>hApcW28Kay(BwP)=9 zzu(i#WgCQWC0x+#{BmRF^;=Z=sP8o-_n8iPmft^2@4WpX2k+6U}SWxzHJp=IEffcq9_)>gPJOq z867I|zER+$uEL8vygh{J?0xNrpyD8>La<7k=L?MoeKtxvu=#ytA^WeL{QAwG;VqBv zyBKr{A#k6U7rN^TC0c4u70@u)$RWT2fb{?)RkNQYHSWU6@Yi~T=XcIWtM^g5*S!S9 z9yi|avy&>1KR@#se6$D6MBv(Br%T^z6gN0qG*Bg; zpQ2#d>Z1@tWMO^e`)Utzz36?aB$iLYVQ15-Noj^l5R*J#-7d;tY90WSXij5tM*Jlp z*6tY9NUuKl;6u#6%NJ)%nXzAb1ZqeQk@l^2pQUM>@Ghj4rONY{q8aaus2_xUkL=Fr z8=aR{JtWVquF>3ibAHSJ*|47mNPnZph6E{j)qkiE0ejW0VZ050K8I^69WIQM$-eBo zqSH*3mT=5-xI>=5mo^;YEA{BBe0<#&UyuZy17A`Zj64pE3Xl<)1Pr_vmfN$ z&gj8;`Mm%bzQNMqIIH2*)zv??K8o1l9b-u2ISc6=Z9{|iIzDfH_0?%dASBz)RVk9+ z;wY3EwE|sciU>1+$d$l9wbl2XDUOe|-NK%RFSC#ucA;1U&dt~#04 zbuE-oS}^Qjj_dKENS)tjLU}}@0;RX7KTAVlrSq^mc=+Weu6&Ju13HLVn!zjc69`9) zagzb4rO}l5T>=WxS5}31Um;^&iDFdU-ahx@-_yXC5jpNvK`njXbP(i{E%4-XXyw-s zu)+x(AQ~lft%zCr_!;JG5(#9tnz|#&0HL9C8lqE){}dXk9g_oxGyk_$87dd{yvFB} zl5$v%=O{i~Dtt--45NbL>3J0BGqZ1p>G0E~`y1}3=vhAlSjkqqEICL0?y;U9!peX% zpt|HDElk8>g^c`lnfPSZ%bxHIv2xj7!1x|0&}PJp^pW7WA*cm>nKTbYjuq%RjvDm^ z6~CW*c{g!<;B4BG39`^gSd>zN`+}mNkqFM8Wohv9Z3yapQN7*Vf?FTZ&8VlbQa$+h zjiJ1Fd^pDMPzXKq$M`lH3N~!(PHScfoEFqiPKXMhjJ3>};g~cE*K-=CGWT0X7L1pz z_Ppa5Z&iIDNk!J27iwv%%UAHq#*Ay%3`iepM|WM9LjqiqsJ?JRAr^7(JJ*@A!4suh zoWc=NFddlfX}}JIS$FEzN6D-$qv@3Z$Q=w0h$+Om?YWN}C08G4R}d1)<4C^>Yc2Ee z2{95r)${W2VkAq__|}jHW~*KnttiENeHp00Y4p{Fi`xX^(w%A-rS>!oVHJ2Jor#k@ zVEdL7X61cN{y}SY%W#|9Uzf&uzphXm9UJ}jU-n+X+S=72vT35gR7su=D6T4DO73V^ z=0$-25K)-{*Q-G~88#*dHA%u;{vpMoK3~}bA3f3!R!tywUefbJnGKSI7XBQ&fB=3` zaF+E|`_{atOyiSlg#}Ybw}l8EsHn%2AwW7-_}j*O8-H@ogA!c@8w8seak}7!zlcL} z&9kSPe=ZJ=?%bu~=@|{>b-$Nar70!DAI(OTLkgB{v-e(IdU#M3?+!b#MrvQmVh2BN z8kXL=pR;bl%N3yz<{^(U))oSc4pAhdXn4XzX|-UrTvQ8Gv}2N9-4*EKuDP#7Iwx-A zy1?4`72@ptx>obCliOe!&G@S|&9l&}@DAH5oL)_X3zoo?OTI}5%dgS|@n`4Kh$QHp zJ;b2*umoz#a;T+3A`fxgvp{}KB`S(xLbt-d0guL=uz%a(z z%PwLAGdN$J;zVyYPUor*eSLKWZiy&ll=xfU{O7u-sm;8mx#MU` zsq`Nqp6ZiZ05JTV8veKqZTNgD6RUxw5O}NmeuA*wGWjiAZJ0|~?>r{G0yVDm}G+_o>jElx@6(86(MD>n?zd#57Mf;_ETA zRzEIimfuK_ayg4wp3cfMy0g9Ymq!e*wY%BPK}zEwe?^B}c2z|DJGza)C#{gWTS$-( zTtWdSU9?oh=;49x-v$jir3XlFeqRFXM9G){2 zNmO||jY970t>>$-YsjuoBw_`SDd_^noZo_x1{j0WxX38mpbgmWAL;kmHf(~zs5J7vGC?Zni zsSci81#aEff^Gr;w|(k{P}t`aEq@*Uu|a51jO@f8tu22Et*TzWiSH71+ENqybD1@{ zp7}eH{F73m^q&ZT{bsA}gPy_EO<|{dzZ}ZUc~f)fSR-7$&v9@pR~(4ZDg{&N@YbMr zVPQW8_3ZoB^!tW3Iuy!7%!Vw^A99dBHf~johR(rN4X}sX_Sr^Oo;}m8$;hP3GkFQw z85)BZdy0bQ;EZRU<_DPg!Au*1gI=zv&)Pp< zdfL;fZqa?5@E;`YAxW_XL3=!lidBBf+{y=gb))rvupZnSU;jCp4okVWN&pb$!>Au5 zx8SCHRIE6{4HCAy^{Vfr$SEOzv$z546#d~A93MH+3K$+*2ZwM3{}4MZa!lKMu4lU9 zUiOaXshi>K)A|c*@`J&?!5-U-nlQK3C!8%BYTHtaFdjJSZo%cVxJ{@EBmGsNa-{C;QG8qa?lp@6a}Aq%T=RxmvKiI zuF}$kg+@?Ac~7N^&?e^ENx2{O23O7BJsI5X65L&Nw?4|Z%+}$swN(4daS@OW6-0h; z;k`4j_qC*Ib>8km`ugxQe_Eo390f5thajuKDWJr$gHftUC&*IHVlLze=%y3R4+tLM zeFc@vSIO{Fc-LtMcqkZwBor3ti!CW25mal2UalHo`j20$d3A$G5jef<1M1Qn;=X(}k;CHZgAkKR>I)S*`3wiD< z@>mkwP9@jQyFvx#$C$09;Euhj{Be@SkbAYo?XUPXKdI~7LZ zZQt`R+OhzFb?Dm~e+Gi}=%q#oZOs{X%oEljB-gBSPAY5;H{O@6fG*I?U7ymA5i+;G zn<-85N?sWf5&9mzGz7hHtud5~iHb0v@}UC6E-T4yWwn`=CKc|Wz_W}(92l@8P_}Z1 zmplFZbmf8fSp^fvc*OQ}iNyDfk;xqTNilHmk2^*Mfa z&KCDFWd_LXss++g5A4ZO2;>M>Wn7oo6EIP{JvVVqbk6wWLt5yBqS7o9B2WRV~qEj}Wq(8y)N8xtSbwoGN|@$watHyLD`y{1_F)Yh6L5H-SWWEc`(#p?ZYHCI*uddQ6x|FNa&? zYG5yA&YHD1se-i&i{6?od2XQVO+O$oGBB7%ha_%LPz$6Jk%&emaoE-Cg!Q_ics09Q z%IG)Csn<=X{tu}t+Sm|{h?PodtBl5<2Z@ro1Aa$BQn@%x!CnrNdG}};$;6udud{iM zYJ9nbIqIXdHI>nHFy%|%jgbG6{jfhrz0zrYA%^BINZlqL5Ys~p1DidHp+h?{1z*WL z&ly=aRmI>_s<+LXkYHFtVRYW?t$D-Xo#4uW1bDQxDD zW$KIo9SfTaJu<#JjJ0w0?Pi!-$;H|8+DP!Y2)1m7pM9wFnT>?|sP_k(br`;xILzN{qAZGqclpf(`F18Rh|bm&tW4(x`K7tyZu zR*sVE#k*;$=W=gdgWJ0)W?rip^6|*kHS+Wv0OO(Lay56dzMrnRS zOcWzY32dX`#e#+{ByM%M1l!u73!7?>4unOvS*n2L-Sxy9hq&g5fPAn20%6D*<#70W zyw&R`Fgx}%?S3Vt$Ls0ko~v!t>HfmjOJiHWRoVNCS4LDiJKm3)T6$P-;aJif&(Ly!GCwPk0zP}jZs*) zZs()-98r|7=5X`?FK;LQmP?KK7XzQxC9r&J>FOiefm3gGRIwL2)_wH{PJxz0N{4kD z9&pEinRZ+CHRiw{f0vo`$8IqtF+C$3R32gu{ykR4y-(7kB*+;-+WacF0q}oNDk8<3 zn4Pt|^?(`0Nbi!DC4uLo^SJMQklZ%NOi|fBoO*9g&2qXofWqz(oMancpdhLPGA(E* zdYfSF4L{J*nsG+xLVj5NT;e0;V?kmT^_dcf+F~?YhV|HiF<6*e z;XP3JL?ZpiNaTM>T|9Tu<7{aH1+8O&_MYk=LYU<<_u@U@?w?+U-?gajS#Z9CBS%S3 z1Uzl*D6DWav~1`eB~y5VM9+EQ34Z<;SaGI)a%egi96GI(fKS|Cfyz_^hRwp*xCj zd3`>1(pls<#)uj+6P$HAm`>4xbe5%i-fDvC4Ga||Rdt3zg4dVsIzjPP;RAd8lVboF zUT55I5c6OHJ%tiVROvIbvm0dP#o>o=T2%}`bE4zXfXTUppj?*5Px@Y37J3ymhtqZH zFX8^aF+euvvq`_$=3}g7f?DF0m~q4(tfg<7*Jxo0^|bri-~+yVW$P&lk)I zhF%Owp}lz5+eAB0bI7I3I+7DeG)h0fD+$;9j7gHDaxh9K!Gm!zlI!ieA5a|JfXSkG zvt(N1@Io&k^T~$$X7iFpEzQ=dpHHXJLQ+Mlr4lPXwep>1-s+!NWU9opI}&jhOS~6E zzsXFrqTH_YPyo?nvO%qJN^N3_W>uYh7Mb?q`v-k0Qc&mWhN+U$lFhkmy%Z0_0*{E_ zN+l|XzjbH_e~8)KNG&+A_B~y@gb?}iRN}ykgNfDh3Sse^b z{jx{k2?(cBN^0MP4&|%o(f1SJ=WfZ4Zsqlgj&5ffMP*InTEoe#kjHK(3# zEk0lFcPQ@rt62-vsvDrCA`YjK2)tM*9V2I6cQ8f4dM}9|fq$~ew=jdBTtd9m5Rhc% zeJDgVL>;r>2J|hsgsYJ@CP7|I^Pxo0#Xx;Nx{#5Cy9sQ5({?_ZY5S;O#Bi0nf@^*M zx2Q{Cs5=7=dK%I&uyOkjzrY;uU&6@?;0s*MI719MbOVyv3TG!mE~FG}xdgc}w+=0P zoXHoSEFZIIIA66c<9;qDY$GG08j7uZ^+*a`h%Mo7pj{8uH3i-Q#63QhKXjD%btX_S zXR#)Ly=!Taa99`(87ZTB5(_$>bHh>Wv^v@bLKuC2^KzkX?j%m-3J?$kp2;NZn}!$U zUk6`kLI`{U`1Dt@$_#(sNdve)JcFE7Kp6465U84DP;H%>T7sTy-^g1cM51>{?XHJDJX zztUlsp#gm^zlDbVy!Nbma1OiU^O3u)U2N8OF7g7fSv*a?F>s_Uiqh~luU(4AcNX*QYC6#1m(c*N!^d!yi#QNd5>GHk~TRGy9RB_7!3h@iU1xS3zFaw#-aBNUeUdBgxohtNo_ae;krX! zAa->|SS%V4+vbVEecm1^O8isr;pU$t2k!K-TvtP9*UJObl`LHFEYtbpyrv!tC}ztH zKf}e)t!0c>m)k@9rE|_`^J>mh_KY(q5Kg1UR6}{UKhV0tql;^!R*o8M6Tg83GxUH5 z9L56tkB)kFK=k4PKd9jqP4F=jD25L}MIr*f#n3R~0z;Z<&B{JXFOL2PYzA=fAhuMC zB)|G&sL!|I&H3b?J~@{6Oy393(MsOzz&9!IV~>TuLr{c^o#|IcF5V~kCSN{Z|Jb$o z_G&a4ar4;E=?Ilu7ROO9lQVnJC0tDf54WmdSVE zoOR%l95=T`L2=!+6H8aew>gH0sVNdKt!gmSbG|x|_Nl&6O<{e+(dUROInVQ?I!E$w zvG3lLL)W6W+XhbGjAYF*u2W#=h4CeQK9s3}Of6>&TYtq$auOW46%+jqgWxd+$q1ad z*)z|FU+q(_aLUzR9-L=5D-2WqKB$^o2^(Y5)3Kcu4~tD|3gd?aazcj60}`a;1}8pw zKlqN)NxKo5f#HjMtsB?arW@ZdGM{bJ=ow3&79`#{_2Bf3ImRL625R zOZ(8z^~(7BlLP4O+OJfaB{m6 z2*bpc5s0=cTG&2-QqnZf$-a(lO__6C7CJ z1$Sg9*k0|V8+`IK81{VWfV+jOI+sAe((8adW%FxgTU3KuZ>0wGZsAAQ1E1w0fz7Py zz|u_oP{ct>b07=K=IF{$^;v=!9+_YF=P-?ORSRvKDf*ORB9Po`OXlcX^Nse@HPu0{;PTrqLs&a z$qLAsieb-={@*t43FZRlm3n~;64}1=$_5dK<_c`+3iF_QU=Zh=q~*zpZ$o-;!eRd> zmUz}Sdm7!v$2G3X|cIG!8Y`zgD22U=g#hm?@#(MV0?%?_krUQN%IZTTB zZ$w%!j2`cr<*Pj50g+9=4T(kG*43M=+j;bP53PcK4=4S;kedVLRn7s zK1V#l42x4yP|#fNrUI{qnPA|%1a51}(0Nj(`8tn}SJ|LN`!OJVUWGsK(o5{e%^Z&d6wU%J-udPclDASfd!mz`!87(eNusTw(V7)7 zrWt?h+s_@mJTzw-pt^+R(=FLS)bnX@<^I9xOC-Wr`&aY`weK(IaC9`3U}8UaNzaO) zTBZWeg7)LQzZSdM;UrSYQJ#1*K`7@0W@CJxg9)~3ftzCrONn)kZQOpk^er*kBT{ty(x2Rz;lS^divlqgA zbvTb73_hvU%=%SmzZIXjT{!3*>Su*PyZv75i{dobHE-QHIv0W4^lprRUkJ@5-J)EL z$+|2H5wd3UqMgK~&Y#R6XMXLr)k;=}vf=ZfGYWM^_TK0MIw>lEy@2=VJ&R`oQf6|F z5dz>*ubn-hUN}EmlKtW+l$S<9TVW@S0dSstdvs;lu5+<~^szwK)%W=F`1DZI37?hA zBQNUcgTBAhmLZR1@iurcU!p9D??TXB_ipv4%zqAFM@H8kx^&WB*ui|ik1ASZQti{o zZ}I1uF@J&Aj#*aBZ684$=cisY6@{HD$FMnC%X(%D<_#f|?m4+p`NOLl+SV`NT)otkkhQROCV**A^-l=WF`qbITuDG~6hY zT5<{nf9q>^HgU=8Yir4W-RC+;{5;jWwENTkv?qm_&^j@ab8RrSdl~7_$BauTVJx z8j4Tb3URBa822bBrh9i2S`ojHzLl|+-v47`=5lZ*<4H~Q8x40;a%AxwMS3WBvV=Rp z7@7#;Kh+u*D^!66fIQ9EgcPi;4shAS87I??q_iLt`SmMz5qKor#}uJ92e3cm+tf$D ztQZC_26}uXaHbF}$?qk);#c#2gbr8RZ%@Ca6|_jmINIm!i3WIAWq{{+E&S~S*7gY@ zJ@+O^7>}K#nG+@0=X>ZaI`CeeZQ{+F^ws7UhCYp`9QlVrl{6q-S_uT+1Xvo_S4#x+FuFF8- zHOa2ppNml)9)CB5uRl9v?V7|PRf?trGS1bc8|Ab%(hO3dUUe-dUM)4W7O}y17l+#v zsgRkyt;W@_|6)%a^;)r2A#9ahSqezKcKZipnRAVDP1-9vbi>r`je|;cYW__E@anb< zkE86;s9)tXyo#$oJ0HV37+reNuo#ATvfX6Iolm=94kwf_X;z5NA$k5PBx^}UQI}fx zg@<7}4a6%7>01YmHqA!AlL$8%i63Kz?_1f8D?Tcz&K)*KB8p4@ndc4P+c_#DG-->I z9N!S}CVP7QTEW*&#_#_7hd*pp*USz+{4}JZtg$wfSv6Gh`2A4oOY1nkv&i6SDtAJ` zJs-*JBOT5;+&sW_=EW%>fLW7DdAyWmW^>bzvPGhzuVt*7FH(p98nxZ1;wGmC5WmY3 zpEghtkUHQz=ZPTaQ4m1Tqc{OjMx+n!e`l4W$Fjv0bN|bK;B|+N1Js3IAuc(}Fv9sc zj7)6%4ac_q^Zx;CkG<4MzQT)5$knvaIJ~b)yC=%>Kf6E*b9 z42|&Ug~SJURPG!)9!%FVz`?NyO@&P&)p}##_LY>jr-w8zcHlXe++Z5|Fh_Q0D!39G3okJkh29igMhQcaj@`{jLTXxE1mo~!N0IFP^*e8Wo< zE~{yI;IsOK?V_?5nmDNM<>l3(k^~!lOZxlc2I0>1S;I04krE}E4B?cRuhD3b|5`U* zeZ}D!*5Z|>Y5k3!?%Ck6w3M26gg@{5yB8N_ZIIxH#meb4a!l3XS(mcd=?&(${Hm{P z0gu@`ZdJ~SuLfabUQ6m_blmAp_4fWy%{AH8Hcc0jnhrf2!ajqp^3MFaKY;rrjDLF4 zZ~RT9vAZ1RAaUTUlu;gIA~W2X(2AutbR;@EZRsVhHp5fUfPzmQVnobc39XE%Zb1Ok zyQPTuK~c_`H}rJviij04e4)Dv9PbVX`_vZz^O3_aA&Qdt#sKkj7}Gjf?CHlos_&YDRNZVC#3+h)bjKpnnVH8hse)=TnudqT0vzyY|T`x|81+}y0=~74P?h5C^yXQ z+^=q~&=Yqg%24}h3-8Pdjqg4ITz{p%03B%yfE56riKqivY4z%}iBo=jMBdOGIrW)2 zy^8x*&V%uH0LzEkUW$og8h&m2P5k>^@g7^-LqA72xA#ECkZ`-hS&Z}B!D6yu{d6Rw znw#X+R7C_ehfLhk!$>nW{{jTqpY=`RSeeSPJZC%peQDC=5|#IBH6hVY`EP`^Hm_03 z!4-MqkOx{Pg9wYRLoznQ9Q0r>oLm|S=tO{k3KUU?DMB0lQX@wiw&0jaMp{jh8)()5 z!-*G5jdy4%fqCoqkem_u%xC4iqZ@iBP_umM=rb2Bn0$2H@i*5ZO?oJy#qBz$kHVa@ z4)rBz(bwaoik0@7Q=yjmvjmS2 zg6)3cz!3c}XX7*6mdU>W(;HkgyJo`O9UXOf8)eRK5<>e_pn?%nhXKT+LSoAcvN|0u zIJ4?ZB^BP&QXsHy8;w+m9ww6q?*=Q7!=ycg*1b2M!x7u%;!p8yWFF{r|YDj1*XT4 zjIhp}!vTQ}2pAy1oKG7dLq|EBY|D8Afx=XfF!moBu`$A;f-P(3^vHWabFro}B-_ub zG@@-DIeBASQQHxJOi~|Ui_3J%doO?Wf|nv}K#>~U0|@k~BqI{5kmP{`nPPv*)5rub zv1-BTG|H)Z66^S#)(q7axL6PCq$LpwKI+(9y(Pg%Nz@5%>j`R&6hf_Pz($;f;MwH` zEhffj?EzO`%d1_`g%sWLoie%P2Dou1XY}~+u{?`o!06B(L0xHU9eTrHQSnb2XZ0^h zh;Zo`cC+ZBA+^Ty*if+SAGW5r{)2L= z;J|+}BYtNWMxLE9tylS`p-6S3)l!=)0kJiu@O|y~aA~lnc>b5`h`}7B51*ZekvP#j ziQ;=EqWl%bo_Z9N0R9raTzjNG7u}KH8PoeP@hMpnmZhP~rDvGibC9Xo$XPdanKVYt z7xi>woXm4=NPQ=mY$T~)+H%>nW!-=`Vk9*|7%vo;3^za(b&;oM%W(h+MwoW-FE|3= z2REVNNfJSVQn-3IhK&mW>KgVpDg>r$wy+`f{Mgxe3XPJ7O&P36knmMA;=^vn+-b|q z-#<@ss$H%PSk|$v=8q#nl6^InhwP(@0m$qj;bMv*>+TIm)1(0Z+**bl2k%W>1P4A{ z;eOKj9x<4GD=Y7kZqq3P)+B)KOM~Zl4j`Evc;wrmRCH2#W1B7c zv!R)q7j!8FhySp^FgoFrx_Ay5f4Q(<+bNc-;pqAQv2@=5RQ`V$f1l&X-ZOh7vPm}Q zAf=L#jO>vpJDWHsBZW{>A{iA8d(Y0XQpqlky~>`Eb&hj?@6Y4${R8~s-1q%{y=YJfp4(H|;i?>(rIQSYSDwW^HB9^=ccZx8N+q}CR)TdOJ@-!m z$0t;vWc`q78;y&?BF_KFGdi-_qCHzD0SWvJ`osVyyj=*~#gv>*fyM zCs~^((HW1eT`Z5dK4!RHzYiR(jmJL?4P3?8LLO=LxHhT_V)uey_dqvBL~60<_nv;( zApK3D_^$o63v<|e?IP349;Ye^sXdW}8kW%JG{A%q=hh`< z&1aZ*n|tyN3=xL0C$NgVb`IJN-$44SUQM{_AGv*aMeHbMQAs?gPGW~|tv(Un(uC+b zb3+X>{ZaDdHyk)emiMg8aM+BU;)gyx3z6&&h)w=W3xezri#^^@9u#e&k>|gWKci3;r=Y9sO&Q{Bb!w#jx?X+pg5<)VE&+kBoB%G!E82vR zFLDvZ#Kxq8Gc7AW9UcN)Q&HXCg?Hbxs=O>q?v&Vui(wpFo{O>AogL}_w-!U4H{JLT zmY*&Tb=a$1tp_5kGqt{WcB-^jNn5^Gzt$~H)h+O*`H-lKDLflLMwtlL$RnaSxe0{x z>xn7a+Vq9{?KAhyQle<&OaVc}A1)ZJxz+dJwAV1EZNs5|hv3V**RGctrvxNZ17S=G z1Y52SmB3IgKMih&a)wRe<|MVVd;`-X^N@8Inl|ymfrxesw$o3%c91J0LN&4fr-7k- z_nzkcCrc>I;sq4aUKs<}|0&q219+8_%G~dUlIQnD{uWBp+Zx@Fr9!4LtDIo;w+^LN zjKfkUgHz$RVir1G;;!P@a&?unaro5}d6kbuzW}ZE*|NrivZ=CCjg#m(wjhlIEj!$xb3*!tVr4{MNK0JGQ&$20!e z8ddC1#m>OZj!&cdC@>m37^2bBfldVFYbj;xHJlV|cK_zox+@+k5+dD5kyMO__&ZG58lCT!(-o4|z5C_iV zhApS;4A{X+(#i6dMD9h*t{s}EiFvtjPL74d)Cx9P)WPDYVB>BavqNO1&ket8HLGIw z2+iP;d~lc68J%PT=+3OiTaWi|b>j*8k48I|))LYhLv8u-HkzNo zj_l*)F`gz7l>ablRNCF?0qRh>A-E8FVglK3RKfP?gBNpn+gsby-v2hw3qqy0WTIVq zoW8yL7>_GUB>NV^@a;7>`Ow;rVs)RE$B*VEFlN8PqMIEaVE`M~%*thlmV?g~<4v#J z;(2I*>_@YFeN8|}S(PcCaI};RVGdw(e`{o(7Pajk^6A7z@I7PK&%PwsAzZODJ$^5D z?6Az&f)UV#2&C!LiadO*z8LS4oCq?_)(SVUqH(KSJ&Vd3sR5EeH@8zJ2RZ@zUoLPs z?E1NdAo6kt{E{}H4wDPt{^M$lEe94QBOg9B2d=t?=F^i^%+0gEjfXdSOMP$dr|v|h z7d}BLrv1_E_4D>kO1y1AdXJjv7fVcf$BrUwK)1wtshc3SG{SrC$_$TOe)^&a6v)Qw z5GU3N6yXdhA5(1hgWb$8GhM?uW5H4R+~d|I&n4@xe>&l(-c$|+a($D>BW02$-d}rj zTFbF}KwElYu<7ueoa{7=$a9{P?OAwZo^>_%bCyr6bI+~sWZPOjrn0&5c8wI+pW45f zUb2HWTdQjBYf~cRUbIG4xSivD6LAWarv+60u<2YQTPKxt&%(kgoVUcmu4DqO;47^y zbvovGHt=^sOg{jDQEIX*p2fWV!e%(H+W7lDz_{AIv%{ARekh|qTEEM>ZK;kyFwDv2 z<3b938sz6m?e9gGLI1U&*`WYAG0^W$3zL5*SU4rl!|N?tMUj5qV@?~;_o4jlKP(j+ z4XkH`u|;w!U~uPS=)A(hmI3B>!lptZAJG)fXs0d=6;Q*oj#b%#mU|CR8#DVMw%&K} zrsv%m8vn`9EY-o|d0W4i&Gz05qypI`jA5YOq z9IxKYzpeXO6XiUA{Y)xfAL6Ssgd`rwL~HAc=KHfYL4LaTTSlT|bVh^-8(#a)ro#@$ z`rmasZOu0<{_8B={N6~V1=r!NTh~*8kWa4BTUJO=y2Ofee0fiphf)>Pn!Cv2G;jq8 zR;j^OPp5ICXB;=N`_h4F>^mFSlnDo8JuW4acCXX#YLNwlCTlqKxfSl;^V_@SbUARz za|HiBqy`62wEZ=9d+M;~hHMUSA~<_km$C~^cG|M6X}>!b*(pSD$8E2Yy2z3g<+d*jRxRYoBO;JkAI z3HmAMpq@LP&8`|KIS2hcNOx!P{$lYBv%sSu|7_S-WBiJ?bRM41zg(sUNNUhOx6>yQ z0(TQR!Iz2GR)RpaP0NlA5M8MOk)fRp95BPO)Lpnj2bovT42%s2(7BI$uuPy_%=Nna zylFLaMa`S(MW@z+D)l{u47@6Sn2g(by-h?|dmA{e@KAuVWu{*Z(Us~x~Lr4dAb1mO;MPOeooe4kpiwE42K%3w_lIW41ci=DRI zmH<8tmeE&CGtw0s^__~0KnXt|@Q8Xc!+?~Kf7@PdFddt2_X|2XU1isPTR0jX{S%=# z5kbES|3zIK-=}ea8@6bf2Ac0NZsWt-MS8|tPQ&Y)D;F5){6izef7Ll?8C}+4;J9|p zWujtUkwT<%)L&9#fFzSOPuH;tsJCvQVG1GaAiiKISl4Lu?6N$t88WHd{<&=5i4|v_ zDfUOyi#T(}UE9iRpFdQN>XjlCyLV{_d5xF(1A=nWNf$!w>Dk;7#9dnb)<374AZBvd zs;G=8WxBabC@|rdk9yd#YGjJtno`~D@5$Vm-4;pv13ZMfMhyAxARs&xCAr~Rv|#X& zfdwn7^n1{hdk&(KKe}=S3#a6t3ch^tE&AZ32Ceh&t}}Oe4o(ifrf}3A`?J&Y$RRC1 zj!Z1i&gO@QMR=XNVHp%K@G(66&m$22&ow~g?4I>1oZK_nI zs?qykHB|`#)@qXxGpvNO_1kE0Mb(?i&W^u*zV^$?+ zZ&M|A?WPic>zBS%Cm7KTzUq;?zE2mi{5+{7U@N-xIuqk{Rrl)ZF|2V6MBH*Xr0uHpZ7>ZLl9fxQIB|Pl#B0myn);Pfxcp`d!;Cu- zB9+e^WoZ8UoSN@85Q&)WISEEEBOyzMcsXZ`Ud~y(tf>j18p+pQg+BMB*{heaQbATBfl0I9yl-!i{O%$=OU|S6h`B`b1jJmYn}2CCd+C|xo#}GQixi-)FiZNlI0EiO z{5&y@b6y$j3Qt@t547f>V>N0DisLgAdHj&Q78;<_CtrozkKpsW+K@3ySABXuP|YP? z?0p>y_!n<7_^E3dTp}r>3TCzwkywpAEHi@^x!XFZ5MuG&*qCXhe1^e5X1OvHlkPIwO7eB3Y^~x=5PbV#$>^* z-$+)$i@l8UzQ30JhHyGOq2S>VwfAwRWKqs}D&)f#UC~}_Puj&11%~HSq*pF}a5&x` zjgQp1fEgoa`^vOoo2jMJoCQeLavLzw^a7wILC?ePRaI!bHmLaxFvkRE>Cs=C{Jd|k zD;`g8TkKP#0!MIw4)~WVr#%*^_SRp#b`Xj&O4r3Np#%Y;??*<|Fgtk2NAzn%0VF$z zO727MvGT{$WFJ_L9;c4yu~qxKn9%5SkD5aIoG@s&A5-f}#VM?jwFa$o4NN<-LF<2f z?$Yw24BwNcC;hGeGG%!Wl_uPpw=$^O_IqytY_G32D|l< zDOZz~ib0AwT$h#FJ0Xpfc5W}N=-SOZ|M(GCj1|DFLzu;kuy0ZFd&{(g}}Mtbr?V<>|MWstw}S-48{Ded4`N`tAKRnuK`O9F^<+Z2$olOMJX3iQRKNsq>Yk*VI&c4b`DMD!Mk{b+(s*7soL4 z$^ATGnQ_I;>77FEyMHLUJU0+>C@z4>1F0M~hT}K0js=CyQK{W+4Aa(h&)XVU@^M^6 z$}X29xZ`?ljmx?_^Yu^3lz4x8s);gNkie?dRw#8qu7>np@eG{(-bp+|iCogvpD`7# z{n&1K-e|H4qwce|1;=D%bru;Dr?`w_tDFlWGurpC+!r0~gFYLHq3J2r#+@5)Qi9~k zSGKV=FfZq=5!!HoPNu3-)N{#j)@46SJ2gkeu7MHRFxbW_Yo%T_HCB0q$h@iqE^rdGW5D2RdV~>7SqM?Q<@y1R z3tmMVJfW8wGg9(!SP0j|Zg#ktK9sFoWk&$Z1GE&}m+cmEYt}*bc517aC?MjwMSE>@`jmYORmLZ)_)0G6Qw^k} z=UXL?4xb#GQWlo&3_h)_=O`e5kMJL6w_X@({2u7>=DpNGR?hyxD>vepg3+b>rA^UP zJ^{tl=9Duq0u9`M*GHth9A8rjq)`;^415}cmjIYxVAD)p9ga5GR*=MW_9>ol=Df~( zc=EcC8h0~szvKd3yh_~jfqij8ya6{^l2ak3!iq!K1j~MPFM|%1_EZd0`pkYG&A?5N z!WALFLJC-jLG$bm!SPDVH8m7gywoUaqU@?Y=zYpT*w;j*_>1CHZquvq}`+@*uCtoI7(kHU0^3@N0K;<#-a<;DeaR68}Hk{3E( zv50N!By|<)N6B|X7oUsXFG?h*Lf3^xt_7?@-HBVd60TwLX$&9%^rFdDLFZH8}7F&%KGq8U(mx zc|(`Tes}c9i}5^F4b-ZMbS2Ae>LKi|(Tci4A+#S^F@Xp~T8n=gJ&0S%snTn^lj;3t zJR1oHKk_Mzz2W`!L1vS3arIc?)3`UqmJ{*U*RJ{p_Z-@mIU#ffaqbT36CgnJne&g4;Pul@p|&s6ADWuXM5U}L zTo*vzj6*AHrQ8il`oX5nsQw7P>cb>DWT=Uc8_M9!#$E}bJRoekG_*TCJg|&g%C)u} zxDQw?2G9y4fLdGeb(u^9x5&hnF>Ri{F8~S~FA;#rX@O3YW!2M3^>zMX*(<@#t&yg~ zW8?Etj?smJ5O*Bb*1A1)ZCU9>Oa2ns?^Gfc5M?EvPNwg?whUPH(@Z@aSpPIkwIOgH zWgewoBVX)>OdKSDGfY@pr$lA}#FNYW*i#z7ABa5l-G@1gvp{6gj1E+%D&jyKo9FAB zf$X^+k?h``bs0|(WWRcc26@hmDwdttSwKL5*$IOg$MQ>z7?JU=gQ)xVpe>FHjCU;+#s<>pdmV&}fINe^ zhX__BR>As=7G@9^s#KsL)oI+OLd}5Tdg+9DKY?w&I zncO*#V-xS6LY-K;0I4Ar$yzi#$J<2acPr-=S=yfRik^CtR=xv+o#6ms8T+^kBhZkc zqs=>$0QjDy8!3)^z|B(?RDT=t_!-zrYE#yvtz$CJ-YAF0;8S-Z-r2I>9FT-P=^k^7cW8+D}UxwvV`LRFCQemgsm)tHo_kY&ucbSZk+S#V< zFKFcF-n7w?yAKx7_9R>RbafmB5=DueKSbyk3qP}FBw%6oMkus64xuH1$W$l{d!+(a z-gsLUL8Pi5OFVM(GgUnL03=p4eE6BEkiYi!j5FFz^?Ftlul@64WL*Y2cAteme?dXX z3_BF!Da66xQ}=QVfQ4wT^@ zNu|hP*x_W`p< zzM@19t?fJ5BbIQQsY{K(PtZ7KKQ-^%?n#?hAd`6YG}7cVr)8lUb~DGhV%$eWU1aab#aE9eTnk*Il2>=ruCPXzUlK`<}!g@-rGzH-&*bGXw(ng=!pZBWkix9{i-OISs1-qN+lZcsM;mk}{=rz-lv&f1=a>gmY{ zAW3vPJsFLXES;8QZ855Fwf=N;G!}VybZ0~NmkP`DN|u){NOSU&0)%KUjrkfL?ToOx zJ9G@hW@leJyodzXlny(~@bu+;osBa{{5vUJebI#Qi-dRhmtHvC1(!nzK5%3wZ;c*d zD{$ZxYxc6zwE2^xbU2UTdZs4ILm5 zpWhHe5}Mng@M6l&*n{DugBOP%1duk)2$YR867lwADYzvM3WuTF53~rE4sC9S>z|k| z%q)%U81j2|_#3EGY=*j1*n@?--4gL7j;tD_{7Ic^JY}vbFK+}8U95`~x zuSk$L*OCi@?dbSea4zJvYy1Erq3kYL|2a8*)!xk{yA>$Yizx5_0j1|(eojFw9NSZG zF=$snreM-x8q;>Q9s|)4%0wYU_K}2+(Z>N!xD~eb6GzPne)i zQP3)D(4VkJmS3WTKH$vhM<_Hi-J?6dE-0)~QmW0XsXyJLo%#3Q8o;TTH^Z{RHG>$| z-FPn?7Opza#S{fW`>P(ODJ*$^DuttI^(;;stiC);7#?6tO<=SNDWgY)uft}XGB$pQ z#z`T>d@lYb=g%`;*0hu`b73tjJM;K7k?CqfRvyZS`P|Us5gwkBiuq|y;AtFA%yb*i zRF1bZ*b!j{X{--Y`31gIy&jL_RRTV7;+V9r{1~!5~dgB^MQnZrMaOGBhVZ( zi;|9rdZ}U&BaZzIUViM5)+5-&!R&eL)Q#8usW(7nD7H7zZz+;_{$XjvqEp!7#?KPr zcn9eC<_MYwMC^6(iCxA3T3RW2pv?}NAZk>9dJ_m*A7E(=+WbTX*c=Rlm-Xhb^+Cvo zYkFd~56e+qvOdXl7|}0C3d9erizdR9wxkJX`FcST|L2w$yxW^PciR!W_Kdu(m(-DYzcj}xck1K+_HohSNTuh$ zU4!={9GtFB3mvbzSXhz~c@w>JotJTuH7jO4WwpMG3X`DuA1$ad0(je_s0A~?P5)~t zC8jM{{G-+H*Mso*6Qu02BS=3f_4Z9Wjh?Q{7v+VB?hUw}{o&e|bqL1ftz0!k;sH{u zk=FrYYm>tbpMm?)^>1e2W<Bez0bluhvh$q#I3)uIz>tF&wt6)*!A#T;wf1lJCI8qao0YF>Xz5OeE3a%W^)iIrW-W0R1gCPUVL*foW}5k=8_nm?9I zowc_|${NO|-QwcD4=^sDm~-5=K5)s|CbzskDg+qZhZcOU5OsgrdL3*+KQ}71*&fV^ zfP-jotfu3B%k%pv@;M)_^8j-Nx!-Y^`I&!)SF8hKozQgGDn2I;cS3@CmOes{|7GENQVJAN-SrVRZtC9~a0eTq3T3j~0L~ z?vio(Z71$f#@0)5Ei*o+A$}FYq$3}d7K>WEPOpO(!Jupr^QQj^;uH=MiooXR`c`y!nIsQs7 zZrYd82N*f5AhN%aZ}xs>X{y{Ln6U5qWx+Z;Dy>GG z2l#WiR@MJO535#E@M0YlSvCZr6OvPLj4KgCI#&%I;&0SZ`Uc~nt2as5M;*|=#eT6P zqyz8V90c!{;9KV2s90*`ZCk$Jse56+S$C&fsIp}3m{pHQS$Z~fWYyvFK_uM#bepD3 z3%MJv3Hr;XtF8nic=I|yvm)3^T!$j@w-)-^Tw%rbRJv&2xUp5&yxGF_e&y5LF?I0t2IKq2;6}76!#dc4QOBKCc1XvE zg#>>(RWPo|Iv~$+=N&_`l~9?oJAM86i?KUzFPXVtQ>m|TFZ*CoPemxc(QktQVpb(F zzHnSd0pRqW16<|=AV@Za5IiD7THnJ|Ox`3o&MtfP2LlXu#IZ}j(7-JP8bHr83$uOk zoy}^Fy^$Hs+RomzWts9=n@}prJV&tdaq^TSbiefX(UmJByYg9Q_1ss+rdbGu#xSj})T`%g@@XO2OiS zjCJL2nbEpVdY-{fENQSd%i+V*tiX8staOKl$A;3^agG(?U)|;7 ze)VG}BZB+0NjI*u;IoMqL$`^0TjJ1?Cr%8{Nor_sz59`oz4*nuDxVKKa7_V&X`#gk zX`iWl1$;;!bMZe%^_BM8y)Lz}08?`&=NSfH68Xh~R+yQM_$yJL$W43RO zD7H;`&u#gwjt$0)OP7`rPHW>VXNOGng7lGe#}?d{%Isu2;dqrpdonsV;aD%*r4!y98yqSB}2AB6b02-gn#(J>GCYfxnPPL3KKqy zG?R!>K7f%5C_ftphmg&$VT9ob|Xm0a$V5+2R%Yv{qjaDRab0B=gsPJc)d2gQRy4 z-8PM-%@8%Kjhz6cPrHA}2k2gNL!9Cz^qCi>5`Zu+s0HBk83S?JZbzZ_NL(jr?O-oN+V+^1lRW5|$G_^!Y|A|s<>gHLg~ z2?+l}|NBNmozf;{aXz<^fzS{MhuGkrZTw8fAO4@Rg(m@~nJG2(XD6g4p-HO2m&X04 z#C9gFx?46M+^S_R=2Kf3VUc|Vg@-_aAg_Pi&wx;0!KxX`T(9B-1EN$vs??}b=}qwh z++^vuFX-)m&&zALoP>TJkw$f7+Z9c)Y-hZ zew7)(>x%$E!xUQz;uP!?3Qj&n7)eZxEqE^abtl;n z5csa}TQ8>i1=bw^4M5B$Qrs+`O+q(GPILm&u;!NTa=5u>EV$FqNa31w;vzPb;Im%_ zBBfzBxwa%7O8wCYPG9&!qV^`G zeZTOn&uw5e;ckK7FtF_yV^W-LCXh%US#IJIB@{bCz9MnAZM ztE<#GmNP{CbWOF)?n!;zaA3*|N{s9cA12~Hs@~gpv$4N7NZ(TRkTj!u=<*ZMV;ID& zX1E=G2?6{!X2f$>WkVpD3Q%1ds36FghJi`)A`IA-h0Vew(mIz`&`Gv_J#~(t{u~6S zGw>O-gx4iJo(ag?3B3=faMhHql-uxeUJV2B6QP?*!W}uzd{yC%CKy=DvvW!SQeWcb z)H;s8*BY8PS~l(7yp&pSj{bdSWa_4!rGkQg+kAS|iSd_`^|30-tjL8UT^^fm1FE625uEN2*C^TINz?_I z#(JE1Hdf%1bHlY+4`R;{zjkv}>rmZ^j0Dr*t($+^_wvhxQ+q{2sY80Zb~Ho&aftMP zlxyV?Ahx?M?#}F?$g}qM1BHD@8{Vs&^i4FOL-b};?;@T21*6vF4r$W-Qb*X;lCJV*;3NHb(7wh|t zOnfouYzDF%1~j}u@L9+LZVj0VdRE^n>_`HUdJHRQm>lB|Xz4dV?Yr*5{g?uYE60Jv zrxH;&ZtE0X9ngGytiP)Mm&0d$tOhGNa7g127Vaf-AZQG_e46ye%LOkRXTuB;slP93 z`j4GV?jycZ@E3xQdY#?fscnrq1omR}t4eQNtlBH-5d}QfkB>9ILix82Tco~8r#mx7 zMjmKvs|eIb3x_ydn1$p&X-y2~9`jD;+mJS!y_2;J>(FDzUG9^d!Ljm%uuVhe0Sbsx z;B)>9@NN;A1M>ER>y*d6a7#q4VNO}tw#WS8l>!o)Vff}N$yw~b+h-`b1y2Ei-lgm~ z_>Q#kLo{EXA^)1J;qWCgr1LDVJU8X<_lXf!P&$&bV+m=r2 zofGdj*mq6$xNiAmb@J+Svz+{+qu(d@vP>%mSRr%Np|l1U_pR47kV%e6?5{#<;8&iK0+plo#3-c*!HRurF;=I`n*HSSL?~VWJ$Cnej2g{N+L8lEmo=AxWUset)p6){6{9aqU#hQPD?CW+8vfqUp zGIadepg56>^%b2NJge}rm2c1qiR?&cH^aT`>Z3Np{*dE7*3aVHCxj+wgaxPi7B<9T zJua>|@t{ifJi>+@TGW-4BFrW|vwsfV8To9>AlpGTQ_EnwAWF_vnV^#GVtC7@UZ}|@ zio&IU=~YEc;YMOdJ}&V0gWXspEnJ2J3BOHx3g1Zk_XXp=yDm2e7~~>$k|8RzzQ=|mmLsjCX+~cJ_`(Y9{b+iLqldg`;v?DFDopHXjRJX+Lto?fIxGx?; ze;`4B#dXC5TsmaPRKDep7F(3&ua9`!`}+74GT8i~0@&ljR%5cHNM6`>Dv@@$v~+?p z{d67cIEOFRizUqO^oj0%dO0&vR_6Vh((#=USrHuzfLitCkvOBoIW60R6N$bMcjcJB z7Gr}oit(F8&7Az$Y{`8BNDNbN~#BS;g{#5YGFS{>8=YaE)r7^z?g$XScdSm{c7*qb$mu z5mFAlCPDAe4qvfZmM!1bJ#3)#rAjO_~ST1XJip;>*PPJcC)1#KM**CVV zpG-p6c1Nfq`|NX$o71PS+)y2MlTZ1SaQmCj&#u5HbNHkB4WY};0IT~O#z6tg4>IF( z6stX#8!+rl&VpNE?L!Lp6{p%ahC+E?UmRdvPbXJ3X&wCh=r!1rYDKxZuF!P+ZfSE- zvUcYz7xYajua+74lgaZu{Kf$lKfOT7#!&d^TCA(})@9(Xg?=MNFgR9f0Job<8C`h4 z2RZy9i+1B4iM^ef{>6DBZv(cnG8Do7QrPReATmWK_X^xZVIyn-)QVoLMN^KH!Uu4K|>Pm(LvOw{vZH-hy#3jg0<5h zD@T01JZRp1&xn0m>?v#a+)_iTb)k#hTekC~tY+wp$H-@~XJ`CO<8v*wLdJWi?ngPw zu+LZ^?n?%#yX>5d;o`j5wm|2hW}0R9F(NEB`vpsVB#AX@b?G;fDVye6ohDq$$3cKU zF(L3hR$b)O1P=UsiUFx`8)S-t==Y>~v&4T9i}*(e(>>k|{DMQLMKEuXh)fK%b_h<( zE$ELRG^<_M?vHft3Z&V%(~7{Uo|+qR*`yJAL92gMHUD!uhPdfBc-ZGRAA0)kf6lH% zsK=lAwqBZHxe$U?F96i1vSvPWb{JPH#fOI9;yt-fhD9_*0G|Lwm%?pN)hf~9v_5; zPdug_)E84>LV$~sa6l-#`aAUGbo3P)urie)W@J=NgLOE{&icK{xczH^Bi*IL8on zOP*4u9hKEcsR&E()ckS9B*y$AOFJQ|DS!TpQ~qv(aO|*Lq8(*X;%F~|ULcJJ^pC*p ze$)tX?!?RuK)6x^K`f0>K*ZaNaTKCqfL&dl5CpS;oPS-Oq)dDC z3i#)0aM%}_P%kcdzSj;A%Q!281cm-I02-~*0OdE8;$&grC$(Qv0RTZzE5!!aP2&bg zdjuX75ct6l)L$Zn%g(_&Kgyr~y7R_~o>tThcdY8|-+rZ!`9j>`SN71o7fF%M#+G7M zN+Q$l?l24VHo!g!Yq~pay%3eg{){toC{l!W=DQ#Ff=gjA3hCb}9FL7d4!b)RG%(Fy9i}$}bvG{VJH$=CP^en;kGBV`51ukp?O2?3 zwzp;exsGPM%w2xTKQt76Wia37I_Z%90YPEzq>&tx0w zAGYWO9Ry1TX*^?`+!KmryJ+F;s?T>m*C^pzaiK(E`;Sv^K3~3|1aZn5>o6smxaQ1u z`YIUfP%(I(_nhIBnfjI@rb<8M`6%_={_YLlO7D}`0|Sqv+LM=7;OF1~y1gmoGm#fP zR`@dAX=Qalw9KkyNTGZ~M`$MOds2X5yw zKrfcHQ@W(53VpA#yWWl4%I*0qUXD-4iIAepq3`F|kKY}n>Z31E2{gx;Q;op>ItA&& zVJcq|mL!}OK~icurhV$CD>94T{-Set2XkeS6Nwb69QP)Tv&;;}Ui6=BHTc@R4|>G_ z0scFOgY_|=y8=cH`&!k^3~w~rM%z~{tg@<_5*Cu>!67p^{C7eFWG2b4IbA#)7fn9C zVE3cfwCW#Yq$7icg{aDgqUV*lXUx%8STV0&+6a3b>L#&)TjSYfkt)e{j_n^%N|G=P&38hMtT1I`r4 zc0dyjyW{^PFl*J>|B1(qx?5~x6JBm9blGf2atU)l3ueqQ z&Y_~~z2YIhhdCJ7{1dHKv0qnRoCJj?!^<;@V#Vr66G;x9a*~cCRB$%E%@B(`c^Ycx z?VNYGw?#v@_Mivi=oW-hWk+}I*eSU-tcMxv!f1E93VFL{(iErYgCb@GZveoue-&|n zFGXav;^{zMZ+hhBjytTD z3vXCN{Wkkv7?c)z@>Q`OfRG&WLF#X9zR^IzDP!sWGp>^8?Q)wW zEUO8P55$MbBWI||Tk`e?iJZg4Yh?K7UDC$&(XH2SBXu4@#BkoJmvIV{%6372F8&h& zI;6XLcxx!XpH$*f{6P9#G6q%79NdYPD9eK76Eab*zF+rpB;TXh9=BjRF(j58*#L$hU zIlGOoTq9o`a0((@7xvnz`3L+FYt*%Z&pS&aPwNs$=SSndj$F{c$fr7*kI1iIKlr-2 zEZ3od05g>~MGBE&RZslvehm?OwKWNbG>Dr5_a9Q{sRL^X`k6BTXJ0GB5>Nbg;}L=w zvpL(X{ah|sj=R6w`G;^-ZKc>EGIuOEECJ7qIH2psqG1;B@Cd6j?uIt5;zwQCvM^!Z z)PL$c$P2#`lNVI}2;gYpM8YceBn>Vwn^pTCEzZQeU>^TM{%BPm4ASLgBfxq3NLVCe zZNt9RK;j^&z|}kI+r*L2FVk`GU4vI>s2F4%c&6hSdd)D{cT>U}H6; zCIIyF!}(7l`ctUDn*FsRM}x}p{hczFUqsz6eJO8}7zF*?CB9k=unD}fCvGnxgnr$l zqkrGktEaxHRupK;iwdPp_)-#+cm9ms>zBP=x#|j^9RZ;^JWF-g=PJLt%}_za9V_b5 zC*wuao~rtYkhSL*`;CJBYUT6OWQ)JjQLi`H5O&mcw*J6Qe6C`Mp~nZ-TA%={a!}SrI}DxLcES$ z!m5lqZ#QoOJ3*I00MIVJ`vPVH24K6es3`*6tg$XY92`#npe7Xb;4416y?ys@l6d5s zNQF^rcflZOXkl-WXlt&RTo4Ulu6BNFXl4|dXiV$*vjfhx*7LJRD_om@%E(HX1tfmEG$rfSWIU7p3HY?m_nQ^3ngK*#;NnP?X1b&3azJ45%b!kj#F&o z4ewa}x^u_2+Zh(c3jVG`=gzu1Mo+s24_~(L$ZiY~7ij#Ksd)@r!e~Nn254a|e^2K> zYZQ{Jbc;X0Gp){@TX`_~F%)sjJi++~HH=?2WTVuXowS1Z|Ad)vh77%)uQ3lAEbaag zlY3TvkUD?U1dik3ENQ{3xk;$|MpSk*{qtAabWRdEc?5mZbhY*OuJ z%j*s1En|?k3Bmgn{iN_cabBN=k`qiw87`342CwyTdf`NfCG653P;CgDCl&f#ds6!kNWWOiT^rz(J8-P>h#lWuo>6vJzW!Q;PWoyl$haX2%z~f7 z7U!2tk4N|JBf&%aV?j7qk3Bp&bqxV8$XF(SbYhpm7G=+8%jFdUBu`ZFU)UVamIR8H za2^aY{{cI0k7W=bisA;9SzB^-P!c0Ol0U!=;N#w@&S(NGLOvMsDU*C4%k|BC=*>K6&XNmxi zi(S^Wsh=7&m*=p5{{E?{l(_6^wWbpq>K^K8n<7XOnqI)LS5HN8MhF_=*e<5ecF%uM zlowh(WvqE0gW)qaG4_~06NBs*bT;{ZGBZ1-7fcAkB9!K@HO?SbBOX_^&4|T0tTIpg zXyY0@c z`{}fL9T4h_1jPO2N0*9;UZ%!{$BHuF;8>H42z+T#zkMw*&VtbVOy%J8I^(_c=nFK! zzvE&2pUV?SBr?p`;YGNkhOWl@m@cJIs(Rx9-R$^m7NMfm&XDo=EAZ8%am#d?W$WOx zQ3ZDs@tF9hFCIH^i2d_Gl!7WbZq0DN)ji@kfz^aVEE^m1Hn&aSl6DmMXZ7*n zu`@Gxc&h_DRp^!I{}M62I90M0>a%LZ?!Bagv(AKZPrp#L(&#LYY@ao;c~51K}C+w>mGqzIhU5+U-xa(wt-KToc)sSawwgV>7; zJ#P+ocAdhbrEGuV;D7!K{MlH%mVd9MBWTkiWB_1;dp3?zuGg$4-cKz7C#$&51JMRpNrD@s>#OyTy5MXZS z_|FbY{+j8V%wS>JxRi2<~&e^1*bx_h2)t;Dz*te zeyv6EMtXDOF_%!TL*oB9IuCy;-#?7sXW-a}tZd3^pp2|IcFStnArYC`3g=kaG)X0+ zLCA<~&LN}7XxQTz71^>5XFR{>`}+qxuh)5b?&rEcpX<8b-tDPNCd--`%cYU{cGUW8u?=VyHCP*`*x0mu$SBPHsN`htaPq($Qbuug|T zfq9Ey{YTF|Th$(O9--KPm;bs(s7a30rg0||K)F2*34i1OB#U^sh%&FHGL525ZeaXu zPHDq`a@S!4^RO$LP$?%Lcd?5&MJFdMw^tf`svkI;vn8(!N3wh2+Ajru1svfFGU@e- zUhN(X^k@$1fj;-$qvK!uBS?D>{=8H);bS#MjIthJ8fPT&3CAGLQ2IA++>b3V;Bbgsj z;{hSR5@Wi=TLe9*88M!ZGT$3dT)-rK5b`rT^zu@hmcgZvmxdIhY*UL0*MjaPfj0(# zv>vMJ^I6$!Y1F>zy3@nzRztGuq0?*EYu@DXQ8{L!wVU_=iXs8kY_Hju$Me|ITIBHmVl zl|!SNO_!{{?fD^)iI3Hx$qR6aa2c?AJByFwRlz9&T40eql;ZmA6UbTkI5V#)f0*ML zOO5Qz6abeod6itKg>=9veAJo1hEN@ZgLlY*WU>B>lzB-UnkxPyTRM}i$`#2ydNQ3$ zkXgym4uv4}xe|Zwe|?e9Nq7HCmR&R@Xbmg0b@y}ALc|H(}8`^O|^Q2%>`3QqiB+7`115Pi2YesEu-0i;Z-2 zCwnuLV4-B62$^KzOR@XCeq9%bOW?&47WQ>O!tD-U^A&BXX=H;*d{*2@Mox_2wp$eS zp=T`-ZaRZ`keUjaj<5S{s_*@3gUx!dR^UDM{kx0HIW{+cF3mcLg6p-hyQ$^4rEibs zzc-)ZYEop_BfjjgL-|2A%are151O)*=KHybD4hGZB zq4^7468c}@7V57s(KPDcWq;Z&uDWA3$W?M_%&n3k0{I!|fb%B-j}}-6P1cCD!Ry@T z_;_`ZVZ#!qA%m*iD83!2CvRxB;|7!==3e&WZS>}^FP5IOMo4hPOo-e3fNadtYmapS z9V5evyKJka*R>sYqcMEn(`)%?_p)coMGy zf+t+@Q|Wu0Ps#S*HWE~Ld;eNt(%5}+#E<3Dj(D`&LEFQ$eC5O#ss59v03j#q1n;!^ za$~@ALr}_v5h7?KCfs`NsgQI-?s6NWCt@5gpJFYW4g8}vbvxvNHp*MKU;E9eqgVfm z-fJk;D5$u;>r%Uw|DweI>EP6|D6bO_Al3W3|Fac(@B;PHB`2@I=biDBBO_jK*ad$s zCkx78NMBlKo~+*VE9`EdtXaNIz1kAw`5sv^CN6Gx+v#r9rpnKWEVlQdU7rRF<)-Jz z51oHj9u|r`#?+E%5nZ|QPFYuqv$L!4fg$OqkvPBdqe1I0r4PT`nI zP{YD+b@V(r1aD$}-Gi2jpNJ~f>``1P$vLmyewf#hnL#Jfe^}%_^}9B*k$XlFxTcHU zq$*q^fYRB@^aC3IO?$uuD?wYz-x|#d5_tv8PU zY=PU^Q9W0x6Bc3YEi|u4j3@tnw zCA&2Dl1D6$fxrEBmdFMo=&2YurdqMWZl2A;l^ar~GEJctBW zbJV2~bs`{?`MxEAZ`-;=8al`$<{V(}-R0|g7`!|hhEC&KmBHNaJz^Tll-M)dQ@whT zOCLFIw#XJKIA``fPEU*lp?JY>Aj1qtxMZ+yaS8=0D(s<% zmsX(uI75ab&z`Z=2I;|(ZCycz+svFK@c)~i{S=}k8QU`^+M3xobt;=yH-0eEW0^k8 z!TDfIG}Hq}elkBW3dB(`Nv(`_U>YWY=i~AX8v00`D|?Edd}dGI0BCd{x%f+D2??v6 zJHb)!TOU&3UA_A(QMN3yE<=LbrQ~YNP0KuQ+R`mLT+?vwiOKVz4xZj7kQ@o>b4Rzq?wg=QF52zLAIFb;QDv?*F1 zwNNil1Z~cHKi8H?kd@H0r2VStR1XR$r9i^r_=|F4VQcQ0Q*95o(=UT-jA@ntsTE z)@6YB_{1OJFnMN;TtDfh4Zy!KLLun-9}U4n+DCZ6A2`XvZ1j2i76&ft<-X3DK$n{+ zkhpMc=n;h+`)9zP6;)ArNFP{DZ~_;?8JRp@&e=EJSJ6L)? z^JjJF)IpNT{@2GPHaruN5v_yIBl||@N3tUYj#llV=Zr-M#G)g)da5+v>4=;z89vMs zFU;7^GjSAu1s{CTz*{W2FKu-1W#69sepRIcD@4=QXHTy1Fs+ab-I#fxuTzkqy`A?Q zrI)oCc*hIjkhiTDBQF22)~Ej{d@#1oHkmu;a)F?eI6Z#!LJ1$<%N#TD(+87c}_Fgqg{(5T8^B z(f&Ux$_iTJrok+^sIL6WU%BL4q?pf{<#2@@((RMk%DUnV{-P~+HosZ^ znheduRTga7emLSrRXSemWEcbnZVmq^Z7L4LNH*E)=J*_}Zs!%NxT@^laYVzP8mh>6 zG@a1~9p{ByD;2Yo=?)~`+TSO~eYG{g#NiDxtabSEp@*YI02s)VQXp9|X#c~5!Zh^} zlU>NO8LlupSIg*Hh2D62D$8j;ScX`Z$?P-FqvB5<(&gEKnym^Wf1%Wc@D+AJ7WUSHe1wqf@JIOH=_yiaBP+&DP(j{T|#p+ew^2lvxz3?NK_irg) zwyi+xz$e+=US^Lv7xwB2INi8YX@bU4ee9)F-PxUl@=`QN0Hb z7dS`+2s22(z9qDDhrKis4|LZeXo;$-^+V}Myx|)p`p5@(jLR+At zGbc+1_&-9^o2?I{{hvz$TlxK06ukUALbPEYaDCVy@x!AWo-)v=L>5pc9lz65SLzjX z;+dlEQubf#qN+3!;5mqWm8$)rjP#&nxCm>B({T3b)TFFlkiBqLi+wG(j)RNAnSZhV zyX%Y76V=HzGO#S1oTNWlohRMdu09DLMDo_@?Rc7X>nBvgY2(o~fksqee!%kW#4!o( zPh4^&7E^PQoaup?OIKfIxMbbsjR@Dtz7-L165eh_DQlJ}NJ@3P(bWk9ysS3&mUAvY?4IVvi|TdW-MQ=Mb%14iSe9e4u$M9Iv$EdJ zRPOB*F(Koyd8r+*RCvyA?$$NCM&>C36 zlHUPI|5fq-$Z6B5NC3~{9z|yQ8PF!XD%P{owjw_koPXk0T79nUikjR(l;tZEMh8T@ zbLmh!Te6V-KIg_x_mhgJy-X8KgwXu{^Jm}e70&KY<{ck@JMynf*g!`Mbw-2KUgMO+ zscc*GOWb)zciZpXSB6C(97Wv82#4L-hR74Yn4Px=1LXA<1*NX1DWZ}Z{=WriA)Jn2)lfJI`Vb{p35btG01Gl|cvz%EpP;%kzW>!R zFds_F9`Or;N^%&ovv~0~V(EoIL68!|P(jlQ^^qBy$?RbT9k2UYCF7j^(~nmnabD!Y zDWUx)wbWrkK8$KF0C%<}4B*AW)_@o=+9f7}={CI60-qZW{A?c2?gDW~d4O0jhR_JZ z0s&jVQ=jsKT%gN_Kk9(z+d_w@*N!yqCuhlf+NKJGFf5jKYA=VlPeNP;RB~(O$;%IO zAag}g_;N~2e*SGwsRJs$M=2ktE&+mE(&EMCQ>FAP`DAVDdE(fNpY+!G+qrR365aFa zMtBLwh0x85MtG$k1uI`gQN{AkNPWb)V?ayXl8+Qf;x{%DXyip$Qrs-M1-xIURPIOr z!G#38o1KBFDudtRqa;Q*)~tIjFTkGVs9Tp|c&>-Gp12qRpCK)w3GX<-bJT4v14M>4 zh`U&;%?35W{G!hD4@Bclrv4t22GXzEb>K4Q&=t4ubfv7cy^2CziDG`K>p(h4h!9F& z@&!UkF*5D=I1t8%sNM7PLjwNNhEqLkFYYcEAYFWOF-02>9!a}zDn6If#RCSxLaM$lxbHp5k{H&U}LVkJ0YW zm$6msKi%f-^(K@`Zw;~MQCRsXCBxe+WUXM^na{?Mu(ucspq-@*Bf!;dVEu=SVZd|Z>R?AZ*p``{3Aa#Gp}Vwbn#Gy(pLg7(5~2RdIk1xyx*>RBT}Q3C|M4-46DAXGpw<;1BvNXQI>wbj0yO{%XsnU?3~w50+Hk z#%3P^`6&kioAOlo!?d`9EMIzt7>w7kxxL8e7zX>1XCJ-0@rKqqV>obg*W9BafZt{t zf7Fi(!ShZ&D;jL}r(eSYAsTWL>i2=jr~E+P@N?K3(*#JC^6P!$upZgP0C^Y^6IPLX zlJiLaGnO*;EW&(k32C=c%`z00BTX*sXx~xhl^S?^-T=W@?dbbYd$F`76OZO7v1-bm z92~hKUf2A2tpQ!EthaWBs-{7rxxT#I`J1#F)5Joy2iJLz0@@h9IrXc$1!y+Yj& z@x7=Lt)7(2-%oc{UdQQhXbExqNt`3>rni4GHRYYIdL`%ltI|j)K3J7USMMdpbxxB* z(#s)&*FFn<;6PZK>ym86xIE25Mud(|)NRdtbjf+Sg>E_4D(+6)-5EKqA_pht=0DAh zJ+zYW(!0R;_hdCiO6=2xc1U-|#ja{Um=$2$KDrDB)OMDcD@3grx~#qndYb+4a2);> z6@L$AZ!1a?HZ~@hoWEASQcjQj)0r$BN)s|>^2bQ>xF62eLVUe&@?_!7`DAA0%$rsr zq0bce@sTIfZdD4o<&SJ`e|Z$NYJArnjfjFPreDZM^*x3^9$UjnebC2)^YB?9v)QBp z1#aM9CBYFQ9Fi~8vS{>6`fWwpX509^qDQ^DB3Wk_G^6N>?c}%ID}U9*Fa=S?NX{P1%Q-u_JDyjIk{!ZEj8SAOvH{A}P6)sZ`Jwqv{=Lp-b) zdR)yu^FHbO&7jTap){r5S96faUf3UiE6pwoiz+8$1x{C#v1Qa<4y18@ACvX>RO0WoyeUV5#E9x?#-tVq(@ zxqEdIN2L+h`Q-_c(J9t(zx5K1*Dg-W2tqR6Ns1uhGt;!<>&d7hL*RKiV|1k}c?7bN z*xT=tRR&1p{8w*=%JIR|-+q^e>>tGus;T{s_=?R@y@lIKI+WPBT@w)~3Aot@O7q66{wV$?nEyNyF|VNhvu6J1@^L0Mw#>pt7L#|p7sZ7yj`IHm1p z5dPEIT677ALe$n-KQ%gZ2KH%$93Mkf z-5NWRhyp@t1hF`uPjy(yQo{D4^Re@{30i1vwk13tLb?Ixp;6mq5}n+Bl((PrTW(yC zdI2S_yfEC^9?5Cx{E2-}OhKJg@uRacFhdtRcvo_3!Bv*A`#Y1-%nHJuYa>2u5TXs4 zFv^$V%N>TmsHp|u&cFWz(b`an1RN~SV237Q)4e}pp*#1k>5i6`NwFeu@Md2cxzY}{ zWTS0(${F%`p6{nF!*^mKLVsKyM@O-!O>d(Vx2Uj;tkq7MOKk;74Ml(3}U35qm5DJ zqlV}4_tUSxW&?Q@83PaFfL0QQ&y(8UD*I{lu)zo&W>P{Yc?o|ma3TB!fveF*ZsS9v zBn&~GOU6ieRYPAK!4#-^W;M&^0; zsJC5jIY?nqm9^g!4yOI39PzP!+03Gr&k8FPPL3FNA*a|j)#UF5cGs5;loR@1v*XUI z&)&S4ZRl62S-rBv3Q`A3r=m=M+}Rx}T|VkDCYOt@dJwRQ{h)6TJ!5RweUmceYgXEOebS5lpx!StUmxu5Easb1c3?uB4cNfxn}(?CNvnK z#-Gp?dLN6$cZn!b}0xyPakr)>D{&YT*zE7wcvMs^KycOe)egW)}3J==f*`-d6ipykEvS+ z92cy6%pJw|4nDr_if9a=O}N5oD$CC{|DnqUOBb18@`!n)naC+cs37OJoxIY-HqHC+ zawC1<=a61X=oW0V7%4*nTV_zP&5H!XuzTN@lw~BaE@O3T7&5*M$?)#OK9@^^K!Mf+ z+hMZrQSghZM?X>_KK@at@a=uelgral3*sUygK!OTF%>V*{CxO48eAJdkZ!Fz8`B_* zWr#YD0{s#F9ZOHB1x`}{r;i3xc<$s3ijcQy#=U^KPQwm`AFZA{IzEK^_V`SLX%F7nnfJGbH%K1Ln9S;#f_& zo&#`+H$4zY!a$0OEhQ$<{rE>IyP%a6p`euaHe-|BmnG%o$VA{w@=LLnQ&eW#E@=Qy za84|@`nT{_*Ho{@q=N*BbuG{P*A5u%l zB9}GAnnU0u2A^T&r8~W&o9jMzWG|SX=AIl{iI0IpbwA3yNALJf4XO$zB-_Edq?+x` zIU2sc%(DDW@Oy*olZP4OS;t>pQS>W(qImI)*UFN8QN)HcRgKt?*Krs(^L_){vMaPT ziRWMz)nJb07E6#yn4OvY#0oPW(3Evd1L`ozlqf?gM6wATCjp1fVAu21jzJWRsqC^l`Ve`Zzn=tY^m_y~%&NEe=)Hq~n)z=sv^)sUS6%r{ zcrR>m7Jnl_`FN2FL13)&UV|<-V@YhFzP-W(6gfYQ?WLj&v@s5akVQ%#I-#v!)Z2T4)`}+ccTN~eAOz5Zz zDk=4Lbe)1`@lnl{L>X_@_s?l!-yTOQ8NdyGg4xesAX7#icz zW^v!<2bE~msk1^q&dLy&j*)R!M4fj%9=fCFhXz9hW|l#1mn$Up6cFIU5g1)()?#lC zNCUBrF2DR(Mk0D!j{ZFX&dPEDrSE_Bw1*ph75ZvhCn3XZKQ3f1g}?Y3AcoX1GY3am zhjd?k0wr-zA;+@rufe&usioI2X&dD1EGCTP2S{H%o)iv{;}~*E=bPc7lb;w3g6Zi zAw$7Uvo5?1mXYSu2hW?|5;zofDX0%;FGI0f8&#W&G(7EaMp;y#hos*;_(02=gt(!f z9r(aXy`Enot3rgHL?<+{HDtyf$l!X&B_{0tG{HeyrW@kY1=gCtQUqv|>JumQ49T>Y9iy>o}TVv4nB zWK8%?2r5Ki2+~14ou`JJQW({jFs~V$Jo}i$WwLzHXofWhwLYsG{H0()Vo*dY$>4#w z54CYu7&l2h%_j(|x7G&9iHHSlLM&)zfy0k3Aa5FWw&aRcODB$!p|6;SB7p7j=!KxXJ8p(x3J_|8UA=mmbHzOLd+jt_zt) zXNNu?hhW>s^?IFPNc&B8(Ga{& zbSdv|WR%=FGvidbXXUbyc$q5j^CSSsOkx*I-XTa0nv& zE@4TRa4@}yGwOgk?nVTxzh?#Q_H{G0I)Ho7JS>*s-PQ_ibHl&1)A zO^qH@g8$1lEu+O~HsS*r=%U_XDGtkK*|5DKU~zSD>F1kO$AbuhKfg&nx`y>oG+(?G zubvDTXvGR{1e#ynAF)+(mRs&#dkxOt8YT*}N_IrCqWmRsN$7=RByd_9hr7gv#!Bgf z05}Lm_I&J7oX+-I~zMoo3IZ|A;hHeLNU?1smR-5vW9Y_%WCj zQu@p-!g>P1LcDS=FROP6?m1C4s1jB+s#+W~t17;H_J=OD>A{uX-Mj1Ig0;svpNvdg z9OdlEkp>Ryfr(sVFPEzl{jt>2>qbC4SB;+vJ>vyfMG(Ar>hOAb<--2_4y3{SfE`s2 zrWroHtsGjpEFWX9dUIT#x8*{_Z9HY4=$aLp_XR6Y{^JYC1A-#MH2Gp5Rm^M-Vem;? zWCO0#mb{RGTyS^aBOlKaAxzCkxJ+;z$m66(8l9TFLLhggy99k$C>mjert(cfIjLvZ z(QxHIVMT(*xNM)ufRq2$6GLn49*2viR`5;SMEiUZR02p{v(iYI-aQy_<`(&ZNrX5h zyR`3*qM3sc>%w=pxnGYII$l}4_2}K-{$a-@niol1>Lfm*=s3PqI+r2F?H01i(r9+V zxiRQq67>66B2-Txe0!Duvm&1q<*>eKZriB$aiA|41B$L#R|N#mVQ~q4dy`NmId-;aI?iuy;Ki@H@MZ6@2Y+Lj)rR zi-@D(S07eT=a+`&V?f2+HquQ$Uiv++3FmdBAjyhXN%6Ry1YTP}@Vk1o!7PxTUA>u{B~HcopE>Q$FB6 z$Bd!S0D5 zo6FHm!@|K5O|af$7j_;A4m12zrGa`Nn0A~*ND7!NPryw`JFEBlch};TWWf6KgFsRY zT)Z^>2v&Lin?t4DBc4M{Y{h#Wsx0b%r%(bpJ+jV8_KDo^`$}`S50dG#*fiJO7tfOqfKXIo zPebwiV1P0~N#bigR~P&z^c9&fW|8a8gdZn=JgpP7L40;e=6%5Ece^Xpe|B?=gZ5SPJ9>6o$bp>~Oyza223*O0172jS zh0tmFt($7=q!U5`3ql;)K`*Z8qdDpoPi4%V(enP z3gb_C=EXDD3`pCokj3UFz7Kmn!iTXu#qV&yOhMIPvB|p{+YOUau3ni`$m$aphq6y>X(AY<6(Lxn6GB$@!^O61yAnSo*@Ce zh!6~-6l>6b1o1mx1SC_uRNPc?vXh-{eP%%jWp7Anz~`V0;RJF)p5P0{72OX`K0o}^ zKi|~khPM_zy8(AXcDmN9c3PPYvM#IYpAL?3tJt|QZz+ZG$HHJ-^lNfB9M;g01d`i3 zk-Si79ttz=zWMh;MPLx&Va*#AhsX#=hsa_tbMb3vPyGwtfVZzRj(=~nSms<4iMOf@uX)ku zKmp^bEA5Wg6c#?J{JtGRv0ZRH4Bv<^!zhKnh11$M1%gKFIqyk~83NM6s|06c2Y8Vu zL>N8CL3&Y`8u)UvMh0%*>YKDUu$pT+f&WId4?39^l`ykb`FnYyg7!EOJEFr;T0Hu0?Mt7qqWlm zgWC6lHpO2w(FucwXSy0*kw7L1yuo5{VEQq3!R$EAEIv{(0&+P<{_Qq#b3gP}Z4(;t z`UftvddB+LUX_GycwZkwP5?yfnJqH{#bJq}yL0H{CS-A-6=pbo?q=r*Ywx;%Q29Lk zcvFe+v60IlI)-WR-lzEg%q!NTXEun=`nuPD+O@{0z%S?R6YUH^EaavcsVm&p;=~y> z`D(%LUE15=`<1F682t}^KunI`Jsd+{08n$Oxn%g40F-uP)mx>z;z^JEpE)K^2pH4) zU&V3`_pGWl_)n%bVw`t{lUU%$PTTB`m5RE{Pj+`{u{0P zPCHY<;iGal&UYpH_tqtCN}AjX8!qM4jrzE4j#qj^CAaef9|oP48b%QQNcvGL8+N6< z72b?sfTYdu{y+LL#m{O7=5eD6X@Qb#2`0OGwVzE}n{r_LlJ45fM1d$%_+aJX4@Yyg zwH}BN6tKAKdZW-$NkXFWg91HcWRN-m(M)y9KrbjdfICQ~8bD!-y$4d3+85yh zj-Gvg%DaNn3R@rP#=`0)RQ`HJ}u57@yjp&P<7+bo==CtdjG)nLRl zz&ZQhjiJLMq5Fxb`@Y~i6HW^V%}1ip1O3qT=aw?eK#HKekt2EG@2sES#Xn08i#>I^ zUuSDzL-Ub#JiR`6dKOG7f+D?8E>-(#jGdArTRtq2 ziNbf_E?E!&ED;2=HiWZEQ=?A_612nPr*zSKXOZA(3=jB@n0^hw`flqI7Gar{BUl{f zd36Cz7`}Yu^45bk;{zc&_((2o+6hydV(?v``p?=Mq1XDPzVXDH@cjv9*y~;iCNrp`>QqndrnOA0*c%EQ2sfs58OYDvhkbDl z&HB$!lqT3w=2DWE5RGxY!ao6=mT93xLS~HC(4%zD*NF@X+?X^>m^tfkN_}KHZu#ojx zA;84gZn`|L=X+qcp5v&}wb}8qf%$kJTTKIsT(m5=`i8-bQ-t~Fg0Y?qm{A^IfuHU? zJ_2Xx^lE(DvcgX(sL!P|iJ(!_D;V~Oa5|Tp_Dwn^1r4GKw5ThmqmE7S+J2{njrXis zSLsLkAN_;Se^Ok-R(v`B3WohA|EHssr0yrV*C=>9ix1DAvX{?=i3e~0iwoTmBV^O6 z;4MQ~j+R*kwofxkBxLifzjj5u_G=+OrR6nMQ+B?JAGc2txv+eEN2f9J6)aqTR>LTL zkY)o#Da9{z-~R-KOM)%xQ^KaOiR<5dLn#7Y_xw~f*EP*1?t6ui9ZT4z9A62Pv(nJb z?!AxB_E17JSYDdDpe;yHNq0rKACZDmw`;OPkkB#H7$Qm@^uyOVEXF^2c2t>{a2+wg zGu?EMvto;8+~rIPuaB5&5W@@ht1Oja5+hU)^StQk`4k`9Va^mhO|JYg}&@Dxac?mC-5MH^@JHDDRa?!JebJ5`dC5mk66H2rhf&;=A*-7<_91k&EqV zI;cy#4qCGMn9*kI#NSyE>f@{9y;Zf|sZSyok?TTgFJJ>(GE}^-om&-X-E?*B*D6=3 ztLY4KJ#khqbN;y>u5C6Rdny23m-zXoiva=)$VCV9we0uHXA@ z|0Fu1Zb#cC(h7txzAIBlq3=(6x$l;ICZ)d-f^Psu33&jNjuH!c$_`a~c!khvy~k~B zE*zb43TD&_wq3Rtb<5HTS({1Bh@PyG$K(q|UpMqpDEPQCk+WR&H%XbB5GN z$)c$li*L6-={;bkyxuJm)0-%BUbC=-;@%(PfK>fH1eEC-fx z2%!6u?sP9X4iEbiXNhoihkn~W@w%k#OiCX-rb8bEl15AW)&l#mHbbCYOx0R4x?%KQQ{v|4e0NDWqK#O$0Vh3cWKT%t~wHBu< zK6Rl%#nk>$02tz|zvmS8XJ`I&?wVdHa%j%<+;w{25UT+=*(}8%dCK_>ve2R8Z}eLm z^#=}F3ak1WJU9Xqux!S3;*G49g?(LY@=_u;ZfLSx-))krc6G030?Lhy?OTPS2rb+B zCp-7(#8l*h2h!Alw)T=6c>H)La=I`8iJLxW3q4oH%}3w}3yif36`5S1`odpln?gBH zxLE`#DMhGr@Ab?bEOHcVJ932yBH-3{j-zBE&&A3K*eU$mLzj^CGJ zsFS~2ufO4+cX~>{^7>5C0z;{PJ~IGAUU%&;j{spCk@3nn%P@Wz&WIpkA+N!=4*;R4 z0gX_92yhqX!q_p+04((3;Nk7bxBAOBrS|3QCBXq^51)Bv$!S3qWL~oX&o}+CaeGJb zP=@2_v8-MV@EbWW`n{e!);C73rt~XO*h2w5G_C{~#KMmO9YgN(dL6c(cTXU>%pTc& zi)!sZ{c&+4I>K}kLrJg*iC4U$$kJFROS4jiF zd%&GCpcz?c;o9pI9^XM!y$_oT4!(mPvzv^BM=@oL8gxvM0vXclV+{wo%WPSu9=#>( z+Q+gj?^|Pm?{36h4!)!$^|R}r7w6z94z}H!M-7d(R7tKh&v|*R;)kf!uMaHc?3AdZ zU;Ce{>`27roFWR;{HP!5V>s4#GvN-<0!w{?_5$MrHJ6;F1y%XA{V5d*Lb&}SAT%+3bHAf3VQJ ztu9qn$lqTtXtLgL1cI_>iH0C=7hWe-Fz^EmVr~u{-vamc?fzxpA1*@@;y_+?-B_O1 zeSUf$W(7tE{w%Vx+|SvtOz-#NFEmRS7~RZgLxQ7M4e4r2Qt5!;GjOLXZ!5cnf2nahgfges47?g!)n|b5#ER@*^8)~o^X2__(z&UBb+IDSA<~3M0Ipvt11xhu(jH~ zjz+{iIr^WBY1dNY+#ud^HWs)#mCHW^?aq&XEU}KObh0%HcD7f613p^SG->{^sBAXJ zokD|Jx@n$vxp>nZ2@L}rPDyuX0{^sJB1V_RUx%Zaa)-N5^V*&B zcikW*N02U&z)jJV){zpoGa2mDY4T5}TC=-9py=IP5b>T$tR1PW4}=~@eu&(@HB{!} zXh`!Tzm@SCEt2x$6FmQM`Lp7#vqZny`vk6gqqf7MCg6hR0~aH-f7R0M>;eik1B}c5~+2m1@K7?GMp}u#JIcZo7nxk%Y2n{tR_Pgu{uy0cUxi@11L<2k&ueR zKB7^3?c2sZQfml9`|cjy%lH)9`cx=Qd?-VZ9mD;&`1LN!y?OvOrEOiJ-WZWQ; z3uChy*y_;P^=Y%yo~Njy5SVUn6=!2~-k_pKT4n7m)G1UWIaGZ&3B+=2xw66yPaW8;v$F&@GBbbS59hgG^SeSD7` zv;-j|sy*tP@9z96R0J8{)C#4IFKkH64TX)e33AQMoxVj&N@rGgCLLmhiYKl`v0m5R zL))1_Po=Xd#4x72NCZK;>Esm_ZnoecM1#3wkz;vF$9H0gV=1#GyV4EQL6v0R@^MmA zQQG*@kV*~^ZpSs7NH@Zzn9GDTpChioNIdW%AMuRP$%cI`)^C_b(+#8!+u4)$!p7_B zD-92rf<-*jlu8+m$y_+kxs=(1Auce zAtAylA8H-B73C}WgaED;Si$|F)FdH*1b2S3fYeoJ70FCm_Lcf+%Pz&_(lMEn9FRKx zJabI`SN{Dxvm3D8U+nn`C%ZJ^iuj!uO0ecJmf61@M^&6O>t58mESeR z*wPv+V~^UU@xiqjS6c*X`vuYn>qY<=)pa6IK8qe6qMCrm>;KwP?(VaOx8i3b9Y}&1 z8BflmJ5`-Ia54!6c+NxOARbcYgAN%L!lA#CGH5;V7Be3qK74!oHkbFY9Lr~_hbsA) zzQqYB@PY+rB(VGV&~dx_8u5KHknDk8hRotERFI^pf5b;IKo#J8Pe}u~Gex(iRkQGs zKzRWGtTqP?ZZ#_INdh$sne$;KZ}zFGu)(tB&HZPj`I~$Xt$vkWYZQ-L-?bQJ<5$p) z$rB-;404#EDm0xtY<$A#Kkk%>`r!?jSYf8XEUB)`BP@r(;EWNf#@M`if0SiBz}-k2 z(*o<{CX>+=#|&6Kg=tiMTx<8PG<(|Hl`wiOyrjB!oGRMl8<%uT-Q!I7rrKV3t;y*V zv-SBfHSfy&yn9>m=kg9$G5rKfKY7^k;05$2q#^hs+sE%MUASoxo2OW6G zaSB9OocaiNYrEOO8y*5hpumzQxPD&bAnK<%04AZ$n$j3&6Vw6@XZn}zr&S74*%5qI z#QQYE>O@OqgMX2JiwS61UB2fIp2^e%-^wJtKpJLWA`pPh^^(F#D1GwD{<}4FV`J@BTgEnupua@sWqYDX^%=#yUbj_i|xlu~*0wV|CKobtSmoLmJPO z1Yy(c(c`f=67FMt~1qMzsWL zH@!oEPZF@NeBrBSSm5>%`NhTkFaWk^!_?er?qfDaD@^F(x5T~o7MCgxi^OmHNzV1{ zuK(UHXH^}0`KW8&xarJ`^U6QCcxU2O02^a`uWnL^Nt7TB2?}xE54Emix}S%)Us@y@ zF3D5Y4$VMZztdg`CAAS1{(EcfKlq+AjTyfmLRG})gwCw@YHvNedac1^7W#T=J}W3t04$#AR?- zwpNC_P(0ARW&lgLtruGS=k8`w*2)FGo-_Gxyz)2pn%nuV^c!^y z>y@lX?U0I{-e*Fy_^Q|Fp`!m$bl&k$|8X4u+&P@RN4Byeq>>fRRw|UeLnwQbac4z@ z`eiljl#*RGcVv~_FtW+s35Rpv-?x8y^hbZhcfCLF*Yovy+3}l|TA`8*+`gKvkC_(S zHzMT3n%g~mo+;bv9Ladm7X0BtGJXF3-QjgCsOU6e$KiyoGh+zgKED%EOg|nh(Bldq z5lX)Qp6r!;}nlG*)8=`D?eovKk6T1COCs$o17{dvGeA;x_N)b^r!xfD^di zPevWBPv2mHUoMK8azN2_RSu+}j_*+d#6cr;A_Pdey;W>~1v!x+Y2PN1F2dYFW>I5p zG!9Qu2no)aS4f1+{eJLXW~kWv^Ib|thx`&4!*wr5i`U<<@*Ltr)VN^?W}db`T?$c{ z3QOG{A)kl2LoE$E($3+@GJqAC*N|zrtgt5j{^AQF_Mr_jGJSFbKlX@R@EMvrFdKsZ zfQrUuU#@X&tVWxirkV*(M0B4e{5QQ$fNW!syPYvZN(y z@Zo@CylMl+D$F-elHl2}*)GCX<@huRzv~)`GtM>7iCrSbo)-V#$locvvISSNvUy?GQ#}_3s-3}-Dr5T zZgzw29T%VE;)YJjHJ%Gv7B=f;QZ~rPbR(Li0{V4}A%p?I+^S+;w5ByrUwC9&}gJA z0Ku$j9h|g0{BVv|n@WM)Cvp9f_s^VHz;TY1P;VqG>TvQBd&hfo#&LtqAlv!--{ube6C?Q0~)h~`BcGIveyVxEEsK` zndv0{3AGlqWtv}|cXN0+p`)V%0OE0IdBm%ZTpBQXV_%g>q*IgCRY6nZR!wF(hwOt$ zdfJ*nCtsI)G3}QSj}x zeJEVbOXECeZsx-DLnBN{4gWoI;u2PcwpYH8=LrYaL7zLVlo=hl@Kx&+^e5m$?4JW( zmzQUpIe+G{{P0W|x|DqH)PU*_e*UCQ+VE+|5#?V$6>h}pN>ahL#!JG?d2y$xaV(dl zt+kx{tY$o5W?@%^&$Y==fQcG+r*~K~Zj7h>{L6B|>gN47<$dM7mf?M^>5>|rErMx8 zLsN4M__Ru=kb{W~f3RI&j+}l=3le^`V;4}kC0`WSR{fuNA^C?WT zx%^vPP_}diL~Ca}3}5HzC=b}P0+&h9gJ(*BH z>?nlCG1HP$%)ote;obq>Y3bFcAEoooF(XTT@%**;sEx6a(tT)O6Pw~k<@1{=?*k08 zJt=B{%0IvPz;~9E^veSSEP3dk=oH{p0UVJiLi(OX=ROF#k~pe&?T1f~*`7X^5XZ6e z;rrV=ZN48Nbr8`_#wsbQe?KVq1wvdn$Ph+h1W`c14Vpe^gn(}kztR=O7+6?H@*HGPyGj1u@wfLnmdtJ5r*C%5bIxD_q;!m zrt>+b9&!~7ks*ola<7RuBOiaaab$%aA+Psbq1$7+i*)~iLf{x=BJVz*P3$DCVowUzHSgg06(G2sYshB|Kf?&bu7mbWht>I6ecaaOBJAe%^BNZFKD_ro!6fMl& z{R+1q)@&^=;8QO~a zHlcFu8sLFNN_PpmAU#aYk5a??rF-Oz{I{J;=`Q2?bQ?Man+iKe0Xr^e!67aFENSa? z@6uWTpVNVON(gToBIMkezy5n&_A`GDB*;*Em*DK&!GS~Yl(ewe-KDn6Eqoj!S!E;n z6c~pPMLIMC8#Bg@_}%OC+dXY;`OH$*{;CZRCmY4Z0b5+EVXkoH^8zjBkwYOh_3>dZ ziv1Nv2fARTAVgN}cMT=@6O~uD1sJo|FeGz%*G3MckMqeEGk7xY;z>0UEEcs@A^c-+ z%it#Xod4sAu+akC05ZS1aeld5jXRD7=%o@u)D-3?&N_mdR_({{7~!fkuP_rX+`S-1 zkUL7VmjWlE9JJ4t-tP0R9?N@-rDPQvy4K|99GLLI zxM!L6gPBTVhVl7?50)=uBPDwoGTN|#4XGbl7stDWL23C=!)4Cu^0)|TB#@9Wiah_z zp+^Sehj1%R($4;L^R_VYWdT;a^sDob+ty#4gs371m>LYHuij zDknDl&arnQR5$eq&&a-^@AF*;Yn4$y&Tldi)jgvd7467IoKCiF*Qp5Wd)01s2I*T9wfA3#+H=qmw%A&iz9};}Ng#!+5P-%EU;>n0?n4hLK!1$qjXSnV z;A3V{#`su0V({|n(bk;+Xq*CU$Oq$s_`_Z>0(MHm5)bO>;|u&iBJs7Yc?og4fBn6# zgT~z|@$a6eGbkaoUOn&8x>M?g+8X*H9Fe^yzq@WLN!WG@k|?5y$Kuhs2CJHrRLMdw za>XlN;;(AbCHiXM3L*pe5a83A-tFM9?1#zSrZCm8ZUXlqp8mu_;b1~{krUGfxHWD! zYG_Hk@5?2rRwQQ*%ZKRQc7X012+}mph-D=V2eH&+nDZOWgL7T z;YtHX{zIj1>u!}N=56?)6WMt>W}rWp>%@FNulo^^^CQy`%{!NDc(bu86mV8e;oV}~%tRy-luX~B7Q*EjbqY@jCg4@6J?CO>1mgS>?Hz^YX zcMl-HD(n^S6|zDHwy8TH!%zHeuJTo`aVowEYTKYq-22;V#N7_8s#MEcRWP_D>jy$m z$51rDz1@cn;3`>lKA4tXt*+jf7sBa91Q^`qXYBhHx}8zNTdTiEW81rxa=9rB@bpy7r+c`Tyh;&$F0#KV_9^CkZ@L!+jcI0mKa2*&@@-!RI1$H7<{mzVMbU{wKda zyv{3fB-MQtcXQ-kgi1&81ZNo-YvXX>O+hnqZ-W$tqGhbLKYQKPaTXb)13h1?^)Q2z ziY9f|jhvu0Mh$T6JyAgSW4GV#VX9$v{6T7Nbl%A+0?{?)zyAJ<21n_4W$MZog2fK- zE4vjk;)!uRxM`A<>gHOzGF?lH;O zMvcPshpXfFUM+vuM!w&<)kY-jLC4Z)+K8R=@uDGQaM1HcE8Zf!@Zm#Z?&y2UBu}H% z4*6s!n!XnmpR8-C;?mAW)O6%2I0OY{P>AE`Pto|$iwUSRp83v#R6Jb(Qr_(N+bh%D zn7{bVEj$wg>`v+F?9BhQm8|4H7&-pN;&A#W4bQZCN~&zmd;|?L!SmGl9Sdc_)Hamb z&AIs>y=*QI_ugHPWK`3+2}0D&mX_kEJ_P5WUM=WehYyD7)dP++`?D92NHpTfOsW^6 z$;`GvY)$fm5N<~D5lO}0`-wxf>XNd$*Pr6S4hoH&QuH1(T4+62Za=00!b8tf)s1a6 z0S+t1dQ)4eVz<9`aJDG(P{i@`nlM|a+y@*p0&#_dhn$%>MpB8k4pEd6U?wCU9?F?d z-|GF8#^pb6+Ws>0t+4`8B#lWfG%O4eraB|&LA;ehLVku z|KW2|T}N*y{Ccu@>~&65VH511DlZCKk3F$HKp;LI_eEe7uu(M-qXS~$9OhFY=)sO1 z8UmacY2X{cS)OLh8$7OtUwy||b|@4cm%7_&1|O{HhAeDno|oJZiV)XOq+1$bx|sv7 zw5hwmmAZL|jQ4-xl{*W^gy$|p=e_g;iwAr-1PwI3zu1_I zy#$0ZYiWl*>t^?I+?5ISu@FU7P&EFq#^}>M(7=WBLy4V z5M-39dXpc;E!VvXkQ0!dnU9NLN3g>M8F*v(cvcNNoPQc7LIbCUPb?DhU!N*|61x(=LOw{JgByNd4nt(;V?hl3(X21o#P*6QbU;S8NlbDb z5YQrxs6cT(Wl2!$w?FFIfn!c@@gL`ExB8iC)_yaY&Z*KK-dbj=W+UG-DNvt$qm2y= zd+qyDl|JtkB{K?L_CW*uwUQSHe}z)E^-HVmX%DacuKjhQ#{-`Ox65_cy}C$SRQCmb`#a3L&@fM*9)pjZNulQ~ z*T`Lga^5si&8FirmzXR(p}Tw-R|eYUi5}PouS{lWwbw*sY^XZZV}jkfmIP;kL)=sC zABkDDpO*l=G*7X zoixl`)6uba)_J(vu>NinmmW17884SlpYQhp#jV)4K{4DcB@O|QIIQ$9q8OOb4%8Iw zEc8O{tIJ|HXpW3_#j&Xo9eVh#KB~lK<%BU->kHO}V!bd3=s^+BSsnLq>vQHqe?}yW z$kB)?GbX~R88#l1Mn51$|Du82&-){C`KpwAJ8iqJ*KOEnz@=&cDp^5-4#;~R0A_xo zq$=xafE&Cep~c+lo90qQ|Ea z()+O{3DHdrKGtd?zewIs;EPp;TgoYUx+ReCs-YjtW`@CO1pKaD=nCL%5$r|dei79Z z-XFumD0iWA9k}#6w~*)2Vax#kjW3A2SdX-@1O96-!#7ox!Dc&*v0 zyUDxB1~JPc@PWog7$*dll#LA=1NcT9MIWd_WRcOJW9tS9uP-0_huR}bkFk0(zi#w= z{Z!_iIS0A0LZyJ9dzL(}la@R>Tb{AtS=W-Hjim(Jds5d(OM#{sAVJ0kDJ3;(|Cs;f@reLYS zOglu~PjM6jOFZSx$jz9kSXQ@_qy2HC#bz3#*%&5a;`}M2d;Q_XH6f?8OKlkB+!ZjS zMd?Am@yqZ73`gH8Xto`FVm=sq%iJ7(R$JNz{d1}J;n(l#51%lp<8TN6Rwl5qX%1#& z!Vmp3!j|~auyN>n{?7W?lR5{r*XJzh`ORhGH(_?=#vuaCf(k7F!h$~=QGikJCGg}0 z6Uch7f9Y@T9!3aVdHCGjWux&3~e5Mw^7~OcY+-~ro(Nh zQF>VO)Oi|GPWqPu3QYKO|HV+rLWItEYar62-QZp}p<+{2p@>INQ`FHz(2pTaHu|4`L_=FJ_ zb-3!Z8DZ_Cj&x!e@T&Bg7sa^ObliS<3-U5t2PbLmB`@2FZ)8Ck$%#DH(bm4wybW=W zR62Ey62Ht_K3nXwOt+G^(04}Br4;v;(9+F0VL~LNO!Kdl`}Mxnv|L=Uf0%x5zULY- z-9@0tKu$prj>huvDtlaCmzPZoUHF_dQ2N10xHFO6<+8cCS#g$>|GtmYO#y+&!VE(b1Z~L~dX^SeroF z_XQ~p(3Ut^J#QCV7PIvHHf9N0mp0q6mpx0q9Z`pB>OR84UrUqE4>b>KyD;C5 zIW}eoP4My@KU6ob}aDk($@BXHv~1#FN8tS z=cwhtGR|jh8Vt0k>5ueROg*3lSHwngX}K| zqxxVfj*5b6MxFpILUS30DBzIk-SqH}Asq)2+iRY2c_AwQj>t7fSMQ?tKlA)VWIwj2 zu=kk09}&tIyqHDFCj=19MkW|z>W$bhEg3f81-H_uT=GlJd6%mqjQRRFu8L`EK?F`<0M06dP4Z9b;0O*XD{U+r^1Ktc{$xh!fxyqhaxDOF zHGX*pSHuA20Qu5S<22Te6NVDu#KX)H@ycnU-j_OY4j>^k9|6ZFCbG-e{BzMZLPaNd z?|)$oa2EzGT$6{&+r#F4JYl+A3dQuj=VrZWIq^PiMzA=eXi(52ft*g?YQIISt=(lB zUMEXW9=~|vO-p?0a&PTHWJGaQMJBTLBtk3Q31^j=D(F$isQo($MZhyHaZbcjwsMU= z^1P^0S+4x`_u)kZ*zir-J)+NTJdefBK#A*6Q5;_Qub#<80Di8N3q_GCa5P8LE2QzAdYoqnQAuz4_KNe&QEq&U#IU8j0f?ir0T+&4M5%2Z^E_vbeijVnR zNMAFSy7Yu#g-F+V?-zC%*A(pe?h3Kb;Vl+rN!(5dUffJ)K!W*-(LcH*@Vkv~Z zu2SU}5?nG68L~&i#IX3IZyBa8sz^6El5g|1^eSrb^@^7u7%Pc+UK)C#y5sWQny;qM zOLaXLO+FpHC4T$*N2xet6JSj3*{uc@+`3bT&=M=Rc_d>UP#9GNa09ssC-3Owi3yd6 zkd~B3NeYgDNB*Af9QMN^fXQ1L7Zm0h3I&{dH60DUAHgLY3Z`%&h&hMh=^B_RzBp1u zn6gO%=lK!J+%n+H3pz|B$gB39@(^u2>1g;+gA`ycz(1aOQi;?R(YO}&{g0pu^rZ;X z(qd-eNpBsAgu6IFw7UH26?h)qTC>{Y`Olvsnx9y&tNjmoIfcLsJl8C*rJ0`g+U!`4 zSl^sK=^=<3u!dIV+QZ~UDm<9=mC@YcZpRk#G1nT_kF-{Yk7!>nAU#c;OK zWg1JD1@1{G_x1t4*iiNn9F_~uTuLXWzgb!c>BJe{bZv`udbiyo^>fdi2c7#r$s*hei=Q7m6GGoXlgK_e4u%+*t2J+E zt`SpYkUvZcHS)~(2<2XgYk+!Mc2kBL?&SJ_YZez9RBE^#nCePQjDVtFb2^ z9n?O;k#@>uHu*{*JklOu6yZCDkQsJ|NS3|x+x++o!T|=0zTLjlX3P(|aqpJ;G1Kn^ zqpSOL7v_F{Y+u-dp|D`5n;g+_BV*!Y)}^BNpH_IT4b2IhcV1&04cwI(ixO-)lwWux z+ZZy|Ex=_tuP8ekp04*PMbf;4Zv{nIBDgCMCxWug1=5MxHkP4C&Y6QEM#y93w9t~l zN%XF+*2hcI_YM}PaGw>tcN!QP{mY)6`P%iizx6fS^Ye=Hs5I+JMsDck#H;M_?Jc(t z+OusRBs2kb*LC)Cask7Rdd>a2tdMGAef8Ykp6Ux7NzI>$!Spq945KOZ!mHj(J>%cs zy&_gUvw71tUd#V5`RKmUGqSO~QF2y&}c{7-Wj3q?`em&<*>(cn;6r2-H)-u1pv|_1N)nlQplimFzs1 z5pjF5)+N5|wajM*xD`$qh`IH?r%C44Y-K|SGwIORS!v&oX0&x&`-2|i`j=+Wb?7b% zUL0()penYGJQKMsA`WRi8UlHLHIptVm2t}4a*ntv>%C}Rc16lwE`bsiSMlV@leb)C z!NQ}>#Z&tm$rsmOHeC73{qu8g z45is+3EW{k)va^}M(4=z=73N*U0Y(#@;@OMMIAT#A#p2~V@IMhaeE_a|CqA;`DL0P3|SYc7q{n`C)JB#sp_1aapV3U z8gJf;pJ6!ZU!IA({&cJd{5q(0Nx(R23PdV)$z{lgX9z)!n~?OkeXK$29G($ex26%* zOOCqm`Qa^kpo5_2rD`GVI?QtzuHf$1L=Bbkaa!p$5p?Z8kjj_ZLD4% zMxzq3-*dorsD2p34^;~Q)?T&38CiZL^E^^T0T=g8+T|(xe)3%g_CbDB8pW%`q}E-4 zw4psW?Lb%>qsl7lLU~lhpgxH5QEoRyFU7%vY23U$Ru*=tBVWCd0Ct?*GkS{0r4!^n z)yQ#GPZCT2Z3W2tVb+%Z?*S$hDT9ey(R&MQ^H1+*pM7x#<#VF}C{{rO{-YgGqt+1K zVTWuFkFM1{>RW0<6st=9ulMi|&OMf?`%`F351?az^4hcy@fKsq;o-{Bn5kVyPA5G5 zy!gZq9Q^&>6S`DhvzV6BdJu5%%BQaRFKc^~D%A@{Ud>HE(z_fd#z=A{z6oqIMI1xf!qZ`hB83TSLDZ~ z*NJC@=_z?x8Cb1gxRX{R#Ftn0{r9+_mdBc>XfdNhvat!M_sgSi{*D@7kgE04vK&fA zpT`&@?;x69m)VRtu9Ta*aom7qte}nfUysPwe)Lb53cOnw z*1NxdK#Qyh`Xn_w?Zf<}LLr;dE1E~~6^8&XUW_!sx^t4uQ zVCj2SyoyJ!LcFMOmI_z!x@xp5B`g4w-yg{UjF|tKE#N+EB<2zHfF5VF<)#ciZk*!- z0pkA+hu42%hfKTh-9}tN(4+88T^50jH&?CUzuT<;nSp_wHZopD=NSDj@}%niGix2E!d*egRk8E3 zF97Z0&*O~Z5)p%i;9QXo5(Wqn(5H)h5k^GwN^tcX3nrD?hy?*JgH`!2Qe7!bc^>qp z2(R>YVc+W0#ZvMOt|-P^q%8+DB>mgnEx(oK>VqNIjGDi-?K^m0Tk(R!$lL$!%=->M zSq`Fkg%YZWPjRD?^qG4SRm{7IiKG zS03*%Ws}RbcG>sz+C@(u-U^>qb$ENS6zi2ZTGK4gZlkb)bA)|3j}F9O50dvIMo747 zkZjKet<=DwG9g`zZ%(j3-;XDDc2u@;AhQg9-bW$W8E757XlM-oa-DxUzxx~WbLW@e z3}!TZjkiIuDrUV{en@?3RvTMYFSY}@-#fwfEC)?$&t;l+|H`v98p~U~FZ00^;HLJl zqUr$m9A6@17k9VHz{nCMdr1cMXcOC%cj=(lGAkn#sVk^TPryeCxGLY55K4t)&weL3ZSfU8R^5I74; z-~p2>ydS4p(gE&w=}X~z^Hgs8hdc?kpIBF=E$QW#`r_VSbj4(SgbuJHtd`Qz1B?>*Yg!UHsvz1pd|@S-U7vuCgc1 z#1~SQzpqpsUC51bQ~SE$B$F(e;hfADH-oiBBI{8!;VB(kjTs*JuK?h{Rc#FuGfo*g z3nAFW0w0PJpSjQ{t|Sx)N%93R*~P~wc-`_G=#NVeze$>TU11(6J&y{JwxH?#$S=X|(CKHY2Vxa)ElDw6 zK79fd*SxtpBv>o>G;R*MqeXJ%WzxFZLY^>xhXV9BRcW14T)ICT)BjTEraZqu(s5JX z7A>|HUGHDKw{?tF_T_s7QT(cPkqvVDEY|encqt}G3-Qa=}mxg<`8^BK_OnQ!0VO8^7mY1_F^shlnj@(U&3 zZ;A#Y0LOyd;;)ANty9k`X}9>{oGm$4Xj<*XHTjGYq7$0s^=EB0uDm{Z_}}_ue~mr$ z*08nr`)JgI7rHiGcVhwb6q~4Hc(IXC+jxI=(XMLFLHa2E@0CbScu6gz7954ut@Bs` z99>3ba&x}#+69{;%r_b8h^oKfHWa8tePVu(Z5Q7Cy8koBjtIS69WHfRUwbJ&Ho5kEow2-e#IUk4)M_EeQGpp* zm!`{%89p=#TJVrm30eo^O?OWHjMlk0HfS7U5ns0P+}=n>w!G?Y+r+i>51V!kCb2JT z&3*D&J5D^x%Dk4r%!2icLvx9)Xf33rMY_+T=`g%Q&14nmr4a@r1#gI3n_oS2Y`LX+ zdrBorRXDUHaH$=(r=%?ZVnx|!maU}KyMj%oW&g8_;8?WRI)4KRmQhbaUpVAmK4t{g zwfv(?jZxB*(kgpOd2DAksfRE5G}Qv z=u8wWYGJrY*y;pmi9g`LDf?NRqxz)bcu+qh62k@bE<^PPfhgi+e)raLurxDaK=Lx- zsT6K6QW=M%A;wNR2`4P-J#Dez$?Mu=Cwe4fX;sBG4Ro!mW>voYe>r`%p_i zD1!IND3YzeAL7UI1BjIQfx-)%4xO4m8^L9kjG8| zvw&r)ute{N5JKk#t0TbQ8YJvqY5~p06M8Qp*HT6xadfb$@Wg9t(h!4$fmyhpF09iB zNf^P+*(8dQRI11de;y^vbTAG!nTENIHL$gdenfGN^@)jBvNa{DJ%U-p>B-Xjhz;JC z46p_JY6h9{44_S*kkFZg;E%G|FX%Q3s0V$0x`AJZ#~@CA$RwW`Qv=Pm9jUk9KbAcQ z6-{EZhW7;Rbb^M?pqTFj9Ns=qw`Y{s#@;3>XorRk*>k-=v+lRbA5a?Kb1v+zyP(T7 zjW-7Q^HMx0;l(68K8?;`rZ`C^ZE3wl<$h~nJj0n78nV1K3-wG_tCA%FPTf#SEi!e$ zzUsBOj@YspIpgFmwPvhT7YfGsD6PA>0sF25Qq)WvG4m?^`78|@h}3eFiNB|)Pk!z> zb&Otc}yMPp` z?GR0n0IOz(?Afc8;r#jR@Jw`rjHr0GJ5L4Z1w>DS7nhuB8W`Hc>h2VViV%+uhr;Mo zAopQU2VI0dcb-`c_Y3taO--%p66n)w+Q#rFk{v2+PuSmGE@pEYg{++b{DRg5$@4n1 zcy1yAj65tYL1>fp88WT=?wXFAbdk8^t9 z@Sri8V)fgJ`_EFn-0W^j9KM#fz5Sc3P^{3iR|>^etM}E}X)85a zDgqkL+ar{^Fer~~%d#1XsO_W|>^$l%GC6Bj98MVx63yNnrM1*F#K|2#zrc3z()|nT z_E09ZgVUz;YV`Q?upXF%sDrkd2_qHq$L^!A;!*=|S9kTFnZ?Gy{xcOTczU)A>VFZ9 zXFeIR?dyl#3N5cFrDW_f_MxSBz5PtpyMnUF{K@S!wo}_?s~RCL({^svcT_`~cXT7c zjJhxrdf&Ez;J?_C@VO^=88W;qg06Bxg7EBj%!2@~aJX>fDI0q%!xbtfs)46x z^8VKO8hOoW7ZZm}(9h-ABnPsY)QK(Aj9oJ4Vsbx;ps7q1B%~d_W$%4Nc;_k$u#$iyz1(s(Vw5+ zrZHSJsSP!DRX7M>{d>iLKvX@RA!KjO4EA|DDC9D6W#j4T1`0nBO)dNvcotHy56;r5 zHNX12ly9T9_;tafP_6NmbQI3U;p948pm9FaBE7X=C#xJMh9g_QPQA&VU8=h+ zehH0f2M%|Z$jg7}?e0D7mc;-Tn)7DSuu%5qzuRDHpHT-SY;X&o=Sg*CJuzI20VosS z$FIOt;X+}WdvbPZ;diDlkJm0C5zLZVKIbMAsE87~iZFF4IUpvdd*jEk*Mk^hI zo@FJg*+c#gfydNFpY+#wI{ek!K#45fjviN}$F3VehwET+WWs|7V1E%}=2xnE zE19~6Irax(h``}1s;aBUO4qNm?&JIW zoTq;mbjuD)!#zUYCJQ-ljwik-waVmP4YaHZw>xBQY3U1>GUK+B5%KwiwHV9{zb?hg z=M(4MxMVrJwN#KJx^+QegtxatG*xNr!Xbn`Q~td7%RO2tn~-zSSbIgd0RDQ~voMyk0ov4;=(`UYg#WoFxYg*d?Yvix;0c&$=Fd47>W|d!{c6BS|@Ri&cz>ZU0sdmW7WR8ejy4f={7TX*nAeKMtM3f&}2uR9BqsDuOs;x)0COlFa(W_F?gI!f%|axFIIEOu8C>~{qI2h>gXW8yVYAGX=e*V zGYjN+bJrfhw#wY`>8o}q9hQsCaOq8(e(WU#PLdgJsa)SKHIe_Oae#-(63b_)^6tCF z&U7PbmNh7(QE=qBM+#|i{3Gm+FGclPG!idZgdl8bV_z&37J140uAWFli3^q(7 zqhq9pA&JLkB0X3H0`<`BKU+8*!Tu5SehvR0I~gu15xixYxMF&}1gZ$X3_TtGrtN0C z{I+d#zk5~W+U=cr%W@yf{c)+Gtugg7rPJ)plJiLRSGaOs=%LUG5@)1+79M`!5DU)6 zXMI-(=0i`^eOZIp>OPMH%e~1i+LXK#+vL-f z?|;6d*mL52Ca)L`d}$v2V93Q-PMs!;jQ#Uh1)P~rXuIos|wK z4&}a&|B&;L4WqJx!c9VMOWrJGm4M3jCo>7>F#$G6>=w1=VPb1Ixm?R%B?u#4b6*du zRl-hlt|&p~z9?xvD{JCrdjsrja$jZC+m^Z+1SzC=Yskr2NT{6|jhhRQkMzZMgysuuAy#i-{0#9vv-1`hGdd!7KCrG5e*c#UI7KuwJ8@2lDem3N(@-O-Xv0R2~ zqr{vO|60(Gweb>l;6%Wmh+Oyo(0=U@P2$PV)gSUGSYdm7QlbmCYfuU<=ER~Up1USSaz_y_pet$9j?}{n1t=+A@?C@5a5!xwD#16 zsc}&hdEHX7G2^`D8op|&p~*ZnE%TjGQ2PNK1x#b|yb-1Vb6)^L5bTyahBB-#Ys?)5 z4*stG2}4CNEL{iQ_vKKgUxFXi`7W)M+OAt&aQs%z8NF`_00Vnyw~sCP!6F(sJVF8D zygD-&bzuVQq0S($D>gU~IP_0bf!H`X>*s#Gi}q1U>9ZUx=DlC=bC%KPW1=1IchV^O ztjX{-g>u!nEVNEkb2*TeK62tUZ3!h6Y*{0TNh2Y5cS9wTM&xVUE{nWus2liKzI7+@Iarg&|qY2e+LtS&EzgBPIC`m&WP^M!! z)D~xnIh)$H8Taa-Qg???lZ&i5n?1sUKzOK~TQiEB#eTlSN`5!|RV6$5|yP-ls*u}RLd3e5oD6fPOW68$oh zJ0s22r7u(ueu@esX{6i`6d#`X3e-g~bUd&*!?L_y3txT|Vc<8s(<7KGY#Fr^=61R6 znBEki&rugFP0#bd%&?%qm1_?!C`8%_qqf-rkf)^AbkL@a zzz6TT8s@V^dU>HQhc*8nsuW&bx|}Y)+)4ZV|=&{Z(B3 z{jJwbdObmINXcj-m#-ddWjSd)#f%dsOX=hAsqFMKy;}!$bY_&{wV$_6#qSh_rR~H# z(z|s>OkGU<&CLJ=Vn&X%KSaMh+7xdX(4=;Z9BrGlGH;2w3Dxh*04pwRR3(Bja+)mn zcRYD%G@k~ta>Z(7!(JI2-1IVrj+;JC_!qt@A=-hpVa&cjW94nhG!XuY`r&H<+|%$B z_T4#SH9-OKc=kyIL2@`ZNP^4-U$Ex#i@1=ccNa2dnS%Fo4=H>Rq+pjXO5tVu5uQ1h zg6533AtAgP1TE?pZLlLJ{%G4}jtn=ys>u@N;i0izam7GSXtfIY+ikDjw+aE+Uqv z`@UqP-d5h-DEHAw;;dU0qQW)o?FJrzOu~hV=1mExK)(po(Q(^Ex36-c))n_5&_5&1MiITeMh_3VzZBJ z8PW?I@ji?L;Gp4q0-b@?1&fkLqCU44Y;Z}nk z`(KIXZU2hWO@6LJ>BLl9=&4niPhauTxA#gfVvmcLb(uNNOoH>S+$ywizrbh(TgIHa z>1kX2F1ndL=OrkHwj)XR2Ae((BTO5IWUolup4OmskjMz!9Hwr7iI#S(G%bh=Tc3Hm z2}d7=z#!H-acg%1Q@D%ITqnL=m3l8ee31fu8g72U3ebVUcy+8d1#mml2r+=XW|*~p zcB67xpIsAO0i4XY))MY8XNw!M6D%)PxKGLO-H5u*J(H*f0dQ9u#2j8ap3)(~?n$?tbX}*{Tw! zZvw!mt-3Nf_LxWW?}#?}8lxmhW9{e9{Z%UcJPJg^MsvcMgtVK0@e*s z69@_WZu1&`yFl;~DOD%UKs#Tvp9G!qfK@Y=pquE2TG6n)Ru%&?B8;>7ZcFOWW~LP{ zyCte?6w^?ee8qS_*W};k4lanjoIXVRKk~$v$vveN*RKNclzt3@O*{kdjvMXesLq(-T zDrA;O5wc~RlZ+xHWt6SbAY^8pLsr=;dmI$9_dMskfA{D6`27jzea?B`ulssk*YkRz zWX@g_5^`>%`9hEw@tA3}SaN0Da-rqId5r}mF`s|)%RDyDB60dyrk*Ao=svS5McD9y z6?|YVXvo%l z`E*d<^Z0$tx3`!_k0(C;R)>91Y?+Ye^8=$byKwejneyRz_=z$yUpnXQ zN%IlmwJKr@HjEQb7;o#`vVSq6?tCIZ>csIhXB*f+$EUxK5Tf%v3x*glScGHP+gjTYj9T?5IVZO)(y{E68R^u z;aLtODMbve&*=ZY={qJeA5c0_UhmRTjP~<_M8axXe=IT5yAky{J1)CYOxQZ)bR&AZ!i z3yEBhXnoX@z|p(>=86rRNOh_E_vb==(jZHuu)XY4!_lPGj%a+K_yt{WmUk=b>0SV` ztL}6ETU{1$BEfFezy;1KBF7`(0-T2hO$U!n~#%**O zm+Ul~muz(F>pHbM=cQ1<{|gtoRe=+|v$uCHQ#&wkc%(LCm!|PGReotYeav5D``5)# zdve9Mu5lZN9juFZNPK@+P3ZHs2UIDK{fPd;8d^-hM@{I=rt%Q&8^@sMT6VJHw(jqIO6lh=f6+lXLw{EMv?2tNF=yD`=D!GP(Ckls@k6nKha zdbJ}eRbWlmB|LDzLu8OcvX}iijIY1FkhDI2MX%+eyg1t7<0GZemQiY+2xJ|Gp;qw6 z<~fECNTdigI%VnlnF0KXp)bM#mMtxrGx*{TUTVkii%*~m5;RFZbU5(~FVLub9N}w? zN%g%^J`wS@$?=ej0t6m^yoxxX-J`C8XJ@hhq9ATWO#fjf%fd>3M2PuH7YE4VA+V## zdk3u!i{fAuBxA->3lZ_%LNYkGiw3p?9QK!0E|YHu5lDLjntp!B-77DpTjZ~^k)#iR z*4@qVXAh(~&Ob5ne5!XsD=Xsi>F1ah2ygPIgSyQg{-t&G79SvLK?`He1WJe`m>MBRS-GhFF&Vg{bjs?idEWnCK zcuQre+7Y|?0#17K2&|Cab8Laz0Y=w!xOEZB@!f+wFw=c@gvphmw&}UuvVnj1L?P?` zb~TlzLfG8qWy@+|6)faJ`1KBx2zb|B0xs&=8EEYbVkFQbA9#vN91|Rw3X%JMUmkjV zU6UGOO*!0qbKZkkc$JM%yj+Gnq=p(8uQ0?y6;S-$x#QgDde9;foodE?b zi7VwfZtF@?z5WoKOpltKhjuU<@KlhHA+;4Vd_f%NL)#|wC3WJZDKUZH;V3t3N;<$Y zv3$=?cFggDKI=b+EdSeyn^-@ZdD){kNheum=%Uf&c_!3}yM1X|)K#6ZmU9O~({^7d z(b?(MQBpSHyU_-BM$50;3e}}HYx>AtglRmB@4-|!KL*8Qyf+;=ivP)9kS#afFPrsW zTOkr)_mLB#O$l3dLEHB!733u-jF?(>gupYp%x`0JG zI5>-K+~0*NCfDTrd-KxO3ej5ZKixw-#{65nwGNelNf1Df3Jes=W$5Do^JH4b_MM-N z)1~7VSM94%vvFWZt1b!yx=miVQ!{gzmp}4g&pe{LC5&S|$lPt9t;X4}DJn(MS=V|UU`_aeOA0N8`6hpHg zh}^SsuYk0<+-&`P3^=6mw@U&LcK-0zjYQgMYqiJ%@p6ylu4YlJUBE)Iqr$(x$xLX$ zYCM9Npa$Dz_|T6F;UedQiP?**UrGdS*j^JIL_E5_I`L6U z3eb4{GDRas;0`%F))4tu<^0x#g~ktgk=DjeP=676dGBEVGg##CjfPK=Mc^6u%?Hu`f-F11 zJPSQUQD%uzFQq|1H~Eb0-kkjZ;_xsa4@JQ-3}|p}4`w0A1L@C@e)16KaUfxFu{5?6~h={3P|m#e?Yel z3VebCbgBp_(g(mACjI)M4pc_RposzOEI_-}uS_5juI^7?2M^7T^@VH^&Uyc;F&hwTMu$*V2)KU`C7 z^6q)r+&4SPnRTi@V?;-9+is@9_Mx1NNki+#3BiOUcHMXsO!8EM8W`4(s*81~fZ6nAA?AJt-Jil;emDm6111?%AIfAh;v( zwd){eZfK15&e9Zzd&4wPeR%7$cvhI~&1JJ()w^@C#oJ>+@jZ=}Hp?Wql^nogbj*2}|6FJN!@y;B2(6+gF` z$tJuK#&bp7wg0>TVjmstkWTlynAE&!RsAk@;N4*2EB?ur&BqDLq*p@y^xzq!S?od| z#oY%tb3Uw(|G|(dEO==xjp>h6i)Szj&r)zXSS|F^SlzCfOquNQLl~7dGFs)ezz{9B zNP14k_v>L^LJvsXoxd>Eg-vuTMeL108`=ZM6O!C6o z2`-_cFdNkA0`dE1OixdKPF6(;G7@YlOmyU3IxRYfiF;~d^$l+r?e({&JSKkhkHa6( zZZ$_~XYT=u>iVV3hdI(|^`9=J3MvziwO3yVy!H-y)|$JpuD?EQPv#(q{^(cXZ|?R_ zZ}=-UuSGlBudFV;J?W<`lQ2q5Y8SP+#Lr3Eym9~?;3;1+`_1}8huG-(pv^Yx53lQL zUWRV=Ec%!>c_gkN(wVfGT=|t{v1Jrx?Kj?nxEAIiCBDKFYp+*>US)2Xc+}xKv1sOj z%T2mi-}B8D{sq3h@1Ja{tMFCGaGSpp{35o*oL+(=(4Pz5>=eFROcSx<^3Nk)F6p!U zd!p|SB_LpV$QRbbV8k6V`0m{4p7?dpfiZ5Cy2(rvT1m+kLXKPUht)Boi#(Z&Y(mqW zf(dFWBu_+(b(>IT)UJ-aYW0|aUg~rf1GKhQHmC`7m3+-JC%%O-s69Z36b6sn&}Bbv%OW9`?Ak2_@h8yS!gTop#Q?QW~ye2!)tepl*=)ftvhnHbc zIH(S*I9_wGj*}MWZPq~S!0%ciSJ}&B-pda$&@2D97K>Gqoo5GX*>^jxUpWFm0n)RU z8Sk>YtQ>)_9WE$#mV+GC>!t};v1p(e&I;^gTUe)EB=VhDT>mqIhr0k^Ko`5_i*`BJ zR_-QZkp39rUVSC?)5DL;QRFoM@8ngesMBEE zV8<#w*bq9AhD}n&lKCE(IL=_h7-ebxi@V&XeHSG$<(*Yc#o5VBN-!zeyR@Wpp7$u6ZcH^xu1fSX{3;d0j>17LE6;R zt|L6H1z(*wby7J6b6ba2{(=+KgV~`+05@O$?j+$F26cAU;H4Zp?m|U5Ktq%DGLe@y zeBL@_f{9alfu=oojdJ4{i@43;x<5CWtz-T@?0kiFl2&)Eb4>8etk5N1L2Fs3hmpKC zJTt1b6<%KtEGMKXz=`*{jlxO|%;R_gm*>VCUG%8#-OHyAV7dXo$n4%8EIQ|17lP^8 zy~G;&`E(pJ2KYQ*&Sgd2WdTh1`Ht9-nJ(w-!UK-_j~KWxD%z@l;V&DPmn5ter}3Vn zyqbfsn3PVg@hUj7R(((rIdC5=Ikpgnp{*x8bN(TBBPf@#x;XSI_YF^3n^eg5+$gojfNgDO^R*e@}BHX)t=)9q+h} zga!&N7QUP%4olJI`;ZgUHhCuOHJrMKqt1F1Sgh*(6D zkOo0FdWcv-hqHHO2a!yKutvb!h$6q#fo`QO-%JBx`txUa_p<{g`h_uhw77=!+e|T&xIT)32t7MP#k|vpe4u zH}#Q3S$rJwGGj8N|W zW&H*7>O3I8_RoWoz>m}x4s-(TbPWzppOnFH@Hc?>+5Vm;|QBbrtjBB1VU zALeu?p!n6Y`LT${kM}b;l(u zTqDDO{e&=UnmgGx`FNe(mUzI(BRXV}p-!yPX5Zh@abh$@a8@v}wF2q)OwUyOGttCZ zNiqov2N^Q(3ERkNT%`E>-@ozMB(8m|{^4Mufba<%KCUM+lTe+IH z-NZbRc~o>D1EY5YmuG%|#rcE*c%q`JX9g3xXz~=A7Pyt7A@-{8b84}BuS@b@$1#aj zVvq}`kXn}V@G<}9%(^&sx3Tuauhf4vBBB%73a8QFMu$*IZQJw#ulx5S-G9C#9jmMD zxCE{E3tyluUmd}l{pw;xryO3S88u}@tlsZA%s}YhIQHVFNccYo8$=tmYVT z!nHvrhG)ld4~~ANQ^>uO@8gBSNicVDt)!uBAE~b{9;$G9%DHE1$Rwwcof5LYc`s3KR7oX)pyO$p=@b`NV;`@24nSt2+ zl7%B;9(E_Y+-)B_SCr5*twiMSYd%@1R}%pNK9YmG6CJN9lu`h_)mC6nHfU?Sj0!{ONrx+Z&C8uT_ioS`G*=G#v;_TDX*JI z40f_?bnI(D3Ij+_H;gDW0O(Me$82Ah24UvHs`+pT$Sy!7rBfHIt`Mrmx^|I~xV@ut4sYW8UqbN%}t7 zX;oXrLFO!oelIhyMP2W1+7O>3NHP)9!1ce-1k+Y_7>KhC`OTg_NJ_8T%we~XrcDi8 zGz2bv2*U(14+Smkgt|v|Juov&7xi2oJV73{+alBp5R!p#NW=08p4qV=ai4kVCPa_! zY}P3=rOPaLrSi{gavGd@@kQp^=wmn_N!OzkONM_e4VHh|=ZxUuHBVK_5G`i_6k9*L zK%W5RYlkxvy_t0x#IgUqJ)zd1SJz7;D(t*agbXZaYW#3~DNR|v0BM6*Bgn;?Bz|8b zMh=WY#)y3hweSu%a;GW@|Cw#?<1xpK@a;UN?W9raRo2S1JE6GxT)I{+5~s20*LOZ@ zWTa4zfwZE@t2pPN1ML6&3?(u?Y*83dl>*%v@$oCK4%cZ&&&o4pMa!|1?9r&QGN;q@ zI=MtFXF1FfNLjz85e%!aqtglmXucAZt7Q zh&iEt?Oku(xs{ZMQ7$2A%MuMHy@R zI{l2ByyIdig^37Xox;h#H>(!abb7I+$SP{5NB(#9(D`IVBXMBZX1eViBOaROqL|AQ zcBkrG2`-w^rPaRVTJ0WX=jtn#c#YX2PLh#L|Lm zv`^XDy8f$vqt<%YMhk2#w76AmWeEc3mhr3oqTh;OzoshV`%!|J>uwc`${+&ihw-(1 zyM8k^z3GL+UtZA>h@}}u^+da=BWUz907R{S@9`^v>|-oA0(iAaR4;$o0}eMBJw|$& zvtm(bm)nmSR5XE4uiNHJR)QBjj!FE&SY8uds|%pe66gr^d?0Vw$hT~kmTXHii+oIw z9qFuM;>4j*6JBhIa0Rs?AYK15uD1Y)Kpw=gGgjhoThkjS&a6{df0Ev2yiDlCo1UY< z;jyFXx~$d{ydRSjS(67!xit*72MxZ_1M#eElhSzHPDC7a%dgv?w(u9i7t~gy!+^8Q zTjY{(%dYzMr1<#z){6WCEG)~qm@+_s>my`2A5 z`_QlUwX)rFm<3;miKL7xbnM}M4Yd?ZE*_q^F`Js$z5esttq5AwV+8to87MFoK)*n< z*n;LG!423+N@M^#dnE_+q3jH6Jt#v=o&ob0J%hJJJoShBzbC%8CbA(*S1rH5L5LUN zbTObj6wW|?r>g1pB_>z&;j&~OJ4p_8sqoOiERV1&s^c*SV5vIAq9E*}aWXDqcb()v zt+0}&eqcnVZ3$tXI!Cbpum?K}Z3q-BvrwP_vVBPmk4H+GtIRQw()h;DupDN0NXE1G*VV(!?XXDrdyCnb&bAN6xuaqpgFAJ}E9G5ukH0~1z((v!9mvsn< z70V4X6-y0s?X0(Qs}Jk4UR%90GVXR*-g9KeW^zBHt>*JtCfqNE0;P2)uK-)F25e@O z$bVie7`}M@WQDsb_0O~J_y$^3@K=uapS#!b0cK-(F2_q=?|W+lGzYvF_^W}51B9G;h|wu()Ne{!OaqQGvL7XPT?Cbxr+u=6jOI}u9Y zc%r$3^JSJwi;qlgEj8;uI-AUyVU!=~&>J0WP2T(BJKsnBH!tTrwS^3JY1*9 z>N@ne?9N!q-PPF&yO!nE$Fa-bqSM-L6=3c8O>!&sV#EmnDbG3Ksd9z68Y#JwSY&Qr z1sq~yVvd{y$t8#ApTXD3r z9LIVIM^oLts2;_k&}jB&(xa%P)?p?FaZHg3%jp!c*syMf4o%r%vhWM~nYv02EBg?- zWHG$)BvR&47gZ80s>c{@Tyk%1~mm-J(y7g+S;l?GBVCBEe(~K8=E1YeVIe^xBpJ@P{xmHxT57tps6_1aBEA} zz3@*(R9ZYL?^Me}k(11B0)-rU8jm;ow6^1?Jr+IYpeF!D|Aa&33_Cd_6K(B{i{58s z`^i{9K>eU)DwjNum)}NNZ>jQT>Kv$Pi97ONg^*)?R3@w1bt1b~$OBAd`YAwWLz(^D z3H5ZoDZDt$-zG?q4rJOk&d4sopF_>uD7es-J3MYMVt=m^@2jLgUTJeJ!vr+XT$hvp z#f6<=zNrQz`%Gm{(-ni3%7SFC_j=dF3EZpR8wn8PU|&i9$E6sRR0Iq#f|A|@q*FI^ zU-XQT^ax%75TYVa0y?&5pBrh)n`c4D-jl}+MTggJ>yTBJ8d6X2%9&!W_?yhip9?}yYYEMIzY59@5 zDB5din9Md0tQO!Y*m7yy@Tj|G|$XO@$vtnE&-6EDcJkPkz3o8hjSqk(}$tUBVJ@xwbuTSLE-O$ZQ}>q`1sIY)Itox&Jc7{BEwhpv4{a7tH$jITRb$RhZ9!L z{y6zr_8#GH=lqk}qS}4{s)=0iUpX>4FUfY#?VOIRoefi$sOT3~T@QfsMS>1iAw7{J z6*hr$G?_O10r37p*t&s6mey{VK_CquCu_ zno{^Gs>r?!Mt11G+NyC3BQ;6C$LJc+Fhl+obtS2oA@uLj6cNFl+Y?I@O;`aVN0}`; zn$_<;UG}f=i}UPt_|rX#Q`pkR31<|LM-0I9x_y)te+ zzZ1XEYyK&Y+k~6&{NQDS`d>u%Q{4UY>MjOFVLxtIi1gp!N|$(l@#MG#}P}q!M7zKD~TnwZo z-Y+*ca*9thGptM<9P^tQR;n7_Ns>1jmT|}b-d+7!m8BZuS2=?g9^~dVbTE@mQ>MS;QRjiRX^_5-8t?;5Sg*0SjM*WOcy-*7cg?!kD9oNckTIiNmV!d25$+$7P-Q- z6ag#1gx>k?S6qX|P&K1tXuz4fM{`YwL4227eM&s<=+5GmZS0tOBS^^sZ&H-2_Nvdn z#*ZYijnd9<#B;ZCy5%h(+9~>UiW#`NuJVujnT?ok*4Wg9w6##KuBpp@&V2^YN*8dL%{e>`CVK8G}3 zm4$?0^uhY&%QTs|sbEAnyVJ_p=P{_Ljml~@8qRKPkT&)DRV}qqZEcDCTr76X`V+oN zHZ2YVA#QG=3Rgav6c}9n^rgYhu6^vMISyR?NUgo&I#2%NR@Nz0$`Mstv7GQ%Z|H0; z6`!GwXtcw))@yzfaPrbTjc7cI?0+7GNN)`$w0J%8YH-V5ALYD?yyM)L21WDHDP#H- zg+25_bEFRbbVQcs(b}1$`RvO+7S4MMx6VBZ{LZX$Y+8X$E0FE*_F}~4+-8dE7GhXm zIljyc*me(WAnVa|KYuZm?d|PUc(cNQV5W-| z?vJu;tFsnqA-^^+aRRY#97~VXgZxf)Z{6!&fDHm;d)rylKln@odk)KL_$$50(4^Dp zq2VW`zEG4^-E~gJ3wd~gls9MoBN<($2l+f)Kuit*s0qPP&qCJ$XtzKS95d@@c?<#h zDF)=M`+`|jr|0}A(l%mCQvjsS?-7Ii@|~XqOYZwQtHYrEy|lE?6G5)c*x_1x9q8q{ z2?qpBXDxgq;A$zET+3SXMajINtEwR; zUcl@0>hP!I%JtD3ZkEZu2@WV;irIou4_-Gjsw@68U1jEQxHxW0x~D)vmMyGHV ziW6>e(UDr{DV5wOZem_|D<7=5w{#(@!24a|4z|>qS4g)KJ6!D9=Utqkv^3gjaOn5X zMnq$8Q+yR$dhXOmzA3{vKTof4E}_0}(elY^t2Vz!Zb@`sGI^{4*Ay^s8-xL-HJM4` z!qBsU)2V5T&trmUDZ*7I5*bY}(DN(*_+RgIb5r`;Lzi*^>d0jsU`W^aj7dFxS-YFh z0k+Jw=Da7I9+f7XU$CDx7Idh~r2C zDTr=;YGnWI3>wry>(Ar5ZE)@OW0!}&gZDE7Cr|Rq*|DXauN;xJtqWtU0`Dh@=Jqx# z$_~=f(#5Q*Edy_NrWU*!?)ypq9)hppAkt=fJa~}Ubrv+B+^sBlNcTg6EECQC zI0nl=W!#R)ap%U!P7}mQc()jVam&`<#pk&!Wd5`9irE6sq54`W?`?T%&8e2W75vew zU%3_j49^~`JCOap_M~Dgi=)=q(2Sy5;JS>9Sq#M**4fo*w^L9IkdFIu$&G zx7{AU)o`(yg5mh9`v=N62IieQZjEavz?UzK2Yw9HG5yN(5vA`MNYe;43i0Pq#OD1b7{PH3%Q+0 zx+H=eVN^4ZLjzt5)19Tvbp6CLZ7gV?jYbU8PRV-&+l#QN!zH2dDD~K-%2?k0 z*!3buOB@jSVDL@yoaZ+suOk?Rvh@e>fBlD2y->MU^u>2#enR;3>xKxHC+r(}04y;8 zu!x+aY|FFiU8dx9;vv~@hUiSShczl!@4!{r)or3|!4$D-Y_qUxy6j6)w#63hs^UEw zU1-dE`#e%ks9J7OX8#vd;7R5kV^lgh@_MOg5s$S$YDL_L!RYpF7^TBxAj{H?LsmFY z6TNa>f2;cpi}{O3K=8_+Fp4l-5uT^CbiKuyFr#i+#qXaQ>Ce{HWyz}4brtElsbk6X88Q9g*64-H7Kh$^qf*>Aq3V znd;d5{^cGw#EnJ{9ZMOE8y%PJ>)$A3{VRX%VQ=W)9reZvvGFgIljeMPS9Ujr9P0vA zFwavI8gJeh6=P7ecBB};U)XD*hPs9^z2bxftWjiV$X7^>KJ(b$`dEDY%E?G}5vU2x zSDSo0(w!B^DsgK{mA>DXv2OWKOL%#Lnbfh0$-<}v@wqn~$D4QkvncC^AzzZCj=ip< zOTE}4>uml;))5Z8q!xRX-Z$Li?_lGAnMDb$WeKm^H`Oxwkw!CZ7!}b8Zeyz8JW5Od zJ3c;lVr}?(&DneJ>xp?~^L=@ik%R{Z&)mBoixGEcerMf3t`*AT*`Lq%RrSO@rML+u z*Y|>%eUY6ArvfiB{9YF5a)ae>vP^%S9lg+|Io13jKL^Q}?m-L#+>M>agtv8u@-cRg zN$s&(i13w3*c`2LnZ&0Yq4}%7C`F9KB@X`}*Es^PG9b(^F~S+f37Div1}O07`7PMk z%4a$rTwU%1-pkt_Y?b?PRXly$L5dCq=4uEzj9NYZV#FN3h=uI_g@ca*i^sg3zr0^{ zw5rxHEc&adiSUG-7-!#?R~>qpNeWuh#(aKV{^;ijJ(;%DYO{r0mm)PXlhqx7`*6Y}{_h_~_@n{3Ktxp*5-e5udKWHlR7fUwsPN^k+5az$b$Zji=2?N}f0b+3 z_|E_`y?BjF=~2l?`2K70`u#&Tn6@wLPn$RO2ga&qWQ5ECp8M9z4Gz|q@NJs0HIO`9>i?qVSkMh@8 zfCG#rThoIg59LxLKoCHI{cZi%qt)V`!~8C5^^B(ei`U;52WwujsRTdTQ|ZQj=9x!f zS*W+DSa;!*=COIh?)-44|CSC{aup4Es3^cTP<9+)B1lGE1SHwNz|#-_^W3ibjTD!Z zR1VM`yIjo&9J(xDV>y7Qb9s|+>OC_?XY)!X$1@_X!@Nf?q(|2mvPaPQi#4oT`%jQI zUl*yUrQhXp{`c;7Z^WMi0;d@k?>?n({W1O1ARo_h25&bXQ1HEddS5(0Mrxz*dkvH8 zE~PB^!M#4GS40Kf80-xFb#@8DrhrnyC!i;z#o@33v^etHs>HYNA6-{}t(Dpn0k)Ha zK99kD@0kyGR`?O&$PC>Br@GQ3ALQjeT=mwdTef$%u6xd((3~+f&*)UE+c8OeL|5`R zGuie4UMEzg!`1;mYY4nTs-2FsGPEG{Z(-8zRK})r!npC zq7!p57*4jc=U>F3n7KJ|-4dyHMThQ~D}d>^+nh{A(dU=1oRRQ~czWQZ=OP2M`YhUW zbAB1tf7ESrUb`F`sFh#!jQQs!;YT@fu*S-BB4}x8>8)-^n+k^*cKY8`n@&ybf1?r3 zNfb*u))m^I)EL~X)EwHW)FdX!ME06w_LJU}s($4c-G9eVcioND(Oxp;;hcf>n>T2$ z9Ud%3>bzCi>ngc9w!NN{>o;%l0EYs&1Vjp#Z-47T_9h3L5c~D((+Qg`e|+~XJSx^gMQ~V~x8t(t=PHkDV#%H@v;o2+Hdb8y-1z}={?o17snQvA z{mk0(lZV7+CbHj|7T;8vCQDeRh9qF_U9IehH9m_el+42bcm$PCRpAO75#K$f}__zouty-rHITOEwXEl%Sfo8@ep4nJo@fVh)==XSTbZ_A05+ z7hk_fJD$P9qL5%pf^4Es>tU#jgW|1+SMjm>6pOd@*NNHdc-tg)Zt>G!cb|s?C0hv% z@RT0MNuFxs#*i!gZQ!Lf4t9hj_n_{I#{D=)o{|@Afz`796YT;V5)<`~XP=va??<_D zT4+IA)KdonH)77jzLV$v&x3POQ5(s8>!lBR>BVQ}#T3Jl%>3y6idaA7Ym&xTvWB4N z&)%(Z@g3-wjO<%fE`X`A!o%Q}Fkx;-gRkn)%D#Ij;^897eYb{R__oYV8K|Y<`+Vhk zHVf&%&cT7f0_oV+j*B*~0oMcw^^dY!i*9f>;%CYO?qOP8qix-2$tXAknGdh83e?O{G{H>bV_#hsgkE88WWJ9M&&xd5S8?}_b@D>QnQ|4sgX%7kfDjJ4 z>%M;AwaaiUSDpA3gEt{n>JBz@wg z>-Hdjf>CVPRkdHU5e-=0GpzRufzbyWG7_K7p&`2h-||`Nh(n#S9hpNyHCu9!dUySO zcq`$|HWyoWLO55cP&2HL0W}`3oJeM}Ngr0T%};W1;GSE3#InxFdI_Q|efkc(43QNU z=VgS!4~K0${ffMOLixdql;lz5?~6@5-wmpL@y9W0VK_bvT$m&->?PZ-IRo6XR^fCe zu{E+$0UE{B%+#I3kx?F6^s|C_e0w64y`cBhj`{`lS@;mF<{kQu zUUo|MkBU3SK!UNx7QiGe^oqgV^>r+fTK17RI zqIv3xn5+jqzp7)PDtpNBmNE5+qD$>W`NPa&i#zt*v&9g;xZJF$x(CkOC|)*T2~+r`GwCn1l*&Aeq7m}o3&}!sjYVSr?aY)wozza2j-9IsG39$?m6fX-8FM5W)K#hv(m6E9Sb6uP++zOw>(W`;mD1mPJ}u#kq>h zZ?j(HX*jhduW_%kWQ^5ON;c?}#q8?p$X3_e*SF*uL!H{p+r#W5qW`#uWzsj$|GxV> zhl?mAdzZ27_b4=Cb&mm(&+{Jj^x1$ubprwFx2NJbBi+MU1-vug_%K;;MVBy2y}S{B zf(2Pqht;>|=8>~>fY8;i&w_|Fu2&>hTpUGY>!!9p)y_7{oGi2rhYax|mQXSH96$Nl z(xcv2N-<-89Vel@s!SwxpX-Cz$&q&vC_wU!T$T&ZWPCy5xuNr!Pie!v;-Go;MvCsE z%~!``Hd8fTpSdWw-TxN9+BjY#QfHzhqRwVBEuhJHd&r-98WGSUwZW`DV{j#|LJmKa}jk& zalm(zUzj{4qj7p0;VNC%@TCYf;pO81WCCQ0`kzIE|Kz321!#*Q@KOuswh+rIDzVr{ zh9F|`Mw0YW=oOVX8>aRcVPLiAZC*Ld4T+(%4|5ux9hb?PPmnYX`pzx!XY1eo%#&t# zGLx2B0b6k|6}hsH2msteY}-RE;Lz4zJo@QWeQ2YK>{|1@>B3?~R^zOH_MdQOvgW;` zJM9?IVC|tKM9UMB(>Lr|-+^{Xlf7!uCp>0d}Y!zhw%Lq*rmA9f>Vo5 zDkgSy9WE9Vt4vxtHFpgVGk6v1M&F&Wic{RRi z<80Af=x&Tlr~TZyr*@MU`0W#gyyI+8rW7M4hofIXT2z9n>_|)Zdi%?+s0dX6*JU6J zM_^v|X%qe64 zg_DsOA146~p2zcbp3}BEF0;6S{ronAws3bSwYvXj7tK?0ouXW!1o*G$>{P$6Xoz=_=az7rw>(+AU(s4~d1)@;AJWy7`P7FMG)cx_I zIM#HKPX4kb0hlz!p9~D#t=>yI0wCb`jB!*$;b(>| zmIR_a7iQoih6+`vt(M4PvDfbN>ztwkM{U7M&1&P~{vY(S9dfY}&A1r*w{4{2+y-9u z{OjrUOryR%U(j_wIL2x4H-*I>R@pANAbf9S&UA=Z(Z18TO%A8gF+AKN$qz%QytnH^UICul~o9byS#sQm%Aby1f$6FN~Y zR1Y6MXj%eJp1FjmgF^!oFF{H?e$e_ot^5S2j`2&?d5Z+*q3-* z2J-1&Ii7H%j`04F`W=&fC0@2u4NmM2PQNJHj9a*{`=@FLwyMlxINvq_Sn<>u8HabG z!cZ9tdbX!uie~h^6EPXs9WTq{MS@(?kxG2DiVxNNoRDwnMUI#`_Qk;L0lP>K*1ErK ziIS0d9MRwEg6-&|Ka*St&JVLo#UzVMAI;_%&Tx-(MU?aGSM|X>WTFuGoH(tYO}Q`8 zu$L(&c_@*J=Y%ScRwvitQ;ZJ@k+E44R((;=Nl)j$sNu)N>z3WVk6W9E=Hqtqok#aJ zQYZYP*+nx#LpSVt)JWL@_a%Yn@S%XUJUZ}g{FeHoDAm{QwJC~-YFFgbfG6;*-&bnc zRy(j${6Y&+gj27rkR$ib?WxIsXAqAMy)`S|YxNAX#9kkLC@F2#(A?uc$avip5Hlp{-&I!EIQ%70*4=k86=3GaCs#DKS z5fpSHFP}ukP=wzcJOfTJ;O`*uJz});3x&5MQ5PIQ2G-2& zImGz{UOs*hMZjH95t%;#0M_5r&-W@97~e?IF1fn>^|)0Y^OWUsptt2X{W|SSi>Hx= zfH9N9+gWl2UBxbIz0*vnC&g2~@AtP8HteL=Mq@pF*U)Bq^)zlz&$7(<5Co+QomyePIi-o^KVjhq(TilTNFeLOK zswnxt_ps_Oci2V3iTK~;0vd8?T;Y5#4PmkJ6j~1&*Z8yjIS~Lq{u_B@ZPnXZN{?6zJSz7-}r@kBT_)dPYA2Jk-rui2vJfOPZI!!6u! zD|fpq(u-99_ZBvc96|$ESl9|)xtjr!s0-c!dwS(A5ieFcTrCvl?-rHx8XFe5T*!$0 z{**QMT-wxqOlKuk(|iEA#65}(>@ME|K!pK^`mdDv`u$E}_+fZoeZEd#4_Ad*i7%N5 z_3&x28#4l9K)yl)q>;ve6c{F{dMfk@5X4wj`B$J|<@dHGRnY)6rKcPa)ri)NT2B}o zCh&bCx7J3j40dS$l2+H&I{%6BDi^!6p_{IaS1} zF)q0+f{rjIza=N5L33Ax77bhOn31XJ8Hij>by|~eGSFoCJxeqaz-Pwu(xD)~yVoNd zj_nJ-w&W5OqM`IL)GLx>ZO|#DGS@}zYg(Ng$=|N=o(=vdE`|4fE44*~yvnji66>M^ z81&!1+r}vul0Ex25_4X z_{}e^F1OknB;TG44K1*bpp}&&EnaJ@EOc%2_q?^pi0zosnE1u2N&I1M%I|dFm5BwF z!26`2XTHj1K=xcZm$&j(^Ma)QImJNrE`5!Y?SVIaUeaq)<3ClHDrK4pYq2GpElH>< ztTYYZB!(Ji@pT5Wa=hJyZ>UD#kMWU|Y{zsGQ;XmCx{GEtGsO_I+pmNPOq;Xu`_5fq zf2Wq$5FNTz2s!G=+V#-9C(2I(<)o0{Ck-Lul%IGbZLJFQc}OXBm&iN6sdA>FF!?z6 zzK2O14ItPyN-kYK&#p_2(>eEaZQ*E-Dc;6>o!AJ^;9eaTUV=j4mP=?xsT_>~n~TO$-=ir2SKmO9os{b{geL0ti7k zeZxX^$$OUL3_gU(gc$fUUeHmCRSTG+(3?H<;NBf}GDFhdd}VbFY?VDB>Zl~ikX?iC z)GHK@Tgm{jf><;zbDMd0yC%JI0P>)thId%lJ~0xcxWB_d_Z#M9z!B<84i&5vUeWdd zC16$*=;J~UmhZJlA#j{Cg7^3*s!%h-X*PI8Iv?VYEON zm}g`bTKv^q#BGhYKCRNC{+lSob2b&h14_jg$a~VBU_2*7qLl0%k@SmKXmLeh87c1W~Um z)*^V7WZ8|wKDn4LNF*BjrIuO72{41U3YJ$Q9bA6)j@#XJd&Gf;=B^+=Ll+H=%Ys?= zu2CBY`#quk&-V{+Ltp|%4kNfX1LvqDBw$En;~xG?<6fo|iKl(~ld80NMX9#Z1>DaR7TG(I*Tk^kPM;Aoff73hUK~I9@KBupki>Fk zYFa&*1=IiB`F&p-9~sXSaCrDsmgx6;+k?$xlSOxHbC1f-j%PRh==p}~b2WcJaPx%o zmJTOxUw-9r5uRM{Y;*K-w0zG0m1ooCGZG#=VFUzx*PJ32vsmceV`{kDI37yx@?1WRbwa; znlxXUlj7gxhFPPTnI9sY;ki?blYC1_Je8+}JNdez`Dk`3k%3Bk+p zMXmDX0nU{(LytmAmx?BmCm=HHBHfU;43S2{w+D6vA%1rb1~0stWO`^Q^KjjFTy}YN z$78?R#}2lO@5NuVS=48Nl%&iT)%~%uXsT1x9jD#1 z5KkZ{Wn8e?saC2p-6MxYOa|2ekY@(DdOoPnz&T|yCOSGfDU{!!?kLA!BQTEB& zdBJUF0H@qA0M`taAdy@bO^_f_3<=Ln7dT~}9nQg$5^nP)PZk??{oz=}f2O8il%Ot| z3CJOYLDxJLSP*H3cPzeONx|<0Zq&oQVg4xhi!LCLnbgjeO5aQ#5kgJbYXe|n!pjci z0$LrB-|*zF>k)BzYo`t0v%M_?Fz1kyPC&UTR?%HYbBytQ{~4_U(hSMS*WQ2}O@w z&~DbQihjrV@oM2{XhIulv)?07;j`So_~2$C*Tp|@-4ZQ>2oMk|R*t28(B<%#y@4?K zi$-^2l0nkv8@B+?qQT>A;_z*D@)iGjF8Rcu+Z{Gv^tZ%}MB5E;@{i#48I^8J#%#QC z!cFKFZ`X&vB7%fObu243_&nSQAY2P|FXvzjMA2Eqiw><6_m}}zQ*7_+BLxl>%FV^r zN8Z}>ooPbE6{&+z*F<5=YbvA^rqOXw$d>LO6R3;w2zB?V#Ov367r)V3D&9Jbb8YNqi(d52c9>Iv2XB6ScfG1$8m=)>%njxKgLHjC`FFRFXT-M|)5O{vZ_^z8g_-v`V_gG#tmmolR9lXHpDQh?+Y;Jjq zFoV5=NG_qJxV^x@xWtT^dE!;6OGKtMci`?A;-dQ36$mlzxqf|ox%<;N$3SUBpGd&+w7QX6j>7z43_ zgbK(uu^#Ix{a zvY1txj0M-z)O~PBXQ(w)%;67lBfoVYRDifG7bkm^6V0iChk^n9S zg+ZWI|C;^OQ-uf#O6QFqg2wE3Jw;hS-jtKPrLD%{x8NKpNqhI^6ZjUIva_s+p+;DU zV4#$8Z7oL_&m_u>i-*H=SFqklE&(a1cRAA@MT&y6TzMp7ZZ{_AW!J=^S!ChTIc&f22AGgdetw)V!(FcMd>CaiC9XMu6~8y3#U*j#e>Dbc!^F2d3{ z77`b6iu5{fpS=Ox>(i_7{6mAopP8?eV$S(V^oH_JKUjRJ3euF+4vTaiy zX&)MF-mZIg^2M}ds`9W3lwL|FZd-&rPen*;;H+-wR6e;7E*kn+M=v;U`2t~VD1Noo zFer)(482|-PQSm}I!V%leSnXDZ+e{NbIeK26%Mf+5Gi(gAxFr8q%nZ$EUAgO`p)bE zfuuZDSL4ecgRO#eF0zg9{rawRR-o1V7E?!K<4=7}uEde+}~c8rSIeYR1GoGiNmvzVjxU9s1!5zkjeDW{U#~auyU#X2+gkZL}Tl;i4fq zhkPo>w*G-`ys6ku?Qau*&xX$A&(?1*hr+&|u~d9_^3xtG4V#(0<8Zbbdd2-rg- z@EYr{qR)k~UDx|ml8CyUBV~`U7z%aersx^y*&-VI0JH6DBu;@?c1X2-*$IXp6y}7l z8)U_jU%jIMEr!qh`|YKWqIF@!Yij&WsUly3cJ)`S;s7me&%%IJCC|U^k2IRt2L?cQ zmg8v|@A+2%^9cn;uL3ZXUit!fiA^6HH-FHVt~JT*3X5cNS<`!YTm5eL@d^@{#Gw%P zWI#p5FJFfrc+;-5%BOu5=~E5PY>&&6&s>Ocholi;e`}WTxY?^%(zY3`Ygr=vde|Wx zSmzmF$M~(426;j2mvx9kz2--T>b}#^0FT$ys0V3oL7nyR+PLQXufK`jww1^54@Yp6 z&EJVQkY;fg5PD8Bgq$mm&*h!Z9vU{-oo|6KHxx{C^_^DV_Zr}VS--zYGJ_v1x?P9@LhS!?_{Y3j9t z?vMj3)Jw*9e&c1X@}N6^;w9W~SIhB0%8}|6rxd`Cl+uVX??G%=S2<@OYp;F)SP)an zcO*!ia`4zzo(3DID$)Qh`)H3AOihJyg`yESoz3TPZRNqLSlyFV*reGCpGn)g05c51 zNFs;kWPtfkeeT%5o&^184*w`sx-0&}{icCJTGN%(oBHux!5{YbmcLxs{97;kIgw6! z@8dbqL^^_f!JG4}C!c3E)f3Oa^3t82I!bYEQfBwZMG@D{w!EhE4vMe;IG-)D(dV{M zEP35`5OQBmT0TkB|8z%g+g-E&s>VxSo0Gi7m4y3!-4s5KEhj{L`XvU51V6{b^7ot%ohLpm{=!3wIXTB6&8 zu2{dyx$>Li*6QilnWKNXDJYOYhfGL^p0Lqxvmm1)7uw{g1Q^LIY)me*te@?8-JTaz z2iG$a_vGJ5&mINrxfKP)^YlkHLvc?#hd0;Lhu0~)iGjljU2AaSE=%_YE2Lw4!L=~$ z!rjKsv|@ki9h<53c|^F?w`T)ZMX->k1;l^VkTOM{VcDCK3dzr^?jgam9@*91YyE9; z$FE9Umm1)TrC;1m$@Ylv^fg)-9rQjo|;PWi;d}o`y_vyCY(Y4a!koUsO zn5g4kkwX{bscmL+2Ssu6U-pZk(5aWWUQvKVS8nF9nGSiDaYJSX0;(db; zCo8{N*qInWV!XAkJ~#H!+KP^JqUe&-IMBvp@W!i}@AT>A(`U|f*xTE`{rK^m=1IZ7 znOpem3aQL?4O@-yHGBEUHHX@$HDd95-ihzYyu^~H0=Okpe|A%~irR;xpLL2{ukcS~ z@a`W(#BQ}^+8bOVdpcyr2;k-ty`*>P$A7Bn$-v5F7QpF!pM{-Jk*rjtz2Cn#q0l;* z0S66zw1(`~mauQ2+0f2z{i$o@E#w^4Ci5iUu8JJFHgW^Sg2V~Qh?*!LkltK|)8bI< zbwSjL8scX_ItP<-%fy6J>*wpmVVRY(CCq8^N+0%IKW6vCouGT$hoomVq)PT_-V zlpgb4>Q1GQRtiC{9UKe@gm&=#*w0%E2=hveQD_Y5*Y=juSByS3jYU|$>sB!AQ}kA* zwXXFrCdfvSG94G8c4QS*RQsQ1=)zkYOD7zW3iavHkBC@QqNgtG27-Yn#RoH|LU{yn zUr*CJ6%=xm&wmFfcK8PH?*=*TQ0YwVW2UZPL3GHzuiM+p+YxQs|JFaFaZA zV>(!zG<#I5yAOSM3amaXc@{oA-lThPgh#hLyB=S2cPFE8_iQw0+p^}&;TxE8`?a1= z>0?6Z&B9U77}$T^{LZtEk$16!N{^HCxS(z3g4Qe%@kyQ%B%qjx#=f|cVvTWZLa0;(y)tt&m|1x>G3c9DV6nAyaLd@ z_$T}mEMOYPheq!3Tx|+59cdvRiAupzFgmLep3Z6^a`=T>?45&n0WDK_GpCxMxq(?4 zToGNayTZbxO0wY8R0f|OLS_h=vK-j?gl&rK7G3W>jp5 zfr!nkB}S^SYc3|=oRm@lwRS;HHictlDM$5wBJ7p-P9cpy9l`A<4xP_7i)fv3hsN&` zvtEwTk9N3x46HV|A)b+su>Cl@g}8F}g+X)_``fke+9h5NZDRM%aM8DQVRr=co{wPri3!avJ_uafuCQb z5x7w*X3T_cB@P$FAg+Q5IZIN5qjLqPY9dgvLvH-~M|Aeo0c2d8e2w+YLQwt6&fg0x z;GVJ!=p7Hfkms`^T&1(x8DVAr~+Yyxjt$~pEEFFN*#8a9Il2=SOy8_#!V z0^#)UwwL?RV1SX9VWrSqScEpKHn_q|uFzcg2R9gXNzx6yy$MJ2JT^jy{g3!otAi*Q z9rcc&qvzkCBUY-a%*X+J^|s?g>pIpM?!(@@S=-sha~3#V#1^Wbmq26YEO{bA-DdEB z;vpeUa!AZ`D>pX9c{YNsW>>Rl_YY!9{r*waSz)-VyO#{DEh+XubC05iOL^+fnV!t9 zL6948%6bf^bJ0(M$c`NwR0tOg{3Tx;h3t?Z1omFSLXIvHRD@H*8jmR;zv^&hfI9bVSNpaw59|L+JzBx+3>31xH^pZgsDmCA^U$b;A#)NG~_~L zAprG11c-x?1)T_ZPJ$m;T^^X#IFUVoD6AufCOdYM?Mq*Wd#|KEBB z$NFS|(;4z?eAnUrJt8ydy*4u#46|UD`tBrNbPyb*_26{$9^B>9X<`z|t$$xmT#);0 z>$x9u&n!}3r_x?8H<+%x?i3s>A+0DJt?6klQB4m!IxygFpUca5y{9US9QpaL=wJ)T z^4@P;3zr_j6ASlcp6W`=NJanX&U}h+HPPlLzwICMXLdjEly7g|*>S4a+rx^3EHTI( zUem>0i7C#BV=RbDzZoeM*AjX+wi2kmzr#V^{yIT36?%!0Dl;~`GKbCSwiGR1Uj-#F z0XXhDK9^`LbRN&r_|Z$5WmW6M3K5t4UK$5i6Md>1p6|YZH*^zY6=%1IKZerkUxbU6M6Y3u-WOQ=yiDGYSL)O>j4&gjM0X5(9iLLhpmP*@T)sfRr^wY2t`AI`Tl-5n}rmy3N}x1QK2wP2u2v zs;6*LQAuT-fst`f3w9dy#RdijmOdDGP**i9>(=>3eD#DoaU{~`V@W(m$L+D?j=Qx( zQn!yPrCjy=3+}X4;x__=h{>Cz?!7Kk)sQ9o!2{FvyKN!l**ua9o~s4RfV`@Lu(}>W zM<}H0Wd&FNoB>yl@!~lkW4snps!j@&Eilz}ZFI$41Kd3_d|X{CCJ# zu{MmJoIi#;4X=sdLTEnL-#+O!jD{>)Vik`xf6)lUuawczU@FQZhBQX$-DDi)qq}~a z`7X3o^{}}TR({GCYXPToMGToXmFteKWhamnlN(gm9P0KvL_!+ADz|-u!h@XmAqihF zTu1>VKlFIAlT&y+zdqtA&a(^jpsH|EFCK}-b=r#w0*C91Is>~r0`D_j>U|GUMA?k& zkkL1&27Y69KzKig@;+xHbrX2g9desSAZg79`M%x)mKs+I91nPMk^f#Y5K={BY`;?> zZl9h4!dwY?Ez||&hpAE?8oDjnbcFoalqG-Bn*V@h3Qrf%$gEGMeP@{k+T>0fcKn!U z+9cvLiHFEIVgpm}KA+b3Nn66^R0$(okB?$*g4m2nZGSI&BS@BPtNNReIr{Lk+L4*l?6+IpBi)Kq5kSJd|04v*;j;`VSPC_y&>7&&(D> zQ8Yrs;^H;`rR@le9*>=`gfVId-xpSq(V>)M?$77FfikfIYJAR>n5##SngI9<%tnWpf{%-j@M_9HKuRY9u40jCpV_+x>w|D_%ohF~ z99EmbK3*kr!eEo-W2+hbveZR8a$3zEg|A@47kqiw(Z{iUtJ31UZbcyh!gzJ2stTqd z1q@6-Jg`UP?`O~{5WWSGp&4>>-*3BECodma%HVSa(HDZ%3Yy;$b)q_FBiqJy4!K^= zSW$hMh1xVZJ1H^Mia+5V_2kXVxZSH%ZY!Tme(0jqvQuM@#GRkYY zz^@BEAFw1v8Hz;K@W5>{Cv(B}6-?DsmmjZ4H$yV&;xU&mgB|uk=vvbPe=YfCIyC(y z{B#QxcT@lP9LNg)u%pq6j&y69^owu$7qkBg+k*T ze97r87rl^Bsn0_nlr{MV*wUe6jKfD~Hndi(FY7_>z2>nTm6({QXHFy4FPSj{MCevV z{q(bq)0q$Nmk>!l5j7We71FYWQ;my4UnEJk4QuL_&&>{zD&%Iev`Q__^!)bV?Op!6 zBsIU|KCz9jLzgchod!G$49 zch<5}M>I%GuciS^j&@c!Ezq%9e?tk%4{S$(Ow$G#ZM27wP~L6>Nhb0&Nw$Eb!vYAy z89iPqruVzL9Z&!BIjzR|q;D|?=fey}UnYm6puXyfWe zy|O01n0Xmjh`(V#U>?5i)|LAX1vXGwQmYbTpuOVA<$UYJ%)Iul}w5YGljjUvkQ1wK_lY z`5k3HcBJMgl2O>AuPt4xwcx!fd(*9HNJr)ax2Ml1CD!bNSd#t`Tdt<&vR31Pl(Gl zw2bC-J)ZADkuBl|hiuq)pT*ZFnzl!^#;Iu0*64M(zmuI`aZu>LRcI1v_QBQ={81jS z2++g!9WV^v4BOX!& z4g=GOw{;77In3DqG^WNgtZUbuO$<&)llwk@)uhZ95&5w+jN)QTL(k5>b`Gw?A&Sp7 zf9zTFcS#fr=S#`VNY(CsStS1wKbcw;KqdtQoTDmS&i$+t_~`Wd&>vFj*@B-3ZaHj( zNX{bj>5x8F)~Qou7&;e18R z;;-JP%F3z={*gkt?gtwxd%ZMH)aE|0<>|s3N;I>t8pmW@TzI9+%)w&zGnh1L?X{)g z+e&)z$3a~6qlxs33b<;5Y2)-S-My7gMyZVL@xrg!I+5SI3Oi@8M^nit;FKhBy)~(* zOE~V~x6Q-Wm$0YhhCdR+5)8+@O@-KXQ9s3S{(;8xWBaSOoxf@-$|H2Q0ymmreLQ-r zq>P-;6Jrlv_fiT(C+lU0zVT(pa5<4S+xf?!%Qiq*KMFqd8!K@P)@U2ix9M)+gs55!=@WER%DEm@%A3 zLw6S#Pz6c3${GY#u7s8pEl%M3<_9qeiDJI<9P#3D3p_?SayWa=60gndts z_VHmPYEu!^CTwsmILkVgB4C|yvb07|Uj zliY1NU%Qes<0r?PJ`NUD_j(~?c&inB|IXryZ(XWwm6;$b`Gzw+h#|Lf;r{($$ub{! zpgSS7o+hQQgVq^rZ)XdJ*vd|7e41QO=qx6DAqE>={OJY+G0m3}2(fZnma7sxPeE8kH z;?HucFhp~en@+2S-m&#p%Z(}pu_MT~34sIXzX@iYO9{+Q>e_;`R#fcN@>aZ+_rsEY zQevoqSx2+U-PMM8GXc!)i>%ANt*~AP2P>U$>wjo4wWhvgcxzdbR!qJa1KmC%R>KX& zHEeRHSVRqc_kMRlaR!?kUug2zEZWXzJ~YhvywvlsZxWss&=A+}u)ac36m!2NOv2$G zR=5m6CsOCxFwqE2HkQt3;dAS;xZRVRuspv){Vn)Op-qv-NRG=8wwV1m{D&%>tZRV} zB{YpifdiYxH|C;9l6o;VF3NQ8aIE9*=GTsVJK0tV%iF8zy~gkcDSk^jdt0kMzf-&& zeD%w1HRH(*=wZon7WPJb8oP`EWCppE2EqOZJ>bFThrTwCPoHO(fvrm{@3k2<{#6z7 ze!YXD810QEr89R@3S4akpI8JdpR*&(-tD~&=y+gUoYqoOV_Y>jVlsmb_`t_4h&SA+ zH-7}?;J_hb=^6q)(CH;#WBGeuhJE45jGrJUYhyXNc?A$0+!R?jWa2#j8OxGtc!IXI zNJ!CE?U~bO<7byS4aGs}}C9PW=)6m3pc*ezgF4>rR;v4PmXyzX0Bah7Dc0Q&u1DWy zlX=a8CeC`@)7KsU!#oRCvIJ5 zNThWN(&oR%Bodsx^PkOl`$N-n4mwBK@9>v=?mzZwH(F}=$}4#Ks%nhD3X-uR7+hTm zRQV4HQ)@#5xS!ZNhVOF9{#d5t+(F?kd6RvBz`7bW*lcEO-S7I@ng4UDL4T{~4s_1U zZ9Q0KoIJ7xVQGQc)qT7&FmpPFV!IKza|m$g4G3^Z@u_F{k179bQjefn(9Tt{i_UPF z!CQI1G{$=7dP7DWNRT4_ze#9i;-chM6K3{9|oJSx6Ihs%y}@;lADLOVK!6xqm8 zIu2a76d$yqasM?R6u%BzNzO!&HZEyXf>vfRCl-((4dXG z6fS@({SA870tgtwsP$6-q>6y!x5T!X;ZyU>7#si2_AV1i^M+fdN`HKwq}0nEt%sOw zbE>Sn#KYcmlu?&DqR(_H`Vk6rCED@dY)+-eb&+YbkM*8ny@HhL+8$Wv7o4$d`~3Xw znMnUX#gT`PxH1zB_jQ;B_AWIcl;y;DXa6c@VIQ2{F*Xs5RLF-pu?JGq!>tNspB-g*Klo;^WlJoq?cMP>sZ<$>##XpP2{ZWIkZYYI z*{KUlOIgZRJN*XMZg%B+^%zy(5p798iITIk3i9NrOKuti^qoJm{pd;*5V(P|K3At< zGKE=x?{wu_Y5rwFc*O!ek@f9st=r2{@^OMb`lZ!RYQRL42{rYyKlAMmuDH8@Qa9iF ze#fBHxF+vAp5G|W6sNqJ8hylCj{K>f9SdDQ#q9LOE9aKl?$nNm0mT#m@q2B%Vh)05 zaAC)!RVg+ADiUMgt3aaEofHT>j+>h>h`9^l;IAcEFO)z(2b zJaDrCi8s`h-{<)bkB+Q%;fl%|pJ#Gmsp|gjvicYxp!RHR&fkAsq2~9Z0tv&J9KPni z7#K84%kp@y{+ZOOoR}6|6|fK$vXabeFj_rr(v{7tnQ3x3SGoO{divIabL2Of+))4~43J_8#E9rh(9ajQ0`(DE)+k1_4 z+8ZnVx2eAiIjzl+3|aKrQhK&LUn8ehKiR+p;B(!(2j#Pu7o|0l^3`h^ze`%_?<~Um z@fO!E!dLOXQ`H;jORMTsqu&C0l=v^OZHNM|9*d>QH>|}oStGj(qJ5}6$r9*Er#-w# z*|=Q}i~Z)uRw#&)2a|?x%7m;~6$_z`f6}Js2LTf+DPBYb^f)LgE-{BiL0B=;6X&l9lAp+`s*^ zP6Yj}fRD!JAXGr>WT(d?5R;seU|%tDOSX^_}`|Jql4q(?lT&2 z$}xyVMK+b`TSf*+LsoiWZl{|Xd_db@?la%|Ag22;x3oIP>dvPr8=5*f%B&bBi+_6v zPwxv>imc$vjmQTV9$Y))w`*ITO_hg;QUVH;SqM*r00KUY+8utpK{5{;nIaNceo&!$ zUYqz)f9{1u{-x0#OaHJ-L!+03=7g%e*xT<-M~SI8$2DnD3#L9^Iy+umpkii+o9rp4 z<~%VL0QSU{J2J~F-$E&=mI|Ywg(j>l%Yo@%B-aU~&;q&q!?^BMi8&-#!{4UJ9}$h} zh^5jOO|%)CZ4U+|o}EdB%gLRIUIiQ?b(fd)!P4bslAEN?&%=oNftQ&B`jVM!;}!0B zqFbk_gjV$Hynhu4F*m8&>Xb;@Q|j4aR-&6unJ;5*)QQ(Lm?wQXnme3d;Q+N91D{E`n3QuGM;Tz8%Tz4&1 zG_?C-Z8z0pD$TSu;@#>av)fl5F*W9!EpJS~^U$cTz$?>J&>bGYz6CdO!o-@Ti`?@H zoY2_c85jwwE|BkXQ9_3NdkL#iaR;Kf30*T-)r`*dPj5LI%FAy#QY!#__^OV$hpAx!yrjq2dC?`au0pSCtGHR zZb-8c)R2glk%(eZ3^LGE{?fQG&!NDv8mnUJCO`BFZY#*`B>EJk+D^!)dk5k|~ zC8kdJ(C!k5v!nEbV%)p7oB!R~=0A!vdwc4M5mR^jdH$SFj(N5WjFf|4=q?N|W>?^l z^6itEA)FZNVyUCo&x_fS?p!BC1HL}Wy65^}y3oalRroe5;G7&=!2o5*xEYH;m7Q8~ zxgdDs5l+AUbXd-6}7nGZR5Geen8!sKlepC|GSpCX6B z_dxSjNR^S_1mN5eX7(cB&2L$RQwuEu6nx|WaKsNoM8Y;}Y6jpG5bOX12G0OFL$K7b z09yz*PrkzLbs?p9<%Q{Y*Oofs4c`sYJ-rr88=fp3UXRwlS*=?ieU1(|Dcq2WCi|d4 z75vm+AFlbOT+KeBnSATW=jtj}^#U7J{+-6G9rrK z9@zWIyl~y;fA^O1U@g00k@^tLVR43$n`zp5t*a zHF@Sh)0TD9oV9P<^@=6 zhmW%;`hlQI#vx|f0NcuuBia4I7A!ltaO6pRu3@0R#NNg6fgdMr(OWddFf0iYKzaQW zxiX%n19XLe{|1wZ>Fp!iv(ZqWx6jV5SdYuJg8$f8aiA)7)=JnEP)U6f@%xpwUMqpccdPgf($xM9?~Mv4wdT*Sc+ zB@2g2O54>5I?v*2I=h4yod&Mk*QvDhb$M{Js{z>d9Gs?X=6PU9z-aB4Sde(pE&tl8 z$((PacOzbs9e192JvE}R&H=!1EXIvxj_Wg^0yyD{S2}2?-H2EfxJcl_fcaD0 zvLr9+lF4U)L<#g} zex%$yjClIFwUKKu7 zC6PbM>eSSGsz;PBz6ad`S;0jaJ%Q6mudmDD(Cq{3t)~dE{DM4Hg0KF_ zi2x2FUWb@F8(+pxWC6&0Fp&LV_uW)%*Su}OA3S3@>eIE4GW|^=II1SCC>Wjqv7n|3 z0TOl?8+jrKZ43R2N|+BYy9>T+Fbi9zHlOqi+HbZkISKyz{rk(3Y!RJcWXSn+F+Jz3 zn~Uo;o1T|l_h;(MXi!U6JdkEt8&Wf+y@kY+2rFY&(4UHRc)m%zSw+_0+z`Kl6+GT| zif_|ppYBca+TW#oR=wvFxT9dTJm>*V}oS86#57d@b0_rQe1D zn`|1uSwfF6D&dgd5H(0rKtbOF?GOTBN)SE>`s5CYhCpFhhGG^H1sG;f4Y@6CK^hkx zJiXWoR2?8Q@gne+5d%ufPSLyfr&n{XmB7 z&(?(%Klblyft3E7#KY7p^6b4T=+4HDNly|L_P z(=hPFhRtY}!vUhK8yQOwF8@0v#?ViSCXDK3+G}(S(nsIQ3i+`3l)=3+Za6BprnF|1 z2u8i+1k~~=`d!*YYjavewhnm5WF5r*l_5aALw~`oQMW7O6X!jqriz6g&ht%Qmsp-c zw-}~4&(n$yD|y|`O*FjkSAG7C*vk~dzB{f%e|$sqhrXMIb$W;nyE0bVd{%J3dEY*H zzWus#ds411qTu`dI1Rm6Y#~Rx^H`jBLA%+5NV=}H0)uHa+rgJ1856rlNslB=SBg8C zD;^VO`63VK(Ey<|uGy4ZofVgfV6C>RRJ5f)Q)}pMT~`G$^PWX8?}@8V%QP?Qbr)8U zq(^HlYTkToD1fObjOrh=;(7%+YcDMxDMsr3JSb{~BDV*r&?N#(xF+?`3YMSOVP_I7 zy?REG%Q6ao+|fh;5^S)6t!wXS0Z2UG1lOH(QJ0_aAjg#N;|qtX`x<&_Xc*C;KRT*s zxiYrb!LH%h^C*vK0JE~moIc)Vk_)T85zqd%z9a;0N1FNWo)s(c;;wpe=Iup<)3BTu zui|L~-;MmUPl6ly`cB~0aL`v9jXj2xb!hP9u<@JfzVp}}nf8tPP(A-+JMXUJEi0Dd zNLhw+3o13?i`=sL+@pB`5yYnf8ez`c1kVX(Wn`s@5;z>gS+@{T&{OFIvNj+UGNcTg zXy)V)U^1A({b)b@)&@Oj+o#fsp4J(8e}Q)VY+NK9Ux$GLlc_)swv*4yWc^Y>0VS=U z6@_!hOh;al&)g^IrIiXIfnPoGb&Hux*O^ahAu0i|cm$K~f?m9U=WalQ5QA^<*Fjbz zQW4-zm=aOA^aVh8c>TX?KVupaxS+w+=h1)R*SPL7AY6nUJUDsM;Fa@kJUoHq5ApBM zQOi0~J-L@rXV9e*BWopq6R-a0wD);iZoi*0HFSnPx@A}=)Ph4dYI`Y^{lwAq7p~G= zaeA#xiVKruEbOqJnM@M`?_4<$Hfr)tzI%_j5|bD<^7C|va~9rYJznEymU?Vg)moI` zqDX3GSzjTSRj7SC(>xm&+jN&WcX^2eOFt@lPG@bvt+9P@?_y{Bm(S&;0FdYW=%B9> z?HRQaJaU;4D-$fNm}EPL>&0;tZnk# zYv$bb-|#e0Tr5p^avyd$;j}sY$9}Wp&LsBZdTsu$`u%!?+6>jDl?_9h?^sgkG|&5w z%;u>23Gh%~ufx&~O!+eMPCX8&!zzj*98BXPL&di?mA+1Mf3Dfo)b~VWg@Iem9MsBh zQEYX|zR%Wcx0f%lp2(A-(MqDuVZAI05cXoPyYpRLlm_GN$+hPA(33xC5D;W3gwE0m z*X^G3@1dlldLZedcTe)%OV+#?D3waC-KS-)SGKt&Zld^MYqO!OZwx?3-SncV|7pGtWRNmEC4L5R`r7s6vJp z$YUviE&hf%C!X<-=Ac8a5@;xR=D2fck(zzZ?rsm_nBGpqo?&pWWq9shBr}2GD=TBh zVAmPAGy@-{XiC`=GX~`?-jBE|&&j0vElIM`$gjXYVEv3gl&N7XM?fkG^$+fB%5RQi z*$ej076-l?I9J7>^+Ww^77_vKA#tY1^35=zL6|C&!^ zmEB~>nSC4a@zEZ$0fyDF#itETDT?VS*z@J|o!E{#4}a~Zd2KH6Uh+Fad?=aKJA{*N ziLXIJ{(0~WFjL7jhvt6okjXrrQDv*dev44BfvU~hRSZ3l%n}$hZWIKc2uH8lS3wu6 z_dWjt0^T@zU@IRBy?0HT`GD1Zv$;!x}z z$Um;qbvd8U^M3C4>%Q-e$7=^yIDlWvK{XOPpBu%@)!O=<6DRuwwk=2ltcl*&=y1!G zRo&(9%ONm(Mf1JB(eB|$tKDUir044RdJa|`IA5RNuifNh24j!Qs|!kaGE2;W)j5k4 zq*|06>e#RC3MGhNY=Bf!Vp)6)w*=~w3gFb{*O9xDf*wHu0kncFXFDCBW9DGnoBfq? zJWKe@N`cumibN_F4GJ(ARs+f3gVuZ!;d=!H18Lw8p(`o!Bxq^mB3pm>pFbeyy+1GR z8!EiDJ)XkjsEEOup>Mk=e0a~I5LMU9BC`Aa?I7rJ=-}*z^i>kn_?VT$i z&&Oeh4)=dE^8MP2jAWEPIMkB(4u55#m-0B_)@g%Wqf**DJr?o3@sm&}q1P1&71(1j z`zEzGt80OcQ@J^XfB485zEq-O-O;$Mm-|;OsC5QeIIK&VbZ&C?GO>Ac0^wqgGn<9f zK=?Y~++cJ3`znb7b8H4U)B_D?b9wZv6xjjm8lob=xra59BW=&Y1CSk^?&EQsg0H`i zj7HS;j0H=-c(ko;m_{z)1PyXcL40?RMh0K8M^;vxKITBjs@$(Zww)d(R{|W@Za$AY zILnqteH`SeCCNfUgV4{HG@3cCc!KV_)HVhurB5nZrlWDA6@j71$M_jiy{0*wcB5}8 zuel!-l4f@AcPOpBpC!~I72f~BehCH)k z1u0U|0t(ho#3mXz)}m^KVA@0XVF>3RSo`4eipIDEAFYkz+=zOnLFp*kknhCu>l>Id zj(-tVI`#a*5u#@jZeb-f6l(BRQ~hBbUV#mpOrxHo}`R)d&>+mfS!qu3+O0UrX!f< z2a|2rcW9(Ev20C8gqW)`fWo!=$jYhI`Hy#9Vh>JOH7tb*srGocWw_PLynT?Y(ec$~ zb7Qbq0|QpxhbQxsE|B`2Ru*IMDF;~vh@b$biLv<;8Ec=0sG5MLg13Nm6Perz#afH+ zPM?ZJH63D?e=pbU56N&=ekz1>O3nEO6dY9g+S`XpoWp&%cW9uZQ+2qf)7q6x_*CMhNV?XWoo1wJX4MpsGPW_S>(e@Y3II6)7 zHLH8!rL{}9yZ(}JJufB@>L;lkdC zrNeI!?QHf&8YmPA1LuEI^dPclq3ACb4(Cx)<`LE(Anu`S%G1#uvew3}vYt23jKaCU zoAU3!2rN2aT<%x3uzQ{6oNPun3u1Y@ewndnI$4}g_#pjkgQi^d;%VE>%?BAr*pbZx zk)z|o*yx)!aw%WWT7b4}>DL3AB8e{$R6?p=hrW^Xc?*>@b=LnR*_8Lx603z?oNZgs zhAo+}z%Eyu83Y|M&VA*#I%73B*T8h!jLFMY22eIl$)sbRYB zR=2emH4c}^Nh*Q$Rl^K3p(^y3mOgg-A4@#o$M8ORc-|+H^IPr5+pcsWQ5G*bai1%G zT4oV+7}@|oov|VT*hp=$7@L1vb_kD*p44^!tdL$AA*0Op(=0XNLxrRHdFM>Js7D-Q z0VX1B-jDna%L^Z3aHFn+_xp=N+OIF=gl0rpzCURPNXaL1*g@*h@{6bi&J^un-XwL6 zy9p8d$@L!J@7yT5yjyk-x*pzB`lmt$lvnC%Pr!B6oj25**l)aEv{uS;!C$le9~-VZ zDu=DOdX|_I_ZG%4USIrn#?PJIZNZpb8;u>V%y@3S5Q_=q^2c?d==Bs(6Q zmfjfeI?@!fqh^4J0pUUfS?_NCMOoZLoEGFa?AbSEQK)@`9i9^u#FTL^`Z@;b9`8I{I03^Z0msdXC2RKV7B@ z>;I&SxIj{`q=38I9VTM#hGDPcV_Zmvf_H4J>}n+ zk@-X>*?%I>MQ|u0P48b=&h9J}7M%lTyffaQsYcG_;BuRzIkf`M;df5(xD&3l>;n(@ zYLS*I%{jETgJEs1GpN70qFvp?05)Dj{^Yket>5OdkQBA^r;MW>41_eV3Kw1ZP`P1b zABIF}qVin(r>Q~4@&wmJ-!tl4GFLug-%NZ6-NZsGimr~QoPkQGP5-FT>XN&;a&RCd6v7vMQ|tH(?jAP4R}a4}Ta#9jDCwG`pWM zaa05+>_ML=0cPlTW)$R>9+x}eV5&U!$Bt!V;zFaO_1)Z)Mk0ApS!?2Pzk~Yhk(iGY)W}J#k(vZ0cWj$j7J!XNBPHE zxRh@7T#_a7^4?65in*SQi34bRUMp}M^_FgyoY^7v*&xNjBi>HEx2$RB;;-9L3=%9U znfSy*d}}L}x4iPMlR5emBiO(I`CN}{evjv{%F?*aZ-vO`ecwy<6G0GXh>Q=$cWbO| zr$)!0r`_n4eDiZO#&r5kvL>Q}{t$11QfSunVf50B@wovFHKw1)HY2RdkZWi4KCRV( zoxfBdp1u5cgZoJIZJm2g6nCaDyVJz|t2n7KbtHUd8uC>!c6vR2Uh}X$uD68=@SG@| z2x0HTLc`hm`L(FPe;k;B?_OH^i`wP8IT3IEirhdV;9D)V6R8USryW8HVWWqkM(_2n zgh&3NbUXg7oUE}nM7jgNi6QpowaB2rKe~`4f8QU>dPUn#O-RQl^7OqagqNJwhkY?Q zh)S*U3#80X3B@^I>alvh{Ayd<>Ja ziK_n!KPck?2AkTP2F|<3>}ux?&!~n3{hV^v@}<<%11hC*A5Eq5Pb1GS|M_<8u>E4r z164ofjs|gx`Ey-?;FikCQpK)M^R~1`oGW}PXuRQrt{~J(@PnPweHwGLbPlaZD-Fur z?P%I4lVWXxz~gKs#<|Kc*01`;mB%BnG5XR$_i#)_x6G}Kd8=m>C|X}`W~VD?zBVjA zutMW-V55~KHKlkj;gJ|dr=0_Jju9ut{M49NCq@F3v*Zpu5|wZ&=Ob_`?Cc75m#sYF zMGq2^OR?c!-Pm^04&@EkO-J#Zi1c6qQ`BOfxah+hcNLrpi)HEJE*T)|dcRaF@0~w| zlLl5!Ewo#Z2A*C-}j8ADB;*9A{Wj?3&VffKG#|wc5!wYU1L3xBr~8{%;(nW7j^! zdHFY=cm+0cwc-8&R=6{|9y&U!HQRUkm#aRsK>yUhKGu{D8I50(Pd1_yZpe4DT&C0E zqEK_zn4d#@-$gR1IK0=Byl5i>#d8X*;Djrsr4==*0LvWQ*o(kWRasPcx6s|-=3t$! zO%9#q!R^=Vsjpvhf~7(U@b9w_Sn@=H&4|*&#P;Id{*-4{*SBsa{WIFbetsxsLJB#iZpMQM+(d(V07((}?;Kvv zQKb3{1xRu5wwN0%mr?^uKpc2Qt)qP$g`)zwgl1Z1R-o`t$`bHqy1fMHFL}TxWq_0O zV&(w^G18A>G+YL$0A~iX)(72OGM+NL@2+dE5Le{9S^}T-N=lk+WJk|6vCagD>=I3$ z2C+jkzryyfs{#NX`>5C<#a->kQ%EcO(CqJDM?#OE5pXoOaLHt@7B6Zutq2z{)(x>) zcfHxMk;2dW^0TMyZSH>-W_Ong=?7Mf(HRpFyk)Bz=ky4}*W~iPvpNVMlJYM-W z=XsjETeD?M!*Y`-Wifp|Hx6;|BJs+^mQCab@}?)Pt)Jw57Ie)LHA9|F>sT?(%A-2u z=aIKl3i-3Nx5}Lsp4N#hJu$Cmo|Ub?>)S%QX$90p_OMstZ6sy6O->>0Bso9QU@Kg2CK3RCo@yZHhmnRF`xp?zZ0T^&RUzvrOU10DhV5K#QkR z_0E`zI@NqCzj)0X4=7)IXlXq!F{19RyI~LmiPg%(uZf6%EyvqTj=?{^Cn(+K$GjU) z1)DK7oW1{jwrNap?~1wLVQ&491mPo#L`MSS?e>>V)P6Su_+PD#qu&{Yv_1Pp_7j;; zH<5uGzd>?ZJ5tH`=NF}$h|rD(%qH8H7?Y3%N*M7^bM{70f6^iRVI;h!;V*eQ%qP_| zGd(SU_kQt zM3MMytOx@#Y2baCAGxsPRFuM<1aLcfQMj(P(=M+cp=)5D(6&x?E9V#QF`D|2wRl1L zZf7%_6WOXm<1aFF0Vpmu>+dbz)xJ=g>mo6+=%96L@Q3zjyZ542u{i-^v!v?3i5w^k z`wx~sgBG_c9$O&CCH7_kz_0P6e(|FT??3%zZv%AbPj-bV)R`@s5)59gUoQgYsTNad z@Otk9?rrl^%*Js`bdx;5(K^Xw34J?7k9d7`&WuirMZI%6dt*o7E_hF|>YwR~mnc{1IC~Xz!cQ`IjKMSjp1>2wM23!0Pp>(8~*QuKY4=bTj(#7OpAE z-58w55_`q16VQ=9PpiC4yl839&J&mX0242fL=+mk=1xWU@nVU>;`YTJHADZ8yPcdS z`MuUCu!eI_tbkFD{VCKjlAsYhF3hZ?s-0=_Vj2YtWx)36{wz9-P6<}^4^dJ9r$H&2 z#52ApaT!$wF5Wnz>S)N8y4UT~?P#e)zb8deefT{k7ToR499v%aB2{(zE;yGA;^^(- z?&*hKg8!dP`en(6sb5ff-#Rem8GJk66y=pXwjua${}spx3V>Sa*kVjG(zV!Da_l&) z4xF}cLVCNfCyyRlLWMjL2{SwK&=jXMCGl>u%gI@F zPS{ZcZsZ}YeeW{@@ttWFmRTOoV>>@Ts^m@1Fi$?nT1F z%677zR1sK$18#cajTSSs+mPd1l=C)y*I~$-fgfA1hQrNY+C0duDeW^9jr^tQ%hf6Z z8E`6sS4KsE<1NI7XWYM##>pij@ZCGbaaFwU#2U8MRo#%%xUh-jvw6E|`5xt_mVHH( zw+GH>ogM|1YJat|#I*xo6L)Y|oYeSg)d1*lFau}N2d3k1W*i5T7dp~QRcJ8IFM)6z z)+`}Ej`tyZtVOU{R1N!Q=>nnMi?iG#2YaIx>LDW)v9ZcB@B&$eMUrfO|LC80?d&LL zC(>f{a%isotBz%kYOtKWuZI<|uIKx-?Dvk1SX-6=eceF81U0!c%sA7-M5Rz^)bMAP zRi}=dUroO)m)+AYo*jeh7W8t_?OwHtp7P;h|7=hE#E>}iTIf`5$NMu@N*=`Ck!{8{~t4G7`KKIVyGTW>FF#*rI)kg5QJe z4*RF;%-~-HN79EMLi|6YXkScY(|WIVAmDD{j4~prRV7kKWt~mM6|dHQn%QK(D!cNyeI?sr(LrqyCwB=VmGZk5XFJu zwS*JREQHVo&395cg;!4cjB-ehO@%y!FVL$4s{6eE%+xSBkLU9T-zz&i3^O-|l`5mb z`K`9;oluC-RAmMzc4E^W9anPI(5N(4jOcwG_~(tvnCJWTh`d$p>T{IEr7EoV6$u_B zq;4Xcc{le}hpEY*479?@)7jphgJ_-M;m1(qZfz`TX^D0?`?uBkzq~(Rp^*!WEMBkT zRko1HNXr_YIqcwx%(tRkno1h3M!kcDEeqdDgAIar{@jM?R4oBsc&(u4oj%Wi^IM?s zr2E#qifP>SqtfAgpyJ`x*BH31$Dt|rzbehXUp$WD=B)R_c6H)HhS*KMc86!3&^;-+ z+=twih;KAd6NXBS?kJ)dswge!Xl#c2S>Wg#FvPcV8dpirKm$_R8>qa~1Y?%OXq`KX zOwoWSSQT|h<%{x*Y5e&#V(o~Tb7P&nHM(q{xRMEU;jVPn#TfQxjY;7RigAMQF~!{`PDCUN&x2Vd}Ghm$60KM}E4Z7i6vK^OdQd3E1U zcuC{%o&ee6_y96zJs|iG{uxpbKh1bd=sb?5;`~~N3fRo6R0$x-U+E&nhM{o3(*h{- z-Wfz}66J~ua_bi!iZeIs&4=yei2Y7ooSI?|5R$>*Z-TkvwtQ7r*;aSyx_Ylpw{w@QU)a?b9!_{_TP? zLjNT7wJ$tq9UPcMMMg4R1U?=4|M50`Jn7+k0UosJ!F#3;X*SYNT%`NYV`_E6VM=1L zt-^YbG%qi-b_70)h6Gh-D!-1;cGkWrE9l`^neIrWG=KHJc z1ZDWLs`R4Tcq~dnD$?$4AdeHrd>zX+i?jG&<|IOC>+N!GWS%kPrhP*#Z(C_jKp zMlxS5U8P3hJglf;znQYwvwAIPZ*?dlDPJg}Vr12#ONR>K~WVzpiOEyiPX zaXg;}E!ij%gA`~(>$$g`+wB{YN141vD)~E=4Bx(3ugDKX^`K2BbyAmiuKUudIfM!5 z1R(*NLa3v@-^pnO@VFeuZ^RU4*I=~K}GV$JG3 z6UL_2+P$VqcgAE*>{~Y%@2jlO?)SHS{CMx@;xWq3xkf3wCKrdqk(JE3ojgRAtixo1t9po0GP}(?tU`BXbg25l= z4eoE&g8Z;eph3m`#AD0n$8;{?%B}@I0vJ$#dn8fxGMLw^x5> zCimBS?QhMDs#)>u1<~oS9iCwwc$zjB9!IsI<^b<|65^C0-hp%c`0T;mu2r*c{vrXU zkNX$dFsz1afoqh-Dui2a$yY=^;n;F$xK0x@BdY@I&*$qh?X!YaZ>iE1a6j2~B+Tzy zdu!?*7MM}F4Yj#(I`JmkpcL3h=D2rFleacl3K!u8h$KD$G*b$Ue?m?L;7 zCnI}2d{Vz<%IHo#3#eH=!LY)MAkWrzuf${JcBhN< zt~<$P^MsHY7x97!_P>uanqUO46Pek!*O2VnU8DZ9P9s5MWzC5EpZ{XeUv2bv2h^;r z9DR!Yi!sxDNw0tE(PyTyRf1OOX{;8HFH%Ot!VOI_M8XET0We+~Md7rbpm3uvyAk9% zJ@AS+|9_JcirjX6K*K8X)8WjiJD3bURqij{7U+KWi}^`#6u8y`5xE1I`Ml51l?Ng_ z)ZN~>Q@x#Nc{qjij#S`eEWhFISd8Ew z#{kT}!sKeFFDRT8HL&6Uj!*~5=4J;p0-f9-!Fg#=3Xu&B)3$XNM!5`L-@4ZEX z)69Z*D@T1h-X~vy?8}e>xzps%xqdbO7!1Lr+mi5=W6?Pk4f1Nvh>OLFQVu0b^c&-p z+@h4YCIshQehqS#(b=>aUC84q58jj(S7-VBDc=S_+Cp5D<1fDjiYX^8f;pxkNUds@g8|8X-az$W-if-sqKC%7xmxxdHK43j-hsG_+i%WI zd{bqm&DTK_8ON%Mh1JW0lY@hldn#dP+z$Jm86xZKeTXJ}F&&5tpwnKp&Ac`9pu))> zy%B%t95W<) ze-yUZWsPI8tQ-YQDB)z;F0`?nk82fE@j zl2+`H&8<*6Z$s!esi4OYE`pyXnjd|HEO#tC&_|5hk`nHE9qpoojJdSvOM^sFCgHns z_%5HlV;Up)&Ll=;Gh760+_`{G>9vq#Gyh1khs88q_hpYv2#m8-vPA1y_rXNX!`+A` z$`b9TrakI2er)LHA#n0Idxv+$lr!P4mX=WMx3bHdBO(BcxWYwwL#J)x9P+9*3})v& zmf*Bk4h!tawrpW51XFUEaUe#d#;gzs5)15{#*bs7JotpdyBjUmL^UrWf~d zVthv1(D6C0)lY6!_}W(}Q4lhxFl>jp^o{bjSuq|wQB2SQ$!ARVkn zgi({6goYRhk8nsf^(cfYRiw*6dx zEb!W*$kldiD}*ljm#;AfjMaM1j@Q9@he}Cc)~kt{HR2H7usRzmU<{Uj(C2w`dV@=f z*mv)U*bT*pNW#|(7*;^+ybobq#d3$+50QmA#0GNh;Vs)v)Ifm(Gt{66xWx_NXoy0e z`~iwoeG1cEy$! z;b=p zHC%+FgD|Hi_{Se#>j9*(D-_9I$RmU-G%CJ8&QcK9BvMJi?_BA>PC*nWc$-ZlBi0E( zF1w3@^^hPrDK(SE@hBC6^FYSa)8Vl*Uc)h*8K!dG%G?{P$@rIlK2s-x9OP(;1}$3* zO*>1d-UO!j8_dkZg2R1nlxHaL{@cg8H!+Z^BrwkR)>7k2ctZ1r-reD1MujHZfPxc; zm#BQ5oc=D`n{y#ozgNuD*0X`q>2!<8#}U0pz`&0<^H|}$XCgOM8Rz=i7i9IM4xUY| zd^3>(IA;+`HX}(Q6}hkSOO7cq{oxR)Gpgwu4KPp~=a_6UZh}i%kzXO4Y?Hi;)9;$u zR{Qe-+qR`O!q2P2mfGzTuxb9$uMh`Y!jq%~A)_%VV#PzThb$iojVYBzF<@AEhcDa( zp$x!~t(*fv8t~sPBLEEYnP7a%(yB#{MoC_m2?=wM9u0ZK0&24mx`qa7~VOU=ZhX! z@v(^S_EHYIcL9h4*01(dN+lzj*TYxvi8Dg{Rg6e+*8WbDd|ZQ1VPlFyC$>;Pr-=bw z6T}uCfeTh=&1)>M$|1dPn(hnCF|LGz%IENhH$?2O@Cuvqk(=+41Y3gW%%h0x^iCl=dGXj3Qi;y%1Us-}`<38)Bzjc$X}lzTJv_8U4Oa8^R-XBa zfPvdfhjzaR6uTZcjPxLo{mxE{xVkCiWEDs>_Ooq1dR{Iq_QGjb-9OjSfVX&ftafJR z%9VKGM%(9$xyaLRo=tHv%?|{rHP)sQWOMIar_6hX1a9W?lfybG8hSITBb&b`3)a$! zY0FJS~~_HiO)4Z5Mn7Br(Cdrtqv5F#5fL$Z(2=Z4~d*^VdB(!SL>ZGulpS% z3Z1`uFX2)C=UGlVXO~GAX$3U_m+k;#Qnw!4`>i(d0WGcbYgq4|ZmZjq7QFW+A^m*j z&71LUHI!+eW1c7w*5GqAO-%^)q9mJ~$AvH3#42lt=m6YzZDEwolj?-**Ti+_>dRFt zulI>WH<4)NLwBw3Pl!~4UBC8$#1u&M^ye@aL&8>& zu^W)Y_3V67Qt?7fJ>kK$@um|RK+91~Z(RwYA&ei4)rNAfTvZfeu5@Dltf8s{t=4|( zVM5nFoyFt|YSXCp6+c>@_Cpp4S&bGQjeGqaEKUyhu-Fi)X!2fEj~@Q`pqA4n5;E0y z15L=a#rxCEklA84Xi>#Lhs`yC+294!X6|20GnCYg{gBTLBqrD8CE¨5m_yK8XmW z=96ksN&IVy-H*onPYHSmngNZt*#;ph@87yTF_b%u-l*Zps~GC90N2&bvShdsVwMNRfk`>i$CYa-J`aH_`{q~txQ{-!wXu{2BN*L6+ zqY5}{_W~*EnQbGzPuQDuq@#DC*Euwnz zKK%0vOerNI$mdRSbuuMQ4G>(A-a@44aQYGn2IBGm4u>S9ex{^h?9(p?^1|J;c^xobbw>dHbFiD=f;)pzavqvG40B>c@~hPI+J zsTRfD(t7Ro25{|szpPXrT>fVRGU#R;xLV2&V$ytrN|We8y+`sA^4_YhN_%*-+ETK0 zS(!m0oPK!|>7@thbJ}Td7WMQ_i-=?BRj*sg$O&4d%_yudwUIw%3Z+i47`{IbRD@h-yX*h#K;l)MzgzF!hi=c5c0W0#uE&% zC@_O~^iW(q*`AsA>F-{%)|s_B$H;sx{Zp4%wfQ6PiTtIC<tjMhu{9j5x72sSc+mjuLTE8MyOZH#ej+vk$a!a)1(}i)qC|TflI71R`#Ma)} zJ>i|zZdjsy2mk#fo&Jh^`hyS?=OEc0d+<~ZS$_6G5E_tlaG0}^+mpM|JO3uXmyP1s zty#lG#}a#8-?)a|(u_ujN& z1BaXB7x4oq+N1yD^^A`nCOPgu zPdrVXwADSR)yR-U2@`m{7{J>jeXg&>adhe_)#& zovVky$F#v4hDW}OP9M!PC(`OfEC3xv&dL!VkZ{Ytg&GIIwc{9tNVN<>Wrn2i@U3|| zOBC-Gi8lLBt;N1|y!LJRnS~l@58Bf#g7;RT>(C|%!5dg0n&;#2oaFBlw^WYJA>O}L zLQF{0x^sv*JNex*qE3&r_&n!q2MhGz8tf=$@C}I794-HknXRGB-SWTDgE?%Z#f=m$!Y5*Bs3aYBo~ z0t#@(Q2aO93dtF`jfsLT+51En`1KWBjs56;a2dL`f-No4I@GOzVw{z9IIY8>-1#AFk+M$H2PIadeoyH?{5KFOMtG={V&VyUb zuXI0?rDr~9Kf^>yTj+`(|uS=vouqcYXc*+UmU&h=aVUXZFyW!`jXt*j*a>h|OMI7^@ZAp~;%V zy7`$x_Ro%oN0rc)Kjs?+OU1&n2Nddj8q$8}U!&zZJkRd|qE!JPum!72G@;7m`nNAXm%;9Rj;v)k;w;U4ml1hg3x0 zGJvNABE-UX`(yi)GZ$w&_D`#U8aM99mO!~k_D0rJpVZiYn)an!g#CZ9erHq#wKxWm zUljaP`dp{}_-eR%S=YwXX=5XpqRIVKJ)2}aH|LI%@k6As+hOmwlNc!*I_Y8#_vCbb zKmU+-eJj6iUW*G520xCQ1ng`K*wuU7s-?imm$bGlHu;F@+B^0qQQ=o%AuoNL{?81mPF%mO5}2M^z}HP<@Lgh4a!V zo**k+bjeHA=#m@i1m@lB(DnN48p~HeT!t0UqR!ca`n4~=Nrp{I{8b-0S}C4~f?kUXC8y zQ&wA9XduK2Sb2%RAm>8e@{c`ZeURfA{*ZZWE4Xr;3R<(AY`A=>KprPfU7RwywVg0Q*~#}I8_vMg500c;9|haR1+7wQ zV6rJ*C4hb$<#^>6Yq>0965Ci zCLsr3f(NRkJyqaB&+4xohxgl|t8(nIB!dg1nXBT04nnPq1pR7TKcoZrrEowq%0|S zMe01WGpbTf52GYbWK)6f7=Y`;ekVIk`uzuae`yTP(L1xl$dT`RqV$kUs!uyHd3qF$ z*|_PBicSk-Hk`Z5tUJ6Zrq-VAZ5k(g6ODT_edBA`JMA}7@%t1JW)L(UN{?_QwG+?o z2kiFXnPPGuvd(z=^Fh)Tkd|uM6bR8Px^4MheV*pbE@D+Jv2yKjEo$T?Es81()+70r z^lSVGUBMb@?WJ$yHE97I#;yM%W<#;2p!3s3nv5k#IyGK~)EcvR!9DsxWix-%1Ve_= zw@aCVqH|ClN!t#Q;k5b>(|VnP@Wd!U5c$7Vm^E&yyhE)g}vQ2yrf}R^hfzF>YQ@%yS>1#TuZ@+!dQH-88(9&670Aq?mcbTa8 z*;auaqoQL7(!B&}aX-3?Ln!ehdBwnZ5idt-95TTEd8I0-dQVs{j%6dvN`{^ub$-acRGFNfyHjfYMyaztcA}8edPR=b<7kN%X*thAI0F5VrF2#fZ=c zdv)kipEaD-vKk)$GwHLvP`{+&TQ%ZOvaReHHnD3S6hjnWYl;TLJ8H@G4nlNqxSwqU z`}s%(zVrD+Z8LW&g&S%`=&?-yOzpAgn}yYZr?h$iu1HC|!FyF`5}rSI3SH?g_LUEc6=b>tDK17 zy~4K)w52;N2b^Wk#6El?>HKBWjQ7RMBl5=uV=Z!5?oKfB_&;pDQjOOJ8xt-7C;0%u z{thD{Fp^TL{U=K{oG&!cfCe`-qigl3_ezzE;oZZyO)Fghe%5K>%G5#47yvfaF}IgT zbhdXqMcjVaxqXzQt*~XLBy;OM7_ZC!GW>c*@jo{X3{H8#Zvt?!u<>aT=+uh*C-tDg zJO(IGm-RkH1ua5|90T;I!9X7djQKEtm2vM!U;{>w(Ej5F{{_38aYxevrBx@(qhO-} z${74=Xg*e;h8;%(KL!a7;KzPDCj$^nc(bDT@7=m>O~R&i2D$}{bG5L%(kr5Jw+hCd z$e7AK(pRyvdpwp)X4&#lURNzA@AH?`vEKr0Z(ZCm?FFMhx^)hhgx!SJsJ%Okoa;Rp z|5;u}0l^|IMOv{@OL(j-ULSnM_;1R}+2Bgxzrk46k3X~RJV#=<4#`~&-j~?y?F9g_ zVaayNO4G-_D{Ih7R(khmIV9cK8omE4PvD)`F*0JJKDKJFf)1uWfwI-pUT=Lv;ExDvmoho2ftiaD6jxx&AI7KcjA_RisrTOK_lGGZE3r;FaFjwkTG@f-dLr04N%wd}_Y5AZHSN$7pU27Fk~3m{7i{vbnt( z)mvRwZBt%`LXn2>As-(I<#(AME2>NpxV1nM@@~BIZH(p@NtFXG2XSji{m@MkqBQow zSpo$h^ie#~>Ls}1)Xe!v%MOwOkF;iC>K+9jafa_hQyBY)cOlHt2P9F_y*^}GkXx@5 zi&hY3;orE0dWbk_2~cadzkSA`D|3U%CN))iEW@v~x)C@B6nWFT_6~kGNKQ%ldXbHd z4co+)a9O}cdw#ZLZ&}p`#QmXF2?759IPca6&;x#U_Y+b#+ zHeu`lTEddHv0c#((L!#f+H7k`P6cG^1Q0%hN?Pxqc5B33{JkrJdx(d%=Sj}y^@@51 z=(<-8fan!BA0W{7jBQU~ES4MeGFh~5Z%gDh-f;iWJ2DAo_FkV6{V@H=%}I)N=It%D zJYfK`cwU^jxFm&@YsiH;BYnSF0H>&|^TToC^eeQj$7!6x89gw@tmA#!C^2BM_b#YC zDPMQEw45O zAf{3Q4|W`k@w?iDn8#xU$p}XX!U3(tq6g)JFbWDA*|*>g0|Aduag|7%|@`wLk6pkxQOw-ZXebR3dBBwu29E<}n*7T&HKj+2g@f2oP z7J2#7nalKNPlQ{`;23VR;z|H0yHsgdwOIDubAuZMk@B8kHA|Dpo_v0rc&&Fx{4(A> zK>g^?SFh*%u3#{0f=9$QbB!oQ=^K_@+@IsInp@fvw%qRE7g2H)Z~cpbbM3>YCFTnC zZ}$th)L|gqX=)H^hCN~J8 z-c1(0=y_a^&w!qjzp1cBd0i+)mQ9LF%uEW0hpF#U(@YQ`u9O2?>{&)LeHvcuD;71hw@hcfVniqXtY{NPQ_FBt4vy zQrMCTl)E<9(gmFw;q2i3&SdaXl@WP4Ad?>8V(@-Q9`*v`QitRv$>)}g>);A(s?9MGxxWJ`h2Bcj8v@l zrz$It`Inx`@Rw&P`tsz~W#%t6QJsZ1j-M}neW8+OxOCnUed6Qzp(-8jW3Rm~EBYo8 zZ`JbPQ~}a4d92D0jheW#seJ(eS+N4b<#T1pQR}gAHsMuEhw>{NOZa?!dy93c?Cs^N zdx?QBl6Xpf75sBhonQjI-rY5(&YKUN*LgTIl+voI zdp2IeSp6F{1}DpBcaPy|nm}_PuW*V!$iFtD%0=!lx5w1z`I$EW;ZJFgz$>CqVI#Gb zJt~fVP;2Vsah(PXbkCaEY1iy&+xe3@KDFz%vrf6%buabn%Wt;EmarMnZ|1Hy%Z@L1 zl6f2sU}(g;7KQF+I?-wR9I5)^^rJ)k2Y4fr62oEB+W&h}>>9pJ%Fj&UCaH5(V`Qs* zeBR=@WiD?mzf4}B*}bM@>8To>GU7eKS=miHL@{w9PCo)VgZUlw!0&1U{|nb%5dh+` zS+gBs41}kHR&&3z2+tq4+VcESeCZE#>PP}~o*x3oTeN%yS2#BjsgD8Ik*dTQ%b=Zx z&s%+-jqwC*_c`K~(PcnTrUz4^v$$g5sU>JJlKcc+&f`14ALFf^XL}bJ;hW;3A~Qk_Nazcq{5F00I9+ z;cm=9myHPu$OM2q#NHX{1AgJYtQp5tIKMy=;_uB;r2zHN{+DpsyA#g{@2P>(O15`_ z4!@E^^RefZ4phA(754~DnFHw#S6pH4Th1AdmSG|?D@Jf%vhoui#L{s_IB_}}O5p&G ztr!qEA^(hq+dObAu~a{$f(epibb9MK9SoP^1gA0;GV&caRjYwhWa z`NIuxJjILMdOGOGxp>EtQ1N(?9<2kMywG7Z1fe9&AXac{O+CmNX6UtL6Y-6-!xUY7aZQ5*CUG` z*K-=_TsgvUoQ{rNj*HK$o!K|+lY}S1#dDqJ;;-5mfK5J~&_?;4>*ub;PA;HsYn@0J3 z_G@~}#8pSj#8D0)an%?MB==q&lM_C8tU1#d#%ShREw;B^tp+xX-BEsXYA4@CQak3J z=JTqk5YB^XU{~FP%58=`80lt&R!O-E*OIew?f9$zkc@{7GLk7(&3ERWn!qTPMLTxn z0TD?QrNA|eDR3TrbfzZcHyUmoezelRVOhoXbpMZ|^A4x_{loZkj)P-wD!a^vQL@Le zQpw6l_DCe6ve!9gMv-KMtP&NO+2hz+i0o`3TQb5qpWpNST~~kQy1K4D$N4<(=YGHL z`<|QGEx0*BS z^3Ob{{`Nu4TuJdm`8h#jkSS9S`QrNP9Um9IWvsN~4Goz&J{;PTqdqV0(Y(Qj#3FAf z53}lK$1X}7LD}Jr|C6tuBMM(_F^9;or1R*b4@u&yets~pEyOK}YUeeUFb?}Fsl zFBZ>x9nbxfj3ft@z(xQ0-Jd^%z(odJB=|a9T$y&=mvJbXouD$T79K3Ou5skdRLB7g z&`{Y=#6Eps5Qd7{%nsN%Q^#x8*;rERhv2+--iIM_BFPe|8^^!=-fJ=KE9EI0qf*Fc=8M`8*2L^!yx;_F~pYc-LLz|@HrE!CT;1)cx2-$gP+wrGWY6m zg=5+OU;#yK(qie|F#M%j57o*tavo)T*)wBYN&a192EWB}2ibX*{}}f-@^Fcmko|$C z9&#|NvK4rC)$SSAFnW*5!*-yV@1vf&J^Lc+ftJpeOE4qKOUO5*a*{UZ0?i@z_(wKF zww?88DN`kTOB(c$`+xmxDGs6>+a0lab!j5t z`S}4Ufu|D%$9XMJl(oKo5x_t(B3&pg5HndH3m*WbA-3M+Utz{4{T z+PDxu|E?1$`T9clYwp|TN=n?T&UC$rx^(yatLb`!@6wA47OjF58CT_PDnc|-K&A?d zN)tkrjt{kxw;8k?m}q;J6g}Fz0$gc<23Yme2Oumc%`80Uh09diI4Z*M8H3pc6#Vth z;h)oN{Tm%Lu_Y-;u%khj2CL@50?|9)jDzQ;)gqn=MTqe`36YlU2>pyW1C-%7rP#`j zEZWuKsTXNwGxT^wPBpjdE6wOX@)NA%?2)nawD5+%!elpIh#I#Eamy~UZl3POvmMK6 zazil-SOA%DDlC}Zy**wl-lCouP=D&D1WfNRnp_)~lP#uOXRE$;SIs_i$Z70W@m|AC z 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

fGq(5-bcNA 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

J2)DM+r$_oob!?-qcBJV`QTasl)N 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 z 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�xg z`>#eU_gz4e($?+aLmZupyz7k%F`hxcyq04Uj9&~RSz9%S)D5^kx-_pv@W4stV{HZ0 z^rbN~y5iOZLre=Oqg5dl8(kj>u2)Yp>RtHfiMvvhIAoSX6*`<~R|NO4`Z5TSYBf;V;Gd9H4f&x^KP&JZDBA5g$B*%u%PN2qztE0 zfrn~)G5_mxH?#Qs{9MU<0usKDv_F}DQd~}?mTtLhSnii|-g}Bx+nW5nq=WDSMI_UD z4S!J<%9uGBWf9|hsKMj8$oT0_W#e-9WmHf8{G4&_eSY}4S@n8eHr|OJ272b`2kr%a zItPjh6{lBzH8gm4b(u8!+y_Fs8M>p=w_q~GL#>vCzga~e-z^s9DuEcLFgLF)1~6vh z`+*$;1L&`gd%(%6nn8O8V|%ah_mJS;RXdI#a0^T2dLM)w`Y9Pj9mjDWM0YyO{B|hq zcHln!9m#Jw&Q6KG#i?$8H~;H#AE!G%&IxdD!xb-IyZoYGsv0wWQhWDYVeQuyFaO`IPLG(LqQugZ#F`h^FOiAQ18#S?32W; zd9gLUR%p$1ey(=-=Gcnvj&Tz>H&j8@{+Pz9dE`R)Gn{fQUUX+RQ~98G4HPgCjiv-M z-I#c?_fqyKXJC%dEi+8byZW)wF6z3bKf<31F&FjtLadCGLc{6*s?t-MR7kUPY^(Pj zsKPMCSg|=}hN=4IA@kJ>U35oRs;PbmuJaI2zi?+iqfQIXiL;WNf`=(#nly;;EpCDf zoaV39wpximFvYNcVIZ8#x?5{>)_l-&5B^?IC%qlUF)x3(I3@VCF)*xr%WCdj$QK!B zv`_Nx=%p9x1Y0h_e?t^W7v0j^FIE(ISW>w*RF*Gj&l!6iID`=3nkP!Qb55PMDPZ^f zqVMt($Fnya#LAW!&i-{rpx@H$0Ew7={_3PF#-eatAyN8llW-uUXx5VbT`k zN&V!jFtpDDRwU?}CYrj>7%-Cf?8RIkJq|ruXkWi~mn~03;YAY4U~c=LCk=~?m+J

6p@OJm8X#PBD+nUjPn`0#Xo2l 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�=0fC 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

HBydVPxmEEf&`WM8^-5R<3ZO|k%g|ys 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 z z9%6?tWx!jYdW8e{SCzmJ@PC(g(H(UCXz&2>0U6J>aFTo|w)aLI5z-g7v|c_hMP#jHfjbkP+lb=MKI8pUie-4?3Gh{9lZ8n5FB2QC=oQm_*K_b-X?HE{I168&-yq!V# z{`F1V84IeyGGN9>%?8D+dvyO@l$!8IwuE9B=_oX}umyg3Y>)7(j5&1c+AoTiAME;x9CG%6;(t~!( z)9uL6M}>#{;CF3#wg}**mBz(FApQ<7HRO3utw=i$-4KHtuX8dCM4=Ycr&GYT2s+_h z$mO9D`aQ?zAX#VLfWS!LS_*=Vp?qb4!!?9CM_v+K<3`Lk)2|Dl;I>rR%=KUbZVjga zk!A2~5LI>4;`@{ubT!Y*jFj{2)eCvudhaj-hf9?O|2erF{&=2y`7T3Rk^-OP(0u&- zV#*`|C)k{R{&}U>-~X17RA3WQ)8=#;m`$i8%hk56C_xFe(E;7*pWi>#y7sOP-=+p3 zwz!GKVdr+-@Yf(ulquhANluzcT1Z~#ubHO#c+RnE@hBVrIZ{m1%aW~TpPit}_KG5y z(la;vVdSmkQfW$Xn*QDNrm^Y|_xf}W(}Q=0UUXeHPM`uD5~i|hV0XRVXwmn^PdT4- z)BhHb0XsunaiVFTGRxdYrjj%TgU{*}BDkfJmg0kLH{}$s)D((2o$dT<6WtU7I&)~^ zli||pK&7^v%yTmNzinhwc$8VWGgrUINVFt08q;n_v(G7kg2A+<97T}7hxPx*&t)Yt zji`RnqWmWBq$x*@wHU$Bgji>CMR4L9X+gWpRuJ{QIEH?W-azxe5By2^xyUCcFoP?N zlX51JU}2hrI6od+azmTMc^VB)N1@Izf$m^Beu(@+riz0GoD~LKly}3*zEBFPyZo*i zUQMj-!$CXSS9U3oKTAU7v1#{_njbSbr6h{q>g5crX`2)h+^#z4u-if^%ySj4TVVF1 zwJ8c{X78Lk?gaN))!$y9it?x)xAr23#%1kyRirYGycM{)Iq{ouEcbvA{fV;6@(oO| zQN{)2T`@(J-EBc;0+x>mO##9FytR7e)x#631S^;lD5vj=@X^#*)z9n%d{k6#7& z=#ft!WRNOxuOXAdH(HWFpRmTya6|B$lBwL! z)4U$YsSJk(WWG8kr0d+OZZtyBvhtse-eL4*2?sPV3TPxM=g~imYSq1BWbH2ORVmN0 z(cgKg-S+UKF#~)_bUWA}mYR0k$lT_8*DnzyK}*iYrhVZm{FZGU$TiqG#!1MBqBpk?d3HMNwcxA13> zH{C|3!3K`%^?%W-Q4%74A- z&aM?_+H3l~7f@r+0B z?7X(XJKz*;l}6sQ(BYrLo%s^V@L8PKSry z`^iTDbBerz2XGpsV;(d=%sUT{{@!^43oyHmjEL)C709c~4$}Sgo9b;{`!^h1o`yHe@H8l*K>pJ{PIvJXHjAEOYP_W52w(* zT3V`6iB2Zz+)rChK3TVU`SzvG>c?=Bb`XhgzsQxYO93_%_y&j0?{3#1*m z;~K(}lt#MRP~WJN#1j->+8^{u5~Q zt0_6EKsPjXt_xJv+9i;tI+u;OiCoPz%|9F~)VS&P?BFQxh;5Tp?v@RY*Z_JDpUYUdXv2 zUPScHV_pTB9bUbj!D4$+MD&s`#*WKe$ToxagYJc|NC=W2J zQlkdSjc63=>{U8YfFzs*lbF@Buon8XFL5SZAj(I6JSqw4D@Wz>0_ij~J{qRI$zp7o zK#VYc%48p_jRG34lGH^mCLfsXN7DnjnSVILeQe(iE;2U0P^n34l+fobY`Cspf_%yD zI0A^SzBlAvQh{414sahN&2A*#Xx?$^RgUkGx&p*EClb>Hfhxx#_QCmbcW%e0eTZDc z3pX2*<;()YC9U>*5@EsWN>Gs#BM7Fc9 z;G_1lhmJ&g^bwS~iaDEC7$hNsXwbq*rDraW+?MUZHzsGTZECVk7DNn8X7V{^EIm}b zc+n5@`R-Ea^!kymkNdb&B3EA@hk3dH(7%p}Wm9`&hhM_5fOontLgiX(CYREzV$w^v zj@z_{OEE|pGC~ga4E1D~`rcG5?Xg9qQS&_c*}+UGo@#Fyx4(8SizZ_|`rz{)PEtu3 zJeInoQ5i9!KnQpqepgejy1=_by@co1H>G>{8pa91$pIhIHDK5ARafltj!VRW-7MUt z@4P7@o42;K{>>8wS{m(Vc2dtjwaI&Hb^eOyl%&=fDRz2rewsV_Z^cBN7(7DIKd8Qr z)EWs!k$jX4_a~o(V`IbcsLK6x)v6X$T`T*M zK+rc+!#;t%$;)cY{NRkqAEZQqLqwvLW3i8?h99U-+kB?XYt+`;xz+yRE`W7|m6|)1 zkS=bB6dinuk5YY#rfIF^ZuASMRBqvb;Qh<-r=gw<#2DN+NV2*AX_!#^=IHlj`ulVl zy{dt0cs0II*+xZ_f@%A}=};q!=moO56}xz0(BTiAfu^5)AM)!yylG80iT=ay#w-b# zjIYM>RxR+54bH&(6WQes?)NmfoO&W0)r{R?;8`)$jfw5%p?Z7dDfUa|xo!^B)OTVaw4@q|()DUbIthZqF%2 zgkW}hy#9*ji%6Wyp4QP@A2Nk6S)M}KHX+Ys#2amje&P5dc|4l*9t@r0IP%=CoNGwl)#_Xd56?CRYUPN`fT6x zw}gU%f2KDnU7ykD#5(*X)}V8rC@sDiZPy<(k4f+Fq8@Ocq% zsxMQ@%NJq`0?#E zg2{6-h4;)Qj)Em0ZQ!&crGy8!loyVII7OJx{i6_=0Q?(Fagr!tqnkA30iGk-RN&$x z6E?g!HJIi3!47)a@X))dz?H&i$3W~fZzh{E(&n0@euzPzOuP_Y83lysgaAInA?ER} zXDb^N8;GI*3xRm8-t#vfgU{4$dGf`388`sdaB$SC>dlSEWruN2R4^ahks5d!0$}Ph zw*@V-XZTDIn<5%;#y=c|UyO$_;R7bxz;rwQo`bbE1Dq8viX$f~j@p_ADp zok%BCOB)5{Eqw9K_KZ%We8+*)3tYmZNAGPMPDPH?aB(^aP|d%bx3g&QS(B=zYG7S4 z?4!gcBKLt%nU*5rLk}qG4X2wXA55K8!OL<$8a^CIf<{j533oWy3=9V9!3uRWc?dd}%g{7|=!!tA@%Om7e0YP2& z{;Y!DH>rfLZX+7hC^IbqbA_OLU)vTQ#C~)ivyKnk{VQ6x@w31v+PW_5b*6~-%6O*f z`$w)$c6O-eViA)XJ@%FPFDRNoX#Nfgqj5S+^l;4c!7f#f-gt4V1gyR%x-oRzHkx^319x?^b|EKXYPHV=qSeRsNv_<%Qkp83x zQQW-dgIEg3PhqW0_oKh+arPl*``8EnT#qIry=XiD7WsSgUqo&*Oiw&~S01`6a;UkYa-E(BM<(>4Porg^dMeuzqM0K*sc6gaG*$KFW{{AqYumZ5rTIVAH)&` zE8Ab`mp5gMCtx2wwe{U zzi>Phjckv*?Um+|kO~qfDUWFy*$mi5#@g1jr>^bo?Wmx^N?JQ!Zb`*BEZBB{Q;BY< z687ew;w{jm2tC~Le5Lu~eA%1=HmCd;vO50+5P21sh4%ON$-FRZ_h4*kT;Rh{iMhJU z&Pyqg<)h*9$A2#ifywj!G5!+Z2^c+su~pBUm=$>yFnQ_^`3QrV-{$$&*?ynbyfK;p ze|Big&oTPteD9b2)z9Xygh28(^WB9%4=>V;1w^MH^&bwfkZw4|ivndd1A^UW2d*KD ze@F!iN1C>unB`NXME+8Nru-K;0Xnt<#eHTbT!3{bO2<2s_XM#;Pg;KGdYg9%BEE@j zaGI@mKVQ!PPXsFQ6r|SegG?nprHI2vvESvf+&>O38|(F#9}W61zt8w^D}GVo=8$N- zX==Ek((h5}yi#@K!a8RCfY~(OrpLAryBJ6))5nG-@hN#m8@*wG1c%g??m|paQ5@%_ zqyXK<>zzZ_*rOF5Z)*iiuV2sBkLMiGea(4W|Mi@H`5O@?K@kNdCDZnh^1tp7r)nVw zZ>1D9rZzf5bD2<4xHkGCw;`)RIwA8u~Wc`6I@ ze-;>GW!GeeS%^j$u}MhqI>=j} z%!sY1Ts$N$tEh?4i+OKl<>uZ-Gj*;qj(^2b@G)&w(%OS@=RL+Co3-DL2Hu-YWlkEG z+Ee@1w>K^y-XRp)|D=0Wy*zkKN{GF6^b1GruR772aReDx487jM`#6lWhBK}7Bl#lB zmixZ)q!zuar73(9+zD92@3Z>vT&ZHS2l0Kqf2D^4X_6L??RqHjWe>hz$3}=FZudG* zzehzU%lHYOM!}Qa4czPEk|8siz@RKL9nG0cX);$WV=32J8KZ5FZW{b0kqW+yw^U03 zYx@g6@At96G@%T1Pg&?$sfNtnO8GW~eBJc1M%#{Lxk@rb0oC}o!ayOB$KG)v=?Sc^!N>#9j z5u;3~O^_hU%AwU}%CISDfg1FZ^kajTGJ>Yh3|Z08>y7$j`QlA6aDpCx6kzBkXT;la z0p1W)VnYvpa6uJoLzT*^Nfy}4Hv$kX1YJVscxZ@k!Iz3$=-6QnO!{b470D7E(6x~U zps#KdaA#=&+IJm;Ct_kAzk!iTWflPFzCRTIihdRYlMQHqFn*9J4LXYhCSg#B2S;zf zehCgzYxFnM)-m863^0N^63ZYM^_Q6c0x3d)m=VBDg+2x*jRa6Yxgdl((3E|w}suUU4k@C-|;u^Gn{R04QEb} zYIv1G&E~nw^5kNrKBTi=+hCznG+EHefE>*rDG{m=!Gh1$wwLa6Vgo-6sX&((T6JJ& zIZMrh^(0-!?U(m{#jH;c$`pCuGc=>ST8AXMnO3;HWGl7}G{KO|&3BXn*%Koxu5P-f zXeWGrBW9eb==Sk#k@rm@e7%&iuPmJq2-+E$BZiD9KIa7W!t2E@`qcp3xH9+L%VE;d zo`HBx0OM)&og|?SCQm3K(djiByDASiK74pWPMVx$r&%2IfTw}es}K7{F8@6fS)B)v zjJ{yFjYXqZ&-#Tvz0NNdC=fOD`t2=;9|KGvR|0`J4=kOsv{2lcXyDyP`G>*V1@t8^6ZbynhDgf62r^ot>5cmg$P;Y*R5snSC^xry9C z`sQ$6+P^;y6}Xa&WMx7Fyp|^qTb{1pQ=jRa7{=_;BxI-MjNipf4F1Ws7JedoHute zs}M)SvFMYX$Shgi*Fv~3j052ZmDD)#Iu!1aw?O@w>g?~xNkII%uU+YPp1m_mMAbZ3 z3QCIj2Goe>X`4v!V~*^f|GXa_^&Ablg)o!zOF{t`ir%U#dQfh@V9-7N_jpLEHE(xx z{?F+)9c5tfvj8c{3C5fTqip~AiAz%hVX!+gK!+xBBikR|q-&Dr;V2uro-)7izYjjo zi<=%6K=ZLJKZ3E)FPc3!vs4>nte2alF-baPVwYmIR-f|@91`4^lvZtG-*IFcQ9yhg#M}c6vjBlzwa-Feh-Kzclvg+8s^vsI~x4H%- z4+tyHiOd0Y(s`i;8-1(T)2;P_r}KDN5rb4? zS2`z(bjU}yv!3yDRwFyRNZ#$2nT%xLL^@YKb>xS~k-AsY&0?FQ1Rk&}-XBf;fCO#* z)ufT*?Vtm;tby{G5%hHU6N^L2flF7pJ?`q!V0mVLdx!6T6#H$5KIfRpVc~w)jn+83 z>%)B{@7rGbPkA>QB_yXSnbo(Hix{cGNR25rphdM$_wCc6GODm#?5HP0T?HhcW_UJ~ zc6U4OHXN}hGuu-FdI`0ickC!q_loR}Cn3iW5BrvJR-DwWpNC(L(1ZT-LaLGM4$8I+ zw7{PasGw|R&0eL`os>b@MxIC6zLTc({pmrjL}cz`e>st`A&OVV`5B6yFCYUBFx-r< z+i%jPyC&V0wEHy8b*aBjloz@P*mkW#-7?cT|GXRhj5CQNK8HJMKSgl{P6G$ccl)@L zZdq@J)>VWCIrE%+UhV^^?w_~29*7p_o<@QNM?(V=y1w){M2*)N;!Nf9R*qASO6MK}OBIZ&8>n~);6$&F9;}R` z(FRmN{kSZKEhE-6g9T%71?0LV0=B%zARmvaZFG4}hu@7lDh7ILIY2oT{KvWeX+TvB zXuFO|s)E;;j54$;olra#cunh%R_zsz`5*_a0K}Rb)iu5IK%h2w$cK-$Y=wP`-b|bg zBar4K+X!IRB9oB6G;@TFkiKRDygKi3BOcwyRi#jq>ZvI39N^hAv@dp|@PlC)^b=Ic z8CDtV^wb@SHr@X2R2}!apmCkQYH8s}hLz z-A3Vmh~`qF+18PVvxH%i=F>~(!k!vVJxt~+p04DUB~zQYC!X8AnCEur`%9vz_H3QA zg7&{PBig^)VzC!|mqyq5c1s)jXK>bm=# zr<~2p<8+5D&akQ0aCT&^jMZREM?UVRc<5Nw)Sun{H)0c*=VhAbxLW@!as5_D(AK|T zoy+H-@v^}8Q!82j;Al*9c0wXlF2Ij?;VNUw;OeW=6xL4~ z#iC^8a`5Aa3a#c1t0(r3pH+AEFTU6rkRuQI|1ml~WBKEx7Wj>Rl~&Ib;U%Ry_k1(v z!5@AHhxE*rtqqo^KJFLJ&;SvK?~pfvU54z)jWAa;iEhU(hwE3^HhDzW~| zR^7^jw&IUF1}y_gSZs>|Zo|j2REg-^k>WsMgi^E~wHIUc3A}e%H#aE%e$|!VsL5djd~bKhJ#gTOw0dp&8^veK1qw z1n=WRSDIv`BRT21UW)ww*exmS_CMThl7}9jVn}34u~iV`LVqR~&yTPPehu<$kEaF| zZGjh#gZ=^GcwW3so4KD;L(2199xDPO>AM0c^jal&%aY|Jl!jiOKy#-LLXSMW)h-%9L6>+LrnyL`;z+! z9?D6L=&W1xjgl?Je`WIjAuCi`DxM zhx=E8^z|1O>UqwNj=eAZA4%8Y5B2}Y-**mYOZJFLMl!O?IwO>sjG~NCWG9hzXBUaG z$;uW{W+8_%LK(@-NRgGj&wYOH@8kCec$~-G=ktEOU(d;-fQ(nZO?u5!ZGUfJk(N7U z8{)oU4y&EL$bYzR6K%d3Jn||vERHHTVJsAzVN%V_nwLN9XG?u}!S&N)pc7&}S5PDQ zE)+SDfF4CKaD8CE=|28`--ww|r;9d5fq&9iTY&OAg=H2PqbNoZV0S8K%+_v+ix@bD zNY-AfYlynNr{sTfVL-x9(MH z_2>(qV(}_ioPORfMsH@gz=ogerxobPVE{X^2m=LJxCe5kN0Y`#7Ddo4(rkyujmb&K z@%9M-q9_Woy3qYT68!3kA%y|w_$vC9dX)@T)+z`$`<_xZ<2<=}21S^&s#6~(;{0S( z8C?el?S>YvO$V=V?@hj^RNr0I7-^$U>N$c--?7p~JccIJ5lnyly2r#!TOmT-AddNr zu4S=rc3bKqrEI^1Qs-y9qT6Zmm+lRhNP-{l<0W!SRA!0?I^b=fud{obM|` zCrl0>uDm@%tbgb>79_^c!N{%5`IUoJqb2PA(IV1%dnDsIo%{G(mMJE4C6ANWSdIhv zcT+-84fbhS6&t|F7gc>)_~hxsb7}iJMz=!YtZiNQw&?o%&F;%b&)5vI>y002VxC)D zXA}cBPC2}+#}(o)Hmv5(-W9nlaPd4tV`Cd})J?eT{usU9uxqHVh5L7in?li3AB<|k z5ZJy}hW{ipHt?MuE;7tEDwIiI(TuX71W)AvXg7sG0-Uo0QLt=jc0m~R7l1P;+bzM* zB>s~yX^~eZt;ZqbhF6P<|HuRdgTh0iw2!Q(zEJhr@FN+L+c#-_eX;qs*jJL}Z zp~SUG<{%1(Y^l2wg}^q~OhywBdh1;K(+$+_s3l4{E@JlHEDHthPoJ&O{nj0^AvS89 z8i2i@@QRJ12}%G)-b_h=_|Mk-=E%Is5I*rXDPi>6_TLzNeP1qG?+uo_DHJjh)t-` zzncUmkF2oW4I|CbB;I=8v&SX!@6Fhz@-L75k^n$w&G(&xF6#PGX7*q@#YaPzNNR{2 z3FzoJ+jy=?GJ?w0t5)*Cu{H(&Jet&#etOY@HQka^Om{oHVE~79?rN~kn_ta_&&kST zYDW6roBSui@OU6!&3<#*7|l(K8jkumJs#%0_6>PIx1ZiMl2(k;NtiqgKDjs1wumS} zm=;zUeEM>buCLK(ee5m(IW+vj^gH(|BH(UIFwM7k>p@Rd{N;DWy)E9^aYRa{~>SAAK zDbtXC_P!fmjNZNI>56YY)%pH~oK8!rCyb|lhvW-4vR}{cF!B$bAO0c#C#TW91iQEr zap}g_fEVy(M&5dTq65Eab0oO(u2?$W>Jdgq1Izic89x~Xag zk)*tJHSZH6J*j$ZyVv(U^pcR6&PJV?#&Rc0fg*IyRW%p#Z53v4W(qz&I0UdiL^RPsnpG3SxSYt|vxv`MWXv`iMl3@PRdCjZ3LLP2zOSvV z%pi5Y5vCusm>yO16F(dsmJFNTDxST_$C{#WQ>|+8R9&_9tBKP5q;4108<$H5yR;%& zB2aPyw!CFTI%cN_;=K)E@Y@`5uSb?Mm6_>QUYn#@RB`{8D1i3N?;e!Xl~;xJ zQBvVx3jm>EH)RyA-|!X-Awxld{F6ZdylDOk5o266b^JKm7ENSKnt>phpM~R&#Skqn zAM8Oe?;M8)__&TnKjvU2B!__z4fQ9dC~YO9Ku~LpqPq?r6K#;r3hVC?;i5N=T!&_;M(z7 z>ZImln>KuiBy7Tfwk|^UIN6)zJ>d<_s~~s>3w{%{1L$SFxN@Etq6|dFS4pG64KmD- zR1Iy{qyiJ!@HDw^D?qQOOSqAiW{clB=l5qm#AC({`w?GZvW+)m#<`Uu>u*D~NO-6& z-SwGMGt^OjL!dEayNap>cc4h4Ha((=Fq~>HxA@^}d{;}Wh+1y#p;uo@Y0PZ}G-n1(`$#eumsxl-; zJVsF6EAP)QbQaQp5m7+M534-HvFG!uqNwAtL!Q3e^i~|8Y&3iKh*@K?BLZRzW&93zbC77 zV)LTa|+=l8!AyPaQg=>0ZD6g4AJ9 zoRr{~6iVQw0Nne&4ZZ4;6ie5ZC9l`M4EMBrxQ}CD&HkGIOHg*T`RoTO8x;*2Y|ihC zq+=1ABSJZfOyth3GghlH)D}(`gh1f6hhe=o5#RpZ3Q?PAqR*cA2>2%zJ8Czbi*3jE z`#;Zm&VN#`k59&OJr7}Sc9RKj_<&pU7slS4&q+l@Y>MRY>pnMw6p7BU1#obtg#M^V zdbm2W?gBtX<*|w-&DCQbni`ibEVBT@&7fyg-q-tsMxp`E4&^s#cee2j0Pn7@KI=bn z_&Z-xdT@cca)Djp=%?9Sb3@3&s-5k@(i0W__Kj;TnvaG6entN?t@O&51P#mR><^sgS?^Ix#2II*5d6LNpC1Ro$qEY<$iY%Hj#y9BFKPaSDJ}`3KHmJJxCVhm5w( z(G6i0b+x^*>S8}`H;`35qGP4W6PsVO=6~EpyiF!YuDSjU`-R+K#%BAhZ^C|9ApRtoGnnPK@n2E`liAssgm; ziG1lIH0UrX9|NAqhUp>8Dm6%A;a? zEnBjCdimomPt`Lhvh`K0S|!C?bMjPp_7{&9n{M~kIDNdhqx}NI-pBf!7yEESDLw(} z3#cItxyBO>i~yTo7!l zaPrWP7WeoirZQU?rNze#a2KP%7LM>Bm!1#9EGYnI*ta zo!Si(N?pMRAIlk?VM-VOk6WeW-Yvoc3}xHnPg<$oTUfWZf~m*f4#O3-J6XJ7hn+7UJ`;M9K8xqJPbgMub};hM{jqQTnyI9@_?-7>4{oU3 zgWeK^@f~B&k;<@FkXZDJko#&ybWVWDOed7uh{A#=Zogo}-CjI4lKothiVSzp5;kz@ zVE%R)@+e)nDm&Is$^0O1A#RB5++nD`*q;!8Uy)Cy8|n@Tt%*YZsz>s{72O=%hp*gb8PpjIy(8_b~3T;S47oJREO_$OhC#El=x2nr%3YJ#!RSX z(iFY0Uy4VsE!9yJvm%l#;8};47qftd)={1mg8<9@>SOVl%!U^s={mpD(RMWPK%_bT zlI^GY-3n&x+NFNEy^X6U3eW9kudTT>%${$u_WXW`r zEjkY5?1KS`i6?*Sswg z*le5ckxuADwd-S07{w7iniD6QucyCWRFWmc;yWs?B3|~m!+P|?q-fZA1DGKxuIvav z0_c4CO-5>IleMb^{PR_0oetKaM!CLeU$Z#TU>wY-s{L;Gxq~1IXBCqi8Of~1y*i1# zItf`?@~aIs!Wfu{sDJUo@>am(pii)$_VZIoAqwS^bQc~!9u4&K&z~`JTG8^Lza~C+ zAud`vHBRD(!O|Gjv@$iQ){YG_J4HAqfOF>(2t&bsw37tIJZ4CJ|{PFe=p?_7&`BCP0in$M; z%mPitRUx@PpTQ>nKx|0L8(h_oa)-zLqiZ97{*(Bce9X>HJkEQLkA^0mF+56_>$%;) z%wt>Uxa>OC**_;E{N7(~`L|TSx3qjFj!jH3C4#P?ptknK&(!k+;p$;$)9j0rmx-15 zxPJpYM+dqdJF8-`ycPp)09z}g8WTuItl$tfF z@Xf~2SExe+1xD|RZTbIk-EKFNMoMfNOBQGwjhatXXtd-uIZUfL(*hxybJ>o< z&B+dJ^TUmQUz24IE_Fq>8;nm((BB_O03Ucqev04 z8_H>j)3jO{8i>57!M`qM1R{IT$A&-K_(}_z>YSk7UkHH7lv@Wk_OdeLkEU!?L-EKS z%~P%m^a@U<3EHvw58cLf#iiPNKmES6jd$C~n1u}_e$(Q^in+@rR?r)?H#AwFpdW2{B?ZQiH ztBQS4>Bu$5%_+;LSdioDmqF2F4id4pbmpZ$z;Q|}oU_IxWaNp|{bkI(3@P4OM5p_g z6oD5(cAWG$<^Aak&UG>a_uZ4%w~=<^D|g_=%Urt0FXe~b;`tfOp;oYw z{b{aYcag!Mw`XV$`KBKfTrq@{=Cf^2-84GBPImkGQ=kB5&wprlc6NDWOA-v~{2lyg z`(!+^ zeZqENL;cDeRr)p$?*5BeWW@)vky~o%h?qH{+Lg-)T(_%`*|I1x!0S+8iElTg(cq>c zrqVq5A_MLx3o(fXnio!?Y-6DJsphgFdL)+u{5FTYT*E%LjbDeK4LdDtiN@NY3DluL zUBHcw4d4WIC!c>1!OLN%%cYN+KKq-U0evgdfcX{|CVm{X2PIGpAYO`6;06wq3c_Xk z)Q~8U2Jvsg032@TOW9HDSTrxiKhdjuDfBO)&8VL*PN!I=a`c3MnMi#)AlGpWZT zMMBayVXWF&xW;uT+646U^yE(-9rWHCt6qrP@S2I1V{F_&tZCB7oQH8A{1R4TyhLrA zy{OB4Mya}&f7($d9DQ(`u6Gu8-J%6?e7V!dS*Wi*agMK4quAm75}J7Wy~CnC3rHi4 z>UX?tMd*3s8IZgp-4fSZH}Uv8jLY4fAx%-wu8D>Gr-DjW_LZEyetd)g8?Nrrf<3e?i)MY!C@vHsE4aIvP=h*QdN{LwUb+-|ckjjDJfmjA8WURUO(>`_-{%-Xu!iG3uv zh0Cw!1f4w+^OZlWp-6g0X#C&svwu;W&QCngN$~FMxrI5!#WH{Jf|9=w3>eWQK#L`Q z+vjFL>y+L0Cl$tvK%leBdaTBI@IMe4-!`(R_FeVv07f@(^*n4jLcT$d+~5TaiqOha zNr@t8WC3FDexTjn?DZTtqs`+Y0?T68SIvqk=pURF$WtoGDy+V!3H_(ah*xrjE5%<8amRLwdtg1`FYQ%$;1 zGwhq;dcaZQeodH$wFID!4z;djgy>KuksXt8;Ff9gmo1BO$qsVDzRf8>U^$Wnk1XX$ z+t8|m$tf_$e2@j2u!Y21tl}0a_*O6ZlO;R;dtlJ(hwb=*Ywpyxu0d{WLCZY9K3E2g zp-m6UzGRlyoEW}6CJe1JhuB+g1$rKINgG9ekb3aIBu>q_t~rjiruW)A zKDB41q~4LsAK^xPpk4lj^O`1fl$XKw>rZ%X;kKmT`>J_4WEu$Zq826$j~&`=VWy(QacZz4Tz>I zcs$q3{vO4e&GMrLE>(rXV~rz{OOn@SgNg&*y$vNiQ&pKc{cxIu&rS(h`tsRR#hahB z-Ouo!J~ZHw!&bN1h9a3VHsJIe-Uq&&Xi_qBcn5v~ps0cj$PB$;nk) zY1aJJh!-*)(@OysGah&ms=ZE zvt-Jf+Py(Z>uLe2X-Bo*b7ICJne-gSv@Od1sWb3$x{-oGALXlPr#Hm{5Sd-J*rnW5DU0#Jx05Xqg^02#hIjco

{Co!{3$Hr@mB%Px{o8zsgM(a8N4~ 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%0Dp{L6n2EkIZQ`YLq6;nkj)S})oYtF3 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