@lightningjs/renderer 0.3.2 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/src/core/CoreTextureManager.d.ts +4 -3
  2. package/dist/src/core/CoreTextureManager.js +7 -4
  3. package/dist/src/core/CoreTextureManager.js.map +1 -1
  4. package/dist/src/core/renderers/webgl/shaders/DynamicShader.d.ts +36 -1
  5. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +4 -4
  6. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +1 -1
  7. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +4 -3
  8. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js.map +1 -1
  9. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +1 -1
  10. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.d.ts +2 -2
  11. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +6 -1
  12. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -1
  13. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +1 -1
  14. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -1
  15. package/dist/src/core/textures/SubTexture.d.ts +2 -2
  16. package/dist/src/main-api/INode.d.ts +5 -5
  17. package/dist/src/main-api/RendererMain.d.ts +88 -8
  18. package/dist/src/main-api/RendererMain.js +22 -6
  19. package/dist/src/main-api/RendererMain.js.map +1 -1
  20. package/dist/src/render-drivers/main/MainOnlyNode.d.ts +7 -7
  21. package/dist/src/render-drivers/main/MainOnlyNode.js +8 -1
  22. package/dist/src/render-drivers/main/MainOnlyNode.js.map +1 -1
  23. package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +8 -7
  24. package/dist/src/render-drivers/threadx/ThreadXMainNode.js +11 -1
  25. package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +1 -1
  26. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +0 -1
  27. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +1 -1
  28. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  29. package/exports/core-api.ts +101 -0
  30. package/exports/main-api.ts +50 -0
  31. package/exports/utils.ts +41 -0
  32. package/package.json +3 -2
  33. package/src/core/CoreTextureManager.ts +7 -6
  34. package/src/core/renderers/webgl/shaders/DynamicShader.ts +46 -6
  35. package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +4 -3
  36. package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +1 -1
  37. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +9 -3
  38. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +6 -4
  39. package/src/core/textures/SubTexture.ts +2 -2
  40. package/src/main-api/INode.ts +5 -5
  41. package/src/main-api/RendererMain.ts +125 -23
  42. package/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.ts +45 -0
  43. package/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.ts +154 -0
  44. package/src/main-api/texture-usage-trackers/TextureUsageTracker.ts +54 -0
  45. package/src/render-drivers/main/MainOnlyNode.ts +16 -9
  46. package/src/render-drivers/threadx/ThreadXMainNode.ts +20 -9
  47. package/src/render-drivers/threadx/worker/ThreadXRendererNode.ts +5 -9
@@ -1 +1 @@
1
- {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/utils.ts","../src/common/commontypes.ts","../node_modules/@lightningjs/threadx/dist/ieventemitter.d.ts","../node_modules/@lightningjs/threadx/dist/bufferstruct.d.ts","../node_modules/@lightningjs/threadx/dist/sharedobject.d.ts","../node_modules/@lightningjs/threadx/dist/threadx.d.ts","../node_modules/@lightningjs/threadx/dist/buffer-struct-utils.d.ts","../node_modules/@lightningjs/threadx/dist/index.d.ts","../src/common/eventemitter.ts","../src/common/ianimationcontroller.ts","../src/core/lib/utils.ts","../src/core/text-rendering/font-face-types/trfontface.ts","../src/core/text-rendering/renderers/textrenderer.ts","../src/core/utils.ts","../src/core/animations/coreanimation.ts","../src/main-api/inode.ts","../src/main-api/irenderdriver.ts","../src/main-api/renderermain.ts","../src/core/textures/subtexture.ts","../src/core/textures/texture.ts","../src/core/renderers/corecontexttexture.ts","../src/core/renderers/corerenderop.ts","../src/core/renderers/coreshader.ts","../src/core/renderers/corerenderer.ts","../src/core/textures/colortexture.ts","../src/core/textures/imagetexture.ts","../src/core/textures/noisetexture.ts","../src/core/coretexturemanager.ts","../src/core/renderers/webgl/internal/webglutils.ts","../src/core/renderers/webgl/webglcorectxtexture.ts","../src/core/renderers/webgl/internal/shaderutils.ts","../src/core/renderers/webgl/internal/buffercollection.ts","../src/core/renderers/webgl/webglcoreshader.ts","../src/core/renderers/webgl/webglcorerenderop.ts","../src/core/renderers/webgl/internal/rendererutils.ts","../src/core/renderers/webgl/webglcorectxsubtexture.ts","../src/core/renderers/webgl/shaders/roundedrectangle.ts","../src/core/renderers/webgl/webglcorerenderer.ts","../src/core/renderers/webgl/shaders/defaultshader.ts","../src/core/renderers/webgl/shaders/defaultshaderbatched.ts","../src/core/renderers/webgl/shaders/effects/shadereffect.ts","../src/core/renderers/webgl/shaders/effects/radiuseffect.ts","../src/core/renderers/webgl/shaders/effects/bordereffect.ts","../src/core/renderers/webgl/shaders/effects/lineargradienteffect.ts","../src/core/renderers/webgl/shaders/effects/grayscaleeffect.ts","../src/core/renderers/webgl/shaders/effects/borderrighteffect.ts","../src/core/renderers/webgl/shaders/effects/bordertopeffect.ts","../src/core/renderers/webgl/shaders/effects/borderbottomeffect.ts","../src/core/renderers/webgl/shaders/effects/borderlefteffect.ts","../src/core/renderers/webgl/shaders/effects/glitcheffect.ts","../src/core/renderers/webgl/shaders/effects/fadeouteffect.ts","../src/core/renderers/webgl/shaders/effects/radialgradienteffect.ts","../src/core/renderers/webgl/shaders/dynamicshader.ts","../src/core/renderers/webgl/shaders/sdfshader.ts","../src/core/coreshadermanager.ts","../src/core/matrix2dcontext.ts","../src/core/corenode.ts","../src/core/scene/scene.ts","../src/core/platform.ts","../src/core/animations/animationmanager.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/peekablegenerator.ts","../src/core/text-rendering/font-face-types/sdftrfontface/internal/fontshaper.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/specialcodepoints.ts","../src/core/text-rendering/font-face-types/sdftrfontface/internal/sdffontshaper.ts","../src/core/text-rendering/font-face-types/sdftrfontface/sdftrfontface.ts","../src/core/text-rendering/font-face-types/webtrfontface.ts","../src/core/text-rendering/trfontmanager.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/constants.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/getstartconditions.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/getunicodecodepoints.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/measuretext.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/layouttext.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/makerenderwindow.ts","../src/core/text-rendering/renderers/sdftextrenderer/sdftextrenderer.ts","../src/core/text-rendering/renderers/lightningtexttexturerenderer.ts","../src/core/text-rendering/renderers/canvastextrenderer.ts","../src/core/stage.ts","../src/core/coreextension.ts","../src/core/coretextnode.ts","../src/core/animations/coreanimationcontroller.ts","../src/core/lib/glm/common.ts","../src/core/lib/glm/mat2d.ts","../src/core/lib/glm/quat2.ts","../src/core/lib/glm/vec4.ts","../src/core/lib/glm/quat.ts","../src/core/lib/glm/mat4.ts","../src/core/lib/glm/mat3.ts","../src/core/lib/glm/vec3.ts","../src/core/lib/glm/vec2.ts","../src/core/lib/glm/mat2.ts","../src/core/lib/glm/index.ts","../src/core/renderers/webgl/shaders/effects/effectutils.ts","../src/core/text-rendering/texttexturerendererutils.ts","../exports/core-api.ts","../src/render-drivers/utils.ts","../src/render-drivers/main/mainonlynode.ts","../src/render-drivers/main/mainonlytextnode.ts","../src/render-drivers/main/mainrenderdriver.ts","../src/render-drivers/threadx/nodestruct.ts","../src/render-drivers/threadx/sharednode.ts","../src/render-drivers/threadx/textnodestruct.ts","../src/render-drivers/threadx/threadxmainnode.ts","../src/render-drivers/threadx/threadxmainanimationcontroller.ts","../src/render-drivers/threadx/threadxmaintextnode.ts","../src/render-drivers/threadx/threadxrenderermessage.ts","../src/render-drivers/threadx/threadxrenderdriver.ts","../src/render-drivers/threadx/worker/threadxrenderernode.ts","../src/render-drivers/threadx/worker/threadxrenderertextnode.ts","../src/render-drivers/threadx/worker/renderer.ts","../exports/main-api.ts","../exports/utils.ts"],"fileInfos":[{"version":"2ac9cdcfb8f8875c18d14ec5796a8b029c426f73ad6dc3ffb580c228b58d1c44","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","impliedFormat":1},{"version":"0075fa5ceda385bcdf3488e37786b5a33be730e8bc4aa3cf1e78c63891752ce8","affectsGlobalScope":true,"impliedFormat":1},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true,"impliedFormat":1},{"version":"09226e53d1cfda217317074a97724da3e71e2c545e18774484b61562afc53cd2","affectsGlobalScope":true,"impliedFormat":1},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b41361862022eb72fcc8a7f34680ac842aca802cf4bc1f915e8c620c9ce4331","affectsGlobalScope":true,"impliedFormat":1},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true,"impliedFormat":1},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true,"impliedFormat":1},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true,"impliedFormat":1},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true,"impliedFormat":1},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true,"impliedFormat":1},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc496ef4377553e461efcf7cc5a5a57cf59f9962aea06b5e722d54a36bf66ea1","affectsGlobalScope":true,"impliedFormat":1},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true,"impliedFormat":1},{"version":"930b0e15811f84e203d3c23508674d5ded88266df4b10abee7b31b2ac77632d2","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true,"impliedFormat":1},{"version":"f35a831e4f0fe3b3697f4a0fe0e3caa7624c92b78afbecaf142c0f93abfaf379","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"1bffce85c04ee43253219899a454b520f0b41a0269b95ef2fa5cf1c217f55d4b","signature":"15d00a3731898086f8fe3afbce4566f6fde02e60f01c3cef40ce749ad04adb41","impliedFormat":99},{"version":"c682a23c1dc781f476d7cf2af9a587fc388efd19771afe3a3c36399ddd643d0c","signature":"8cfe8505474aa73e8ad66a6fd21b007049a26a15ecaa72946e49ffc7c3f5965c","impliedFormat":99},{"version":"11f10eef6b087b59bd9e527db506274380a36587a1bff3450e220ad7ec2ce45e","impliedFormat":99},{"version":"15ab6bec6e312af8cc76238a0ec6f20a2a7dc125c0de5fd8cb0238eb81051ae8","impliedFormat":99},{"version":"d90b76ce2694df21e1061f5f353ae561792c03791f3cccc8ff16e818fbde9e06","impliedFormat":99},{"version":"4695dca96c4e3ba7b0e1d3381c6c5ab1f434395cb9f20d7b021338223a906959","affectsGlobalScope":true,"impliedFormat":99},{"version":"0af862bd95a0ba9f05c35a91c6881311a8bf0a3b048bbe0afd5d1a9a8f82e7f6","impliedFormat":99},{"version":"d1d22599d75b5ce46d3d235fa8a0ab53fd29a410a9025c136196b08e56e25147","impliedFormat":99},{"version":"b1d79abebd2ac4638e69958b27e6e493e03684e7ea836a6296672504ed1fbd70","signature":"58898cc3aeb7531de5f0dd27d64df82c96e470afabeffe0d14fff380e9a686d7","impliedFormat":99},{"version":"35293784d7062d2a81f1bd43daf5dee8221d54f58d29b5d08b73c5ee648f205a","signature":"15b2a8459b2cf66ba77e173a66b9e41ed679a385b027f843dc18fb4c56779459","impliedFormat":99},{"version":"d8b8bc88e9bab1284719a3a5d487a9e02299f3c2dd21a2d03f4854bb25d28b9e","signature":"06a527bb28c6bf625a8032717e95eded09488be12af5264c3304054ad08714a5","impliedFormat":99},{"version":"d65961064e8d791204d3de693889698f6c1767f959cb8a3e8ea0961e650aa0c1","signature":"ff0bad9467e6f7dd147057a6781a9a01d4c84f715ff452e60a2929349586fa18","impliedFormat":99},{"version":"b78f44c74e235586db62450fc6df5457de730310393940ea6ad4e4e5a566264a","signature":"93f7e18aa7747b9868821a6b5cecdcbf6173fedfdd6301aa2ca8b5d266bc3f1b","impliedFormat":99},{"version":"14cb9567fe6e8f0cf8370b620f74aab3163b677d4e1cbc60ac6344d0ad3613ee","signature":"ef6a93587499b61232a924d621c6e61c5f05d0da29585ddabe21039f61a3c758","impliedFormat":99},{"version":"5a80fa732b5412dec3696373b306744265e9686088b62ceb3215344b610c4a92","signature":"96d770d815ffe68ba00b3f4968ca5542b9d75821341b1525b946c49396d16de2","impliedFormat":99},{"version":"82fa52915cb3a7e4a0f09e197707f0f90e467e7ee707dd940f6ef4e56bba1606","signature":"3d9222df16d60cbd24a1b18bdbcea1ac6efaa4acb68d9ef79e7faafb006de663","impliedFormat":99},{"version":"86e6144669efe15adacd56cb52762b02ff2a41e7c3ec3030514ac90a7cc4c85c","signature":"362cc68665386ed863f70fba8fddac5d7b9ab976cd6cf1062ec21a2c6cbecc06","impliedFormat":99},{"version":"b89eafa24684e0876270050726d82a105ee9554ed66fc7f7b102ef75682e2544","signature":"b4c4e8ae1ed30e3e8cf982ae201e9fa0d1e054ec9b2ce41d4310fd41e74eee76","impliedFormat":99},{"version":"fd4217a06983edb690677d298a53bd46854dc26e11c1e5fee19e714817c81a2c","signature":"6ae1262f6cb1c7050ab7ba1ecc800a50c579923710f348bd0d8191428aac0d0b","impliedFormat":99},{"version":"3cd1d3675b068b6dc26a1233966cbceaeb5d82d1ea84d498a2301c608bc150d3","signature":"6b0feb66c76738bded0aa0ec4dcf758e52376a6ca53b63debb5dbaaea83e9b3b","impliedFormat":99},{"version":"27bdd650502d43995e8d20715671bc084017a0a97ff31f3bda3815b322d5dd31","signature":"a0c93155ab9c8b545b99da400124754ca422a93973e8590d76b6e88160f8072f","impliedFormat":99},{"version":"406863eae1f7adee4bfaf6b80f541e72ba3ff57a80997eae34dc2677733f62cc","signature":"21248172fdb4c3ce859fa761a360940384895116a845e10fb20812ef4d29431c","impliedFormat":99},{"version":"6abbadf260f57b2b5425fc9152d128f9c6e31dd5e1e10277a40fe025168bb3e7","signature":"2c608878583a5c619e39dd010879fef01147b6f4dfe0fc1b0adaa1cc3d6781b7","impliedFormat":99},{"version":"5cd3f3299b37830e80f145a4e3028013f8c84e1b615bdb0f97c918a43b3c1ad5","signature":"42dc137411a45d6669b605e9efc6076b37b38d999e366afd090a637a879271ce","impliedFormat":99},{"version":"2df0ec7bfdd2b6011cdff3781fac3e2bdf0cccfdd3b7dd1e66947975017cdc10","signature":"fdf46f1c48b9091fa48ccdf749769e886070ee3950a47581d08abd875e5849e9","impliedFormat":99},{"version":"e1b43ccd67a077fa388071666596bb3495b6ec57bcbb528dd3ca46f81532bd6a","signature":"da77f3307ae23ad0a93f2f66bd77539b8ac6a10fb6f04de00842824312648d59","impliedFormat":99},{"version":"074c8da4d6f971d864e2578f718a11d13797f850c266b846286b613905c910f9","signature":"52bdb4362c20071dbe000742bfd4edb66fa2faae4cc0ded2378cc51c2de7f6d8","impliedFormat":99},{"version":"cb61d309363e7475eea1415e00b5651779162197e468392871fe10fa3a34ff86","signature":"59c5ae13a7ef7c098bd9073dc90fb4a7f59852ce1782b8411f9396228f647049","impliedFormat":99},{"version":"c1e884d41fb830745a0de5126e20c3b9f8cdd3940623cfacf57cf98b0a65d402","signature":"8e859e1af27f614aae3f8d163c831280e842bda6c53f11c60b78deaedcff6d92","impliedFormat":99},{"version":"07571ae6b73858e8bb67fe2dcc4a2f29fcdb1f1ce9babdba0591898aea229c1d","signature":"a5cd04ca2a0393a39483b49f293e3f859b332b12314be0e36c1c923c706d7f69","impliedFormat":99},{"version":"6a7a7e47aa48bf4d6d4cbbb233b9cdf83a06c4735a14686d172277f74297ced6","signature":"3754078571084aaf5f2dfb3711b257732848461175573bc5210dfb17b6ad5a9e","impliedFormat":99},{"version":"fe059ad5602551efe1fd96feb8639a3b5b8519e4f13ae3562c67c45b32df8ec8","signature":"9c7e28c8554bb1e4ee50e06a4037967d79eb8126b3ee24c1676633381a352e0f","impliedFormat":99},{"version":"34af47ae2ccd722a991f008ff8897859ad016288efffc5503a6059ad74fd0fa5","signature":"06a79515f302396157478d7d296dd32687085e2bc6b6bca14d84a7d27fa001cd","impliedFormat":99},{"version":"6a406bb00f8f8d59abca53d40c92b96f8c1631bfab74f7652ca18a0a82502258","signature":"5732bed24a0204c926e91eac958ae62b3500ce728dc8a65e239d27d7a37a19d6","impliedFormat":99},{"version":"ba7438cf6b3cadd5e0bd62ca43b962dd55704f80b23d52cede48c6980e85eb5d","signature":"af4d76ec3bb071cfe37059f0faa68a2befd18b9731cdd7bb8fa6e79d7d32872d","impliedFormat":99},{"version":"544f9c3eda5ecd74e1b77c3e78fb83ad50ec2726075557464edbcf7ec55b4fe7","signature":"e0e6f298c112f19beb98a2caed8578306085fe9f3ab842485994ea933cd2cb6a","impliedFormat":99},{"version":"db08e5113458deaca031f0857bd435b76d5c21872fa7211ea06a865a91a88706","signature":"3777053409ca71051e867f5ba2b8c281a46f64ae5e4a39502fe0f2f2dfa5e1bb","impliedFormat":99},{"version":"6a9b8cf02f782aa523859c0b92529f1260129ea20ebb2e2ba7fc4fdbd24e1fe4","signature":"72dd54c84d70a1b8c3db734337a9532029b4a4a8f044f8372327f14b42b9a1ee","impliedFormat":99},{"version":"28a000ca7e98e86758e7fbddae14ce624f88c60f2ad86747f08d13524bbeed41","signature":"0e84fe255776ae5379c1cac863a5938c19489314e535cb344fd21842608b1784","impliedFormat":99},{"version":"d75b99eeff9952a85afb19e40297708372e474d5c198e3fcc4a8defeebb4af1c","signature":"e69c8aae6eb25b1f5f596d1925a3718c019a1244040824ef9285fd5ba78d89b1","impliedFormat":99},{"version":"d5cba976e971b451c0021c4fb2742e7f1b9bb1b6712587876efb87c61f162602","signature":"5837bc89e6ddf83bc435f5c638dfae0607a2b7a435384dc2e56d3907cd3b3894","impliedFormat":99},{"version":"26ff2537979371ac4e67ca719b5d87f6f69f882fc0ba29b22a309608045b608e","signature":"ff353ca714a452348b3d7a1b809ed9a8368340d9f78bf76501f02b06169162cb","impliedFormat":99},{"version":"22b630c343fa6d5bb41e04dcb87eea55eb459caca56bb4eb4675de3e36ea07db","signature":"2938fdd3c2f3626344fc253ee2b3dd6e4a59180477ac36cf2a6cbfa8878e5b20","impliedFormat":99},{"version":"157d01750e013a061084f8352bffd051031b44d8371f0b103d5fdbc17c073a4f","signature":"311772dd86a12f364b4f688e47f4c157d84a15cfad89630724201a9d31feaa82","impliedFormat":99},{"version":"510f6cc0cc191277912faa4f310e3a492a2f417da71b2c3c384c671cdb4ced06","signature":"5f0ef1e79824783781759efd341ec3afddfd3046f730e17fede439d57b111577","impliedFormat":99},{"version":"46f984711dfc167aef0e96444cd24cadf20873540520be3a131e31b0734aba79","signature":"e1abcf4a600bcd4b8e69fcd03e767f5019c7f65b94cccafbfa1655f106e453c7","impliedFormat":99},{"version":"7b768100a6bfcedf7d1187fa8d7a318464abe22025f34d97b6d57bb1ecaa913f","signature":"c6dffb4a7da1ade0ed4d821fcac59688c93e327d3d8d41e61abcca107a506225","impliedFormat":99},{"version":"ce99798e644312ef6346b0efe3d278dcb0e29afcbcbb8a7a852b34a7d18f3dd1","signature":"a0757e2827c3485f4ec357e733e930d1024cee02bafde0ec31a0e65544645441","impliedFormat":99},{"version":"c35f762b82c92d7c276f8df7454a6308e51ac77a3f8c026ce14bd2c5a8fe2243","signature":"83e2c88379c4e7be10c2a2396e8a9d065517925ab03b5052498f371550cf79ec","impliedFormat":99},{"version":"fa827e4ba5856b03f712bb960a5c256acf7c7ab263cd1bddf5ab862bdcf99d35","signature":"9ef32c5ea6950e752a2ca6e10dc9229a021b810bb413f6bfc95628e394884430","impliedFormat":99},{"version":"ef34fef1e83ff14a2de4e7738b927dcb7a4c50856adecb9665216bf0ac2b05f1","signature":"810011f50ac483470fbcfbda3427056ae46faeacfbc64cc8d6b3d19f59ee1445","impliedFormat":99},{"version":"da137e2c2f59583afcdbd45d1c66fb7db1a929a86df2e0701064204beb45d55c","signature":"99c954c6d73ba886a5bc4bafc64deb75dadb4b7c4be02011546bfe811dd01781","impliedFormat":99},{"version":"afe5544103c33cbd631aa161bd3d9f3ca361d1817b570279a09b1307172fc011","signature":"17aca568e8e5f4571ffb75e0f42ad80ffafb7a29b3ae6af561a8095755584571","impliedFormat":99},{"version":"db6b3a880047cc2fbb630c8be396db5ddf152a9da1ac9a65e5dac08b69766cf2","signature":"b64bd59756146e278abd85ccfabed4c6375036060cd7b78fcbbdb65509c40909","impliedFormat":99},{"version":"36fe0b4b09f62a5a4340d5adc8766783684afa20033a248eea50d537912648eb","signature":"21167b8fef8364b756da5a5fcfc2ccf5b193eb5b7a287a6e7fbf814e7d1f3b1e","impliedFormat":99},{"version":"54dde1aa6a25a724e4ada207bafc78e8fd4edf95992f9a3a8e7bd68bc51357c4","signature":"a848784397ec7e3fb301a55b538cb4d050af13e2dc5a5a5ab402a5d1c0c947b0","impliedFormat":99},{"version":"fd1cbbdee71e00f211eda2e4198209cabceaa3352a9e8a0a697981ca7386d318","signature":"c28324a435388d95172f77ef0fa7aaef847910e9f63ab73b79233463b1a9b50e","impliedFormat":99},{"version":"6c9154a3ab246f7501880b04cade22952fd9ab27b35baa3b5e1c6b91105249cf","signature":"91343dc07f1287f35c8f94991ef8f61d1bacc0bf2fa987a9e7ab3954f84ca396","impliedFormat":99},{"version":"280d4a89fea45f6fed96708224137d7c6f9afa161af7ba19afc387448b1d2ff4","signature":"ca1d671356065c80a35963296ec2a8e9be852150f8ce985dd4106cc9a69cf05a","impliedFormat":99},{"version":"2f14e768b6006e0c9217f4f2d61ee87125118db122f239ea2b9f6269483696c1","signature":"86af1ef9e30559df431a169a1f9d87bc81421080efff8b87c971e75a54db67dd","impliedFormat":99},{"version":"1e8cd1edde5320fc8dbfb7ac91f50219b1545592e01898dc1c61916a03475922","signature":"8c2b43fffaf9f683998ec697f7018fdebb028662f6f8a6630ed5157b3e48cc66","impliedFormat":99},{"version":"07cc44414debd17b3cdd11a6073fa190db0650fb0790f6a588cd4186fffa3953","signature":"7a26ecdc665e9c6a77f5e2b3d25477c54d46f18775d6c0526fa334dff654af18","impliedFormat":99},{"version":"55cb0bb489555d141f055e698e6961062bf926470d2016610ff111cbdd9603ca","signature":"3f90cee77011924ba299c27b7cf88b037f2b43d0bc10ab153af4cd4781c50f62","impliedFormat":99},{"version":"d16194f16e3ba05d78d41dc8b02c9035fb0a1908ab1028a4ca02c858ee73c217","signature":"ce2ff6eba881ccab78f0b1e40f7873b7f3cfb6b78f0e087e95d14bd7b875ca2c","impliedFormat":99},{"version":"9966e082da982833609e26b71d3ad2eaa69a8d6c433fa09e8f083a4086d06800","signature":"3fd158be0e0c39c7722ca0b679628163b7e7b19c0e6c91fa2ab7cd56ccedc782","impliedFormat":99},{"version":"5e40bcc7f2210577116b8bf4c2b5bf94dbf01fc839002e74c76dbbaa638ca36a","signature":"68f8b5e7bf65f6af30cbd2e96400208a5841b9b6178345ace6bb72340fc89b6d","impliedFormat":99},{"version":"930f47c9a40ab679bbb940194b47d3f2cfa30717a64767ccc4a6f34b0a57d28e","signature":"af356f5bcfec8772205f73bb185972c8f31e61fb4c3a7ff56ca0fca0522a08ee","impliedFormat":99},{"version":"6361295322b9881757543b29c95292afccf4aefc9fc1490723a09923d09b508f","signature":"a802659e56a07cdd1b72d4436777f19282b057a83081126d8ee517521ed41a66","impliedFormat":99},{"version":"44a27eaa786f08de2262453747f3ce7ccdd7d799b949ecce7d23d2c7fd9d490b","signature":"0690406c1f2d1510618c53cbf96fd54bcaae693b402016be18421d2865739e2e","impliedFormat":99},{"version":"26d91c6bc182e8105869ecdb9d2702999fa452fb584cc7474927599a91debed0","signature":"d3cb50faa336adf1f62a674060aafd11cb648f5292ce50cc9ede8297a2df5843","impliedFormat":99},{"version":"1b6d318faeab140ee94110da1873377c7e898f292993abdd90d28d7855c5eee5","signature":"d94f353c4590759895732b0a051cba4715671890c6180b9247a1a5d976396c29","impliedFormat":99},{"version":"960831a5e6209959998a5aa2863b85faa14ebd8d40b16a58f3862c046395a97b","signature":"037ea3df7b9908be75bc4ab151d8685175a21c17002415907292f1a34b4da642","impliedFormat":99},{"version":"26fb14953e5b41e1a11555f180d29f7a02b3adf4b651c19d31b4c143d2bda7e6","signature":"ba9822058a1a1d7567bb9640eeb373efbfabf88cce5ba21893627b1df07723b5","impliedFormat":99},{"version":"28fbfc5e8a71f90fed457fc0cbb3b44c5b1d06fa8d76092a61b7d856dc02e19c","signature":"7293e33b719a96918c2916e1b0a559bb83066b60d6f3dcd12e5d455d40602399","impliedFormat":99},{"version":"4c8fe24592a125088f0835bcf422fe3d64367966a73b1e381a17d23b605b8be4","signature":"d709dfc9bcb2968c14d42a5d35c6ae171f6d1d90d133c58db6a53c08135ca61b","impliedFormat":99},{"version":"628a876d160967315e4223271db59194e0ab5d99ecd311ab8f2c922a898a74bd","signature":"1477c079221a2d6822a9a15b7db8b6433ca2efc02acc481e34313e3e7ed477ff","impliedFormat":99},{"version":"dd2c547bc54a68d0934eedc6e2ee10fb169390c1996b8304b16861946b5b7212","signature":"7efb57ddf5dc69e2896b4a5d4e4448f2661ec5f7516937f72e5b4793df7fb92e","impliedFormat":99},{"version":"6ea47454b7271de89a88e889209e553d0fea96b454ab781b8da44249c5f814ba","signature":"45c5e5b6e0275b42b5431ecc3e4029ce882b0318129ad5938f3225a2bec9931b","impliedFormat":99},{"version":"0eca6e430b7d823180d4b1f39ad5cf5d38fb22b0166af0939b1c7f5169182b05","signature":"2eb364ba4929bdf6211bfd0d85abc45c03ad6dda6883f1fb520a72bb923a231a","impliedFormat":99},{"version":"6cea92743b955ac37702ab790167dce943dab580832fabba99ac6fcff52e841b","signature":"17a943cf3869d5cdba9e2524db6039ddf64cfcb9601dbe19966b1cf379bf6518","impliedFormat":99},{"version":"02227ea6bee1cdb06b1e7e423c76be9b3dc333a9f6436ed59898bd98a000efce","signature":"105cbb1e03f7d3dc7707e526f394a31c02df7b8fbe6b4ad03b4285033111e6cc","impliedFormat":99},{"version":"3ea41ca38fc8424d66cb0c86ddcc7258301474758d173a8a11cb0a005c17eb16","signature":"6dd759aeb281ee6e2d44b3e9b921b3362fcde610ef75c9106ae53e0dd41e9862","impliedFormat":99},{"version":"6e5fb184159e862e1ca378faa4c6e89e9dfc17b63efa95a8512b6bf51a52d5eb","signature":"09f7d93249321c56b0b89160a1e3b88c9d93eb23f41d68a2d39d17d2b62a2acd","impliedFormat":99},{"version":"5e829d529074304a0ad9383b73a90ea3f226df2ee4a61fc828be51a751b69426","signature":"b6ae543e91cc05341bee2ecc55bffbca2eb682c814b2097a1ef1a7bef2e894b4","impliedFormat":99},{"version":"816069490f72fe12bf6be29510209794323626f34d1ae47d3b1cad26b9d47ac3","signature":"f28f228012b83bc55e0221b8a989cb909dba1512c652eca372f550feb3e087ec","impliedFormat":99},{"version":"00e2753c8cba5929847dc09cceef57ea878079a61f17599e62afb4171de2b4da","signature":"1ef29a19863864af7426b330cd2fb61ef8f11cfc5bdc724cdc53bfa931ccb05f","impliedFormat":99},{"version":"5c8945020e8fa4d6607a310279438bcd29d783011ba7d0f329698fc3e2a9351e","signature":"04d812fb5cb08ac355cac8e6a33e680075627be1a1edde0d3b4938fcd5cb6485","impliedFormat":99},{"version":"46d2ae6007cb25581472278c9c061518a9d6601c303ea53215818f846f50400e","signature":"a37ea41eba55610f4ad8ba809a8e2b39761f39f1e42645880f77f8065f72830a","impliedFormat":99},{"version":"cf2d9c68c1286891b6d6fd4c68ebdefde2b0cf2de60193debda855a6e240c485","signature":"331b290bc0b859e22693b51ab3f7ad2297537b6ce62009a8ae2c61412683cac3","impliedFormat":99},{"version":"b110871bbe13032163e40642b2d9fd41b4bdbcf528cabf8f59c996a5d6eef6d6","signature":"8a00e1abbc8b3beb801dd758c7311ccfc4cdae0150a71877220e1a4aba7097e7","impliedFormat":99},{"version":"0cec4b2bd82cecf8c503fdd68a58b7e7837c9a53e6a60cad81e863d538dc1140","signature":"5f232a0acb13f5e10d6e50a8daa709eed11293493eceb43b1fcab625d8210747","impliedFormat":99},{"version":"86fa3a4d5013d9663cb85f9dc483784b3233ccab4061d5d224695d01aebcfc17","signature":"08f90b7e92488c13872b23553e841868356b71e1602fd7a467b701b4f9b8c356","impliedFormat":99},{"version":"35880d59bda47963631bb7fd7293e421db349ca769547299cea09f51c1d5b833","signature":"c9f66f388a7e52fec355e2894547f6685be2c2e08bf160ecd395ccb7133d126e","impliedFormat":99},{"version":"9c9f098b501e6a5cd4e284cbed696f087726c2e9d9f6051d6b38ecc3f9ba2c43","signature":"38142ea9ebd0897d1567c39b27a52ed388d70b29cf74eee2ee6cb363203cb9e7","impliedFormat":99},{"version":"6cd9a80e058fdfa7139c36499a0d8a74a8adaa64d3550bb4b35ca5131c1c318c","signature":"ea2890a465dc1df21d08192be7903fe995d92241361f0a6f523f0accdeebe9ed","impliedFormat":99},{"version":"d275ac6fdeb0bd3969f0ec946efb084a666ee65c048df5ec9cb6232de883b64f","signature":"bc138e628391648625cefc9c33e200abd9c489428423ec909b2b974934e8f6cc","impliedFormat":99},{"version":"2f8843c763a0acf36b2f9883c28c32832120b950b581495ee130be3b79be53ad","signature":"db5595c270075fffdf7fe4b675e48622fc319502a94b9d61bdbc2e4f25820365","impliedFormat":99},{"version":"31c7b4de9cf75f7ee3f8e3d754e449ffbe3b0e64bc691dc0b15619360dba3cec","signature":"6bc0bb360e19cf1f64da8c2fd8f58523b5d69f221c5ea47c46b8b078914f11e0","impliedFormat":99},{"version":"cc0a9b3209b9cc14967d86e730cfb4698721ec50a5a6a26bc452816a6e4bf965","signature":"d134c93e514d448a13b09f20ed6788132c7a9d3f4c933268d5eeba207a79f51c","impliedFormat":99},{"version":"eca39581893ac268aef1f8b8a3daeceb9b75822c699e9c36a4412df2e28e5181","signature":"3da0cba1c3dc8e9e93686e7d19221b9a51926a3294d022f7ae05cd22a03cd8ef","impliedFormat":99},{"version":"e39e0ea80f5f766fdeead4736193f4027913508c80fd6705c8033b2d09e460e3","signature":"205d52e7ed61c44d57d9747af0cc2d057bac1423a1c26b1bceb8628666861a3c","impliedFormat":99},{"version":"a9492b3338270c257843eca76a9a0282197ee572e489a3cb61c9a2ad0d178905","signature":"45fcc866535a256a93ed8eb1d5264993e1beb4762aa47149328194becbcec9b7","impliedFormat":99},{"version":"a8f8fba190bb94c96a8bd3a94aa651ce5952eaba87b9385a165ea9a8398ebe53","signature":"01da2f35ca22487799a1ee28584505a64081fdbabd52e526af47f74bd4b00e71","impliedFormat":99},{"version":"c69840379cb81058fa22ce54f9d61bbeea6c272120692118733cb788831a30ea","signature":"fa33109ca46b145c3e2d133e1b667f4fb34fe5d4f6be1837fae5b4e2e0bf9e32","impliedFormat":99},{"version":"62723d15fb1728035d29073280bde709031e865fa3c1d3c47c39d1e691eedddc","signature":"e36238d1f27a0767494b4ba611c7eaf2c6781c6a7a8c45fc1939d1f18585189f","impliedFormat":99},{"version":"8007020aaf9fbf606e32ae8f06d93b81dc830b2f9a77d62fcc439c9444cea21a","signature":"c931961c5725bacf6637c8eeac2bbf13a95e5e262b8c70a9e3d7c0cb606c4047","impliedFormat":99},{"version":"a43fa4ec21231dc09f21b7ff1c6bb7f68e7ec99ff54dddaa4520b532441821f4","signature":"a90e6f1bdb3d455fc60e470773584b499ffbba3f4adc1ae0a4a27a75bb4c995b","impliedFormat":99},{"version":"ba6295c9ec473998bc9fc866e3cab5f695f71912031638b92cae8236a32115b5","signature":"fd7a93b826555416b0ae2a38d5e132f824f87ab50a4264b7ff5e68dd5f8bb262","impliedFormat":99},{"version":"3b54ea3b47a4405ef46ceedae676d8bf4c1994455eaa8980481a3516048e935d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"7fe00dee9ba7333b7d38b81391639108fa673d1eaba30ea4f9bad264333f41fd","signature":"e13aafbe46a0cca53716b0c9ef7d73ac2292904cd84cd08f57bff9517a128569","impliedFormat":99},{"version":"43680a32a4a8d45eda2303c1a6f0e22352a4f21d87045a1dbe4855bedda7e9b1","signature":"489dbf0ac148b14392ca9ea45b39868921abe67a40dfbc5d80ff5a55d5dd067b","impliedFormat":99}],"root":[58,59,[66,168]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"experimentalDecorators":true,"module":100,"noImplicitOverride":true,"noUncheckedIndexedAccess":true,"outDir":"./","rootDir":"..","sourceMap":true,"strict":true,"target":9},"fileIdsList":[[69,70,77,90,122,123,131,133,134,135],[59,67,69,70,73,74,75,122,123,131,133,155,163],[58,66],[60,61,62,63,64],[60,61],[62],[65],[72],[58,66,71,73,114],[58,67,72,117],[134],[58,59,66,68,77,80,81,85,111,112,113,134],[80,81,85,94,96,97,110,111],[59,68,70,81,114,131,133,134],[58,76,77,78,81,82,83,84],[138,139,140,141,142,143,144,145,146,147],[138,146],[138,139,142,143,146],[138,140,142,145],[138,140,141,144,145],[138,142,143,145],[138,139,143,144,145,147],[138,142,143,144],[138,140,142,143],[77],[68,77,78,79,80,85,111,112,134],[79],[88],[95],[87,88,90,95],[85,87,88,90,95,98,99,100,101,102,103,104,105,106,107,108,109],[68,98],[98],[68,87,88,90,95,112],[59,76,87],[58,59,71,77,78,86],[58,59,68,76,77,78,80,81,82,85,87,89,90,91,92,93,94,111,112,134],[59,68,79,87,89,90,95],[58,59,80,86,87,88,89,91,95],[114],[58,68,70,85,95,111,112,114,115,116,117,124,131,133],[118],[118,119,120],[58,69,83,95,119,121,122,123,134],[66],[69,122,123],[58,66,68,69,70,83,122,123,131,132,133,134],[68],[70,131,133],[58,70,118,119,125,127,128,131,133],[68,70,131,133],[118,119,127],[58,66,68,69,70,87,89,91,111,122,123,124,125,126,129,130,131,133,134],[66,68,69,122,123,134],[69,70,122,123,131,133],[77,85],[59,75,77,85],[59,66,76,85],[65,67,70,72,75,131,133],[73,75],[73,74,85,111,112],[58,59,66,67,72,73,75,114,134,137],[59,73,75,134,136,153],[58,73,74,75,134,152,153,154],[65,156],[65,70,131,133,156],[58,67,159],[58,67,72,73,75,156,157,160],[73,75,156,158,159],[58,65,73,74,75,156,158,159,161,162],[58,65,134,152,156,158,162,164,165],[58,59,65,67,72,73,75,77,114,134,137,156,157],[59,70,131,133,134,136,156,158,164],[134,151],[66,73,114],[67,72,117],[66,68,77,80,81,85,111,112,113,134],[68,70,81,114,131,133,134],[76,77,78,81,82,83,84],[138,141,142,143,145],[87,88,90,95,111,112],[59,77,78],[77,78,81,85,89,90,91,92,111,112,134],[59,80,87,88,89,91,95],[68,70,85,95,111,112,114,117,124,131,133],[118,119],[69,83,119,121,122,123,134],[68,69,70,83,122,123,131,132,133,134],[119],[68,69,70,89,122,123,131,133,134],[75,77,85],[66,67,72,73,75,114,134],[73,75,134,136,153],[73,74,75,154],[70,131,133,156],[67,159],[67,72,73,75,156,157],[73,75,158,159],[73,74,75],[77,114,134,156,157],[134,136,158,164]],"referencedMap":[[151,1],[167,2],[168,3],[65,4],[62,5],[63,6],[66,7],[117,8],[72,9],[137,10],[135,11],[114,12],[112,13],[136,14],[85,15],[148,16],[147,17],[139,17],[144,18],[143,19],[142,20],[140,21],[146,22],[145,23],[141,24],[116,11],[78,25],[81,26],[80,27],[89,28],[88,29],[96,30],[97,30],[110,31],[105,32],[100,32],[106,32],[103,32],[104,32],[108,33],[107,33],[102,33],[101,32],[109,32],[99,33],[98,28],[94,30],[111,34],[93,35],[87,36],[95,37],[91,38],[90,39],[115,40],[134,41],[119,42],[121,43],[122,44],[69,45],[123,46],[133,47],[132,48],[126,49],[129,50],[130,51],[128,52],[131,53],[70,54],[124,55],[82,56],[83,56],[84,56],[76,57],[77,58],[73,59],[74,60],[75,61],[153,62],[154,63],[155,64],[156,7],[157,65],[158,66],[160,67],[159,68],[161,69],[163,70],[166,71],[164,72],[165,73],[152,74]],"exportedModulesMap":[[151,1],[167,2],[168,3],[65,4],[62,5],[63,6],[66,7],[117,8],[72,75],[137,76],[135,11],[114,77],[112,13],[136,78],[85,79],[148,16],[147,17],[139,17],[144,18],[143,19],[142,20],[140,80],[146,22],[145,23],[141,24],[116,11],[78,25],[81,26],[80,27],[89,28],[88,29],[96,30],[97,30],[110,31],[105,33],[100,33],[106,33],[103,33],[104,33],[108,33],[107,33],[102,33],[101,33],[109,33],[99,33],[98,28],[94,30],[111,81],[93,35],[87,82],[95,83],[91,38],[90,84],[115,40],[134,85],[119,42],[121,86],[122,87],[69,45],[123,46],[133,88],[132,48],[126,49],[129,49],[130,51],[128,89],[131,90],[70,54],[124,55],[82,56],[83,56],[84,56],[76,91],[77,58],[73,59],[74,60],[75,61],[153,92],[154,93],[155,94],[156,7],[157,65],[158,95],[160,96],[159,97],[161,98],[163,99],[164,100],[165,101],[152,74]],"semanticDiagnosticsPerFile":[151,167,168,64,61,60,65,62,63,56,57,10,12,11,2,13,14,15,16,17,18,19,20,3,4,21,25,22,23,24,26,27,28,5,29,30,31,32,6,36,33,34,35,37,7,38,43,44,39,40,41,42,8,48,45,46,47,49,9,50,51,52,55,53,54,1,59,66,67,117,72,137,135,114,112,136,85,138,148,147,139,144,143,142,140,146,145,141,68,113,116,78,81,79,80,89,92,88,86,96,97,110,105,100,106,103,104,149,108,107,102,101,109,99,98,94,111,93,87,95,91,90,115,134,119,121,122,69,123,133,132,125,126,127,129,130,128,118,120,131,70,150,124,82,83,84,76,77,71,73,74,75,153,154,155,156,157,158,160,159,161,163,162,166,164,165,152,58],"latestChangedDtsFile":"./src/core/renderers/webgl/shaders/DynamicShader.d.ts"},"version":"5.2.2"}
1
+ {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/utils.ts","../src/common/commontypes.ts","../node_modules/@lightningjs/threadx/dist/ieventemitter.d.ts","../node_modules/@lightningjs/threadx/dist/bufferstruct.d.ts","../node_modules/@lightningjs/threadx/dist/sharedobject.d.ts","../node_modules/@lightningjs/threadx/dist/threadx.d.ts","../node_modules/@lightningjs/threadx/dist/buffer-struct-utils.d.ts","../node_modules/@lightningjs/threadx/dist/index.d.ts","../src/common/eventemitter.ts","../src/common/ianimationcontroller.ts","../src/core/lib/utils.ts","../src/core/text-rendering/font-face-types/trfontface.ts","../src/core/text-rendering/renderers/textrenderer.ts","../src/core/utils.ts","../src/core/animations/coreanimation.ts","../src/main-api/inode.ts","../src/main-api/irenderdriver.ts","../src/main-api/texture-usage-trackers/textureusagetracker.ts","../src/main-api/texture-usage-trackers/manualcounttextureusagetracker.ts","../src/main-api/texture-usage-trackers/finalizationregistrytextureusagetracker.ts","../src/main-api/renderermain.ts","../src/core/textures/subtexture.ts","../src/core/textures/texture.ts","../src/core/renderers/corecontexttexture.ts","../src/core/renderers/corerenderop.ts","../src/core/renderers/coreshader.ts","../src/core/renderers/corerenderer.ts","../src/core/textures/colortexture.ts","../src/core/textures/imagetexture.ts","../src/core/textures/noisetexture.ts","../src/core/coretexturemanager.ts","../src/core/renderers/webgl/internal/webglutils.ts","../src/core/renderers/webgl/webglcorectxtexture.ts","../src/core/renderers/webgl/internal/shaderutils.ts","../src/core/renderers/webgl/internal/buffercollection.ts","../src/core/renderers/webgl/webglcoreshader.ts","../src/core/renderers/webgl/webglcorerenderop.ts","../src/core/renderers/webgl/internal/rendererutils.ts","../src/core/renderers/webgl/webglcorectxsubtexture.ts","../src/core/renderers/webgl/shaders/roundedrectangle.ts","../src/core/renderers/webgl/webglcorerenderer.ts","../src/core/renderers/webgl/shaders/defaultshader.ts","../src/core/renderers/webgl/shaders/defaultshaderbatched.ts","../src/core/renderers/webgl/shaders/effects/shadereffect.ts","../src/core/renderers/webgl/shaders/effects/radiuseffect.ts","../src/core/renderers/webgl/shaders/effects/bordereffect.ts","../src/core/renderers/webgl/shaders/effects/lineargradienteffect.ts","../src/core/renderers/webgl/shaders/effects/grayscaleeffect.ts","../src/core/renderers/webgl/shaders/effects/borderrighteffect.ts","../src/core/renderers/webgl/shaders/effects/bordertopeffect.ts","../src/core/renderers/webgl/shaders/effects/borderbottomeffect.ts","../src/core/renderers/webgl/shaders/effects/borderlefteffect.ts","../src/core/renderers/webgl/shaders/effects/glitcheffect.ts","../src/core/renderers/webgl/shaders/effects/fadeouteffect.ts","../src/core/renderers/webgl/shaders/effects/radialgradienteffect.ts","../src/core/renderers/webgl/shaders/dynamicshader.ts","../src/core/renderers/webgl/shaders/sdfshader.ts","../src/core/coreshadermanager.ts","../src/core/matrix2dcontext.ts","../src/core/corenode.ts","../src/core/scene/scene.ts","../src/core/platform.ts","../src/core/animations/animationmanager.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/peekablegenerator.ts","../src/core/text-rendering/font-face-types/sdftrfontface/internal/fontshaper.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/specialcodepoints.ts","../src/core/text-rendering/font-face-types/sdftrfontface/internal/sdffontshaper.ts","../src/core/text-rendering/font-face-types/sdftrfontface/sdftrfontface.ts","../src/core/text-rendering/font-face-types/webtrfontface.ts","../src/core/text-rendering/trfontmanager.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/constants.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/getstartconditions.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/getunicodecodepoints.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/measuretext.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/layouttext.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/makerenderwindow.ts","../src/core/text-rendering/renderers/sdftextrenderer/sdftextrenderer.ts","../src/core/text-rendering/renderers/lightningtexttexturerenderer.ts","../src/core/text-rendering/renderers/canvastextrenderer.ts","../src/core/stage.ts","../src/core/coreextension.ts","../src/core/coretextnode.ts","../src/core/animations/coreanimationcontroller.ts","../src/core/lib/glm/common.ts","../src/core/lib/glm/mat2d.ts","../src/core/lib/glm/quat2.ts","../src/core/lib/glm/vec4.ts","../src/core/lib/glm/quat.ts","../src/core/lib/glm/mat4.ts","../src/core/lib/glm/mat3.ts","../src/core/lib/glm/vec3.ts","../src/core/lib/glm/vec2.ts","../src/core/lib/glm/mat2.ts","../src/core/lib/glm/index.ts","../src/core/renderers/webgl/shaders/effects/effectutils.ts","../src/core/text-rendering/texttexturerendererutils.ts","../exports/core-api.ts","../src/render-drivers/utils.ts","../src/render-drivers/main/mainonlynode.ts","../src/render-drivers/main/mainonlytextnode.ts","../src/render-drivers/main/mainrenderdriver.ts","../src/render-drivers/threadx/nodestruct.ts","../src/render-drivers/threadx/sharednode.ts","../src/render-drivers/threadx/textnodestruct.ts","../src/render-drivers/threadx/threadxmainnode.ts","../src/render-drivers/threadx/threadxmainanimationcontroller.ts","../src/render-drivers/threadx/threadxmaintextnode.ts","../src/render-drivers/threadx/threadxrenderermessage.ts","../src/render-drivers/threadx/threadxrenderdriver.ts","../src/render-drivers/threadx/worker/threadxrenderernode.ts","../src/render-drivers/threadx/worker/threadxrenderertextnode.ts","../src/render-drivers/threadx/worker/renderer.ts","../exports/main-api.ts","../exports/utils.ts"],"fileInfos":[{"version":"2ac9cdcfb8f8875c18d14ec5796a8b029c426f73ad6dc3ffb580c228b58d1c44","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","impliedFormat":1},{"version":"0075fa5ceda385bcdf3488e37786b5a33be730e8bc4aa3cf1e78c63891752ce8","affectsGlobalScope":true,"impliedFormat":1},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true,"impliedFormat":1},{"version":"09226e53d1cfda217317074a97724da3e71e2c545e18774484b61562afc53cd2","affectsGlobalScope":true,"impliedFormat":1},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b41361862022eb72fcc8a7f34680ac842aca802cf4bc1f915e8c620c9ce4331","affectsGlobalScope":true,"impliedFormat":1},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true,"impliedFormat":1},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true,"impliedFormat":1},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true,"impliedFormat":1},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true,"impliedFormat":1},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true,"impliedFormat":1},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc496ef4377553e461efcf7cc5a5a57cf59f9962aea06b5e722d54a36bf66ea1","affectsGlobalScope":true,"impliedFormat":1},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true,"impliedFormat":1},{"version":"930b0e15811f84e203d3c23508674d5ded88266df4b10abee7b31b2ac77632d2","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true,"impliedFormat":1},{"version":"f35a831e4f0fe3b3697f4a0fe0e3caa7624c92b78afbecaf142c0f93abfaf379","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"1bffce85c04ee43253219899a454b520f0b41a0269b95ef2fa5cf1c217f55d4b","signature":"15d00a3731898086f8fe3afbce4566f6fde02e60f01c3cef40ce749ad04adb41","impliedFormat":99},{"version":"c682a23c1dc781f476d7cf2af9a587fc388efd19771afe3a3c36399ddd643d0c","signature":"8cfe8505474aa73e8ad66a6fd21b007049a26a15ecaa72946e49ffc7c3f5965c","impliedFormat":99},{"version":"11f10eef6b087b59bd9e527db506274380a36587a1bff3450e220ad7ec2ce45e","impliedFormat":99},{"version":"15ab6bec6e312af8cc76238a0ec6f20a2a7dc125c0de5fd8cb0238eb81051ae8","impliedFormat":99},{"version":"d90b76ce2694df21e1061f5f353ae561792c03791f3cccc8ff16e818fbde9e06","impliedFormat":99},{"version":"4695dca96c4e3ba7b0e1d3381c6c5ab1f434395cb9f20d7b021338223a906959","affectsGlobalScope":true,"impliedFormat":99},{"version":"0af862bd95a0ba9f05c35a91c6881311a8bf0a3b048bbe0afd5d1a9a8f82e7f6","impliedFormat":99},{"version":"d1d22599d75b5ce46d3d235fa8a0ab53fd29a410a9025c136196b08e56e25147","impliedFormat":99},{"version":"b1d79abebd2ac4638e69958b27e6e493e03684e7ea836a6296672504ed1fbd70","signature":"58898cc3aeb7531de5f0dd27d64df82c96e470afabeffe0d14fff380e9a686d7","impliedFormat":99},{"version":"35293784d7062d2a81f1bd43daf5dee8221d54f58d29b5d08b73c5ee648f205a","signature":"15b2a8459b2cf66ba77e173a66b9e41ed679a385b027f843dc18fb4c56779459","impliedFormat":99},{"version":"d8b8bc88e9bab1284719a3a5d487a9e02299f3c2dd21a2d03f4854bb25d28b9e","signature":"06a527bb28c6bf625a8032717e95eded09488be12af5264c3304054ad08714a5","impliedFormat":99},{"version":"d65961064e8d791204d3de693889698f6c1767f959cb8a3e8ea0961e650aa0c1","signature":"ff0bad9467e6f7dd147057a6781a9a01d4c84f715ff452e60a2929349586fa18","impliedFormat":99},{"version":"b78f44c74e235586db62450fc6df5457de730310393940ea6ad4e4e5a566264a","signature":"93f7e18aa7747b9868821a6b5cecdcbf6173fedfdd6301aa2ca8b5d266bc3f1b","impliedFormat":99},{"version":"14cb9567fe6e8f0cf8370b620f74aab3163b677d4e1cbc60ac6344d0ad3613ee","signature":"ef6a93587499b61232a924d621c6e61c5f05d0da29585ddabe21039f61a3c758","impliedFormat":99},{"version":"5a80fa732b5412dec3696373b306744265e9686088b62ceb3215344b610c4a92","signature":"96d770d815ffe68ba00b3f4968ca5542b9d75821341b1525b946c49396d16de2","impliedFormat":99},{"version":"79e05f67ec0d98ce27ff3e68434e463c946d0d3e215b40547da08dd171cb6798","signature":"9672a767a91c4641e00322241891d4c2ad15fc9a7fff7f7229ddb39418ed77bc","impliedFormat":99},{"version":"86e6144669efe15adacd56cb52762b02ff2a41e7c3ec3030514ac90a7cc4c85c","signature":"362cc68665386ed863f70fba8fddac5d7b9ab976cd6cf1062ec21a2c6cbecc06","impliedFormat":99},{"version":"d97867e2d9b5836c5d8c4eb093b12cc46c353442c7d623d83536ba6c6c6fce2c","signature":"b612725c265abab4a2ef65e45fcedee260da44cc4f78544bd9153c519cf062dc","impliedFormat":99},{"version":"f8b64caf8a0ca256c38fe5c6b1c3fb3712a2c12e0f64d862bfc9d57ea17fc71e","signature":"a3d16cfc7b1f03587eb90a96eb9966ab889a2f6bb63a171c1f73a1817e58233f","impliedFormat":99},{"version":"ebb740db9e737757d3ab8ac6173883fb5842f764c5c2a4d06cf375d64235260d","signature":"37936444f8a36036ca4a39847cbdcf34bc6ab8f547c11f7aa6f6f13ad374420b","impliedFormat":99},{"version":"e4564935d551a1125dad779db8029e01ea688475e175c5ad641b83f9b0959d51","signature":"c29824a8ace4261b32211f5e19b88c96d3eaba3c9c8a90de7bc5449c85208144","impliedFormat":99},{"version":"b4a7031f97511db23a19a41614317ac60d0075450527abf5a99d950d9d584a8b","signature":"bda7b3f5005dc60f77940902fdbf931f1fd190138cd5f09eac8b5da0eb67220d","impliedFormat":99},{"version":"3cd1d3675b068b6dc26a1233966cbceaeb5d82d1ea84d498a2301c608bc150d3","signature":"6b0feb66c76738bded0aa0ec4dcf758e52376a6ca53b63debb5dbaaea83e9b3b","impliedFormat":99},{"version":"27bdd650502d43995e8d20715671bc084017a0a97ff31f3bda3815b322d5dd31","signature":"a0c93155ab9c8b545b99da400124754ca422a93973e8590d76b6e88160f8072f","impliedFormat":99},{"version":"406863eae1f7adee4bfaf6b80f541e72ba3ff57a80997eae34dc2677733f62cc","signature":"21248172fdb4c3ce859fa761a360940384895116a845e10fb20812ef4d29431c","impliedFormat":99},{"version":"6abbadf260f57b2b5425fc9152d128f9c6e31dd5e1e10277a40fe025168bb3e7","signature":"2c608878583a5c619e39dd010879fef01147b6f4dfe0fc1b0adaa1cc3d6781b7","impliedFormat":99},{"version":"5cd3f3299b37830e80f145a4e3028013f8c84e1b615bdb0f97c918a43b3c1ad5","signature":"42dc137411a45d6669b605e9efc6076b37b38d999e366afd090a637a879271ce","impliedFormat":99},{"version":"2df0ec7bfdd2b6011cdff3781fac3e2bdf0cccfdd3b7dd1e66947975017cdc10","signature":"fdf46f1c48b9091fa48ccdf749769e886070ee3950a47581d08abd875e5849e9","impliedFormat":99},{"version":"e1b43ccd67a077fa388071666596bb3495b6ec57bcbb528dd3ca46f81532bd6a","signature":"da77f3307ae23ad0a93f2f66bd77539b8ac6a10fb6f04de00842824312648d59","impliedFormat":99},{"version":"074c8da4d6f971d864e2578f718a11d13797f850c266b846286b613905c910f9","signature":"52bdb4362c20071dbe000742bfd4edb66fa2faae4cc0ded2378cc51c2de7f6d8","impliedFormat":99},{"version":"58819294467e52465d5478243ae879abc34d9eb28a511005796036602048caa7","signature":"bf521a0513d8d4d82761503d8452889e0aefe296ebf9fbf59aee10072fad8ddb","impliedFormat":99},{"version":"c1e884d41fb830745a0de5126e20c3b9f8cdd3940623cfacf57cf98b0a65d402","signature":"8e859e1af27f614aae3f8d163c831280e842bda6c53f11c60b78deaedcff6d92","impliedFormat":99},{"version":"07571ae6b73858e8bb67fe2dcc4a2f29fcdb1f1ce9babdba0591898aea229c1d","signature":"a5cd04ca2a0393a39483b49f293e3f859b332b12314be0e36c1c923c706d7f69","impliedFormat":99},{"version":"6a7a7e47aa48bf4d6d4cbbb233b9cdf83a06c4735a14686d172277f74297ced6","signature":"3754078571084aaf5f2dfb3711b257732848461175573bc5210dfb17b6ad5a9e","impliedFormat":99},{"version":"fe059ad5602551efe1fd96feb8639a3b5b8519e4f13ae3562c67c45b32df8ec8","signature":"9c7e28c8554bb1e4ee50e06a4037967d79eb8126b3ee24c1676633381a352e0f","impliedFormat":99},{"version":"34af47ae2ccd722a991f008ff8897859ad016288efffc5503a6059ad74fd0fa5","signature":"06a79515f302396157478d7d296dd32687085e2bc6b6bca14d84a7d27fa001cd","impliedFormat":99},{"version":"6a406bb00f8f8d59abca53d40c92b96f8c1631bfab74f7652ca18a0a82502258","signature":"5732bed24a0204c926e91eac958ae62b3500ce728dc8a65e239d27d7a37a19d6","impliedFormat":99},{"version":"ba7438cf6b3cadd5e0bd62ca43b962dd55704f80b23d52cede48c6980e85eb5d","signature":"af4d76ec3bb071cfe37059f0faa68a2befd18b9731cdd7bb8fa6e79d7d32872d","impliedFormat":99},{"version":"544f9c3eda5ecd74e1b77c3e78fb83ad50ec2726075557464edbcf7ec55b4fe7","signature":"e0e6f298c112f19beb98a2caed8578306085fe9f3ab842485994ea933cd2cb6a","impliedFormat":99},{"version":"db08e5113458deaca031f0857bd435b76d5c21872fa7211ea06a865a91a88706","signature":"3777053409ca71051e867f5ba2b8c281a46f64ae5e4a39502fe0f2f2dfa5e1bb","impliedFormat":99},{"version":"6a9b8cf02f782aa523859c0b92529f1260129ea20ebb2e2ba7fc4fdbd24e1fe4","signature":"72dd54c84d70a1b8c3db734337a9532029b4a4a8f044f8372327f14b42b9a1ee","impliedFormat":99},{"version":"28a000ca7e98e86758e7fbddae14ce624f88c60f2ad86747f08d13524bbeed41","signature":"0e84fe255776ae5379c1cac863a5938c19489314e535cb344fd21842608b1784","impliedFormat":99},{"version":"d75b99eeff9952a85afb19e40297708372e474d5c198e3fcc4a8defeebb4af1c","signature":"e69c8aae6eb25b1f5f596d1925a3718c019a1244040824ef9285fd5ba78d89b1","impliedFormat":99},{"version":"d5cba976e971b451c0021c4fb2742e7f1b9bb1b6712587876efb87c61f162602","signature":"5837bc89e6ddf83bc435f5c638dfae0607a2b7a435384dc2e56d3907cd3b3894","impliedFormat":99},{"version":"26ff2537979371ac4e67ca719b5d87f6f69f882fc0ba29b22a309608045b608e","signature":"ff353ca714a452348b3d7a1b809ed9a8368340d9f78bf76501f02b06169162cb","impliedFormat":99},{"version":"22b630c343fa6d5bb41e04dcb87eea55eb459caca56bb4eb4675de3e36ea07db","signature":"2938fdd3c2f3626344fc253ee2b3dd6e4a59180477ac36cf2a6cbfa8878e5b20","impliedFormat":99},{"version":"6d685edb22f6a22d1b56b1740ce8afc282e3c37364a36e06227a080d5f719bec","signature":"311772dd86a12f364b4f688e47f4c157d84a15cfad89630724201a9d31feaa82","impliedFormat":99},{"version":"510f6cc0cc191277912faa4f310e3a492a2f417da71b2c3c384c671cdb4ced06","signature":"5f0ef1e79824783781759efd341ec3afddfd3046f730e17fede439d57b111577","impliedFormat":99},{"version":"46f984711dfc167aef0e96444cd24cadf20873540520be3a131e31b0734aba79","signature":"e1abcf4a600bcd4b8e69fcd03e767f5019c7f65b94cccafbfa1655f106e453c7","impliedFormat":99},{"version":"7b768100a6bfcedf7d1187fa8d7a318464abe22025f34d97b6d57bb1ecaa913f","signature":"c6dffb4a7da1ade0ed4d821fcac59688c93e327d3d8d41e61abcca107a506225","impliedFormat":99},{"version":"ce99798e644312ef6346b0efe3d278dcb0e29afcbcbb8a7a852b34a7d18f3dd1","signature":"a0757e2827c3485f4ec357e733e930d1024cee02bafde0ec31a0e65544645441","impliedFormat":99},{"version":"c35f762b82c92d7c276f8df7454a6308e51ac77a3f8c026ce14bd2c5a8fe2243","signature":"83e2c88379c4e7be10c2a2396e8a9d065517925ab03b5052498f371550cf79ec","impliedFormat":99},{"version":"fa827e4ba5856b03f712bb960a5c256acf7c7ab263cd1bddf5ab862bdcf99d35","signature":"9ef32c5ea6950e752a2ca6e10dc9229a021b810bb413f6bfc95628e394884430","impliedFormat":99},{"version":"ef34fef1e83ff14a2de4e7738b927dcb7a4c50856adecb9665216bf0ac2b05f1","signature":"810011f50ac483470fbcfbda3427056ae46faeacfbc64cc8d6b3d19f59ee1445","impliedFormat":99},{"version":"88ae5e0be2a6a3b2211f13a25f2392c25e0e8ee7fe182cf1f184333cac51299f","signature":"99c954c6d73ba886a5bc4bafc64deb75dadb4b7c4be02011546bfe811dd01781","impliedFormat":99},{"version":"ba7e1175a0fc6e9ec953aa16985bdf1af8b22828ad9e9a831f1375d150137b56","signature":"16b916c7c655787b07b36cc7cdc62ce70e9408d16b50cc6c142cc1f756e2c7ef","impliedFormat":99},{"version":"db6b3a880047cc2fbb630c8be396db5ddf152a9da1ac9a65e5dac08b69766cf2","signature":"b64bd59756146e278abd85ccfabed4c6375036060cd7b78fcbbdb65509c40909","impliedFormat":99},{"version":"36fe0b4b09f62a5a4340d5adc8766783684afa20033a248eea50d537912648eb","signature":"21167b8fef8364b756da5a5fcfc2ccf5b193eb5b7a287a6e7fbf814e7d1f3b1e","impliedFormat":99},{"version":"54dde1aa6a25a724e4ada207bafc78e8fd4edf95992f9a3a8e7bd68bc51357c4","signature":"a848784397ec7e3fb301a55b538cb4d050af13e2dc5a5a5ab402a5d1c0c947b0","impliedFormat":99},{"version":"fd1cbbdee71e00f211eda2e4198209cabceaa3352a9e8a0a697981ca7386d318","signature":"c28324a435388d95172f77ef0fa7aaef847910e9f63ab73b79233463b1a9b50e","impliedFormat":99},{"version":"6c9154a3ab246f7501880b04cade22952fd9ab27b35baa3b5e1c6b91105249cf","signature":"91343dc07f1287f35c8f94991ef8f61d1bacc0bf2fa987a9e7ab3954f84ca396","impliedFormat":99},{"version":"280d4a89fea45f6fed96708224137d7c6f9afa161af7ba19afc387448b1d2ff4","signature":"ca1d671356065c80a35963296ec2a8e9be852150f8ce985dd4106cc9a69cf05a","impliedFormat":99},{"version":"2f14e768b6006e0c9217f4f2d61ee87125118db122f239ea2b9f6269483696c1","signature":"86af1ef9e30559df431a169a1f9d87bc81421080efff8b87c971e75a54db67dd","impliedFormat":99},{"version":"1e8cd1edde5320fc8dbfb7ac91f50219b1545592e01898dc1c61916a03475922","signature":"8c2b43fffaf9f683998ec697f7018fdebb028662f6f8a6630ed5157b3e48cc66","impliedFormat":99},{"version":"07cc44414debd17b3cdd11a6073fa190db0650fb0790f6a588cd4186fffa3953","signature":"7a26ecdc665e9c6a77f5e2b3d25477c54d46f18775d6c0526fa334dff654af18","impliedFormat":99},{"version":"55cb0bb489555d141f055e698e6961062bf926470d2016610ff111cbdd9603ca","signature":"3f90cee77011924ba299c27b7cf88b037f2b43d0bc10ab153af4cd4781c50f62","impliedFormat":99},{"version":"d16194f16e3ba05d78d41dc8b02c9035fb0a1908ab1028a4ca02c858ee73c217","signature":"ce2ff6eba881ccab78f0b1e40f7873b7f3cfb6b78f0e087e95d14bd7b875ca2c","impliedFormat":99},{"version":"9966e082da982833609e26b71d3ad2eaa69a8d6c433fa09e8f083a4086d06800","signature":"3fd158be0e0c39c7722ca0b679628163b7e7b19c0e6c91fa2ab7cd56ccedc782","impliedFormat":99},{"version":"5e40bcc7f2210577116b8bf4c2b5bf94dbf01fc839002e74c76dbbaa638ca36a","signature":"68f8b5e7bf65f6af30cbd2e96400208a5841b9b6178345ace6bb72340fc89b6d","impliedFormat":99},{"version":"930f47c9a40ab679bbb940194b47d3f2cfa30717a64767ccc4a6f34b0a57d28e","signature":"af356f5bcfec8772205f73bb185972c8f31e61fb4c3a7ff56ca0fca0522a08ee","impliedFormat":99},{"version":"6361295322b9881757543b29c95292afccf4aefc9fc1490723a09923d09b508f","signature":"a802659e56a07cdd1b72d4436777f19282b057a83081126d8ee517521ed41a66","impliedFormat":99},{"version":"44a27eaa786f08de2262453747f3ce7ccdd7d799b949ecce7d23d2c7fd9d490b","signature":"0690406c1f2d1510618c53cbf96fd54bcaae693b402016be18421d2865739e2e","impliedFormat":99},{"version":"26d91c6bc182e8105869ecdb9d2702999fa452fb584cc7474927599a91debed0","signature":"d3cb50faa336adf1f62a674060aafd11cb648f5292ce50cc9ede8297a2df5843","impliedFormat":99},{"version":"1b6d318faeab140ee94110da1873377c7e898f292993abdd90d28d7855c5eee5","signature":"d94f353c4590759895732b0a051cba4715671890c6180b9247a1a5d976396c29","impliedFormat":99},{"version":"960831a5e6209959998a5aa2863b85faa14ebd8d40b16a58f3862c046395a97b","signature":"037ea3df7b9908be75bc4ab151d8685175a21c17002415907292f1a34b4da642","impliedFormat":99},{"version":"26fb14953e5b41e1a11555f180d29f7a02b3adf4b651c19d31b4c143d2bda7e6","signature":"ba9822058a1a1d7567bb9640eeb373efbfabf88cce5ba21893627b1df07723b5","impliedFormat":99},{"version":"28fbfc5e8a71f90fed457fc0cbb3b44c5b1d06fa8d76092a61b7d856dc02e19c","signature":"7293e33b719a96918c2916e1b0a559bb83066b60d6f3dcd12e5d455d40602399","impliedFormat":99},{"version":"5aba3dff0747867dedbcc75567a65976904d5f5ec6617a9897f9c03494181000","signature":"e8cb18807192ab1f110b0e46472f4f815fc3a2c8ed72940549289aefdaf3f3b9","impliedFormat":99},{"version":"a3f78f81da9fbf4fe219fc11cda70b322be9851f06cde6b03b28167f8666e7cf","signature":"561d6a5ea448e9b3326636d7ae527ae91b04231e8fdb9ac9dfc17ba99fcc2f42","impliedFormat":99},{"version":"dd2c547bc54a68d0934eedc6e2ee10fb169390c1996b8304b16861946b5b7212","signature":"7efb57ddf5dc69e2896b4a5d4e4448f2661ec5f7516937f72e5b4793df7fb92e","impliedFormat":99},{"version":"6ea47454b7271de89a88e889209e553d0fea96b454ab781b8da44249c5f814ba","signature":"45c5e5b6e0275b42b5431ecc3e4029ce882b0318129ad5938f3225a2bec9931b","impliedFormat":99},{"version":"0eca6e430b7d823180d4b1f39ad5cf5d38fb22b0166af0939b1c7f5169182b05","signature":"2eb364ba4929bdf6211bfd0d85abc45c03ad6dda6883f1fb520a72bb923a231a","impliedFormat":99},{"version":"6cea92743b955ac37702ab790167dce943dab580832fabba99ac6fcff52e841b","signature":"17a943cf3869d5cdba9e2524db6039ddf64cfcb9601dbe19966b1cf379bf6518","impliedFormat":99},{"version":"02227ea6bee1cdb06b1e7e423c76be9b3dc333a9f6436ed59898bd98a000efce","signature":"105cbb1e03f7d3dc7707e526f394a31c02df7b8fbe6b4ad03b4285033111e6cc","impliedFormat":99},{"version":"3ea41ca38fc8424d66cb0c86ddcc7258301474758d173a8a11cb0a005c17eb16","signature":"6dd759aeb281ee6e2d44b3e9b921b3362fcde610ef75c9106ae53e0dd41e9862","impliedFormat":99},{"version":"6e5fb184159e862e1ca378faa4c6e89e9dfc17b63efa95a8512b6bf51a52d5eb","signature":"09f7d93249321c56b0b89160a1e3b88c9d93eb23f41d68a2d39d17d2b62a2acd","impliedFormat":99},{"version":"5e829d529074304a0ad9383b73a90ea3f226df2ee4a61fc828be51a751b69426","signature":"b6ae543e91cc05341bee2ecc55bffbca2eb682c814b2097a1ef1a7bef2e894b4","impliedFormat":99},{"version":"816069490f72fe12bf6be29510209794323626f34d1ae47d3b1cad26b9d47ac3","signature":"f28f228012b83bc55e0221b8a989cb909dba1512c652eca372f550feb3e087ec","impliedFormat":99},{"version":"00e2753c8cba5929847dc09cceef57ea878079a61f17599e62afb4171de2b4da","signature":"1ef29a19863864af7426b330cd2fb61ef8f11cfc5bdc724cdc53bfa931ccb05f","impliedFormat":99},{"version":"5c8945020e8fa4d6607a310279438bcd29d783011ba7d0f329698fc3e2a9351e","signature":"04d812fb5cb08ac355cac8e6a33e680075627be1a1edde0d3b4938fcd5cb6485","impliedFormat":99},{"version":"46d2ae6007cb25581472278c9c061518a9d6601c303ea53215818f846f50400e","signature":"a37ea41eba55610f4ad8ba809a8e2b39761f39f1e42645880f77f8065f72830a","impliedFormat":99},{"version":"cf2d9c68c1286891b6d6fd4c68ebdefde2b0cf2de60193debda855a6e240c485","signature":"331b290bc0b859e22693b51ab3f7ad2297537b6ce62009a8ae2c61412683cac3","impliedFormat":99},{"version":"b110871bbe13032163e40642b2d9fd41b4bdbcf528cabf8f59c996a5d6eef6d6","signature":"8a00e1abbc8b3beb801dd758c7311ccfc4cdae0150a71877220e1a4aba7097e7","impliedFormat":99},{"version":"0cec4b2bd82cecf8c503fdd68a58b7e7837c9a53e6a60cad81e863d538dc1140","signature":"5f232a0acb13f5e10d6e50a8daa709eed11293493eceb43b1fcab625d8210747","impliedFormat":99},{"version":"86fa3a4d5013d9663cb85f9dc483784b3233ccab4061d5d224695d01aebcfc17","signature":"08f90b7e92488c13872b23553e841868356b71e1602fd7a467b701b4f9b8c356","impliedFormat":99},{"version":"35880d59bda47963631bb7fd7293e421db349ca769547299cea09f51c1d5b833","signature":"c9f66f388a7e52fec355e2894547f6685be2c2e08bf160ecd395ccb7133d126e","impliedFormat":99},{"version":"9c9f098b501e6a5cd4e284cbed696f087726c2e9d9f6051d6b38ecc3f9ba2c43","signature":"38142ea9ebd0897d1567c39b27a52ed388d70b29cf74eee2ee6cb363203cb9e7","impliedFormat":99},{"version":"6cd9a80e058fdfa7139c36499a0d8a74a8adaa64d3550bb4b35ca5131c1c318c","signature":"ea2890a465dc1df21d08192be7903fe995d92241361f0a6f523f0accdeebe9ed","impliedFormat":99},{"version":"2a7c01f584d84ea09f6d84287ab56265b28a1846b9dae11f42631492e3631f9e","signature":"c2f6636898cbb1423aaf5d0075546bc4792107b95f4185ea73b960fbaffb1c4e","impliedFormat":99},{"version":"2f8843c763a0acf36b2f9883c28c32832120b950b581495ee130be3b79be53ad","signature":"db5595c270075fffdf7fe4b675e48622fc319502a94b9d61bdbc2e4f25820365","impliedFormat":99},{"version":"31c7b4de9cf75f7ee3f8e3d754e449ffbe3b0e64bc691dc0b15619360dba3cec","signature":"6bc0bb360e19cf1f64da8c2fd8f58523b5d69f221c5ea47c46b8b078914f11e0","impliedFormat":99},{"version":"cc0a9b3209b9cc14967d86e730cfb4698721ec50a5a6a26bc452816a6e4bf965","signature":"d134c93e514d448a13b09f20ed6788132c7a9d3f4c933268d5eeba207a79f51c","impliedFormat":99},{"version":"eca39581893ac268aef1f8b8a3daeceb9b75822c699e9c36a4412df2e28e5181","signature":"3da0cba1c3dc8e9e93686e7d19221b9a51926a3294d022f7ae05cd22a03cd8ef","impliedFormat":99},{"version":"e39e0ea80f5f766fdeead4736193f4027913508c80fd6705c8033b2d09e460e3","signature":"205d52e7ed61c44d57d9747af0cc2d057bac1423a1c26b1bceb8628666861a3c","impliedFormat":99},{"version":"7d75b758342e685396e675b5fd47a5fbc932cd0e58f00767868d6f9193b2e9e3","signature":"e82de15c5f08f18ebf399024564f4e976a6f763634259a9713bef0cc5d519586","impliedFormat":99},{"version":"a8f8fba190bb94c96a8bd3a94aa651ce5952eaba87b9385a165ea9a8398ebe53","signature":"01da2f35ca22487799a1ee28584505a64081fdbabd52e526af47f74bd4b00e71","impliedFormat":99},{"version":"c69840379cb81058fa22ce54f9d61bbeea6c272120692118733cb788831a30ea","signature":"fa33109ca46b145c3e2d133e1b667f4fb34fe5d4f6be1837fae5b4e2e0bf9e32","impliedFormat":99},{"version":"62723d15fb1728035d29073280bde709031e865fa3c1d3c47c39d1e691eedddc","signature":"e36238d1f27a0767494b4ba611c7eaf2c6781c6a7a8c45fc1939d1f18585189f","impliedFormat":99},{"version":"8007020aaf9fbf606e32ae8f06d93b81dc830b2f9a77d62fcc439c9444cea21a","signature":"c931961c5725bacf6637c8eeac2bbf13a95e5e262b8c70a9e3d7c0cb606c4047","impliedFormat":99},{"version":"1dc1b82003555e528cc07983a0b1a7cbaee5b872a91430742aa4e215e8cbf768","signature":"a90e6f1bdb3d455fc60e470773584b499ffbba3f4adc1ae0a4a27a75bb4c995b","impliedFormat":99},{"version":"ba6295c9ec473998bc9fc866e3cab5f695f71912031638b92cae8236a32115b5","signature":"fd7a93b826555416b0ae2a38d5e132f824f87ab50a4264b7ff5e68dd5f8bb262","impliedFormat":99},{"version":"3b54ea3b47a4405ef46ceedae676d8bf4c1994455eaa8980481a3516048e935d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"7fe00dee9ba7333b7d38b81391639108fa673d1eaba30ea4f9bad264333f41fd","signature":"e13aafbe46a0cca53716b0c9ef7d73ac2292904cd84cd08f57bff9517a128569","impliedFormat":99},{"version":"43680a32a4a8d45eda2303c1a6f0e22352a4f21d87045a1dbe4855bedda7e9b1","signature":"489dbf0ac148b14392ca9ea45b39868921abe67a40dfbc5d80ff5a55d5dd067b","impliedFormat":99}],"root":[58,59,[66,171]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"experimentalDecorators":true,"module":100,"noImplicitOverride":true,"noUncheckedIndexedAccess":true,"outDir":"./","rootDir":"..","sourceMap":true,"strict":true,"target":9},"fileIdsList":[[69,70,80,93,125,126,134,136,137,138],[59,67,69,70,73,74,78,125,126,134,136,158,166],[58,66],[60,61,62,63,64],[60,61],[62],[65],[72],[58,66,71,73,117],[58,67,72,120],[137],[58,59,66,68,80,83,84,88,114,115,116,137],[83,84,88,97,99,100,113,114],[59,68,70,84,117,134,136,137],[58,79,80,81,84,85,86,87],[141,142,143,144,145,146,147,148,149,150],[141,149],[141,142,145,146,149],[141,143,145,148],[141,143,144,147,148],[141,145,146,148],[141,142,146,147,148,150],[141,145,146,147],[141,143,145,146],[80],[68,80,81,82,83,88,114,115,137],[82],[91],[98],[90,91,93,98],[88,90,91,93,98,101,102,103,104,105,106,107,108,109,110,111,112],[68,101],[101],[68,90,91,93,98,115],[59,79,90],[58,59,71,80,81,89],[58,59,68,79,80,81,83,84,85,88,90,92,93,94,95,96,97,114,115,137],[59,68,82,90,92,93,98],[58,59,83,89,90,91,92,94,98],[117],[58,68,70,88,98,114,115,117,118,119,120,127,134,136],[121],[121,122,123],[58,69,86,98,122,124,125,126,137],[66],[69,125,126],[58,66,68,69,70,86,125,126,134,135,136,137],[68],[70,134,136],[58,70,121,122,128,130,131,134,136],[68,70,134,136],[121,122,130],[58,66,68,69,70,90,92,94,114,125,126,127,128,129,132,133,134,136,137],[66,68,69,125,126,137],[69,70,125,126,134,136],[80,88],[59,78,80,88],[59,66,79,88],[65,67,70,72,78,134,136],[73,78],[73,74,75,76,77,88,114,115],[58,75,78],[78],[58,59,66,67,72,73,78,117,137,140],[59,73,78,137,139,156],[58,73,74,78,137,155,156,157],[65,159],[65,70,134,136,159],[58,67,162],[58,67,72,73,78,159,160,163],[73,78,159,161,162],[58,65,73,74,78,159,161,162,164,165],[58,65,137,155,159,161,165,167,168],[58,59,65,67,72,73,78,80,117,137,140,159,160],[59,70,134,136,137,139,159,161,167],[137,154],[66,73,117],[67,72,120],[66,68,80,83,84,88,114,115,116,137],[68,70,84,117,134,136,137],[79,80,81,84,85,86,87],[141,144,145,146,148],[90,91,93,98,114,115],[59,80,81],[80,81,84,88,92,93,94,95,114,115,137],[59,83,90,91,92,94,98],[68,70,88,98,114,115,117,120,127,134,136],[121,122],[69,86,122,124,125,126,137],[68,69,70,86,125,126,134,135,136,137],[122],[68,69,70,92,125,126,134,136,137],[78,80,88],[73,74,75,76,88,114,115],[75,78],[66,67,72,73,78,117,137],[73,78,137,139,156],[73,74,78,157],[70,134,136,159],[67,162],[67,72,73,78,159,160],[73,78,161,162],[73,74,78],[80,117,137,159,160],[137,139,161,167]],"referencedMap":[[154,1],[170,2],[171,3],[65,4],[62,5],[63,6],[66,7],[120,8],[72,9],[140,10],[138,11],[117,12],[115,13],[139,14],[88,15],[151,16],[150,17],[142,17],[147,18],[146,19],[145,20],[143,21],[149,22],[148,23],[144,24],[119,11],[81,25],[84,26],[83,27],[92,28],[91,29],[99,30],[100,30],[113,31],[108,32],[103,32],[109,32],[106,32],[107,32],[111,33],[110,33],[105,33],[104,32],[112,32],[102,33],[101,28],[97,30],[114,34],[96,35],[90,36],[98,37],[94,38],[93,39],[118,40],[137,41],[122,42],[124,43],[125,44],[69,45],[126,46],[136,47],[135,48],[129,49],[132,50],[133,51],[131,52],[134,53],[70,54],[127,55],[85,56],[86,56],[87,56],[79,57],[80,58],[73,59],[74,60],[78,61],[77,62],[76,62],[75,63],[156,64],[157,65],[158,66],[159,7],[160,67],[161,68],[163,69],[162,70],[164,71],[166,72],[169,73],[167,74],[168,75],[155,76]],"exportedModulesMap":[[154,1],[170,2],[171,3],[65,4],[62,5],[63,6],[66,7],[120,8],[72,77],[140,78],[138,11],[117,79],[115,13],[139,80],[88,81],[151,16],[150,17],[142,17],[147,18],[146,19],[145,20],[143,82],[149,22],[148,23],[144,24],[119,11],[81,25],[84,26],[83,27],[92,28],[91,29],[99,30],[100,30],[113,31],[108,33],[103,33],[109,33],[106,33],[107,33],[111,33],[110,33],[105,33],[104,33],[112,33],[102,33],[101,28],[97,30],[114,83],[96,35],[90,84],[98,85],[94,38],[93,86],[118,40],[137,87],[122,42],[124,88],[125,89],[69,45],[126,46],[136,90],[135,48],[129,49],[132,49],[133,51],[131,91],[134,92],[70,54],[127,55],[85,56],[86,56],[87,56],[79,93],[80,58],[73,59],[74,60],[78,94],[77,95],[76,95],[75,63],[156,96],[157,97],[158,98],[159,7],[160,67],[161,99],[163,100],[162,101],[164,102],[166,103],[167,104],[168,105],[155,76]],"semanticDiagnosticsPerFile":[154,170,171,64,61,60,65,62,63,56,57,10,12,11,2,13,14,15,16,17,18,19,20,3,4,21,25,22,23,24,26,27,28,5,29,30,31,32,6,36,33,34,35,37,7,38,43,44,39,40,41,42,8,48,45,46,47,49,9,50,51,52,55,53,54,1,59,66,67,120,72,140,138,117,115,139,88,141,151,150,142,147,146,145,143,149,148,144,68,116,119,81,84,82,83,92,95,91,89,99,100,113,108,103,109,106,107,152,111,110,105,104,112,102,101,97,114,96,90,98,94,93,118,137,122,124,125,69,126,136,135,128,129,130,132,133,131,121,123,134,70,153,127,85,86,87,79,80,71,73,74,78,77,76,75,156,157,158,159,160,161,163,162,164,166,165,169,167,168,155,58],"latestChangedDtsFile":"./src/core/text-rendering/renderers/CanvasTextRenderer.d.ts"},"version":"5.2.2"}
@@ -0,0 +1,101 @@
1
+ /*
2
+ * If not stated otherwise in this file or this component's LICENSE file the
3
+ * following copyright and licenses apply:
4
+ *
5
+ * Copyright 2023 Comcast Cable Communications Management, LLC.
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the License);
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ */
19
+ /**
20
+ * Lightning 3 Renderer Core API
21
+ *
22
+ * @remarks
23
+ * ```
24
+ * import * from '@lightning/renderer/core';
25
+ * ```
26
+ *
27
+ * The Core API is used by developers to extend the capabilities of the Renderer
28
+ * by writing custom Shaders, Dynamic Shader Effects, Textures, Text Renderers,
29
+ * etc.
30
+ *
31
+ * Custom capabilities as well as fonts can be loaded via Core Extensions.
32
+ *
33
+ * A core extension module is structured like so:
34
+ * ```ts
35
+ * import {
36
+ * CoreExtension,
37
+ * WebTrFontFace,
38
+ * SdfTrFontFace,
39
+ * type Stage
40
+ * } from '@lightning/renderer/core';
41
+ *
42
+ * export default class MyCoreExtension extends CoreExtension {
43
+ * async run(stage: Stage) {
44
+ * stage.fontManager.addFontFace(
45
+ * new WebTrFontFace('Ubuntu', {}, '/fonts/Ubuntu-Regular.ttf'),
46
+ * );
47
+ *
48
+ * stage.fontManager.addFontFace(
49
+ * new SdfTrFontFace(
50
+ * 'Ubuntu',
51
+ * {},
52
+ * 'msdf',
53
+ * stage,
54
+ * '/fonts/Ubuntu-Regular.msdf.png',
55
+ * '/fonts/Ubuntu-Regular.msdf.json',
56
+ * ),
57
+ * );
58
+ * }
59
+ * }
60
+ * ```
61
+ *
62
+ * And then imported and registered in the application's entry point
63
+ * using the `@lightningjs/vite-plugin-import-chunk-url` plugin:
64
+ * ```ts
65
+ * import coreExtensionModuleUrl from './MyCoreExtension.js?importChunkUrl';
66
+ *
67
+ * // Set up driver, etc.
68
+ *
69
+ * // Initialize the Renderer
70
+ * const renderer = new RendererMain(
71
+ * {
72
+ * // Other Renderer Config...
73
+ * coreExtensionModule: coreExtensionModuleUrl,
74
+ * },
75
+ * 'app',
76
+ * driver,
77
+ * );
78
+ * ```
79
+ *
80
+ * @module
81
+ */
82
+
83
+ // Shaders
84
+ export * from '../src/core/renderers/webgl/WebGlCoreShader.js';
85
+
86
+ // Textures
87
+ export * from '../src/core/textures/Texture.js';
88
+
89
+ // Text Rendering & Fonts
90
+ export * from '../src/core/text-rendering/renderers/TextRenderer.js';
91
+ export * from '../src/core/text-rendering/renderers/CanvasTextRenderer.js';
92
+ export * from '../src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js';
93
+ export * from '../src/core/text-rendering/font-face-types/TrFontFace.js';
94
+ export * from '../src/core/text-rendering/font-face-types/WebTrFontFace.js';
95
+ export * from '../src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js';
96
+
97
+ // Core Extensions
98
+ export * from '../src/core/CoreExtension.js';
99
+
100
+ // Stage (type only for Core Extensions)
101
+ export type * from '../src/core/Stage.js';
@@ -0,0 +1,50 @@
1
+ /*
2
+ * If not stated otherwise in this file or this component's LICENSE file the
3
+ * following copyright and licenses apply:
4
+ *
5
+ * Copyright 2023 Comcast Cable Communications Management, LLC.
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the License);
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ */
19
+
20
+ /**
21
+ * Lightning 3 Renderer Main API
22
+ *
23
+ * @remarks
24
+ * This module exports the Main API for the Lightning 3 Renderer. You
25
+ * can import the exports from this module like so:
26
+ * ```ts
27
+ * import { RendererMain } from '@lightning/renderer';
28
+ * ```
29
+ *
30
+ * Generally developers/frameworks using the Renderer will use the Main API to
31
+ * render applications.
32
+ *
33
+ * Do not confuse the Main API with the Core API which is used to extend
34
+ * capabilities of the Renderer. The Main API code always runs from the main
35
+ * thread.
36
+ *
37
+ * @module
38
+ */
39
+ export * from '../src/main-api/INode.js';
40
+ export * from '../src/main-api/IRenderDriver.js';
41
+ export * from '../src/main-api/RendererMain.js';
42
+ export * from '../src/render-drivers/main/MainRenderDriver.js';
43
+ export * from '../src/render-drivers/threadx/ThreadXRenderDriver.js';
44
+ export * from '../src/common/IAnimationController.js';
45
+ export * from '../src/common/CommonTypes.js';
46
+
47
+ // Selected types exported from the Core Renderer that can be used in the
48
+ // context of the main API.
49
+ export type { TextRendererMap } from '../src/core/text-rendering/renderers/TextRenderer.js';
50
+ export type { TrFontFaceMap } from '../src/core/text-rendering/font-face-types/TrFontFace.js';
@@ -0,0 +1,41 @@
1
+ /*
2
+ * If not stated otherwise in this file or this component's LICENSE file the
3
+ * following copyright and licenses apply:
4
+ *
5
+ * Copyright 2023 Comcast Cable Communications Management, LLC.
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the License);
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ */
19
+ /**
20
+ * Auxiliary Utilities
21
+ *
22
+ * @remarks
23
+ * This module exports the a set of utilities that may be optionally used by
24
+ * developers using the Lightning 3 Renderer.
25
+ *
26
+ * You can import the exports from this module like so:
27
+ * ```ts
28
+ * import { assertTruthy } from '@lightning/renderer';
29
+ * ```
30
+ *
31
+ * @internalRemarks
32
+ * Exports in here should be chosen wisely, as they will be exposed to
33
+ * directly developers.
34
+ *
35
+ * They should be general utilities that are NOT directly coupled to the
36
+ * Lightning Renderer, and not specific to any particular platform.
37
+ *
38
+ * @packageDocumentation
39
+ */
40
+ export { assertTruthy, mergeColorAlpha } from '../src/utils.js';
41
+ export { EventEmitter } from '../src/common/EventEmitter.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lightningjs/renderer",
3
- "version": "0.3.2",
3
+ "version": "0.3.4",
4
4
  "description": "Lightning 3 Renderer",
5
5
  "type": "module",
6
6
  "main": "./dist/exports/index.js",
@@ -57,7 +57,7 @@
57
57
  "vitest": "^0.34.2"
58
58
  },
59
59
  "dependencies": {
60
- "@lightningjs/threadx": "^0.3.1",
60
+ "@lightningjs/threadx": "^0.3.3",
61
61
  "@protobufjs/eventemitter": "^1.1.0"
62
62
  },
63
63
  "lint-staged": {
@@ -70,6 +70,7 @@
70
70
  "files": [
71
71
  "dist",
72
72
  "src",
73
+ "exports",
73
74
  "LICENSE",
74
75
  "NOTICE",
75
76
  "README.md"
@@ -245,9 +245,10 @@ export class CoreTextureManager {
245
245
  * Remove a `Texture` from the texture cache by its texture desc ID
246
246
  *
247
247
  * @remarks
248
- * This is called externally by when we know that the `TextureDesc` has been
249
- * garbage collected. This allows us to remove the `Texture` from the cache
250
- * so that it can be garbage collected as well.
248
+ * This is called externally by when we know (at least reasonably well) that
249
+ * the `TextureRef` in the Main API space has been is no longer used. This
250
+ * allows us to remove the `Texture` from the Usage Cache so that it can be
251
+ * garbage collected as well.
251
252
  *
252
253
  * @param textureDescId
253
254
  */
@@ -255,9 +256,9 @@ export class CoreTextureManager {
255
256
  const { textureIdCache, textureRefCountMap } = this;
256
257
  const texture = textureIdCache.get(textureDescId);
257
258
  if (!texture) {
258
- throw new Error(
259
- `Texture ID ${textureDescId} is not in the texture ID cache`,
260
- );
259
+ // Sometimes a texture is removed from the cache before it ever gets
260
+ // added to the cache. This is fine and not an error.
261
+ return;
261
262
  }
262
263
  textureIdCache.delete(textureDescId);
263
264
  if (textureRefCountMap.has(texture)) {
@@ -38,6 +38,44 @@ import { GlitchEffect } from './effects/GlitchEffect.js';
38
38
  import { FadeOutEffect } from './effects/FadeOutEffect.js';
39
39
  import { RadialGradientEffect } from './effects/RadialGradientEffect.js';
40
40
 
41
+ /**
42
+ * Allows the `keyof EffectMap` to be mapped over and form an discriminated
43
+ * union of all the EffectDescs structures individually.
44
+ *
45
+ * @remarks
46
+ * When used like the following:
47
+ * ```
48
+ * MapEffectDescs<keyof EffectMap>[]
49
+ * ```
50
+ * The resultant type will be a discriminated union like so:
51
+ * ```
52
+ * (
53
+ * {
54
+ * type: 'radius',
55
+ * props?: {
56
+ * radius?: number | number[];
57
+ * }
58
+ * } |
59
+ * {
60
+ * type: 'border',
61
+ * props?: {
62
+ * width?: number;
63
+ * color?: number;
64
+ * }
65
+ * } |
66
+ * // ...
67
+ * )[]
68
+ * ```
69
+ * Which means TypeScript will now base its type checking on the `type` field
70
+ * and will know exactly what the `props` field should be based on the `type`
71
+ * field.
72
+ */
73
+ type MapEffectDescs<T extends keyof EffectMap> = T extends keyof EffectMap
74
+ ? SpecificEffectDesc<T>
75
+ : never;
76
+
77
+ type EffectDesc = MapEffectDescs<keyof EffectMap>;
78
+
41
79
  export interface DynamicShaderProps
42
80
  extends DimensionsShaderProp,
43
81
  AlphaShaderProp {
@@ -72,7 +110,9 @@ const Effects = {
72
110
  glitch: GlitchEffect,
73
111
  };
74
112
 
75
- export interface EffectDesc<FxType extends keyof EffectMap = keyof EffectMap> {
113
+ export interface SpecificEffectDesc<
114
+ FxType extends keyof EffectMap = keyof EffectMap,
115
+ > {
76
116
  type: FxType;
77
117
  props?: ExtractProps<EffectMap[FxType]>;
78
118
  }
@@ -252,7 +292,7 @@ export class DynamicShader extends WebGlCoreShader {
252
292
  }
253
293
 
254
294
  //fill main functions
255
- let currentMask = `mix(shaderColor, maskColor, clamp(-lng_DefaultMask, 0.0, 1.0))`;
295
+ let currentMask = `mix(shaderColor, maskColor, clamp(-(lng_DefaultMask), 0.0, 1.0))`;
256
296
  let drawEffects = `
257
297
 
258
298
  `;
@@ -325,7 +365,7 @@ export class DynamicShader extends WebGlCoreShader {
325
365
  effects: (props.effects ?? []).map((effect) => ({
326
366
  type: effect.type,
327
367
  props: Effects[effect.type].resolveDefaults(effect.props || {}),
328
- })),
368
+ })) as MapEffectDescs<keyof EffectMap>[],
329
369
  $dimensions: {
330
370
  width: 0,
331
371
  height: 0,
@@ -399,6 +439,7 @@ export class DynamicShader extends WebGlCoreShader {
399
439
  uniform float u_alpha;
400
440
  uniform float u_radius;
401
441
  uniform sampler2D u_texture;
442
+ uniform float u_pixelRatio;
402
443
 
403
444
  ${uniforms}
404
445
 
@@ -410,9 +451,8 @@ export class DynamicShader extends WebGlCoreShader {
410
451
  ${effectMethods}
411
452
 
412
453
  void main() {
413
- vec2 uv = v_textureCoordinate.xy * u_dimensions.xy;
414
454
  vec2 p = v_textureCoordinate.xy * u_dimensions - u_dimensions * 0.5;
415
- vec2 d = abs(p) - u_dimensions * 0.5;
455
+ vec2 d = abs(p) - (u_dimensions) * 0.5;
416
456
  float lng_DefaultMask = min(max(d.x, d.y), 0.0) + length(max(d, 0.0));
417
457
 
418
458
  vec4 shaderColor = vec4(0.0);
@@ -420,7 +460,7 @@ export class DynamicShader extends WebGlCoreShader {
420
460
 
421
461
  vec4 maskColor = texture2D(u_texture, v_textureCoordinate) * v_color;
422
462
 
423
- shaderColor = mix(shaderColor, maskColor, clamp(-lng_DefaultMask, 0.0, 1.0));
463
+ shaderColor = mix(shaderColor, maskColor, clamp(-(lng_DefaultMask + 0.5), 0.0, 1.0));
424
464
 
425
465
  ${drawEffects}
426
466
 
@@ -165,18 +165,19 @@ export class LinearGradientEffect extends ShaderEffect {
165
165
  float d = angle - 90.0;
166
166
  float a = $degToRad(d);
167
167
  float lineDist = abs(u_dimensions.x * cos(a)) + abs(u_dimensions.y * sin(a));
168
+
168
169
  vec2 f = $calcPoint(lineDist * 0.5, a);
169
170
  vec2 t = $calcPoint(lineDist * 0.5, $degToRad(d + 180.0));
170
171
  vec2 gradVec = t - f;
171
- float dist = dot((v_textureCoordinate.xy * u_dimensions) - f, gradVec) / dot(gradVec, gradVec);
172
+ float dist = dot(v_textureCoordinate.xy * u_dimensions - f, gradVec) / dot(gradVec, gradVec);
172
173
 
173
174
  float stopCalc = (dist - stops[0]) / (stops[1] - stops[0]);
174
- vec4 colorOut = mix(colors[0], colors[1], stopCalc);
175
+ vec4 colorOut = $fromLinear(mix($toLinear(colors[0]), $toLinear(colors[1]), stopCalc));
175
176
  for(int i = 1; i < ${colors}-1; i++) {
176
177
  stopCalc = (dist - stops[i]) / (stops[i + 1] - stops[i]);
177
178
  colorOut = mix(colorOut, colors[i + 1], clamp(stopCalc, 0.0, 1.0));
178
179
  }
179
- return mix(maskColor, colorOut, colorOut.a);
180
+ return mix(maskColor, colorOut, clamp(colorOut.a, 0.0, 1.0));
180
181
  `;
181
182
  };
182
183
  }
@@ -153,7 +153,7 @@ export class RadialGradientEffect extends ShaderEffect {
153
153
  stopCalc = (dist - stops[i]) / (stops[i + 1] - stops[i]);
154
154
  colorOut = mix(colorOut, colors[i + 1], clamp(stopCalc, 0.0, 1.0));
155
155
  }
156
- return mix(maskColor, colorOut, colorOut.a);
156
+ return mix(maskColor, colorOut, clamp(colorOut.a, 0.0, 1.0));
157
157
  `;
158
158
  };
159
159
  }