m0saic 0.3.0 → 0.3.2

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 (347) hide show
  1. package/dist/browseE2e.js +1 -1
  2. package/dist/connectionsFromEnv.js +1 -1
  3. package/dist/e2eTemplateVariants.js +1 -1
  4. package/dist/frontDoor.js +1 -1
  5. package/dist/index.js +1 -1
  6. package/dist/inlineDsl.js +1 -1
  7. package/dist/mcp/bridgeClient.js +1 -1
  8. package/dist/mcp/server.js +1 -1
  9. package/dist/mcp/tools.js +1 -1
  10. package/dist/mosaicxRunner.js +1 -1
  11. package/dist/outputPattern.js +1 -1
  12. package/dist/showcaseFeed.js +1 -1
  13. package/dist/templateDoctor.js +1 -1
  14. package/dist/utils/checkFeasibility.js +1 -1
  15. package/dist/utils/collectRenderErrors.js +1 -1
  16. package/dist/utils/enrichImageAlphaFromDoc.js +1 -1
  17. package/dist/utils/ensureFfmpeg.js +1 -1
  18. package/dist/utils/extractLayoutMeta.js +1 -1
  19. package/dist/utils/failureHints.js +1 -1
  20. package/dist/utils/ffmpegProbe.js +1 -1
  21. package/dist/utils/formatM0saicForCli.js +1 -1
  22. package/dist/utils/hashFile.js +1 -1
  23. package/dist/utils/helpGroups.js +1 -1
  24. package/dist/utils/installContext.js +1 -1
  25. package/dist/utils/invocation.js +1 -1
  26. package/dist/utils/licenseActivation.js +1 -1
  27. package/dist/utils/licenseActivationWorker.js +1 -1
  28. package/dist/utils/mosaicSpinner.js +1 -1
  29. package/dist/utils/parseDimensions.js +1 -1
  30. package/dist/utils/pathInfo.js +1 -1
  31. package/dist/utils/readJsonArg.js +1 -1
  32. package/dist/utils/renderOutcome.js +1 -1
  33. package/dist/utils/renderReport.js +1 -1
  34. package/dist/utils/renderSignals.js +1 -1
  35. package/dist/utils/renderWorkspace.js +1 -1
  36. package/dist/utils/reportOutputFormat.js +1 -1
  37. package/dist/utils/setupFfmpeg.js +1 -1
  38. package/dist/utils/telemetry.js +1 -1
  39. package/dist/utils/telemetryFlushWorker.js +1 -1
  40. package/dist/utils/telemetryUpstream.js +1 -1
  41. package/dist/utils/telemetryUsage.js +1 -1
  42. package/dist/utils/toolchainConfig.js +1 -1
  43. package/dist/utils/tutorialDuration.js +1 -1
  44. package/dist/utils/updateCheck.js +1 -1
  45. package/dist/utils/updateCheckWorker.js +1 -1
  46. package/dist/utils/validateSourceCounts.js +1 -1
  47. package/dist/utils/versions.js +1 -1
  48. package/dist/webCustomizeLink.js +1 -1
  49. package/node_modules/@m0saic/community-m/release.json +2 -2
  50. package/node_modules/@m0saic/core/dist/core/buildChildMosaicSource.js +1 -1
  51. package/node_modules/@m0saic/core/dist/core/buildChunkCommands.js +1 -1
  52. package/node_modules/@m0saic/core/dist/core/buildEncodeCommands.js +1 -1
  53. package/node_modules/@m0saic/core/dist/core/buildLavfiSource.js +1 -1
  54. package/node_modules/@m0saic/core/dist/core/buildMediaSource.js +1 -1
  55. package/node_modules/@m0saic/core/dist/core/buildMosaicNode.js +1 -1
  56. package/node_modules/@m0saic/core/dist/core/buildMosaicPlanFromFile.js +1 -1
  57. package/node_modules/@m0saic/core/dist/core/buildSvgTextSource.js +1 -1
  58. package/node_modules/@m0saic/core/dist/core/buildTextRenderCommand.js +1 -1
  59. package/node_modules/@m0saic/core/dist/core/collectRefTargets.js +1 -1
  60. package/node_modules/@m0saic/core/dist/core/index.js +1 -1
  61. package/node_modules/@m0saic/core/dist/core/maskCacheDir.js +1 -1
  62. package/node_modules/@m0saic/core/dist/core/maskWorkerBridge.js +1 -1
  63. package/node_modules/@m0saic/core/dist/core/playbackPlaySpeed.js +1 -1
  64. package/node_modules/@m0saic/core/dist/core/prepareProps.js +1 -1
  65. package/node_modules/@m0saic/core/dist/core/primaryOutput.js +1 -1
  66. package/node_modules/@m0saic/core/dist/core/rasterizeMaskPng.js +1 -1
  67. package/node_modules/@m0saic/core/dist/core/rasterizeSvgMediaPng.js +1 -1
  68. package/node_modules/@m0saic/core/dist/core/refTargetTap.js +1 -1
  69. package/node_modules/@m0saic/core/dist/core/resolveMasks.js +1 -1
  70. package/node_modules/@m0saic/core/dist/core/resolveMasksSync.js +1 -1
  71. package/node_modules/@m0saic/core/dist/core/resolveStrokeRingsSync.js +1 -1
  72. package/node_modules/@m0saic/core/dist/core/roundedRectMask.js +1 -1
  73. package/node_modules/@m0saic/core/dist/core/strokeRing.js +1 -1
  74. package/node_modules/@m0saic/core/dist/core/svgRaster.js +1 -1
  75. package/node_modules/@m0saic/core/dist/defaults.js +1 -1
  76. package/node_modules/@m0saic/core/dist/ffmpeg/backgroundImageInput.js +1 -1
  77. package/node_modules/@m0saic/core/dist/ffmpeg/bufferGuard.js +1 -1
  78. package/node_modules/@m0saic/core/dist/ffmpeg/ffmpegCommands.js +1 -1
  79. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyBackdropBlur.js +1 -1
  80. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyBlur.js +1 -1
  81. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyBorderRadius.js +1 -1
  82. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyCamera.js +1 -1
  83. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyChromaKey.js +1 -1
  84. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyFade.js +1 -1
  85. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyGrade.js +1 -1
  86. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyMask.js +1 -1
  87. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyNoise.js +1 -1
  88. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyPixelize.js +1 -1
  89. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyRotate.js +1 -1
  90. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyStroke.js +1 -1
  91. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyTileEffects.js +1 -1
  92. package/node_modules/@m0saic/core/dist/ffmpeg/filters/coverCrop.js +1 -1
  93. package/node_modules/@m0saic/core/dist/ffmpeg/filters/index.js +1 -1
  94. package/node_modules/@m0saic/core/dist/ffmpeg/filters/sourceRectCrop.js +1 -1
  95. package/node_modules/@m0saic/core/dist/ffmpeg/gridLowering.js +1 -1
  96. package/node_modules/@m0saic/core/dist/ffmpeg/index.js +1 -1
  97. package/node_modules/@m0saic/core/dist/ffmpeg/splitAvMux.js +1 -1
  98. package/node_modules/@m0saic/core/dist/ffmpeg/threadGuard.js +1 -1
  99. package/node_modules/@m0saic/core/dist/flatten/index.js +1 -1
  100. package/node_modules/@m0saic/core/dist/fs/index.js +1 -1
  101. package/node_modules/@m0saic/core/dist/fs/tempWorkspace.js +1 -1
  102. package/node_modules/@m0saic/core/dist/index.js +1 -1
  103. package/node_modules/@m0saic/core/dist/media/buildAssetManifestFromInputs.js +1 -1
  104. package/node_modules/@m0saic/core/dist/media/buildMediaRegistryFromInput.js +1 -1
  105. package/node_modules/@m0saic/core/dist/media/collectMediaInputsFromInvocationProps.js +1 -1
  106. package/node_modules/@m0saic/core/dist/media/collectMediaInputsFromMosaicRenderableFile.js +1 -1
  107. package/node_modules/@m0saic/core/dist/media/collectMediaInputsFromProps.js +1 -1
  108. package/node_modules/@m0saic/core/dist/media/index.js +1 -1
  109. package/node_modules/@m0saic/core/dist/media/internalMintAsset.js +1 -1
  110. package/node_modules/@m0saic/core/dist/media/remoteUrl.js +1 -1
  111. package/node_modules/@m0saic/core/dist/media/stageUnsafeFilenames.js +1 -1
  112. package/node_modules/@m0saic/core/dist/media/types.js +1 -1
  113. package/node_modules/@m0saic/core/dist/output/index.js +1 -1
  114. package/node_modules/@m0saic/core/dist/output/resolveOutputFormat.js +1 -1
  115. package/node_modules/@m0saic/core/dist/output/types.js +1 -1
  116. package/node_modules/@m0saic/core/dist/probe/cellLuminanceProbe.js +1 -1
  117. package/node_modules/@m0saic/core/dist/probe/extractSubtitleCues.js +1 -1
  118. package/node_modules/@m0saic/core/dist/probe/helpers.js +1 -1
  119. package/node_modules/@m0saic/core/dist/probe/index.js +1 -1
  120. package/node_modules/@m0saic/core/dist/probe/luminanceProbe.js +1 -1
  121. package/node_modules/@m0saic/core/dist/probe/probeMedia.js +1 -1
  122. package/node_modules/@m0saic/core/dist/probe/runFFprobe.js +1 -1
  123. package/node_modules/@m0saic/core/dist/probe/types.js +1 -1
  124. package/node_modules/@m0saic/core/dist/runtime/engineRedaction.js +1 -1
  125. package/node_modules/@m0saic/core/dist/runtime/ffmpegFailure.js +1 -1
  126. package/node_modules/@m0saic/core/dist/runtime/filterPreflight.js +1 -1
  127. package/node_modules/@m0saic/core/dist/runtime/hashFile.js +1 -1
  128. package/node_modules/@m0saic/core/dist/runtime/index.js +1 -1
  129. package/node_modules/@m0saic/core/dist/runtime/pathInfo.js +1 -1
  130. package/node_modules/@m0saic/core/dist/runtime/perfHeatmap.js +1 -1
  131. package/node_modules/@m0saic/core/dist/runtime/perfReport.js +1 -1
  132. package/node_modules/@m0saic/core/dist/runtime/pipelineM0p.js +1 -1
  133. package/node_modules/@m0saic/core/dist/runtime/renderCostModel.constants.js +1 -1
  134. package/node_modules/@m0saic/core/dist/runtime/renderCostModel.js +1 -1
  135. package/node_modules/@m0saic/core/dist/runtime/renderReport.js +1 -1
  136. package/node_modules/@m0saic/core/dist/runtime/renderSidecars.js +1 -1
  137. package/node_modules/@m0saic/core/dist/runtime/resolveMosaicx.js +1 -1
  138. package/node_modules/@m0saic/core/dist/runtime/runPlan.js +1 -1
  139. package/node_modules/@m0saic/core/dist/runtime/types.js +1 -1
  140. package/node_modules/@m0saic/core/dist/runtime/upstream.js +1 -1
  141. package/node_modules/@m0saic/core/dist/runtime/writeSidecars.js +1 -1
  142. package/node_modules/@m0saic/core/dist/types/chunk.js +1 -1
  143. package/node_modules/@m0saic/core/dist/types/index.js +1 -1
  144. package/node_modules/@m0saic/core/dist/types/mosaic-plan.js +1 -1
  145. package/node_modules/@m0saic/core/dist/utils/assertTiming.js +1 -1
  146. package/node_modules/@m0saic/core/dist/utils/command.js +1 -1
  147. package/node_modules/@m0saic/core/dist/utils/createEngineContext.js +1 -1
  148. package/node_modules/@m0saic/core/dist/utils/createTemplateRenderCache.js +1 -1
  149. package/node_modules/@m0saic/core/dist/utils/ffmpegColor.js +1 -1
  150. package/node_modules/@m0saic/core/dist/utils/formatDuration.js +1 -1
  151. package/node_modules/@m0saic/core/dist/utils/fsSafeId.js +1 -1
  152. package/node_modules/@m0saic/core/dist/utils/index.js +1 -1
  153. package/node_modules/@m0saic/core/dist/utils/lowerRenderableToMosaicDocument.js +1 -1
  154. package/node_modules/@m0saic/core/dist/utils/movSafeCodec.js +1 -1
  155. package/node_modules/@m0saic/core/dist/utils/resolveBoxFrac.js +1 -1
  156. package/node_modules/@m0saic/core/dist/validate/index.js +1 -1
  157. package/node_modules/@m0saic/core/package.json +1 -1
  158. package/node_modules/@m0saic/core/scripts/mask-rasterize-core.js +1 -1
  159. package/node_modules/@m0saic/core/scripts/mask-rasterize-worker.js +1 -1
  160. package/node_modules/@m0saic/core/scripts/mask-worker-thread.js +1 -1
  161. package/node_modules/@m0saic/dictionary/package.json +1 -1
  162. package/node_modules/@m0saic/knowledge/docs/runtime/README.md +8 -1
  163. package/node_modules/@m0saic/knowledge/docs/runtime/agent-at-the-canvas.md +108 -0
  164. package/node_modules/@m0saic/knowledge/docs/runtime/cli-usage.md +35 -7
  165. package/node_modules/@m0saic/knowledge/docs/templates/output-resolution-tree.md +8 -0
  166. package/node_modules/@m0saic/knowledge/docs/templates/reference/prop-bindings.md +24 -10
  167. package/node_modules/@m0saic/knowledge/docs/templates/reference/template-flags.md +18 -6
  168. package/node_modules/@m0saic/knowledge/docs/templates/standalone-pack-authoring.md +20 -10
  169. package/node_modules/@m0saic/knowledge/package.json +1 -1
  170. package/node_modules/@m0saic/platform/dist/cjs/index.js +1 -1
  171. package/node_modules/@m0saic/platform/dist/cjs/mosaic/propBindings/index.js +1 -1
  172. package/node_modules/@m0saic/platform/dist/cjs/mosaic/propBindings/propBindings.js +1 -1
  173. package/node_modules/@m0saic/platform/dist/cjs/template-repos/index.js +1 -1
  174. package/node_modules/@m0saic/platform/dist/cjs/template-repos/loadTemplateRepoFromPath.js +4 -4
  175. package/node_modules/@m0saic/platform/dist/cjs/template-repos/templateCatalogSidecars.js +2 -0
  176. package/node_modules/@m0saic/platform/dist/cjs/templateCatalog/index.js +1 -0
  177. package/node_modules/@m0saic/platform/dist/cjs/templateCatalog/templateCatalog.js +1 -0
  178. package/node_modules/@m0saic/platform/package.json +1 -1
  179. package/node_modules/@m0saic/product/dist/communityRelease.js +1 -1
  180. package/node_modules/@m0saic/product/dist/freeTierLicense.js +1 -1
  181. package/node_modules/@m0saic/product/dist/index.js +1 -1
  182. package/node_modules/@m0saic/product/dist/licenseActivationNotice.js +1 -1
  183. package/node_modules/@m0saic/product/dist/licenseFile.js +1 -1
  184. package/node_modules/@m0saic/product/dist/licenseToken.js +1 -1
  185. package/node_modules/@m0saic/product/dist/makeScratchPath.js +1 -1
  186. package/node_modules/@m0saic/product/dist/postRenderWrapper.js +1 -1
  187. package/node_modules/@m0saic/product/dist/publicKeys.js +1 -1
  188. package/node_modules/@m0saic/product/dist/revokedKeys.js +1 -1
  189. package/node_modules/@m0saic/product/dist/upstreamDefaults.js +1 -1
  190. package/node_modules/@m0saic/product/dist/workspaceScaffold.js +1 -1
  191. package/node_modules/@m0saic/product/package.json +1 -1
  192. package/node_modules/@m0saic/template-utils/dist/brand/hello-world/helloWorld.js +1 -1
  193. package/node_modules/@m0saic/template-utils/dist/geometry-contract/frameResolution.js +1 -1
  194. package/node_modules/@m0saic/template-utils/dist/geometry-contract/layoutConstraint.js +1 -1
  195. package/node_modules/@m0saic/template-utils/dist/template/auditRenderedTemplate.js +5 -5
  196. package/node_modules/@m0saic/template-utils/dist/template/auditSchemaConventions.js +1 -1
  197. package/node_modules/@m0saic/template-utils/dist/template/defineMosaicTemplate.js +1 -1
  198. package/node_modules/@m0saic/template-utils/dist/template/resolveTemplateOutputHints.js +1 -1
  199. package/node_modules/@m0saic/template-utils/dist/template/templateCatalogStore.js +1 -0
  200. package/node_modules/@m0saic/template-utils/dist/template/templateConventions.js +4 -4
  201. package/node_modules/@m0saic/template-utils/dist/template/templateRegistry.js +3 -3
  202. package/node_modules/@m0saic/template-utils/package.json +1 -1
  203. package/node_modules/@m0saic/templates/dist/catalog.js +1 -0
  204. package/node_modules/@m0saic/templates/dist/freeze.js +8 -8
  205. package/node_modules/@m0saic/templates/dist/index.js +1 -1
  206. package/node_modules/@m0saic/templates/dist/m0saic/_shared/canvas-handles.js +1 -0
  207. package/node_modules/@m0saic/templates/dist/m0saic/_shared/stand-in.js +1 -0
  208. package/node_modules/@m0saic/templates/dist/m0saic/agents/commit-feed/index.js +1 -1
  209. package/node_modules/@m0saic/templates/dist/m0saic/agents/commit-feed/v2/commit-feed.js +1 -0
  210. package/node_modules/@m0saic/templates/dist/m0saic/agents/commit-feed/v2/index.js +1 -0
  211. package/node_modules/@m0saic/templates/dist/m0saic/agents/trace-timeline/index.js +1 -1
  212. package/node_modules/@m0saic/templates/dist/m0saic/agents/trace-timeline/v2/index.js +1 -0
  213. package/node_modules/@m0saic/templates/dist/m0saic/agents/trace-timeline/v2/trace-timeline.js +1 -0
  214. package/node_modules/@m0saic/templates/dist/m0saic/alpine/_shared/alpine-conventions.js +1 -0
  215. package/node_modules/@m0saic/templates/dist/m0saic/alpine/bar-graph/v2/bar-graph.js +1 -0
  216. package/node_modules/@m0saic/templates/dist/m0saic/alpine/bar-graph/v2/index.js +1 -0
  217. package/node_modules/@m0saic/templates/dist/m0saic/alpine/commit-feed/v3/commit-feed.js +1 -0
  218. package/node_modules/@m0saic/templates/dist/m0saic/alpine/commit-feed/v3/index.js +1 -0
  219. package/node_modules/@m0saic/templates/dist/m0saic/alpine/contributor-table/v2/contributor-table.js +1 -0
  220. package/node_modules/@m0saic/templates/dist/m0saic/alpine/contributor-table/v2/index.js +1 -0
  221. package/node_modules/@m0saic/templates/dist/m0saic/alpine/donut/v4/donut.js +1 -0
  222. package/node_modules/@m0saic/templates/dist/m0saic/alpine/donut/v4/index.js +1 -0
  223. package/node_modules/@m0saic/templates/dist/m0saic/alpine/heatmap/v3/heatmap.js +1 -0
  224. package/node_modules/@m0saic/templates/dist/m0saic/alpine/heatmap/v3/index.js +1 -0
  225. package/node_modules/@m0saic/templates/dist/m0saic/alpine/index.js +1 -1
  226. package/node_modules/@m0saic/templates/dist/m0saic/alpine/kpi-card/v3/index.js +1 -0
  227. package/node_modules/@m0saic/templates/dist/m0saic/alpine/kpi-card/v3/kpi-card.js +1 -0
  228. package/node_modules/@m0saic/templates/dist/m0saic/alpine/leaderboard/v2/index.js +1 -0
  229. package/node_modules/@m0saic/templates/dist/m0saic/alpine/leaderboard/v2/leaderboard.js +1 -0
  230. package/node_modules/@m0saic/templates/dist/m0saic/alpine/line-chart/v3/index.js +1 -0
  231. package/node_modules/@m0saic/templates/dist/m0saic/alpine/line-chart/v3/line-chart.js +1 -0
  232. package/node_modules/@m0saic/templates/dist/m0saic/alpine/progress-card/v2/index.js +1 -0
  233. package/node_modules/@m0saic/templates/dist/m0saic/alpine/progress-card/v2/progress-card.js +1 -0
  234. package/node_modules/@m0saic/templates/dist/m0saic/alpine/stat-card/v2/index.js +1 -0
  235. package/node_modules/@m0saic/templates/dist/m0saic/alpine/stat-card/v2/stat-card.js +1 -0
  236. package/node_modules/@m0saic/templates/dist/m0saic/alpine/timeline/v3/index.js +1 -0
  237. package/node_modules/@m0saic/templates/dist/m0saic/alpine/timeline/v3/timeline.js +4 -0
  238. package/node_modules/@m0saic/templates/dist/m0saic/alpine/treemap/v3/index.js +1 -0
  239. package/node_modules/@m0saic/templates/dist/m0saic/alpine/treemap/v3/treemap.js +1 -0
  240. package/node_modules/@m0saic/templates/dist/m0saic/benchmark/index.js +1 -1
  241. package/node_modules/@m0saic/templates/dist/m0saic/benchmark/report/v2/index.js +1 -0
  242. package/node_modules/@m0saic/templates/dist/m0saic/benchmark/report/v2/report.js +1 -0
  243. package/node_modules/@m0saic/templates/dist/m0saic/brand/business-card/v2/business-card.js +1 -0
  244. package/node_modules/@m0saic/templates/dist/m0saic/brand/business-card/v2/index.js +1 -0
  245. package/node_modules/@m0saic/templates/dist/m0saic/brand/index.js +1 -1
  246. package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v4/index.js +1 -0
  247. package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v4/logo_runner.js +1 -0
  248. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v3/bar-graph.js +1 -0
  249. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v3/index.js +1 -0
  250. package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v5/donut.js +1 -0
  251. package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v5/index.js +1 -0
  252. package/node_modules/@m0saic/templates/dist/m0saic/charts/index.js +1 -1
  253. package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v2/index.js +1 -0
  254. package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v2/line-chart.js +1 -0
  255. package/node_modules/@m0saic/templates/dist/m0saic/charts/stat-card/v2/index.js +1 -0
  256. package/node_modules/@m0saic/templates/dist/m0saic/charts/stat-card/v2/stat-card.js +1 -0
  257. package/node_modules/@m0saic/templates/dist/m0saic/code/index.js +1 -1
  258. package/node_modules/@m0saic/templates/dist/m0saic/code/snippet-morph/v2/snippet-morph.js +3 -0
  259. package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v2/image-collage.js +1 -0
  260. package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v2/index.js +1 -0
  261. package/node_modules/@m0saic/templates/dist/m0saic/collage/index.js +1 -1
  262. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/index.js +1 -1
  263. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v2/dsl-tutorial.js +1 -0
  264. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v2/index.js +1 -0
  265. package/node_modules/@m0saic/templates/dist/m0saic/github/year-card/index.js +1 -1
  266. package/node_modules/@m0saic/templates/dist/m0saic/github/year-card/v2/index.js +1 -0
  267. package/node_modules/@m0saic/templates/dist/m0saic/github/year-card/v2/year-card.js +1 -0
  268. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/index.js +1 -1
  269. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/runner/v2/index.js +1 -0
  270. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/runner/v2/runner.js +1 -0
  271. package/node_modules/@m0saic/templates/dist/m0saic/media/barcode/v2/barcode.js +1 -0
  272. package/node_modules/@m0saic/templates/dist/m0saic/media/barcode/v2/index.js +1 -0
  273. package/node_modules/@m0saic/templates/dist/m0saic/media/blur-regions/index.js +1 -1
  274. package/node_modules/@m0saic/templates/dist/m0saic/media/blur-regions/v2/blur-regions.js +1 -0
  275. package/node_modules/@m0saic/templates/dist/m0saic/media/blur-regions/v2/index.js +1 -0
  276. package/node_modules/@m0saic/templates/dist/m0saic/media/highlights/index.js +1 -1
  277. package/node_modules/@m0saic/templates/dist/m0saic/media/highlights/v2/highlights.js +1 -0
  278. package/node_modules/@m0saic/templates/dist/m0saic/media/highlights/v2/index.js +1 -0
  279. package/node_modules/@m0saic/templates/dist/m0saic/media/index.js +1 -1
  280. package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/index.js +1 -1
  281. package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v2/index.js +1 -0
  282. package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v2/logo-animate.js +1 -0
  283. package/node_modules/@m0saic/templates/dist/m0saic/media/metadata-stamp/index.js +1 -1
  284. package/node_modules/@m0saic/templates/dist/m0saic/media/metadata-stamp/v2/index.js +1 -0
  285. package/node_modules/@m0saic/templates/dist/m0saic/media/metadata-stamp/v2/metadata-stamp.js +1 -0
  286. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/code/v2/index.js +1 -0
  287. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/code/v2/qr-code.js +1 -0
  288. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/index.js +1 -1
  289. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/stamp/v2/qr-stamp-custom.js +1 -0
  290. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/index.js +1 -1
  291. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v3/index.js +1 -0
  292. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v3/screencap-grid.js +4 -0
  293. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/index.js +1 -1
  294. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/v2/index.js +1 -0
  295. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/v2/screencap-grid-aspect-safe.js +3 -0
  296. package/node_modules/@m0saic/templates/dist/m0saic/media/scroll_wall/index.js +1 -1
  297. package/node_modules/@m0saic/templates/dist/m0saic/media/scroll_wall/v2/index.js +1 -0
  298. package/node_modules/@m0saic/templates/dist/m0saic/media/scroll_wall/v2/scroll-wall.js +1 -0
  299. package/node_modules/@m0saic/templates/dist/m0saic/media/subtitle-burn/index.js +1 -1
  300. package/node_modules/@m0saic/templates/dist/m0saic/media/subtitle-burn/v2/index.js +1 -0
  301. package/node_modules/@m0saic/templates/dist/m0saic/media/subtitle-burn/v2/subtitle-burn.js +4 -0
  302. package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/index.js +1 -1
  303. package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/v2/index.js +1 -0
  304. package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/v2/trickplay.js +1 -0
  305. package/node_modules/@m0saic/templates/dist/m0saic/media/video_to_png_sequence/index.js +1 -1
  306. package/node_modules/@m0saic/templates/dist/m0saic/media/video_to_png_sequence/v2/index.js +1 -0
  307. package/node_modules/@m0saic/templates/dist/m0saic/media/video_to_png_sequence/v2/video-to-png-sequence.js +1 -0
  308. package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/index.js +1 -1
  309. package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v2/index.js +1 -0
  310. package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v2/watermark.js +1 -0
  311. package/node_modules/@m0saic/templates/dist/m0saic/primitives/grid/index.js +1 -1
  312. package/node_modules/@m0saic/templates/dist/m0saic/primitives/grid/v3/grid.js +1 -0
  313. package/node_modules/@m0saic/templates/dist/m0saic/social/quote-card/index.js +1 -1
  314. package/node_modules/@m0saic/templates/dist/m0saic/social/quote-card/v2/index.js +1 -0
  315. package/node_modules/@m0saic/templates/dist/m0saic/social/quote-card/v2/quote-card.js +1 -0
  316. package/node_modules/@m0saic/templates/dist/m0saic/story/index.js +1 -1
  317. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/index.js +1 -1
  318. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v2/index.js +1 -0
  319. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v2/narrated-chapters.js +4 -0
  320. package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v2/index.js +1 -0
  321. package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v2/props.js +1 -0
  322. package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v2/scrapbook.js +1 -0
  323. package/node_modules/@m0saic/templates/dist/m0saic/theming/index.js +1 -1
  324. package/node_modules/@m0saic/templates/dist/m0saic/theming/v2/index.js +1 -0
  325. package/node_modules/@m0saic/templates/dist/m0saic/theming/v2/theming.js +1 -0
  326. package/node_modules/@m0saic/templates/dist/m0saic/web/index.js +1 -1
  327. package/node_modules/@m0saic/templates/dist/m0saic/web/page-skeleton/v2/index.js +1 -0
  328. package/node_modules/@m0saic/templates/dist/m0saic/web/page-skeleton/v2/page-skeleton.js +1 -0
  329. package/node_modules/@m0saic/templates/dist/m0saic/wireframe/base/v3/index.js +1 -0
  330. package/node_modules/@m0saic/templates/dist/m0saic/wireframe/base/v3/wireframe.js +1 -0
  331. package/node_modules/@m0saic/templates/dist/m0saic/wireframe/index.js +1 -1
  332. package/node_modules/@m0saic/templates/dist/repo.js +1 -1
  333. package/node_modules/@m0saic/templates/dist/template-catalog.json +5429 -0
  334. package/node_modules/@m0saic/templates/dist/template-registry.js +1 -1
  335. package/node_modules/@m0saic/templates/dist/web.js +1 -1
  336. package/node_modules/@m0saic/templates/package.json +1 -1
  337. package/node_modules/@m0saic/templates/template-catalog.json +5429 -0
  338. package/node_modules/@m0saic/templates/template-manifest.json +1030 -286
  339. package/node_modules/@m0saic/templates/web-template-ids.json +38 -0
  340. package/node_modules/@m0saic/text/package.json +1 -1
  341. package/node_modules/@m0saic/types/dist/template/template.js +1 -1
  342. package/node_modules/@m0saic/types/package.json +1 -1
  343. package/node_modules/@m0saic/types-internal/dist/analytics/featureKeys.js +1 -1
  344. package/node_modules/@m0saic/types-internal/package.json +1 -1
  345. package/package.json +11 -11
  346. package/resources/starter-base/starter-base.json +5 -5
  347. package/resources/starter-base/starter-base.tgz +0 -0
@@ -1 +1 @@
1
- 'use strict';const _0x2dac1e=_0x5e6e;function _0x1e0e(){const _0x1ad92e=['C2nHBgu','jNf1B3q7','ihDPzhrOpsi','Cgf0Aa','BgvUz3rO','iIb5psi','yxjNCW','iIbOzwLNAhq9iG','Bg9JywXqyxrO','lNbUzW','BwLU','mteYngjtwNLMCG','ihnJywXLka','iIbMAwXSpsj3AgL0zsiVpG','zgLNzxn0','iIbMAwXSpsjUB25LiIbZDhjVA2u9iNDOAxrLiIbZDhjVA2uTD2LKDgG9iG','yM91BMrZ','C3zNBwvKAweT','CMvWBgfJzq','C3rYAw5N','pgCGDhjHBNnMB3jTpsj0CMfUC2XHDguO','DgfYz2v0sgvPz2H0','CgfPBNrjBMrLEa','iIbZDhjVA2uTBgLUzwnHCd0ICM91BMqIihn0CM9Rzs1SAw5LAM9PBJ0ICM91BMqIlZ4','C2XPy2u','D2LKDgG','C3zNzxHHy3q','Aw5SAw5Llw1HC2S','y2XPCa','pgrLzNm+','lI4VzgLZDc9JB3jLl3n2z1jHC3rLCI5QCW','lI4VzgLZDc9JB3jLl21HC2TdywnOzurPCI5QCW','BwfW','iIbMAwXSpsi','CMDIka','CMLUzW','AgvPz2H0','Bwf4','iIbMAwXSlxj1Bgu9iMv2zw5VzgqIlZ4','iI8+','pc9ZDMC+','C3vWzxjZyw1WBgu','C3rYB2TLCW','C2HHmJu2','phjLy3qGEd0ImciGEt0ImciGD2LKDgG9iG','yMfZzty0','BwfZAY1Yyxn0zxjPEMuTy29YztOGDw5RBM93BIbPDgvTlMTPBMqGiG','mtqWntu2mgrztefNyG','DhjHBNnSyxrL','Agv4','odGZotmYzuHjvKXl','ihzPzxDcB3G9iJaGmca','ihbYzxnLCNzLqxnWzwn0uMf0Aw89iM5VBMuI','pgCGy2XPCc1WyxrOpsj1CMWOi3bJ','mti4mdiXsKzQBvPQ','DxbKyxrL','C3zNsw50CMLUC2LJu2L6zq','yMXHy2S','zgvUC2L0Eq','BwfZAY0','zNjVBq','zxHPC3rZu3LUyW','jMfTCdS','Cgf0Aeq','A2LUza','y3jLyxrLsgfZAa','CM91BMq','Bwf0Dgu','iIb3Awr0Ad0I','phbHDgGGzd0I','mJKXnZi2rM5sz1rm','jMD0oW','AM9PBG','Aw5SAw5LlxjPBMC','B3jPz2LUywW','pgnSAxbqyxrOigLKpsjWyW','Bwf4rgLT','CMLUzY0','C3zNqMfZzty0','BwLUrgLT','iI8+pc9JBgLWugf0Ad4','phn2zYb4BwXUCZ0IAhr0CdOVl3D3DY53mY5VCMCVmJaWmc9ZDMCI','z2v0twfZA0nHy2HLrgLY','C3zNzxHHy3qT','C3rYAw5NAwz5','pc9KzwzZpG','mte2mtyYnfbHwgTfsG','ksi+','iJ48CMvJDcb4psi','jMX0oW','zMvHDgHLCLb4','CMvUzgvYu3zNvg9qBMDgAwXL','C3zNlwv4ywn0','pc9NpG','y3j5ChrV','C3zNlw1LzgLH','BwTKAxjtEw5J','zxHWB3j0CW','C3zNBwvKAwe','CgfYDhm','ChvZAa','mZiWnvjzC2nYqG','ndGYmdL2DgjsEeu','zMLSBa','DgfYz2v0v2LKDgG'];_0x1e0e=function(){return _0x1ad92e;};return _0x1e0e();}(function(_0x4eaeeb,_0x4f0ec4){const _0x224f4b=_0x5e6e,_0x276787=_0x4eaeeb();while(!![]){try{const _0x124a30=parseInt(_0x224f4b(0x151))/0x1+parseInt(_0x224f4b(0xf8))/0x2+-parseInt(_0x224f4b(0x14d))/0x3+parseInt(_0x224f4b(0x126))/0x4*(-parseInt(_0x224f4b(0x117))/0x5)+parseInt(_0x224f4b(0x14a))/0x6+-parseInt(_0x224f4b(0x118))/0x7+parseInt(_0x224f4b(0x108))/0x8;if(_0x124a30===_0x4f0ec4)break;else _0x276787['push'](_0x276787['shift']());}catch(_0x42c3b2){_0x276787['push'](_0x276787['shift']());}}}(_0x1e0e,0x29eaf));const _0xd4a709=require('fs'),_0x4fa2ca=require(_0x2dac1e(0x11e)),_0x3f9ea5=require(_0x2dac1e(0x110));let _0xac5b5c=null,_0x3a9048=null;function _0x3e95cb(_0x19e7f8){const _0x5e9fa0=_0x2dac1e;_0xac5b5c=typeof _0x19e7f8==_0x5e9fa0(0x12e)&&_0x19e7f8?_0x19e7f8:null,_0xac5b5c&&_0xd4a709[_0x5e9fa0(0x112)](_0xac5b5c,{'recursive':!0x0});}function _0x536d05(){const _0x36eb84=_0x2dac1e;return _0xac5b5c?(_0xd4a709[_0x36eb84(0x112)](_0xac5b5c,{'recursive':!0x0}),_0xac5b5c):(_0x3a9048||(_0x3a9048=require(_0x36eb84(0x13a))),_0x3a9048[_0x36eb84(0x104)]());}function _0x106770(_0x1ce8d3){const _0x432bd9=_0x2dac1e;return Math[_0x432bd9(0xf4)](Math[_0x432bd9(0x140)](0x0,Math[_0x432bd9(0x125)](0x1,_0x1ce8d3||0x0))*0xff);}function _0x38a3bb(_0x1fdfdb){const _0x202c47=_0x2dac1e;return _0x1fdfdb[_0x202c47(0x12d)](/&/g,_0x202c47(0xf0))[_0x202c47(0x12d)](/"/g,_0x202c47(0x11c))[_0x202c47(0x12d)](/</g,_0x202c47(0x10b))[_0x202c47(0x12d)](/>/g,_0x202c47(0xf9));}let _0xf587ba=null;function _0x4abd7a(){const _0x528683=_0x2dac1e;return _0xf587ba||(_0xf587ba=require(_0x528683(0x139))),_0xf587ba;}const _0x189fb1='r2';function _0x416605(_0x11f40d){const _0x4c1278=_0x2dac1e,_0x44a0b3=_0x11f40d[_0x4c1278(0x12b)],_0x53b4eb=[_0x189fb1,_0x11f40d[_0x4c1278(0x123)],_0x44a0b3['x'],_0x44a0b3['y'],_0x44a0b3[_0x4c1278(0x134)],_0x44a0b3[_0x4c1278(0x13f)],_0x11f40d[_0x4c1278(0x11a)],_0x11f40d[_0x4c1278(0x130)],_0x106770(_0x11f40d[_0x4c1278(0xf5)])][_0x4c1278(0xfa)]('|'),_0x475782=[];_0x11f40d[_0x4c1278(0x145)]&&_0x11f40d[_0x4c1278(0x145)][_0x4c1278(0x11f)]&&_0x475782[_0x4c1278(0x116)]('s:'+JSON[_0x4c1278(0x106)](_0x11f40d[_0x4c1278(0x145)])),_0x11f40d[_0x4c1278(0x115)]&&_0x11f40d[_0x4c1278(0x115)][_0x4c1278(0x11f)]&&_0x475782[_0x4c1278(0x116)]('p:'+JSON[_0x4c1278(0x106)](_0x11f40d[_0x4c1278(0x115)])),_0x11f40d[_0x4c1278(0x10c)]&&_0x475782[_0x4c1278(0x116)]('f:'+_0x11f40d[_0x4c1278(0x10c)]);const _0xd3287=_0x475782[_0x4c1278(0x11f)]?_0x53b4eb+'|'+_0x475782[_0x4c1278(0xfa)]('|'):_0x53b4eb;return _0x3f9ea5[_0x4c1278(0xf3)](_0x4c1278(0x146))[_0x4c1278(0x152)](_0xd3287)[_0x4c1278(0x129)](_0x4c1278(0x14c))[_0x4c1278(0x133)](0x0,0x10);}function _0x40d42b(_0x3e57a8){const _0x876f32=_0x2dac1e;return _0x4fa2ca[_0x876f32(0xfa)](_0x536d05(),_0x876f32(0x156)+_0x3e57a8+_0x876f32(0x124));}function _0x1def15(_0x30d300){const _0x5d1c86=_0x2dac1e;return!_0x30d300||!_0x30d300[_0x5d1c86(0x11f)]?'':_0x30d300[_0x5d1c86(0x13b)](_0x2ae244=>_0x5d1c86(0xf7)+_0x38a3bb(_0x2ae244['d'])+_0x5d1c86(0x12a)+_0x2ae244[_0x5d1c86(0x134)]+_0x5d1c86(0x132))[_0x5d1c86(0xfa)]('');}function _0x1bc7b4(_0x5726d2){const _0x46f409=_0x2dac1e;if(!_0x5726d2||!_0x5726d2[_0x46f409(0x11f)])return'';const _0x27e467=_0x5726d2[_0x46f409(0x13b)]((_0xeab8c0,_0xc23800)=>_0xeab8c0[_0x46f409(0x137)]?_0x46f409(0xfd)+_0xc23800+_0x46f409(0x10a)+_0xeab8c0[_0x46f409(0x137)]['x']+_0x46f409(0x120)+_0xeab8c0[_0x46f409(0x137)]['y']+_0x46f409(0xf6)+_0xeab8c0[_0x46f409(0x137)][_0x46f409(0x134)]+_0x46f409(0x122)+_0xeab8c0[_0x46f409(0x137)][_0x46f409(0x13f)]+_0x46f409(0x102):'')[_0x46f409(0xfa)](''),_0x282ce9=_0x5726d2[_0x46f409(0x13b)]((_0xd73267,_0x2a867b)=>{const _0x14d74e=_0x46f409,_0x5aa668=_0xd73267[_0x14d74e(0x11b)]&&(_0xd73267[_0x14d74e(0x11b)]['x']!==0x1||_0xd73267[_0x14d74e(0x11b)]['y']!==0x1)?_0x14d74e(0x127)+_0xd73267[_0x14d74e(0x11b)]['x']+'\x20'+_0xd73267[_0x14d74e(0x11b)]['y']+')':'',_0x17e122=_0xd73267['d']?_0x14d74e(0xf7)+_0x38a3bb(_0xd73267['d'])+_0x14d74e(0x128):'',_0x1f9134=_0x14d74e(0x12f)+_0xd73267[_0x14d74e(0x14b)]['x']+'\x20'+_0xd73267[_0x14d74e(0x14b)]['y']+')'+_0x5aa668+'\x22>'+_0x17e122+_0x1def15(_0xd73267[_0x14d74e(0x145)])+_0x14d74e(0x10f);return _0xd73267[_0x14d74e(0x137)]?_0x14d74e(0x150)+_0x2a867b+_0x14d74e(0x109)+_0x1f9134+_0x14d74e(0x10f):_0x1f9134;})[_0x46f409(0xfa)]('');return(_0x27e467?_0x46f409(0x138)+_0x27e467+_0x46f409(0x107):'')+_0x282ce9;}function _0x446f1f(_0x5647ea){const _0xd8cb7d=_0x2dac1e,{bounds:_0xf364c7,localPath:_0x51969f,targetWidth:_0x1b71d2,targetHeight:_0x173ec9}=_0x5647ea,_0x54bfb1=_0x106770(_0x5647ea[_0xd8cb7d(0xf5)]),_0x527a15=_0x54bfb1>0x0?_0xd8cb7d(0x13d)+_0x54bfb1+','+_0x54bfb1+','+_0x54bfb1+')':_0xd8cb7d(0x154);return[_0xd8cb7d(0x103),_0xd8cb7d(0x11d)+_0x1b71d2+_0xd8cb7d(0x122)+_0x173ec9+'\x22',_0xd8cb7d(0x14f),_0xd8cb7d(0x14e)+_0xf364c7[_0xd8cb7d(0x134)]+'\x20'+_0xf364c7[_0xd8cb7d(0x13f)]+'\x22>',_0xd8cb7d(0x147)+_0xf364c7[_0xd8cb7d(0x134)]+_0xd8cb7d(0x122)+_0xf364c7[_0xd8cb7d(0x13f)]+_0xd8cb7d(0x13c)+_0x527a15+_0xd8cb7d(0x142),_0x51969f?_0xd8cb7d(0xf7)+_0x38a3bb(_0x51969f)+_0xd8cb7d(0x128):'',_0x1def15(_0x5647ea[_0xd8cb7d(0x145)]),_0x1bc7b4(_0x5647ea[_0xd8cb7d(0x115)]),_0xd8cb7d(0x143)][_0xd8cb7d(0xfa)]('');}function _0x21b802(_0x570f85){const _0x1b6af1=_0x2dac1e,_0x40f98d=_0x570f85[_0x1b6af1(0x10c)]||0x0;if(!(_0x40f98d>0x0))return 0x0;const _0x5c4b00=_0x40f98d*(_0x570f85[_0x1b6af1(0x11a)]/_0x570f85[_0x1b6af1(0x12b)][_0x1b6af1(0x134)]);return _0x5c4b00>=0.3?_0x5c4b00:0x0;}async function _0x276be2(_0x110c1e){const _0x1a7f2a=_0x2dac1e,_0x594e45=_0x416605(_0x110c1e),_0x5c37f6=_0x40d42b(_0x594e45);if(_0xd4a709[_0x1a7f2a(0x158)](_0x5c37f6))return _0x5c37f6;const _0x1fbcb5=_0x446f1f(_0x110c1e),_0x26255b=_0x21b802(_0x110c1e);return await _0x4abd7a()[_0x1a7f2a(0x10d)](Buffer[_0x1a7f2a(0x157)](_0x1fbcb5),_0x5c37f6,{'mode':_0x1a7f2a(0xfc)},_0x26255b),_0x5c37f6;}function _0x5c3663(_0x467cd8){const _0x40be36=_0x2dac1e,_0x19636c=[_0x40be36(0x13e),_0x467cd8[_0x40be36(0xf1)],_0x467cd8[_0x40be36(0x119)],_0x467cd8[_0x40be36(0x134)],_0x467cd8[_0x40be36(0x13f)]][_0x40be36(0xfa)]('|');return _0x3f9ea5[_0x40be36(0xf3)](_0x40be36(0x146))[_0x40be36(0x152)](_0x19636c)[_0x40be36(0x129)](_0x40be36(0x14c))[_0x40be36(0x133)](0x0,0x10);}function _0x507b8d(_0x5a54af){const _0x5dd738=_0x2dac1e;return _0x4fa2ca[_0x5dd738(0xfa)](_0x536d05(),_0x5dd738(0xff)+_0x5a54af+_0x5dd738(0x124));}function _0x20a0a1(_0x51e8d1){const _0x4c2ce6=_0x2dac1e;return[_0x4c2ce6(0x103),_0x4c2ce6(0x11d)+_0x51e8d1[_0x4c2ce6(0x134)]+_0x4c2ce6(0x122)+_0x51e8d1[_0x4c2ce6(0x13f)]+'\x22',_0x4c2ce6(0x14e)+_0x51e8d1[_0x4c2ce6(0x134)]+'\x20'+_0x51e8d1[_0x4c2ce6(0x13f)]+'\x22>',_0x4c2ce6(0xf7)+_0x38a3bb(_0x51e8d1[_0x4c2ce6(0xf1)])+_0x4c2ce6(0x13c)+_0x38a3bb(_0x51e8d1[_0x4c2ce6(0x119)])+_0x4c2ce6(0x141),_0x4c2ce6(0x143)][_0x4c2ce6(0xfa)]('');}async function _0x117976(_0x59ce58){const _0x516bba=_0x2dac1e,_0x291554=_0x5c3663(_0x59ce58),_0x37dd76=_0x507b8d(_0x291554);if(_0xd4a709[_0x516bba(0x158)](_0x37dd76))return _0x37dd76;const _0x3d53e3=_0x20a0a1(_0x59ce58);return await _0x4abd7a()[_0x516bba(0x10d)](Buffer[_0x516bba(0x157)](_0x3d53e3),_0x37dd76,{'mode':_0x516bba(0xfc)}),_0x37dd76;}const _0x1f6b7e=0x48;function _0x4ab0ca(_0x3a2b9f){const _0x126406=_0x2dac1e,_0x39319=[_0x126406(0x114),_0x3f9ea5[_0x126406(0xf3)](_0x126406(0x146))[_0x126406(0x152)](_0x3a2b9f[_0x126406(0x100)])[_0x126406(0x129)](_0x126406(0x14c)),_0x3a2b9f[_0x126406(0x101)],_0x3a2b9f[_0x126406(0xfe)]][_0x126406(0xfa)]('|');return _0x3f9ea5[_0x126406(0xf3)](_0x126406(0x146))[_0x126406(0x152)](_0x39319)[_0x126406(0x129)](_0x126406(0x14c))[_0x126406(0x133)](0x0,0x10);}function _0x2d28bf(_0x5579c4){const _0x2f4edd=_0x2dac1e;return _0x4fa2ca[_0x2f4edd(0xfa)](_0x536d05(),_0x2f4edd(0x12c)+_0x5579c4+_0x2f4edd(0x124));}async function _0x361253(_0x3ea8e5){const _0x486c18=_0x2dac1e,_0x46ac6d=_0x4ab0ca(_0x3ea8e5),_0x290015=_0x2d28bf(_0x46ac6d);if(_0xd4a709[_0x486c18(0x158)](_0x290015))return _0x290015;const _0x489aef=Buffer[_0x486c18(0x157)](_0x3ea8e5[_0x486c18(0x100)],_0x486c18(0x148));let _0x4f92f8=_0x1f6b7e;try{const _0xa1f61b=await _0x4abd7a()[_0x486c18(0x153)](_0x489aef),_0x3d0632=_0xa1f61b[_0x486c18(0x134)]||0x0,_0x3998f5=_0xa1f61b[_0x486c18(0x13f)]||0x0;if(_0x3d0632>0x0&&_0x3998f5>0x0){const _0x590f1c=_0x1f6b7e*_0x3ea8e5[_0x486c18(0x101)]/Math[_0x486c18(0x125)](_0x3d0632,_0x3998f5),_0xf5fd23=_0x1f6b7e*_0x3ea8e5[_0x486c18(0xfe)]/Math[_0x486c18(0x140)](_0x3d0632,_0x3998f5);_0x4f92f8=Math[_0x486c18(0x140)](_0x1f6b7e,Math[_0x486c18(0x125)](_0x590f1c,_0xf5fd23));}}catch{}return await _0x4abd7a()[_0x486c18(0x10d)](_0x489aef,_0x290015,{'mode':_0x486c18(0x155),'dpi':_0x4f92f8}),_0x290015;}function _0x5be4cc(_0xee181a){const _0x362585=_0x2dac1e,_0x1c9de2=[_0x362585(0x135),_0x3f9ea5[_0x362585(0xf3)](_0x362585(0x146))[_0x362585(0x152)](_0xee181a[_0x362585(0x100)])[_0x362585(0x129)](_0x362585(0x14c)),_0xee181a[_0x362585(0x134)],_0xee181a[_0x362585(0x13f)],_0xee181a[_0x362585(0x144)]][_0x362585(0xfa)]('|');return _0x3f9ea5[_0x362585(0xf3)](_0x362585(0x146))[_0x362585(0x152)](_0x1c9de2)[_0x362585(0x129)](_0x362585(0x14c))[_0x362585(0x133)](0x0,0x10);}function _0xe44fc0(_0x410ebd){const _0xa31c0d=_0x2dac1e;return _0x4fa2ca[_0xa31c0d(0xfa)](_0x536d05(),_0xa31c0d(0x105)+_0x410ebd+_0xa31c0d(0x124));}function _0x5e6e(_0xe04c51,_0x57f160){_0xe04c51=_0xe04c51-0xf0;const _0x1e0e42=_0x1e0e();let _0x5e6eb8=_0x1e0e42[_0xe04c51];if(_0x5e6e['BKGoWK']===undefined){var _0x38f180=function(_0x2e842c){const _0x10ddb7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xd4a709='',_0x4fa2ca='';for(let _0x3f9ea5=0x0,_0xac5b5c,_0x3a9048,_0x3e95cb=0x0;_0x3a9048=_0x2e842c['charAt'](_0x3e95cb++);~_0x3a9048&&(_0xac5b5c=_0x3f9ea5%0x4?_0xac5b5c*0x40+_0x3a9048:_0x3a9048,_0x3f9ea5++%0x4)?_0xd4a709+=String['fromCharCode'](0xff&_0xac5b5c>>(-0x2*_0x3f9ea5&0x6)):0x0){_0x3a9048=_0x10ddb7['indexOf'](_0x3a9048);}for(let _0x536d05=0x0,_0x106770=_0xd4a709['length'];_0x536d05<_0x106770;_0x536d05++){_0x4fa2ca+='%'+('00'+_0xd4a709['charCodeAt'](_0x536d05)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4fa2ca);};_0x5e6e['rqZlnd']=_0x38f180,_0x5e6e['AuzqsK']={},_0x5e6e['BKGoWK']=!![];}const _0x9fa22e=_0x1e0e42[0x0],_0x12c667=_0xe04c51+_0x9fa22e,_0x300652=_0x5e6e['AuzqsK'][_0x12c667];return!_0x300652?(_0x5e6eb8=_0x5e6e['rqZlnd'](_0x5e6eb8),_0x5e6e['AuzqsK'][_0x12c667]=_0x5e6eb8):_0x5e6eb8=_0x300652,_0x5e6eb8;}async function _0x1f594d(_0xc25842){const _0x16b655=_0x2dac1e,_0xb16e4=_0x5be4cc(_0xc25842),_0x383ed1=_0xe44fc0(_0xb16e4);if(_0xd4a709[_0x16b655(0x158)](_0x383ed1))return _0x383ed1;const _0x580c74=Buffer[_0x16b655(0x157)](_0xc25842[_0x16b655(0x100)],_0x16b655(0x148));return await _0x4abd7a()[_0x16b655(0x10d)](_0x580c74,_0x383ed1,{'mode':_0x16b655(0x134),'value':_0xc25842[_0x16b655(0x134)]}),_0x383ed1;}async function _0xb42a5b(_0x4e56ae){const _0x19b8d7=_0x2dac1e;if(_0x4e56ae[_0x19b8d7(0xf2)]===_0x19b8d7(0x136))return{'i':_0x4e56ae[_0x19b8d7(0x131)],'p':await _0x276be2(_0x4e56ae[_0x19b8d7(0x121)])};if(_0x4e56ae[_0x19b8d7(0xf2)]===_0x19b8d7(0xfb))return{'i':_0x4e56ae[_0x19b8d7(0x131)],'p':await _0x117976(_0x4e56ae[_0x19b8d7(0x121)])};if(_0x4e56ae[_0x19b8d7(0xf2)]===_0x19b8d7(0x111))return{'i':_0x4e56ae[_0x19b8d7(0x131)],'p':await _0x361253(_0x4e56ae[_0x19b8d7(0x121)])};if(_0x4e56ae[_0x19b8d7(0xf2)]===_0x19b8d7(0x10e))return{'i':_0x4e56ae[_0x19b8d7(0x131)],'p':await _0x1f594d(_0x4e56ae[_0x19b8d7(0x121)])};throw new Error(_0x19b8d7(0x149)+_0x4e56ae[_0x19b8d7(0xf2)]+'\x22');}module[_0x2dac1e(0x113)]={'cacheDir':_0x536d05,'useCacheDir':_0x3e95cb,'rasterizeItem':_0xb42a5b,'rasterizeInline':_0x276be2,'rasterizeRing':_0x117976,'rasterizeSvgMedia':_0x361253,'rasterizeSvgExact':_0x1f594d};
1
+ 'use strict';const _0x52444d=_0x47e1;(function(_0x517c6f,_0x6faf5){const _0x46c006=_0x47e1,_0x41884a=_0x517c6f();while(!![]){try{const _0x19783b=parseInt(_0x46c006(0x144))/0x1*(-parseInt(_0x46c006(0x151))/0x2)+-parseInt(_0x46c006(0x1a4))/0x3+parseInt(_0x46c006(0x170))/0x4*(-parseInt(_0x46c006(0x1a5))/0x5)+parseInt(_0x46c006(0x187))/0x6*(-parseInt(_0x46c006(0x15d))/0x7)+parseInt(_0x46c006(0x18c))/0x8*(-parseInt(_0x46c006(0x1a7))/0x9)+parseInt(_0x46c006(0x18f))/0xa*(parseInt(_0x46c006(0x156))/0xb)+parseInt(_0x46c006(0x14e))/0xc;if(_0x19783b===_0x6faf5)break;else _0x41884a['push'](_0x41884a['shift']());}catch(_0xd752ce){_0x41884a['push'](_0x41884a['shift']());}}}(_0x5078,0x787c4));const _0x2b8482=require('fs'),_0x4d77b7=require(_0x52444d(0x1a0)),_0x34a634=require(_0x52444d(0x16d));let _0x5978d0=null,_0x8b0866=null;function _0x108c1a(_0x2f4488){const _0x460b2a=_0x52444d;_0x5978d0=typeof _0x2f4488==_0x460b2a(0x18d)&&_0x2f4488?_0x2f4488:null,_0x5978d0&&_0x2b8482[_0x460b2a(0x17b)](_0x5978d0,{'recursive':!0x0});}function _0x5078(){const _0x32d25d=['jNf1B3q7','Cgf0Aa','ihnJywXLka','iIbMAwXSpsjUB25LiIbZDhjVA2u9iNDOAxrLiIbZDhjVA2uTD2LKDgG9iG','iIb5psi','mtu3mde0mgvSDe5Tuq','mZaXmdq1ANrSDLzW','y3jLyxrLsgfZAa','ow9HAgnttW','C3rYB2TLCW','C3zNlwv4ywn0','iIbMAwXSpsj3AgL0zsiVpG','BwLU','iI8+pc9JBgLWugf0Ad4','A2LUza','DgfYz2v0sgvPz2H0','CgfYDhm','yxjNCW','odzZwevnvha','yMXHy2S','ChvZAa','iJ48CMvJDcb4psi','CMDIka','phjLy3qGEd0ImciGEt0ImciGD2LKDgG9iG','pgCGDhjHBNnMB3jTpsj0CMfUC2XHDguO','D2LKDgG','pc9ZDMC+','iIbMAwXSpsi','mJy1mJaYndb5Eg1uwgO','DgfYz2v0v2LKDgG','zxHWB3j0CW','nZG5ogDJsvPrvW','Bwf4rgLT','lI4VzgLZDc9JB3jLl21HC2TdywnOzurPCI5QCW','C2nHBgu','BwfZAY1Yyxn0zxjPEMuTy29YztOGDw5RBM93BIbPDgvTlMTPBMqGiG','mtf0EKLHuum','phn2zYb4BwXUCZ0IAhr0CdOVl3D3DY53mY5VCMCVmJaWmc9ZDMCI','ihzPzxDcB3G9iJaGmca','C3zNlw1LzgLH','DxbKyxrL','zgLNzxn0','C3vWzxjZyw1WBgu','mZvuthvjzhC','C3zNqMfZzty0','C2XPy2u','BwLUrgLT','iIb3Awr0Ad0I','B3jPz2LUywW','Aw5SAw5LlxjPBMC','pc9KzwzZpG','yMfZzty0','Bwf4','jMD0oW','iIbMAwXSlxj1Bgu9iMv2zw5VzgqIlZ4','AM9PBG','yM91BMrZ','lI4VzgLZDc9JB3jLl3n2z1jHC3rLCI5QCW','Bg9JywXqyxrO','y3j5ChrV','zNjVBq','CMLUzY0','mtjYu09HvgO','ksi+','Aw5SAw5Llw1HC2S','Agv4','C3zNsw50CMLUC2LJu2L6zq','pgnSAxbqyxrOigLKpsjWyW','Cgf0Aeq','CMvWBgfJzq','pgCGy2XPCc1WyxrOpsj1CMWOi3bJ','AgvPz2H0','zgvUC2L0Eq','BwTKAxjtEw5J','jMfTCdS','C3zNzxHHy3qT','z2v0twfZA0nHy2HLrgLY','C2HHmJu2','zxHPC3rZu3LUyW','CMLUzW','Bwf0Dgu','C3zNzxHHy3q','zMLSBa','y2XPCa','lNbUzW','nJaZotaWyK1VBNfA','iIbOzwLNAhq9iG','C3rYAw5NAwz5','BwfZAY0','phbHDgGGzd0I','nJu2nJG2nhrjBvDJsW','C3rYAw5N','iI8+','nJuXmJe3me1yzM5byG','jMX0oW','CMvUzgvYu3zNvg9qBMDgAwXL','C3zNBwvKAwe','CgfPBNrjBMrLEa','pgrLzNm+','pc9NpG','C3zNBwvKAweT','BwfW','DhjHBNnSyxrL','iIbZDhjVA2uTBgLUzwnHCd0ICM91BMqIihn0CM9Rzs1SAw5LAM9PBJ0ICM91BMqIlZ4','BgvUz3rO','ihDPzhrOpsi','ihbYzxnLCNzLqxnWzwn0uMf0Aw89iM5VBMuI','CM91BMq','zMvHDgHLCLb4'];_0x5078=function(){return _0x32d25d;};return _0x5078();}function _0x27fd6a(){const _0x4e98f8=_0x52444d;return _0x5978d0?(_0x2b8482[_0x4e98f8(0x17b)](_0x5978d0,{'recursive':!0x0}),_0x5978d0):(_0x8b0866||(_0x8b0866=require(_0x4e98f8(0x153))),_0x8b0866[_0x4e98f8(0x17e)]());}function _0x33425a(_0x331cac){const _0x483ea5=_0x52444d;return Math[_0x483ea5(0x19d)](Math[_0x483ea5(0x166)](0x0,Math[_0x483ea5(0x1ab)](0x1,_0x331cac||0x0))*0xff);}function _0xc0e5be(_0xe1951f){const _0x86c057=_0x52444d;return _0xe1951f[_0x86c057(0x177)](/&/g,_0x86c057(0x17c))[_0x86c057(0x177)](/"/g,_0x86c057(0x19f))[_0x86c057(0x177)](/</g,_0x86c057(0x190))[_0x86c057(0x177)](/>/g,_0x86c057(0x167));}function _0x47e1(_0x49a6dc,_0x5878c8){_0x49a6dc=_0x49a6dc-0x13f;const _0x5078cb=_0x5078();let _0x47e1fc=_0x5078cb[_0x49a6dc];if(_0x47e1['DmPnOF']===undefined){var _0x278fa2=function(_0x666ccc){const _0x48bd1d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2b8482='',_0x4d77b7='';for(let _0x34a634=0x0,_0x5978d0,_0x8b0866,_0x108c1a=0x0;_0x8b0866=_0x666ccc['charAt'](_0x108c1a++);~_0x8b0866&&(_0x5978d0=_0x34a634%0x4?_0x5978d0*0x40+_0x8b0866:_0x8b0866,_0x34a634++%0x4)?_0x2b8482+=String['fromCharCode'](0xff&_0x5978d0>>(-0x2*_0x34a634&0x6)):0x0){_0x8b0866=_0x48bd1d['indexOf'](_0x8b0866);}for(let _0x27fd6a=0x0,_0x33425a=_0x2b8482['length'];_0x27fd6a<_0x33425a;_0x27fd6a++){_0x4d77b7+='%'+('00'+_0x2b8482['charCodeAt'](_0x27fd6a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4d77b7);};_0x47e1['QQwjfK']=_0x278fa2,_0x47e1['MJxyDi']={},_0x47e1['DmPnOF']=!![];}const _0x5f3030=_0x5078cb[0x0],_0x40cec1=_0x49a6dc+_0x5f3030,_0x2ecea1=_0x47e1['MJxyDi'][_0x40cec1];return!_0x2ecea1?(_0x47e1fc=_0x47e1['QQwjfK'](_0x47e1fc),_0x47e1['MJxyDi'][_0x40cec1]=_0x47e1fc):_0x47e1fc=_0x2ecea1,_0x47e1fc;}let _0x2d9a9c=null;function _0x376cb1(){const _0x2b78b8=_0x52444d;return _0x2d9a9c||(_0x2d9a9c=require(_0x2b78b8(0x16b))),_0x2d9a9c;}const _0x4dc6b9='r2';function _0x57255d(_0x217fd8){const _0x29dff7=_0x52444d,_0x45e36b=_0x217fd8[_0x29dff7(0x16a)],_0x43d35d=[_0x4dc6b9,_0x217fd8[_0x29dff7(0x16c)],_0x45e36b['x'],_0x45e36b['y'],_0x45e36b[_0x29dff7(0x14b)],_0x45e36b[_0x29dff7(0x179)],_0x217fd8[_0x29dff7(0x14f)],_0x217fd8[_0x29dff7(0x141)],_0x33425a(_0x217fd8[_0x29dff7(0x182)])][_0x29dff7(0x169)]('|'),_0x589453=[];_0x217fd8[_0x29dff7(0x1a8)]&&_0x217fd8[_0x29dff7(0x1a8)][_0x29dff7(0x19a)]&&_0x589453[_0x29dff7(0x146)]('s:'+JSON[_0x29dff7(0x189)](_0x217fd8[_0x29dff7(0x1a8)])),_0x217fd8[_0x29dff7(0x142)]&&_0x217fd8[_0x29dff7(0x142)][_0x29dff7(0x19a)]&&_0x589453[_0x29dff7(0x146)]('p:'+JSON[_0x29dff7(0x189)](_0x217fd8[_0x29dff7(0x142)])),_0x217fd8[_0x29dff7(0x19e)]&&_0x589453[_0x29dff7(0x146)]('f:'+_0x217fd8[_0x29dff7(0x19e)]);const _0x1face4=_0x589453[_0x29dff7(0x19a)]?_0x43d35d+'|'+_0x589453[_0x29dff7(0x169)]('|'):_0x43d35d;return _0x34a634[_0x29dff7(0x1a6)](_0x29dff7(0x17f))[_0x29dff7(0x15a)](_0x1face4)[_0x29dff7(0x15b)](_0x29dff7(0x173))[_0x29dff7(0x15f)](0x0,0x10);}function _0x405472(_0xbbf9d8){const _0x316796=_0x52444d;return _0x4d77b7[_0x316796(0x169)](_0x27fd6a(),_0x316796(0x18a)+_0xbbf9d8+_0x316796(0x186));}function _0x15b5fd(_0xf71961){const _0x391399=_0x52444d;return!_0xf71961||!_0xf71961[_0x391399(0x19a)]?'':_0xf71961[_0x391399(0x197)](_0x37646c=>_0x391399(0x18b)+_0xc0e5be(_0x37646c['d'])+_0x391399(0x1a2)+_0x37646c[_0x391399(0x14b)]+_0x391399(0x199))[_0x391399(0x169)]('');}function _0x49f5a5(_0x2b072b){const _0x97c17e=_0x52444d;if(!_0x2b072b||!_0x2b072b[_0x97c17e(0x19a)])return'';const _0x4c85e5=_0x2b072b[_0x97c17e(0x197)]((_0x310fe0,_0x581640)=>_0x310fe0[_0x97c17e(0x185)]?_0x97c17e(0x175)+_0x581640+_0x97c17e(0x147)+_0x310fe0[_0x97c17e(0x185)]['x']+_0x97c17e(0x1a3)+_0x310fe0[_0x97c17e(0x185)]['y']+_0x97c17e(0x161)+_0x310fe0[_0x97c17e(0x185)][_0x97c17e(0x14b)]+_0x97c17e(0x188)+_0x310fe0[_0x97c17e(0x185)][_0x97c17e(0x179)]+_0x97c17e(0x13f):'')[_0x97c17e(0x169)](''),_0x159b6d=_0x2b072b[_0x97c17e(0x197)]((_0x28c07a,_0x2574e5)=>{const _0x4ebeab=_0x97c17e,_0x5273c0=_0x28c07a[_0x4ebeab(0x154)]&&(_0x28c07a[_0x4ebeab(0x154)]['x']!==0x1||_0x28c07a[_0x4ebeab(0x154)]['y']!==0x1)?_0x4ebeab(0x1a1)+_0x28c07a[_0x4ebeab(0x154)]['x']+'\x20'+_0x28c07a[_0x4ebeab(0x154)]['y']+')':'',_0x388e0d=_0x28c07a['d']?_0x4ebeab(0x18b)+_0xc0e5be(_0x28c07a['d'])+_0x4ebeab(0x1aa):'',_0x4957fb=_0x4ebeab(0x14a)+_0x28c07a[_0x4ebeab(0x198)]['x']+'\x20'+_0x28c07a[_0x4ebeab(0x198)]['y']+')'+_0x5273c0+'\x22>'+_0x388e0d+_0x15b5fd(_0x28c07a[_0x4ebeab(0x1a8)])+_0x4ebeab(0x195);return _0x28c07a[_0x4ebeab(0x185)]?_0x4ebeab(0x178)+_0x2574e5+_0x4ebeab(0x171)+_0x4957fb+_0x4ebeab(0x195):_0x4957fb;})[_0x97c17e(0x169)]('');return(_0x4c85e5?_0x97c17e(0x194)+_0x4c85e5+_0x97c17e(0x164):'')+_0x159b6d;}function _0x3b27d0(_0x316d33){const _0xda78fc=_0x52444d,{bounds:_0x15fe24,localPath:_0x457de5,targetWidth:_0x25cdb2,targetHeight:_0x52d9e8}=_0x316d33,_0x84a720=_0x33425a(_0x316d33[_0xda78fc(0x182)]),_0x2a87a9=_0x84a720>0x0?_0xda78fc(0x148)+_0x84a720+','+_0x84a720+','+_0x84a720+')':_0xda78fc(0x145);return[_0xda78fc(0x157),_0xda78fc(0x19b)+_0x25cdb2+_0xda78fc(0x188)+_0x52d9e8+'\x22',_0xda78fc(0x19c),_0xda78fc(0x158)+_0x15fe24[_0xda78fc(0x14b)]+'\x20'+_0x15fe24[_0xda78fc(0x179)]+'\x22>',_0xda78fc(0x149)+_0x15fe24[_0xda78fc(0x14b)]+_0xda78fc(0x188)+_0x15fe24[_0xda78fc(0x179)]+_0xda78fc(0x14d)+_0x2a87a9+_0xda78fc(0x18e),_0x457de5?_0xda78fc(0x18b)+_0xc0e5be(_0x457de5)+_0xda78fc(0x1aa):'',_0x15b5fd(_0x316d33[_0xda78fc(0x1a8)]),_0x49f5a5(_0x316d33[_0xda78fc(0x142)]),_0xda78fc(0x14c)][_0xda78fc(0x169)]('');}function _0x426898(_0x3dde87){const _0x5cb5c3=_0x52444d,_0x23dbd0=_0x3dde87[_0x5cb5c3(0x19e)]||0x0;if(!(_0x23dbd0>0x0))return 0x0;const _0x535473=_0x23dbd0*(_0x3dde87[_0x5cb5c3(0x14f)]/_0x3dde87[_0x5cb5c3(0x16a)][_0x5cb5c3(0x14b)]);return _0x535473>=0.3?_0x535473:0x0;}async function _0xf2c7e2(_0x515ea7){const _0x5b58cd=_0x52444d,_0x36b06b=_0x57255d(_0x515ea7),_0x33f1b0=_0x405472(_0x36b06b);if(_0x2b8482[_0x5b58cd(0x180)](_0x33f1b0))return _0x33f1b0;const _0xe3aac2=_0x3b27d0(_0x515ea7),_0x42a87f=_0x426898(_0x515ea7);return await _0x376cb1()[_0x5b58cd(0x191)](Buffer[_0x5b58cd(0x16e)](_0xe3aac2),_0x33f1b0,{'mode':_0x5b58cd(0x162)},_0x42a87f),_0x33f1b0;}function _0x58927d(_0x55c9a5){const _0x116f81=_0x52444d,_0x4e8a1c=[_0x116f81(0x181),_0x55c9a5[_0x116f81(0x176)],_0x55c9a5[_0x116f81(0x184)],_0x55c9a5[_0x116f81(0x14b)],_0x55c9a5[_0x116f81(0x179)]][_0x116f81(0x169)]('|');return _0x34a634[_0x116f81(0x1a6)](_0x116f81(0x17f))[_0x116f81(0x15a)](_0x4e8a1c)[_0x116f81(0x15b)](_0x116f81(0x173))[_0x116f81(0x15f)](0x0,0x10);}function _0x308667(_0x5aabbd){const _0x340e0f=_0x52444d;return _0x4d77b7[_0x340e0f(0x169)](_0x27fd6a(),_0x340e0f(0x16f)+_0x5aabbd+_0x340e0f(0x186));}function _0x520100(_0x35c6d4){const _0x536877=_0x52444d;return[_0x536877(0x157),_0x536877(0x19b)+_0x35c6d4[_0x536877(0x14b)]+_0x536877(0x188)+_0x35c6d4[_0x536877(0x179)]+'\x22',_0x536877(0x158)+_0x35c6d4[_0x536877(0x14b)]+'\x20'+_0x35c6d4[_0x536877(0x179)]+'\x22>',_0x536877(0x18b)+_0xc0e5be(_0x35c6d4[_0x536877(0x176)])+_0x536877(0x14d)+_0xc0e5be(_0x35c6d4[_0x536877(0x184)])+_0x536877(0x168),_0x536877(0x14c)][_0x536877(0x169)]('');}async function _0x1800d2(_0x2fa83b){const _0x1359be=_0x52444d,_0x27d24=_0x58927d(_0x2fa83b),_0x1c0461=_0x308667(_0x27d24);if(_0x2b8482[_0x1359be(0x180)](_0x1c0461))return _0x1c0461;const _0x489761=_0x520100(_0x2fa83b);return await _0x376cb1()[_0x1359be(0x191)](Buffer[_0x1359be(0x16e)](_0x489761),_0x1c0461,{'mode':_0x1359be(0x162)}),_0x1c0461;}const _0xf03dfd=0x48;function _0x222188(_0x559557){const _0x46aeb9=_0x52444d,_0x58d7ef=[_0x46aeb9(0x192),_0x34a634[_0x46aeb9(0x1a6)](_0x46aeb9(0x17f))[_0x46aeb9(0x15a)](_0x559557[_0x46aeb9(0x15e)])[_0x46aeb9(0x15b)](_0x46aeb9(0x173)),_0x559557[_0x46aeb9(0x160)],_0x559557[_0x46aeb9(0x152)]][_0x46aeb9(0x169)]('|');return _0x34a634[_0x46aeb9(0x1a6)](_0x46aeb9(0x17f))[_0x46aeb9(0x15a)](_0x58d7ef)[_0x46aeb9(0x15b)](_0x46aeb9(0x173))[_0x46aeb9(0x15f)](0x0,0x10);}function _0x595adb(_0x14f9f2){const _0x565590=_0x52444d;return _0x4d77b7[_0x565590(0x169)](_0x27fd6a(),_0x565590(0x196)+_0x14f9f2+_0x565590(0x186));}async function _0x47093a(_0x531299){const _0xef7883=_0x52444d,_0x22385f=_0x222188(_0x531299),_0x4b583f=_0x595adb(_0x22385f);if(_0x2b8482[_0xef7883(0x180)](_0x4b583f))return _0x4b583f;const _0x71d189=Buffer[_0xef7883(0x16e)](_0x531299[_0xef7883(0x15e)],_0xef7883(0x165));let _0xe3882c=_0xf03dfd;try{const _0x3db604=await _0x376cb1()[_0xef7883(0x174)](_0x71d189),_0x39bd3f=_0x3db604[_0xef7883(0x14b)]||0x0,_0x4df618=_0x3db604[_0xef7883(0x179)]||0x0;if(_0x39bd3f>0x0&&_0x4df618>0x0){const _0x51925b=_0xf03dfd*_0x531299[_0xef7883(0x160)]/Math[_0xef7883(0x1ab)](_0x39bd3f,_0x4df618),_0x426ce2=_0xf03dfd*_0x531299[_0xef7883(0x152)]/Math[_0xef7883(0x166)](_0x39bd3f,_0x4df618);_0xe3882c=Math[_0xef7883(0x166)](_0xf03dfd,Math[_0xef7883(0x1ab)](_0x51925b,_0x426ce2));}}catch{}return await _0x376cb1()[_0xef7883(0x191)](_0x71d189,_0x4b583f,{'mode':_0xef7883(0x17a),'dpi':_0xe3882c}),_0x4b583f;}function _0x59c789(_0x49ad79){const _0x2f1ab9=_0x52444d,_0x12849c=[_0x2f1ab9(0x183),_0x34a634[_0x2f1ab9(0x1a6)](_0x2f1ab9(0x17f))[_0x2f1ab9(0x15a)](_0x49ad79[_0x2f1ab9(0x15e)])[_0x2f1ab9(0x15b)](_0x2f1ab9(0x173)),_0x49ad79[_0x2f1ab9(0x14b)],_0x49ad79[_0x2f1ab9(0x179)],_0x49ad79[_0x2f1ab9(0x15c)]][_0x2f1ab9(0x169)]('|');return _0x34a634[_0x2f1ab9(0x1a6)](_0x2f1ab9(0x17f))[_0x2f1ab9(0x15a)](_0x12849c)[_0x2f1ab9(0x15b)](_0x2f1ab9(0x173))[_0x2f1ab9(0x15f)](0x0,0x10);}function _0x55fcd3(_0x3b5fb7){const _0x2a1328=_0x52444d;return _0x4d77b7[_0x2a1328(0x169)](_0x27fd6a(),_0x2a1328(0x17d)+_0x3b5fb7+_0x2a1328(0x186));}async function _0x3f383c(_0x3ab62b){const _0x2b8559=_0x52444d,_0x13facf=_0x59c789(_0x3ab62b),_0x4e4561=_0x55fcd3(_0x13facf);if(_0x2b8482[_0x2b8559(0x180)](_0x4e4561))return _0x4e4561;const _0x4ddfd2=Buffer[_0x2b8559(0x16e)](_0x3ab62b[_0x2b8559(0x15e)],_0x2b8559(0x165));return await _0x376cb1()[_0x2b8559(0x191)](_0x4ddfd2,_0x4e4561,{'mode':_0x2b8559(0x14b),'value':_0x3ab62b[_0x2b8559(0x14b)]}),_0x4e4561;}async function _0x10129a(_0x17e60c){const _0x58d8ab=_0x52444d;if(_0x17e60c[_0x58d8ab(0x140)]===_0x58d8ab(0x172))return{'i':_0x17e60c[_0x58d8ab(0x193)],'p':await _0xf2c7e2(_0x17e60c[_0x58d8ab(0x143)])};if(_0x17e60c[_0x58d8ab(0x140)]===_0x58d8ab(0x163))return{'i':_0x17e60c[_0x58d8ab(0x193)],'p':await _0x1800d2(_0x17e60c[_0x58d8ab(0x143)])};if(_0x17e60c[_0x58d8ab(0x140)]===_0x58d8ab(0x159))return{'i':_0x17e60c[_0x58d8ab(0x193)],'p':await _0x47093a(_0x17e60c[_0x58d8ab(0x143)])};if(_0x17e60c[_0x58d8ab(0x140)]===_0x58d8ab(0x1a9))return{'i':_0x17e60c[_0x58d8ab(0x193)],'p':await _0x3f383c(_0x17e60c[_0x58d8ab(0x143)])};throw new Error(_0x58d8ab(0x155)+_0x17e60c[_0x58d8ab(0x140)]+'\x22');}module[_0x52444d(0x150)]={'cacheDir':_0x27fd6a,'useCacheDir':_0x108c1a,'rasterizeItem':_0x10129a,'rasterizeInline':_0xf2c7e2,'rasterizeRing':_0x1800d2,'rasterizeSvgMedia':_0x47093a,'rasterizeSvgExact':_0x3f383c};
@@ -1 +1 @@
1
- 'use strict';const _0x4457fd=_0x34a1;(function(_0x3f55b8,_0x5189c0){const _0x24ddcf=_0x34a1,_0x2aad06=_0x3f55b8();while(!![]){try{const _0x1f0d7c=parseInt(_0x24ddcf(0x1ad))/0x1+parseInt(_0x24ddcf(0x1bf))/0x2*(parseInt(_0x24ddcf(0x1bd))/0x3)+parseInt(_0x24ddcf(0x1be))/0x4+-parseInt(_0x24ddcf(0x1b0))/0x5+-parseInt(_0x24ddcf(0x1ac))/0x6+-parseInt(_0x24ddcf(0x1c0))/0x7*(parseInt(_0x24ddcf(0x1c5))/0x8)+-parseInt(_0x24ddcf(0x1bb))/0x9;if(_0x1f0d7c===_0x5189c0)break;else _0x2aad06['push'](_0x2aad06['shift']());}catch(_0x4d678d){_0x2aad06['push'](_0x2aad06['shift']());}}}(_0x275f,0x9f148));function _0x34a1(_0x2121ae,_0x5d6c65){_0x2121ae=_0x2121ae-0x1ac;const _0x275f59=_0x275f();let _0x34a184=_0x275f59[_0x2121ae];if(_0x34a1['Hvzgxx']===undefined){var _0xb2db39=function(_0x502374){const _0x504ba9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5d3774='',_0x3416b3='';for(let _0x457229=0x0,_0x90a18d,_0x381ff6,_0x462cf1=0x0;_0x381ff6=_0x502374['charAt'](_0x462cf1++);~_0x381ff6&&(_0x90a18d=_0x457229%0x4?_0x90a18d*0x40+_0x381ff6:_0x381ff6,_0x457229++%0x4)?_0x5d3774+=String['fromCharCode'](0xff&_0x90a18d>>(-0x2*_0x457229&0x6)):0x0){_0x381ff6=_0x504ba9['indexOf'](_0x381ff6);}for(let _0x6a0862=0x0,_0x2dbe58=_0x5d3774['length'];_0x6a0862<_0x2dbe58;_0x6a0862++){_0x3416b3+='%'+('00'+_0x5d3774['charCodeAt'](_0x6a0862)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3416b3);};_0x34a1['aFMkRW']=_0xb2db39,_0x34a1['pzQquM']={},_0x34a1['Hvzgxx']=!![];}const _0x1d5870=_0x275f59[0x0],_0x519e94=_0x2121ae+_0x1d5870,_0x403e21=_0x34a1['pzQquM'][_0x519e94];return!_0x403e21?(_0x34a184=_0x34a1['aFMkRW'](_0x34a184),_0x34a1['pzQquM'][_0x519e94]=_0x34a184):_0x34a184=_0x403e21,_0x34a184;}const _0x5d3774=require('fs'),{rasterizeItem:_0x3416b3,useCacheDir:_0x457229}=require(_0x4457fd(0x1b6));function _0x90a18d(){const _0x4c3161=_0x4457fd;try{return _0x5d3774[_0x4c3161(0x1bc)](0x0,_0x4c3161(0x1b3));}catch{return'';}}function _0x275f(){const _0x1bbfbe=['C3rYAw5NAwz5','DxrMoa','y2fJAgveAxi','AxnbCNjHEq','lI9TyxnRlxjHC3rLCML6zs1JB3jL','yxjNDG','DhjPBq','AxrLBxm','y2f0y2G','ndy0ota4nwT1v3DNDa','CMvHzezPBgvtEw5J','ntK2mxL0r0DjsW','nduXnZi4nezTywPkyW','nJK0uxnHuLDX','n3fpt0Lxsa','BwfZAY1Yyxn0zxjPEMuTD29YA2vYoIbLEhbLy3rLzcbHiePtt04GyxjYyxKGB3iGEYbPDgvTCYWGy2fJAgveAxiGFsbVBIbZDgrPBIaOB3iGyxjNDLSYxsK','D3jPDgu','zxHPDa','C3rKB3v0','otaWmJmYt3Dqu1DN','nJy0mJC5mLDgv2Pesa','odC4nJi2y2XhDu5U','C3rKzxjY','BwvZC2fNzq','mtu0oda5mgjPyLHpBa','CgfYC2u'];_0x275f=function(){return _0x1bbfbe;};return _0x275f();}async function _0x381ff6(){const _0x7bd5a3=_0x4457fd,_0x462cf1=process[_0x7bd5a3(0x1b7)][0x2]||_0x90a18d()[_0x7bd5a3(0x1b8)]()||'[]',_0x6a0862=JSON[_0x7bd5a3(0x1b1)](_0x462cf1),_0x2dbe58=Array[_0x7bd5a3(0x1b5)](_0x6a0862)?_0x6a0862:_0x6a0862&&_0x6a0862[_0x7bd5a3(0x1b9)];if(!Array[_0x7bd5a3(0x1b5)](_0x2dbe58))throw new Error(_0x7bd5a3(0x1c1));_0x457229(Array[_0x7bd5a3(0x1b5)](_0x6a0862)?null:_0x6a0862[_0x7bd5a3(0x1b4)]);for(const _0x1aea07 of _0x2dbe58){const {i:_0x50d0eb,p:_0x20c5a4}=await _0x3416b3(_0x1aea07);_0x20c5a4&&process[_0x7bd5a3(0x1c4)][_0x7bd5a3(0x1c2)](JSON[_0x7bd5a3(0x1b2)]({'i':_0x50d0eb,'p':_0x20c5a4})+'\x0a');}}_0x381ff6()[_0x4457fd(0x1ba)](_0x44d1f3=>{const _0xf9ed8c=_0x4457fd;process[_0xf9ed8c(0x1ae)][_0xf9ed8c(0x1c2)](_0x44d1f3&&_0x44d1f3[_0xf9ed8c(0x1af)]||String(_0x44d1f3)),process[_0xf9ed8c(0x1c3)](0x1);});
1
+ 'use strict';const _0x495464=_0x260f;(function(_0x3c3ad8,_0x5cf70c){const _0x52a2d5=_0x260f,_0x52cafc=_0x3c3ad8();while(!![]){try{const _0x1d8fa0=-parseInt(_0x52a2d5(0x1e2))/0x1*(parseInt(_0x52a2d5(0x1ce))/0x2)+-parseInt(_0x52a2d5(0x1db))/0x3+-parseInt(_0x52a2d5(0x1dd))/0x4*(-parseInt(_0x52a2d5(0x1d8))/0x5)+-parseInt(_0x52a2d5(0x1d4))/0x6*(-parseInt(_0x52a2d5(0x1d5))/0x7)+-parseInt(_0x52a2d5(0x1e1))/0x8*(-parseInt(_0x52a2d5(0x1cb))/0x9)+-parseInt(_0x52a2d5(0x1c7))/0xa+parseInt(_0x52a2d5(0x1d9))/0xb*(-parseInt(_0x52a2d5(0x1c9))/0xc);if(_0x1d8fa0===_0x5cf70c)break;else _0x52cafc['push'](_0x52cafc['shift']());}catch(_0x573472){_0x52cafc['push'](_0x52cafc['shift']());}}}(_0x5d73,0x6d90e));const _0x1d6010=require('fs'),{rasterizeItem:_0x5c6b45,useCacheDir:_0x207160}=require(_0x495464(0x1de));function _0x288d64(){const _0x5a192f=_0x495464;try{return _0x1d6010[_0x5a192f(0x1c8)](0x0,_0x5a192f(0x1d2));}catch{return'';}}async function _0xe1bd75(){const _0x380d3a=_0x495464,_0x40cf3a=process[_0x380d3a(0x1c6)][0x2]||_0x288d64()[_0x380d3a(0x1d0)]()||'[]',_0x379820=JSON[_0x380d3a(0x1cf)](_0x40cf3a),_0x3a8c54=Array[_0x380d3a(0x1d7)](_0x379820)?_0x379820:_0x379820&&_0x379820[_0x380d3a(0x1e0)];if(!Array[_0x380d3a(0x1d7)](_0x3a8c54))throw new Error(_0x380d3a(0x1d1));_0x207160(Array[_0x380d3a(0x1d7)](_0x379820)?null:_0x379820[_0x380d3a(0x1ca)]);for(const _0x32ad11 of _0x3a8c54){const {i:_0xc05289,p:_0x55acb4}=await _0x5c6b45(_0x32ad11);_0x55acb4&&process[_0x380d3a(0x1df)][_0x380d3a(0x1da)](JSON[_0x380d3a(0x1cd)]({'i':_0xc05289,'p':_0x55acb4})+'\x0a');}}_0xe1bd75()[_0x495464(0x1d6)](_0x5d74af=>{const _0x56a181=_0x495464;process[_0x56a181(0x1d3)][_0x56a181(0x1da)](_0x5d74af&&_0x5d74af[_0x56a181(0x1cc)]||String(_0x5d74af)),process[_0x56a181(0x1dc)](0x1);});function _0x260f(_0x32b17c,_0x26e375){_0x32b17c=_0x32b17c-0x1c6;const _0x5d737d=_0x5d73();let _0x260f72=_0x5d737d[_0x32b17c];if(_0x260f['eQwsic']===undefined){var _0x47cd45=function(_0x226c49){const _0x5f55d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1d6010='',_0x5c6b45='';for(let _0x207160=0x0,_0x288d64,_0xe1bd75,_0x40cf3a=0x0;_0xe1bd75=_0x226c49['charAt'](_0x40cf3a++);~_0xe1bd75&&(_0x288d64=_0x207160%0x4?_0x288d64*0x40+_0xe1bd75:_0xe1bd75,_0x207160++%0x4)?_0x1d6010+=String['fromCharCode'](0xff&_0x288d64>>(-0x2*_0x207160&0x6)):0x0){_0xe1bd75=_0x5f55d['indexOf'](_0xe1bd75);}for(let _0x379820=0x0,_0x3a8c54=_0x1d6010['length'];_0x379820<_0x3a8c54;_0x379820++){_0x5c6b45+='%'+('00'+_0x1d6010['charCodeAt'](_0x379820)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5c6b45);};_0x260f['Ztxvma']=_0x47cd45,_0x260f['gJZsEa']={},_0x260f['eQwsic']=!![];}const _0x559b4c=_0x5d737d[0x0],_0x1339ff=_0x32b17c+_0x559b4c,_0x123769=_0x260f['gJZsEa'][_0x1339ff];return!_0x123769?(_0x260f72=_0x260f['Ztxvma'](_0x260f72),_0x260f['gJZsEa'][_0x1339ff]=_0x260f72):_0x260f72=_0x123769,_0x260f72;}function _0x5d73(){const _0x41ea75=['mJaYodCZmg1lzKLLEa','CMvHzezPBgvtEw5J','mJmXnZGWrMndve5d','y2fJAgveAxi','ouvMrK5SsG','BwvZC2fNzq','C3rYAw5NAwz5','otK4t2z6zwD5','CgfYC2u','DhjPBq','BwfZAY1Yyxn0zxjPEMuTD29YA2vYoIbLEhbLy3rLzcbHiePtt04GyxjYyxKGB3iGEYbPDgvTCYWGy2fJAgveAxiGFsbVBIbZDgrPBIaOB3iGyxjNDLSYxsK','DxrMoa','C3rKzxjY','nKv1EeL1vG','ndK0mdaWnu14rwfrCW','y2f0y2G','AxnbCNjHEq','ndbeDe9sALi','mJa5uwf5sMrk','D3jPDgu','mty3mJC4mNfNwgvvvW','zxHPDa','mZu2otKYB0n0BNvS','lI9TyxnRlxjHC3rLCML6zs1JB3jL','C3rKB3v0','AxrLBxm','mtGXote0nhrXu0jwEq','mtqYrwTtA2vY','yxjNDG'];_0x5d73=function(){return _0x41ea75;};return _0x5d73();}
@@ -1 +1 @@
1
- 'use strict';const _0x11b77a=_0x37dd;(function(_0x3fc123,_0x1af309){const _0x28c7ca=_0x37dd,_0xde892b=_0x3fc123();while(!![]){try{const _0x13c1ae=parseInt(_0x28c7ca(0xbd))/0x1+parseInt(_0x28c7ca(0xce))/0x2+-parseInt(_0x28c7ca(0xd1))/0x3+-parseInt(_0x28c7ca(0xcf))/0x4*(-parseInt(_0x28c7ca(0xcb))/0x5)+-parseInt(_0x28c7ca(0xc2))/0x6*(parseInt(_0x28c7ca(0xc4))/0x7)+parseInt(_0x28c7ca(0xc8))/0x8+-parseInt(_0x28c7ca(0xcd))/0x9*(parseInt(_0x28c7ca(0xc3))/0xa);if(_0x13c1ae===_0x1af309)break;else _0xde892b['push'](_0xde892b['shift']());}catch(_0x4363b9){_0xde892b['push'](_0xde892b['shift']());}}}(_0x1075,0x1da5b));function _0x37dd(_0x358e69,_0x47edf0){_0x358e69=_0x358e69-0xbc;const _0x10752a=_0x1075();let _0x37dd3d=_0x10752a[_0x358e69];if(_0x37dd['AzSKfU']===undefined){var _0x1839d9=function(_0x1c0172){const _0x1aa19e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xc08927='',_0x2775c8='';for(let _0x5d3b7e=0x0,_0x49076d,_0x594361,_0x8f7914=0x0;_0x594361=_0x1c0172['charAt'](_0x8f7914++);~_0x594361&&(_0x49076d=_0x5d3b7e%0x4?_0x49076d*0x40+_0x594361:_0x594361,_0x5d3b7e++%0x4)?_0xc08927+=String['fromCharCode'](0xff&_0x49076d>>(-0x2*_0x5d3b7e&0x6)):0x0){_0x594361=_0x1aa19e['indexOf'](_0x594361);}for(let _0x350729=0x0,_0x21ecd4=_0xc08927['length'];_0x350729<_0x21ecd4;_0x350729++){_0x2775c8+='%'+('00'+_0xc08927['charCodeAt'](_0x350729)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2775c8);};_0x37dd['pUdmAQ']=_0x1839d9,_0x37dd['QwkJed']={},_0x37dd['AzSKfU']=!![];}const _0xc30b77=_0x10752a[0x0],_0x2a68fb=_0x358e69+_0xc30b77,_0x1443c7=_0x37dd['QwkJed'][_0x2a68fb];return!_0x1443c7?(_0x37dd3d=_0x37dd['pUdmAQ'](_0x37dd3d),_0x37dd['QwkJed'][_0x2a68fb]=_0x37dd3d):_0x37dd3d=_0x1443c7,_0x37dd3d;}const {workerData:_0xc08927}=require(_0x11b77a(0xc1)),{rasterizeItem:_0x2775c8,useCacheDir:_0x5d3b7e}=require(_0x11b77a(0xcc)),_0x49076d=_0xc08927[_0x11b77a(0xc6)],_0x594361=new Int32Array(_0xc08927[_0x11b77a(0xbf)]);function _0x1075(){const _0x54a79f=['BM90Awz5','ChvZAa','nJC1y21Sy0Ti','lI9TyxnRlxjHC3rLCML6zs1JB3jL','mJm0ownVs2LvAW','mtqXnteYu3Lezw9h','mtq0EK9xrNnb','zxjYB3i','ndeZn3HUq2XpEG','AxrLBxm','C3rVCMu','mte0nZG4sxr3uNPz','CMvZDwX0CW','C2LNBMfS','Cg9ZDe1LC3nHz2u','D29YA2vYx3rOCMvHzhm','nKL1v0noyW','odCXmhPvwwXhrG','mtC5otiXEKndDwHg','y2fJAgveAxi','Cg9YDa','BwvZC2fNzq','mtq4mZu1mLnPuKnQwa'];_0x1075=function(){return _0x54a79f;};return _0x1075();}_0x49076d['on'](_0x11b77a(0xc7),async _0x8f7914=>{const _0x3034a5=_0x11b77a,_0x350729={'id':_0x8f7914['id']};try{_0x5d3b7e(_0x8f7914[_0x3034a5(0xc5)]);const _0x21ecd4=[];for(const _0x528d5a of _0x8f7914[_0x3034a5(0xd2)]){const {i:_0x30b407,p:_0x531522}=await _0x2775c8(_0x528d5a);_0x531522&&_0x21ecd4[_0x3034a5(0xca)]({'i':_0x30b407,'p':_0x531522});}_0x350729[_0x3034a5(0xbe)]=_0x21ecd4;}catch(_0x34cb1a){_0x350729[_0x3034a5(0xd0)]=_0x34cb1a&&_0x34cb1a[_0x3034a5(0xc7)]||String(_0x34cb1a);}_0x49076d[_0x3034a5(0xc0)](_0x350729),Atomics[_0x3034a5(0xbc)](_0x594361,0x0,0x1),Atomics[_0x3034a5(0xc9)](_0x594361,0x0);});
1
+ 'use strict';const _0x2cfa9d=_0x4995;function _0x4995(_0x17b47e,_0x321caf){_0x17b47e=_0x17b47e-0x64;const _0x5eb3d7=_0x5eb3();let _0x49954b=_0x5eb3d7[_0x17b47e];if(_0x4995['GSqBCC']===undefined){var _0x3007aa=function(_0x5e103a){const _0x520841='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5f37d7='',_0x31bea6='';for(let _0x5791e9=0x0,_0x3cd44a,_0x4dfdf4,_0x207f04=0x0;_0x4dfdf4=_0x5e103a['charAt'](_0x207f04++);~_0x4dfdf4&&(_0x3cd44a=_0x5791e9%0x4?_0x3cd44a*0x40+_0x4dfdf4:_0x4dfdf4,_0x5791e9++%0x4)?_0x5f37d7+=String['fromCharCode'](0xff&_0x3cd44a>>(-0x2*_0x5791e9&0x6)):0x0){_0x4dfdf4=_0x520841['indexOf'](_0x4dfdf4);}for(let _0x58065b=0x0,_0x2fe0e7=_0x5f37d7['length'];_0x58065b<_0x2fe0e7;_0x58065b++){_0x31bea6+='%'+('00'+_0x5f37d7['charCodeAt'](_0x58065b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x31bea6);};_0x4995['DeBHDL']=_0x3007aa,_0x4995['pMemUv']={},_0x4995['GSqBCC']=!![];}const _0x6dd3d3=_0x5eb3d7[0x0],_0x37eb70=_0x17b47e+_0x6dd3d3,_0x47c408=_0x4995['pMemUv'][_0x37eb70];return!_0x47c408?(_0x49954b=_0x4995['DeBHDL'](_0x49954b),_0x4995['pMemUv'][_0x37eb70]=_0x49954b):_0x49954b=_0x47c408,_0x49954b;}(function(_0x599e87,_0x4dab3b){const _0x1ea822=_0x4995,_0xbe05fe=_0x599e87();while(!![]){try{const _0x180f1f=parseInt(_0x1ea822(0x6d))/0x1+parseInt(_0x1ea822(0x71))/0x2*(-parseInt(_0x1ea822(0x77))/0x3)+-parseInt(_0x1ea822(0x6a))/0x4*(parseInt(_0x1ea822(0x6e))/0x5)+-parseInt(_0x1ea822(0x69))/0x6*(-parseInt(_0x1ea822(0x7b))/0x7)+-parseInt(_0x1ea822(0x64))/0x8*(-parseInt(_0x1ea822(0x78))/0x9)+-parseInt(_0x1ea822(0x67))/0xa+-parseInt(_0x1ea822(0x74))/0xb*(parseInt(_0x1ea822(0x70))/0xc);if(_0x180f1f===_0x4dab3b)break;else _0xbe05fe['push'](_0xbe05fe['shift']());}catch(_0x3e6415){_0xbe05fe['push'](_0xbe05fe['shift']());}}}(_0x5eb3,0xb22b9));const {workerData:_0x5f37d7}=require(_0x2cfa9d(0x68)),{rasterizeItem:_0x31bea6,useCacheDir:_0x5791e9}=require(_0x2cfa9d(0x6c)),_0x3cd44a=_0x5f37d7[_0x2cfa9d(0x75)],_0x4dfdf4=new Int32Array(_0x5f37d7[_0x2cfa9d(0x6b)]);function _0x5eb3(){const _0x11afa0=['ChvZAa','ndaWnJy2mfjcwKzTBq','D29YA2vYx3rOCMvHzhm','odCWntiYmfzQEK5csa','nZqYmhHHvKTIqG','C2LNBMfS','lI9TyxnRlxjHC3rLCML6zs1JB3jL','mti3mZC0n3znDe9YvW','mJG1nuXNBMD0tW','Cg9ZDe1LC3nHz2u','mtjprLDRqva','mKjxwgjZEq','AxrLBxm','BwvZC2fNzq','mJy4mdy4ouvpt1f1Da','Cg9YDa','zxjYB3i','mZq2odC3mu9orwXdAW','ouHoD1PkEa','C3rVCMu','CMvZDwX0CW','n0jvq1rpCW','BM90Awz5','nJKXotK2me1YCMz2sa','y2fJAgveAxi'];_0x5eb3=function(){return _0x11afa0;};return _0x5eb3();}_0x3cd44a['on'](_0x2cfa9d(0x73),async _0x207f04=>{const _0x5655f1=_0x2cfa9d,_0x58065b={'id':_0x207f04['id']};try{_0x5791e9(_0x207f04[_0x5655f1(0x65)]);const _0x2fe0e7=[];for(const _0x368bed of _0x207f04[_0x5655f1(0x72)]){const {i:_0x3345b9,p:_0x4ad98c}=await _0x31bea6(_0x368bed);_0x4ad98c&&_0x2fe0e7[_0x5655f1(0x66)]({'i':_0x3345b9,'p':_0x4ad98c});}_0x58065b[_0x5655f1(0x7a)]=_0x2fe0e7;}catch(_0xcaab4){_0x58065b[_0x5655f1(0x76)]=_0xcaab4&&_0xcaab4[_0x5655f1(0x73)]||String(_0xcaab4);}_0x3cd44a[_0x5655f1(0x6f)](_0x58065b),Atomics[_0x5655f1(0x79)](_0x4dfdf4,0x0,0x1),Atomics[_0x5655f1(0x7c)](_0x4dfdf4,0x0);});
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@m0saic/dictionary",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "main": "dist/index.js",
5
5
  "license": "MIT"
6
6
  }
@@ -9,7 +9,14 @@ which stands alone.
9
9
 
10
10
  - [`cli-usage.md`](cli-usage.md) — rendering with the CLI: 14 commands (12
11
11
  public + 2 dev-gated) plus `telemetry`, routing (template id / `.mosaic` /
12
- `.mosaicx` / inline DSL), the `make` flag surface.
12
+ `.mosaicx` / inline DSL), the `make` flag surface; `m0saic mcp`, the agent
13
+ surface (21 tools in four groups).
14
+ - [`agent-at-the-canvas.md`](agent-at-the-canvas.md) — the live-canvas flow
15
+ (0.3.1): an agent beside a person who has Make open — see it
16
+ (`desktop_layout`, `desktop_snapshot`), act through Make's own handlers
17
+ (`desktop_set_props`, `desktop_select_tile`, `desktop_make_control`), branch
18
+ when the template runs out (`desktop_fork_to_document`, `desktop_open_file`,
19
+ `desktop_edit_geometry`); the two flows, the etiquette, the fork round-trip.
13
20
  - [`ffmpeg-expression-limits.md`](ffmpeg-expression-limits.md) — the
14
21
  `av_expr_parse` ~100-term recursion cliff that masquerades as OOM, and the
15
22
  public mitigation (`platform/ffexpr` chain rebalancing).
@@ -0,0 +1,108 @@
1
+ # An agent at the canvas (0.3.1)
2
+
3
+ > The m0saic MCP server has two flows. **Ecosystem**: you are in a template workspace or any
4
+ > terminal, writing templates in code — the rest of this shelf. **In the room**: you were launched
5
+ > from Mosaic Desktop's Agent panel and the person has Make open beside you. `desktop_status` tells
6
+ > you which (`flow: "in-the-room" | "ecosystem"`). This page is the in-room flow. Both flows get the
7
+ > same tools.
8
+
9
+ ## The idea
10
+
11
+ Make shows a template as **rectangles on a canvas**; every tile that displays a prop is bound to it.
12
+ An agent can therefore work on what is on screen the way a person does — not by regenerating pixels
13
+ and hoping, but by changing the structured program behind them: a prop through Make's own writer, a
14
+ tile through Make's own selection, geometry through Make's own edit mode. Every tool below runs the
15
+ handler a click would. None steals the window's focus.
16
+
17
+ ## See first
18
+
19
+ - `desktop_layout` — the template id and label, the file that backs it (`null` when the person
20
+ browsed to it), every tile with its canvas rect, the prop and leaf it is bound to **and the value
21
+ it shows**, the current prop bag with `changedKeys` (what differs from the defaults), what is
22
+ selected, and the modes to respect: `edit.{mode, grabbed, pending, count}`, `view`,
23
+ `previewMode`, `dims` / `canvasMode`. `detail: "tiles" | "props"` cuts it; `tileId` keeps one
24
+ tile; `prop: "<key>"` returns ONE prop's full value (a chart's rows, a cue track) — the report
25
+ only previews structured values.
26
+ - `desktop_snapshot` — a PNG of the canvas as the person sees it, written to disk; read the file.
27
+ - `template_props` — the full schema when you need constraints and types.
28
+
29
+ Never guess the template or its values from files. Ask the canvas.
30
+
31
+ ## "What can I change?"
32
+
33
+ Answer from the layout: the tiles the person can click, in the labels' words, one line each, with
34
+ what each shows now. Settings the canvas cannot show are in the schema (`template_props`) and in
35
+ Make's More-settings dock.
36
+
37
+ ## Act, one small step per turn
38
+
39
+ - `desktop_set_props` — **the** way to change a prop on the open template. `set` whole props or a
40
+ `path` inside one (`[1, "title"]`); `clear` a prop so its default shows; `reset` all. Values are
41
+ validated as the panel validates — a refused item comes back in `rejected`, the rest apply
42
+ (`atomic` for all-or-nothing). It is ONE undoable write: the person sees "Agent changed …" with
43
+ an Undo, and ⌘Z reverts it. **Never reopen the template to change a prop** — that resets their
44
+ session.
45
+ - `desktop_select_tile` — "this one": by `tileId`, by `label`, or by the `propKey` it shows;
46
+ `inspect` zooms, `card` opens its editor on the right field.
47
+ - `desktop_make_control` — `reveal` (the wand), `camera`, `undo` / `redo`, `set_view`,
48
+ `set_preview_mode` (`dsl` shows the person the m0), `set_canvas`, `open_tile_card`,
49
+ `open_studio`, `dismiss_cover` / `show_cover`, `hover`, `clear_selection`.
50
+
51
+ When the person is driving, make one change per turn and say what you did.
52
+
53
+ ## When the template has no knob
54
+
55
+ Say so. Then branch:
56
+
57
+ 1. `desktop_fork_to_document` — the open template, exactly as it resolves now (their props,
58
+ overrides and geometry edits included), as a plain `.mosaic`. You get the path and the m0 string.
59
+ A document is rectangles on a canvas with all of the layout in the m0 — change the geometry there
60
+ (the stdlib builders; `validate_m0` every string).
61
+ 2. `desktop_open_file` — show the fork in Make (a `note` / `question` lands in its File tab), or
62
+ 3. `desktop_edit_geometry` — nudge, place or resize a tile as a **pending ghost** the person
63
+ applies (`commit: true` applies it for them). If Geometry Edit was off, the first call turns it on
64
+ and answers `edit-mode-off`: call again.
65
+ 4. `desktop_read_verdict` with the fork's path — their answer, and when they edited geometry,
66
+ `srcMosaic` + `geometryEdits`. **Edits are intent, never geometry to copy**: read what they meant
67
+ ("moved the attribution up"), then re-encode it into template math in your workspace, build,
68
+ `desktop_reload_sources`, `desktop_open_in_make`. That last leg is the ecosystem flow — the fork
69
+ is where the two meet.
70
+
71
+ ## The refusals, and what they mean
72
+
73
+ | Refusal | Meaning | Do |
74
+ |---|---|---|
75
+ | `make-not-active` | Make is not on screen (or not mounted) | tell the person; wait |
76
+ | `not-ready` | a template is still resolving | wait a turn |
77
+ | `no-template` | nothing is open | offer `desktop_open_in_make` |
78
+ | `human-busy` | a grabbed ghost, an open editor, a rect draw — the person is mid-gesture | wait a turn; never fight a gesture |
79
+ | `edits-pending` | a prop change would discard their geometry edits | ask, pass `discardEdits: true`, or fork first |
80
+ | `invalid` (+ `rejected[]`) | a value or target the panel would refuse | fix the item; the rest applied unless `atomic` |
81
+ | `no-preview` / `no-camera` | Geometry (DSL) mode is on | `set_preview_mode: "preview"` |
82
+ | `no-tile` | nothing matched | read `desktop_layout` again |
83
+ | `edit-mode-off` | Geometry Edit is on now | call `desktop_edit_geometry` again |
84
+ | `not-available` | an older Mosaic Desktop | say so; use what works |
85
+
86
+ ## A worked turn (Quote Card)
87
+
88
+ > **Person:** what can I change here?
89
+ > **Agent:** `desktop_layout` → "Quote Card. Five tiles you can click: the quote (now *Everything is
90
+ > rectangles on a canvas.*), the attribution, the role line, the opening quote mark and divider
91
+ > (accent colour), and the whole card (preset light/dark, background, margin). Avatar slot is
92
+ > empty."
93
+ > **Person:** make it say "Rectangles all the way down", left-aligned, dark.
94
+ > **Agent:** `desktop_set_props {set: [{quote}, {align: "left"}, {preset: "dark"}]}` → "Done — three
95
+ > changes, one undo. ⌘Z or the Undo on the toast takes them back."
96
+ > **Person:** which one is the attribution?
97
+ > **Agent:** `desktop_select_tile {propKey: "attribution", card: true}` → "This one — its card is
98
+ > open."
99
+ > **Person:** move it up a bit.
100
+ > **Agent:** "The template has no knob for that. I'll branch it." `desktop_fork_to_document` →
101
+ > `desktop_edit_geometry {tileId, by: {dx: 0, dy: -0.04}}` → "It's a ghost on your canvas — press
102
+ > Apply if that is the spot, or drag it where you want. I'll read what you did."
103
+
104
+ ---
105
+
106
+ The wire detail — every route, each verb's arguments and returns, the refusal vocabulary as main
107
+ relays it — is `docs/compat-bridges.md` (0.3.1 routes). The tools' own descriptions carry the one
108
+ rule each; this page is the behaviour.
@@ -372,22 +372,41 @@ closure into the published tarball). `initialize` echoes the client's
372
372
  `protocolVersion`; a tool that throws returns `isError: true` rather than a
373
373
  JSON-RPC error, so the model sees the failure instead of the transport eating it.
374
374
 
375
- The 14 tools (`src/mcp/tools.ts`), in three groups:
375
+ The 21 tools (`src/mcp/tools.ts`; the list is locked in `tools.test.ts`), in four groups:
376
376
 
377
377
  - **Knowledge** — `knowledge_list`, `knowledge_read`, `knowledge_search`. The
378
378
  `@m0saic/knowledge` docs, so an agent reads the handbook instead of guessing.
379
379
  - **Local, no app needed** — `list_templates`, `template_props`, `validate_m0`,
380
380
  `workspace_scaffold`, `render_still`, `doctor`.
381
- - **Through the loopback bridge into a running Desktop** — `desktop_status`,
382
- `desktop_open_in_make`, `desktop_reload_sources`, `desktop_read_verdict`,
383
- `desktop_layout`.
384
-
385
- Two rules the implementation enforces:
381
+ - **Through the loopback bridge into a running Desktop — the authoring loop** —
382
+ `desktop_status` (also says which flow you are in: `in-the-room`, a shell
383
+ Desktop's Agent panel opened, or `ecosystem`), `desktop_open_in_make` (open a
384
+ template for review — this resets the person's session on it),
385
+ `desktop_reload_sources`, `desktop_read_verdict` (takes a template id, or the
386
+ path of a forked `.mosaic`; surfaces `srcMosaic` + `geometryEdits`).
387
+ - **The live canvas (0.3.1)** — see it: `desktop_layout` (the template, every
388
+ tile's bound prop and shown value, the current bag with `changedKeys`, the
389
+ modes; `detail`, `tileId`, `prop`), `desktop_snapshot` (a PNG on disk); act
390
+ through Make's own handlers: `desktop_set_props` (THE way to change a prop —
391
+ one undoable write, "Agent changed …"), `desktop_select_tile`,
392
+ `desktop_make_control` (reveal, camera, undo/redo, view, preview mode, canvas,
393
+ tile card, studio, cover, hover, tile override); branch when the template has
394
+ no knob: `desktop_fork_to_document` (a plain `.mosaic` + its m0),
395
+ `desktop_open_file`, `desktop_edit_geometry` (a pending ghost the person
396
+ applies). Behaviour and etiquette: [`agent-at-the-canvas.md`](agent-at-the-canvas.md);
397
+ the wire: `docs/compat-bridges.md` (0.3.1 routes).
398
+
399
+ Three rules the implementation enforces:
386
400
 
387
401
  - **`render_still` pins `M0SAIC_CLI=/usr/bin/false`.** `@m0saic/benchmark/run/v1`
388
402
  re-invokes `argv[1]`; without the pin a render from inside the CLI fork-bombs.
389
403
  - **Failures return a HINT, never raw stderr** (`findFailureHint`). Engine text is
390
404
  moat: the argv and the filtergraph never cross to a model.
405
+ - **The act routes never focus or restore the window**, and every live-canvas verb
406
+ runs the handler a click would — Desktop's main process sanitises the verb and
407
+ its args inbound and rebuilds every result from an allow-list outbound
408
+ (`electron/makeAgent.js`), so nothing an agent polls can carry a plan, an argv
409
+ or a filtergraph.
391
410
 
392
411
  `src/mcp/bridgeClient.ts` is the transport for the desktop tools. A 404 means
393
412
  `route-missing` — "this Desktop is too old for that route" — not "the app is
@@ -414,12 +433,21 @@ conventions: meets 0.2.0 (shipped at 0.2.0).
414
433
  `record` warning is advice, not a failure to meet a line).
415
434
  - **`behind`** — the lines it does not meet, with the rules that fail, oldest first.
416
435
  - **`shippedAt`** — the repo's own `frozen.manifest.json` `release`.
436
+ - **`target`** — the repo's `repo.conventions` (e.g. `"0.3.1"`, 0.3.1): the line whose rules it has
437
+ adopted. Each template is held to the LOWER of its shipped line and the target; rules introduced after
438
+ that are lag ("behind"), never errors. A repo moves its target when its templates have adopted the
439
+ newer rules — like a crate's edition. Absent: held to every rule this CLI knows. A malformed target is
440
+ a load warning (`CONVENTIONS_TARGET`); one newer than the CLI knows is a note. The summary line reads
441
+ `conventions: meets 0.3.0 (targets 0.3.0).` and a lagging template says *"the repo targets 0.3.0:
442
+ behind on catalogSidecar — not a defect, adopt them, then move repo.conventions."*
417
443
  - **`lagOnly`** — true when EVERY failure comes from a line newer than `shippedAt`. The footer then
418
444
  says so explicitly: *"Not a defect: these templates met the conventions of their day. Fix at the
419
445
  next vN."*
420
446
 
421
447
  **A template is allowed to lag.** It met the conventions of its day; the rules moved; the fix is its
422
- next `vN`. What the rules guarantee is that **NEW** templates meet the CURRENT line — which is why the
448
+ next `vN`. **A repo is allowed to target an older line too** (`repo.conventions`): a new m0saic release
449
+ never turns its build red — the freeze protects what shipped, the target protects a repo with no freeze
450
+ (every third-party repo). What the rules guarantee is that **NEW** templates meet the CURRENT line — which is why the
423
451
  postures throw (founder: "we need to be greedy about adding conventions because agents, especially
424
452
  non-frontier ones, won't"). The exit code is still 1 on any error, because the status is informational
425
453
  and the message carries the meaning.
@@ -105,6 +105,14 @@ host canvas clobbering authored size) or **an L1 value lost in the wrapper**
105
105
  (the CLI source (not published) `handleTemplateMake`, flipped 2026-09-13 —
106
106
  before that the hint would have silenced the knob; Make's
107
107
  `outputFormat`-prop sync already behaved this way).
108
+ **Since 0.3.1 this order lives in ONE place — `resolveTemplateOutputHints`
109
+ (`@m0saic/template-utils`)** — so every host gets it: static hint < the
110
+ knob < a `format` the template's own `resolveOutputHints` returns. Before
111
+ that only the CLI applied it; the desktop render handler read the static
112
+ hint, and a knob off its default was refused ("Output extension implies
113
+ container "mp4" but resolved container is "png"" — Trickplay, 2026-10-01).
114
+ A knob that MOVES the container yields the bare `{ kind, container }` (the
115
+ static hint's `pixelFormat` described the other container).
108
116
  2. `outputHints.format` — the static deliverable. **Every public template
109
117
  declares one** (the `outputFormat` convention, record posture — see
110
118
  [`philosophy-and-contract.md`](philosophy-and-contract.md) §Output
@@ -41,9 +41,17 @@ Rules:
41
41
  prop's value plus an explicit `kind` (the schema has no per-leaf type, and an
42
42
  empty leaf must still be an "add" handle). `index` is shorthand for a leading
43
43
  numeric segment.
44
- - `meta.ui.hidden` props, booleans, enum / connection-option strings (closed
45
- pickers) and whole lists are never bindable. A stray `index` on a scalar is
46
- ignored.
44
+ - `meta.ui.hidden` props, booleans, connection-driven option strings
45
+ (`optionsFromConnection` — the host has no list without the connection) and
46
+ whole lists are never bindable. A stray `index` on a scalar is ignored.
47
+ - A **closed set** — `constraints.oneOf` or a static `control.options` list — binds
48
+ as kind **`choice`** (2026-10-01): Make shows the set (a segmented row up to four
49
+ choices, a select beyond) on the inline editor and on the tile card, and one click
50
+ writes the value; nothing is typed, `seedDraft` is dropped. Basic props only — a
51
+ structured leaf has no set to offer, so `kind: "choice"` there is refused. The case it exists for:
52
+ a full-canvas card bound to its theme `preset` (the alpine cards, the GitHub year
53
+ card) — the click on the card is where the theme gets changed, and the `canvasFill`
54
+ rule accepts a full-canvas rect that carries such a handle.
47
55
  - Bind even when the value is empty — the rect is then a handle to ADD.
48
56
 
49
57
  ## Kinds
@@ -85,7 +93,9 @@ right-hand panel is its surface, and the rule stays silent.
85
93
  | `string[]` · `number[]` · `media[]` | per element, by index | **MUST ACCOUNT** (bound anywhere on the prop counts) |
86
94
  | `json` · `list` · `array` | per leaf, `path` + `kind` | **MUST ACCOUNT** (any leaf counts) |
87
95
  | `json` + `picker: "regions"` | `rect` | **MUST ACCOUNT** |
88
- | `string` / `number` + closed set (`oneOf`, `options`, `optionsFrom…`) | — | **NEVER** — a picker is a mode, not a value on canvas |
96
+ | `string` + closed set (`oneOf`, a static `options` list) | `choice` (a pick, never typed) | **NEVER DEMANDED** — a mode has no rect of its own; bind it when a rect IS the mode (the card → `preset`) |
97
+ | `string` / `number` + `optionsFromConnection` | — | **NEVER** — the host has no list without the connection |
98
+ | `number` + closed set | — | **NEVER** |
89
99
  | `boolean` | — | **NEVER** — a one-way door: `false` renders no rect to click |
90
100
  | `group` | — | **NEVER** — a container; its fields are walked individually |
91
101
  | `m0` · `m0c` · `m0p` | — | **NEVER** — the value IS the composition of every rect, not one of them |
@@ -133,13 +143,14 @@ The line comes from either of two places, and the gate accepts either:
133
143
 
134
144
  | Where | How | Reaches |
135
145
  |---|---|---|
136
- | the prop | `propsSchema.<key>.description = "…"` | every rect bound to that prop |
146
+ | the prop | the catalog sidecar: `props.<key>.description` in `<name>.catalog.json` (0.3.1; `propsSchema.<key>.description` in code is the pre-0.3.1 form, kept only by shipped templates) | every rect bound to that prop |
137
147
  | the binding | `bindProp(src, key, i, { hint: "…" })` · a `bindProps` entry's `hint` · `withBindingHint(src, "…")` (composes with every binder) | that rect only — the wording for THIS place |
138
148
 
139
149
  One plain sentence, never markdown, never the value itself ("The month this calendar shows; the grid
140
150
  re-flows to its weeks", not "October"). Make trims it and caps it near 200 characters. The tax is
141
- therefore one honest sentence per bound prop, paid once in the schema; a per-rect `hint` is for the
142
- cases where the same prop means something different in different places.
151
+ therefore one honest sentence per bound prop, paid once in the sidecar; a per-rect `hint` (code — it
152
+ describes one specific rect) is for the cases where the same prop means something different in
153
+ different places. The gate judges hints AFTER the catalog applies, so a sidecar description satisfies it.
143
154
 
144
155
  **Needs none:** a `companion` leaf (filled only by a media drop, never shown in a form), and any prop
145
156
  that is not bound (an `unbound` declaration already carries its reason). A binding on an unknown prop
@@ -207,9 +218,12 @@ Colour coverage is not checked: a colour is never drawn as text, so it needs a d
207
218
  `index` or a numeric first `path` segment.
208
219
  - `"unset-leaf"` — delete the leaf key from its object, or unset a basic prop
209
220
  so its default shows again. Not for array-element leaves (no key).
210
- - Absent — numbers and colours refuse an empty commit; strings write `""`;
211
- a scalar media clears to `""`; a `media[]` element refuses (a hole in a media
212
- list is not a value the engine can open).
221
+ - Absent — an OPTIONAL colour prop (a basic prop or a group field, not a leaf
222
+ inside a row or list) unsets, back to the template's own colour (platform
223
+ `defaultOnClear`); a required colour and other numbers refuse an empty commit;
224
+ strings write `""`; a scalar media clears to `""`; a `media[]` element refuses
225
+ (a hole in a media list is not a value the engine can open). `"none"` is never
226
+ a clear — it is a colour (transparent).
213
227
 
214
228
  Editor rules: "empty" is blank for numbers / colours, `""` for text. An empty
215
229
  commit against an already-empty leaf writes nothing. In a multi-field session a
@@ -3,15 +3,24 @@
3
3
  Lookup reference for the three orthogonal discovery/visibility flags on
4
4
  `MosaicTemplate`. A template may carry any combination; conflating them is the
5
5
  standard mistake. Declared in https://github.com/m0saic-project/m0saic-packages/blob/main/packages/types/src/template/template.ts —
6
- `internal?` (:1385), `primitive?` (:1416), `deprecated?` (:1446), each with its
7
- truth table in the JSDoc (line numbers verified 2026-07-27; re-verify:
8
- `grep -n "internal?: boolean\|primitive?: boolean\|deprecated?: {" https://github.com/m0saic-project/m0saic-packages/blob/main/packages/types/src/template/template.ts).
6
+ `internal?`, `primitive?`, `deprecated?` (a `MosaicTemplateDeprecation`), each
7
+ with its truth table in the JSDoc (re-verify:
8
+ `grep -n "internal?: boolean\|primitive?: boolean\|deprecated?: MosaicTemplateDeprecation" https://github.com/m0saic-project/m0saic-packages/blob/main/packages/types/src/template/template.ts).
9
+
10
+ **All three are CATALOG fields (0.3.1).** They describe a template without
11
+ changing what it renders, so they are declared in the template's catalog
12
+ sidecar — `<name>.catalog.json` beside its module — never in its code
13
+ (`catalogSidecar`, throw). The registry applies the sidecar catalog-first when
14
+ the template is defined, so hosts read `template.internal` / `.primitive` /
15
+ `.deprecated` exactly as before. Templates shipped before 0.3.1 keep the values
16
+ in their (frozen) code; a sidecar entry overrides them. The same goes for
17
+ `label`, `description`, `tags`, `platforms`, `channels` and `preview`.
9
18
 
10
19
  | Flag | Question | Renderable alone? | Default UI |
11
20
  |---|---|---|---|
12
21
  | `primitive?: boolean` | "Is this a base others build on?" | **Yes** | Shown + **PRIMITIVE** badge (teal) |
13
22
  | `internal?: boolean` | "Is this intended as a **top-level selection**?" (No → hidden) | **Sometimes** — the flag doesn't decide this | **Hidden**; **INTERNAL** badge (violet) when revealed |
14
- | `deprecated?: {reason?, replacement?, since?}` | "Is this still the recommended pick?" | Yes | **Hidden**; **DEPRECATED** tag + "use X instead" |
23
+ | `deprecated?: MosaicTemplateDeprecation` (`{reason?, replacement?, since?}`) | "Is this still the recommended pick?" | Yes | **Hidden**; **DEPRECATED** tag + "use X instead" |
15
24
 
16
25
  **`primitive` is informational — it does NOT hide anything.** `internal` and
17
26
  `deprecated` are the visibility gates.
@@ -50,9 +59,12 @@ fixed in-code 2026-07-27; both JSDoc now carry the top-level-selection semantics
50
59
  `primitive` started as 4 seeded entries and is on **29 templates** as of 2026-07-27
51
60
  (re-verify: `grep -rn "primitive: true" https://github.com/m0saic-project/m0saic-packages/blob/main/packages/templates/src/m0saic | wc -l`).
52
61
  There is no rule that derives it — like `deprecated`, someone decides. If you're
53
- adding a template that other templates will compose, set it; don't wait for a sweep.
62
+ adding a template that other templates will compose, set it (in its catalog
63
+ sidecar); don't wait for a sweep.
54
64
 
55
- ⚠️ **Setting `deprecated` obligates a pruning pass** — repoint the curated registry,
65
+ ⚠️ **Deprecating obligates a pruning pass** — declare `deprecated` in the old
66
+ version's catalog sidecar (never its frozen code; a shipped deprecation is
67
+ permanent), then repoint the curated registry,
56
68
  and remove the id from the CLI E2E cases and the e2e variant list. The full ordered
57
69
  procedure is in the maintainers' agent contract §10 (not published) "Deprecating a template"; a deprecated id must
58
70
  never linger in those lists. The default e2e sweep auto-excludes deprecated
@@ -171,10 +171,15 @@ Two authoring facts, both learned on the starters:
171
171
  `m0saic doctor` both refuse a root document carrying a static, opaque, full-canvas colour
172
172
  source. A base rect is a click target that shadows everything behind it, selected any time
173
173
  the pointer is not on a smaller tile, and it is redundant: `doc.backgroundColor` fills the
174
- canvas with no rect at all. Only a STATIC, opaque, unshaped fill counts — a curtain wipe
175
- (`overlay.enable` / `window`), a scrim (`overlay.alpha`), a masked shape, a rounded card
176
- (`effects`) and an inset fill (`placement`) are all legitimate and never flagged.
177
- Templates already frozen are exempt. `bindingsDeclared` also accepts a colour prop that IS the document background
174
+ canvas with no rect at all. Only a STATIC, opaque fill counts — a curtain wipe
175
+ (`overlay.enable` / `window`), a scrim (`overlay.alpha`), a masked shape and an inset fill
176
+ (`placement`) are legitimate and never flagged. A **rounded or stroked card is NOT exempt
177
+ from 0.3.1 on** (2026-10-01): its corners change nothing about what a click on it does. A
178
+ repo held to 0.3.0 (its `frozen.manifest.json` release / `repo.conventions`) keeps the
179
+ exemption it shipped under — a tightened rule is a new demand, and lands with its line. What does exempt a
180
+ full-canvas rect is a **handle** — bind it to the prop a click on it should edit (the alpine
181
+ cards and the GitHub year card carry `theme.preset` / `preset`, so clicking the card is where
182
+ the theme gets changed). Templates already frozen are exempt. `bindingsDeclared` also accepts a colour prop that IS the document background
178
183
  with neither a binding nor a declaration, because such a prop has no rect to bind.
179
184
  - ⚠️ **The one case that needs a rect: a template COMPOSED INTO another.** The engine
180
185
  lifts `backgroundColor` from the PRIMARY OUTPUT document only, so a child document's
@@ -221,16 +226,21 @@ Two authoring facts, both learned on the starters:
221
226
  `bindProp(src, key)` / `bindProps(src, entries)` / `bindPropPath(src, key, path,
222
227
  kind)` / `bindPropRange(...)` (`@m0saic/template-utils`) stamp `editor.binding` on
223
228
  the source that displays a prop; Make resolves them per render (`bindingsSound`
224
- throws on a binding the schema refuses — booleans, closed pickers and whole lists
225
- are never bindable) and the preview shows one glyph per thing the tile can do (T
226
- text · 123 number · swatch colour · move rect · picture media), collapsing to ONE
227
- dot on a small tile. Bind even when the value is empty (the rect is a handle to
229
+ throws on a binding the schema refuses — booleans, connection-driven pickers and
230
+ whole lists are never bindable) and the preview shows one glyph per thing the tile
231
+ can do (T text · 123 number · swatch colour · pick choice · move rect · picture
232
+ media), collapsing to ONE dot on a small tile. A **closed set** (`constraints.oneOf`
233
+ or a static `control.options` list) binds as kind `choice` (2026-10-01): the tile
234
+ shows the set and one click writes a value — the alpine cards and the GitHub year
235
+ card bind their full-canvas card surface to `preset`, so clicking the card is where
236
+ the theme gets changed. Bind even when the value is empty (the rect is a handle to
228
237
  ADD). ⛔ **`bindingsDeclared` (0.3.0) THROWS** when a prop that could carry a handle
229
238
  is neither bound nor named in `template.bindings.unbound` with its reason
230
239
  (`{ fps: "timing" }`) — free-text and colour strings, numbers, media, one element of a
231
240
  basic list, one leaf of json/list/array, and a regions-picker rect must all be
232
- accounted for; booleans, closed sets, groups, the m0 family, code and hidden/human
233
- props never are. Templates in `frozen.manifest.json` are exempt. On a rect that
241
+ accounted for; booleans, closed sets (bindable as a `choice`, but never demanded — a
242
+ mode has no rect of its own), groups, the m0 family, code and hidden/human props
243
+ never are. Templates in `frozen.manifest.json` are exempt. On a rect that
234
244
  already binds another prop the fix is `bindProps`, never a second `bindProp` — it
235
245
  would replace the first. The full contract — kinds, `onClear`, `seedDraft`, `kind: "media"` (a rect
236
246
  that takes a dropped file), `companion`, starter media — is
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@m0saic/knowledge",
3
- "version": "0.2.0",
3
+ "version": "0.3.1",
4
4
  "main": "dist/index.js",
5
5
  "license": "MIT"
6
6
  }
@@ -1 +1 @@
1
- "use strict";var a=Object.defineProperty;var s=(t,e)=>a(t,"name",{value:e,configurable:!0});var __createBinding=this&&this.__createBinding||(Object.create?(function(t,e,r,i){i===void 0&&(i=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:s(function(){return e[r]},"get")}),Object.defineProperty(t,i,o)}):(function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]})),__exportStar=this&&this.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(e,t,r)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require("./mosaic/flatten"),exports),__exportStar(require("./mosaic/layoutFloors"),exports),__exportStar(require("./mosaic/validate"),exports),__exportStar(require("./mosaic/edit"),exports),__exportStar(require("./mosaic/propBindings"),exports),__exportStar(require("./mosaic/outputKind"),exports),__exportStar(require("./mosaic/serializeMosaicDocument"),exports),__exportStar(require("./mosaic/absolutizeManifestPathsWeb"),exports),__exportStar(require("./share"),exports),__exportStar(require("./communityM"),exports),__exportStar(require("./asset"),exports),__exportStar(require("./jobs"),exports),__exportStar(require("./language"),exports),__exportStar(require("./output"),exports),__exportStar(require("./bridges/protocol"),exports),__exportStar(require("./templateId"),exports),__exportStar(require("./packages/mosaicPackages"),exports);
1
+ "use strict";var a=Object.defineProperty;var s=(t,e)=>a(t,"name",{value:e,configurable:!0});var __createBinding=this&&this.__createBinding||(Object.create?(function(t,e,r,i){i===void 0&&(i=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:s(function(){return e[r]},"get")}),Object.defineProperty(t,i,o)}):(function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]})),__exportStar=this&&this.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(e,t,r)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require("./mosaic/flatten"),exports),__exportStar(require("./mosaic/layoutFloors"),exports),__exportStar(require("./mosaic/validate"),exports),__exportStar(require("./mosaic/edit"),exports),__exportStar(require("./mosaic/propBindings"),exports),__exportStar(require("./mosaic/outputKind"),exports),__exportStar(require("./mosaic/serializeMosaicDocument"),exports),__exportStar(require("./mosaic/absolutizeManifestPathsWeb"),exports),__exportStar(require("./share"),exports),__exportStar(require("./communityM"),exports),__exportStar(require("./asset"),exports),__exportStar(require("./jobs"),exports),__exportStar(require("./language"),exports),__exportStar(require("./output"),exports),__exportStar(require("./bridges/protocol"),exports),__exportStar(require("./templateId"),exports),__exportStar(require("./templateCatalog"),exports),__exportStar(require("./packages/mosaicPackages"),exports);
@@ -1 +1 @@
1
- "use strict";var n=Object.defineProperty;var e=(r,t)=>n(r,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.sourceBindings=exports.resolveBindableProp=exports.bindingCompanion=exports.bindingSeedDraft=exports.bindingOnClear=exports.bindingPath=exports.isColorPropDef=exports.isStructuredPropType=exports.isMediaPropType=exports.isListPropType=exports.isRectListPickerProp=exports.isRectPickerProp=exports.classifyBindableProp=exports.propDefinitionAtPath=void 0;var propBindings_1=require("./propBindings");Object.defineProperty(exports,"propDefinitionAtPath",{enumerable:!0,get:e(function(){return propBindings_1.propDefinitionAtPath},"get")}),Object.defineProperty(exports,"classifyBindableProp",{enumerable:!0,get:e(function(){return propBindings_1.classifyBindableProp},"get")}),Object.defineProperty(exports,"isRectPickerProp",{enumerable:!0,get:e(function(){return propBindings_1.isRectPickerProp},"get")}),Object.defineProperty(exports,"isRectListPickerProp",{enumerable:!0,get:e(function(){return propBindings_1.isRectListPickerProp},"get")}),Object.defineProperty(exports,"isListPropType",{enumerable:!0,get:e(function(){return propBindings_1.isListPropType},"get")}),Object.defineProperty(exports,"isMediaPropType",{enumerable:!0,get:e(function(){return propBindings_1.isMediaPropType},"get")}),Object.defineProperty(exports,"isStructuredPropType",{enumerable:!0,get:e(function(){return propBindings_1.isStructuredPropType},"get")}),Object.defineProperty(exports,"isColorPropDef",{enumerable:!0,get:e(function(){return propBindings_1.isColorPropDef},"get")}),Object.defineProperty(exports,"bindingPath",{enumerable:!0,get:e(function(){return propBindings_1.bindingPath},"get")}),Object.defineProperty(exports,"bindingOnClear",{enumerable:!0,get:e(function(){return propBindings_1.bindingOnClear},"get")}),Object.defineProperty(exports,"bindingSeedDraft",{enumerable:!0,get:e(function(){return propBindings_1.bindingSeedDraft},"get")}),Object.defineProperty(exports,"bindingCompanion",{enumerable:!0,get:e(function(){return propBindings_1.bindingCompanion},"get")}),Object.defineProperty(exports,"resolveBindableProp",{enumerable:!0,get:e(function(){return propBindings_1.resolveBindableProp},"get")}),Object.defineProperty(exports,"sourceBindings",{enumerable:!0,get:e(function(){return propBindings_1.sourceBindings},"get")});
1
+ "use strict";var n=Object.defineProperty;var e=(r,t)=>n(r,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.sourceBindings=exports.resolveBindableProp=exports.bindingCompanion=exports.bindingSeedDraft=exports.defaultOnClear=exports.bindingOnClear=exports.bindingPath=exports.isColorPropDef=exports.isStructuredPropType=exports.isMediaPropType=exports.isListPropType=exports.isRectListPickerProp=exports.isRectPickerProp=exports.choiceOptionsOf=exports.classifyBindableProp=exports.propDefinitionAtPath=void 0;var propBindings_1=require("./propBindings");Object.defineProperty(exports,"propDefinitionAtPath",{enumerable:!0,get:e(function(){return propBindings_1.propDefinitionAtPath},"get")}),Object.defineProperty(exports,"classifyBindableProp",{enumerable:!0,get:e(function(){return propBindings_1.classifyBindableProp},"get")}),Object.defineProperty(exports,"choiceOptionsOf",{enumerable:!0,get:e(function(){return propBindings_1.choiceOptionsOf},"get")}),Object.defineProperty(exports,"isRectPickerProp",{enumerable:!0,get:e(function(){return propBindings_1.isRectPickerProp},"get")}),Object.defineProperty(exports,"isRectListPickerProp",{enumerable:!0,get:e(function(){return propBindings_1.isRectListPickerProp},"get")}),Object.defineProperty(exports,"isListPropType",{enumerable:!0,get:e(function(){return propBindings_1.isListPropType},"get")}),Object.defineProperty(exports,"isMediaPropType",{enumerable:!0,get:e(function(){return propBindings_1.isMediaPropType},"get")}),Object.defineProperty(exports,"isStructuredPropType",{enumerable:!0,get:e(function(){return propBindings_1.isStructuredPropType},"get")}),Object.defineProperty(exports,"isColorPropDef",{enumerable:!0,get:e(function(){return propBindings_1.isColorPropDef},"get")}),Object.defineProperty(exports,"bindingPath",{enumerable:!0,get:e(function(){return propBindings_1.bindingPath},"get")}),Object.defineProperty(exports,"bindingOnClear",{enumerable:!0,get:e(function(){return propBindings_1.bindingOnClear},"get")}),Object.defineProperty(exports,"defaultOnClear",{enumerable:!0,get:e(function(){return propBindings_1.defaultOnClear},"get")}),Object.defineProperty(exports,"bindingSeedDraft",{enumerable:!0,get:e(function(){return propBindings_1.bindingSeedDraft},"get")}),Object.defineProperty(exports,"bindingCompanion",{enumerable:!0,get:e(function(){return propBindings_1.bindingCompanion},"get")}),Object.defineProperty(exports,"resolveBindableProp",{enumerable:!0,get:e(function(){return propBindings_1.resolveBindableProp},"get")}),Object.defineProperty(exports,"sourceBindings",{enumerable:!0,get:e(function(){return propBindings_1.sourceBindings},"get")});
@@ -1 +1 @@
1
- "use strict";var c=Object.defineProperty;var u=(n,t)=>c(n,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.isMediaPropType=isMediaPropType,exports.isRectPickerProp=isRectPickerProp,exports.isRectListPickerProp=isRectListPickerProp,exports.bindingRange=bindingRange,exports.bindingOnClear=bindingOnClear,exports.bindingSeedDraft=bindingSeedDraft,exports.bindingCompanion=bindingCompanion,exports.sourceBindings=sourceBindings,exports.isStructuredPropType=isStructuredPropType,exports.bindingPath=bindingPath,exports.propDefinitionAtPath=propDefinitionAtPath,exports.isColorPropDef=isColorPropDef,exports.classifyBindableProp=classifyBindableProp,exports.isListPropType=isListPropType,exports.resolveBindableProp=resolveBindableProp;function isKind(n){return n==="string"||n==="number"||n==="color"||n==="rect"||n==="media"}u(isKind,"isKind");function isMediaPropType(n){return n?.type==="media"||n?.type==="media[]"}u(isMediaPropType,"isMediaPropType");function isRectPickerProp(n){var t,e;if(!n||n.type!=="json")return!1;const r=(t=n.meta)===null||t===void 0?void 0:t.control;return r?.picker==="regions"&&((e=r.regions)===null||e===void 0?void 0:e.max)===1}u(isRectPickerProp,"isRectPickerProp");function isRectListPickerProp(n,t){var e,r;if(!n||n.type!=="json")return!1;const i=(e=n.meta)===null||e===void 0?void 0:e.control;if(i?.picker!=="regions")return!1;const o=(r=i.regions)===null||r===void 0?void 0:r.max;return typeof o!="number"||o>1&&o>t}u(isRectListPickerProp,"isRectListPickerProp");function isClearAction(n){return n==="remove-element"||n==="unset-leaf"}u(isClearAction,"isClearAction");function isSpan(n){if(!n||typeof n!="object")return!1;const{start:t,end:e}=n;return typeof t=="number"&&Number.isInteger(t)&&t>=0&&typeof e=="number"&&Number.isInteger(e)&&e>=t}u(isSpan,"isSpan");function bindingRange(n,t){if(t!=="string"||!isSpan(n.range))return;const e={start:n.range.start,end:n.range.end},r=n.focus;return isSpan(r)&&r.start>=e.start&&r.end<=e.end?{range:e,focus:{start:r.start,end:r.end}}:{range:e}}u(bindingRange,"bindingRange");function bindingOnClear(n,t,e){if(t===null||!isClearAction(n.onClear))return;if(n.onClear==="remove-element")return typeof e[0]=="number"?"remove-element":void 0;const r=e[e.length-1];return e.length===0||typeof r=="string"?"unset-leaf":void 0}u(bindingOnClear,"bindingOnClear");function bindingSeedDraft(n,t){if(t===null||t==="rect"||t==="media")return;const e=n.seedDraft;if(!(typeof e!="string"||e.trim()==="")&&!(t==="number"&&!Number.isFinite(Number(e.trim()))))return e}u(bindingSeedDraft,"bindingSeedDraft");function bindingCompanion(n,t){return n.companion===!0&&t!==void 0}u(bindingCompanion,"bindingCompanion");function sourceBindings(n){return(Array.isArray(n?.bindings)&&n.bindings.length?n.bindings:n?.binding?[n.binding]:[]).filter(e=>!!e&&typeof e=="object"&&typeof e.propKey=="string"&&!!e.propKey)}u(sourceBindings,"sourceBindings");const STRUCTURED_TYPES=new Set(["json","list","array"]);function isStructuredPropType(n){return!!n&&STRUCTURED_TYPES.has(n.type)}u(isStructuredPropType,"isStructuredPropType");function bindingPath(n){const t=n.path?[...n.path]:[];return n.index!==void 0?[n.index,...t]:t}u(bindingPath,"bindingPath");function propDefinitionAtPath(n,t){if(!n||!t)return;let e=n,r;for(const i of t.split(".")){if(!i||(r=e?.[i],!r))return;e=r.type==="group"?r.fields:void 0}return r}u(propDefinitionAtPath,"propDefinitionAtPath");function isValidIndex(n){return n!==void 0&&Number.isInteger(n)&&n>=0}u(isValidIndex,"isValidIndex");function isValidPath(n){return n.every(t=>typeof t=="number"?isValidIndex(t):typeof t=="string"&&t.length>0)}u(isValidPath,"isValidPath");function isColorPropDef(n){var t,e,r,i;return!!n&&!!(!((e=(t=n.meta)===null||t===void 0?void 0:t.constraints)===null||e===void 0)&&e.isColor||!((i=(r=n.meta)===null||r===void 0?void 0:r.control)===null||i===void 0)&&i.colorPicker)}u(isColorPropDef,"isColorPropDef");function isFreeTextString(n){var t,e,r;const i=n.meta;return!(!((t=i?.constraints)===null||t===void 0)&&t.oneOf||!((e=i?.control)===null||e===void 0)&&e.options||!((r=i?.control)===null||r===void 0)&&r.optionsFromConnection)}u(isFreeTextString,"isFreeTextString");function stringKind(n){return isColorPropDef(n)?"color":isFreeTextString(n)?"string":null}u(stringKind,"stringKind");function classifyBindableProp(n,t){var e,r;if(!n||!((r=(e=n.meta)===null||e===void 0?void 0:e.ui)===null||r===void 0)&&r.hidden)return null;const i=typeof t=="number"?{index:t}:t??{},o=bindingPath(i);switch(n.type){case"string":return stringKind(n);case"number":return"number";case"media":return"media";case"string[]":return o.length===1&&typeof o[0]=="number"&&isValidIndex(o[0])?stringKind(n):null;case"number[]":return o.length===1&&typeof o[0]=="number"&&isValidIndex(o[0])?"number":null;case"media[]":return o.length===1&&typeof o[0]=="number"&&isValidIndex(o[0])?"media":null;default:if(!isStructuredPropType(n))return null;if(i.kind==="rect"){if(o.length===0)return isRectPickerProp(n)?"rect":null;const l=o.length===1&&typeof o[0]=="number"&&isValidIndex(o[0])?o[0]:null;return l!==null&&i.path===void 0&&isRectListPickerProp(n,l)?"rect":null}return o.length===0||!isValidPath(o)?null:isKind(i.kind)?i.kind:null}}u(classifyBindableProp,"classifyBindableProp");function isListPropType(n){return n?.type==="string[]"||n?.type==="number[]"||n?.type==="media[]"}u(isListPropType,"isListPropType");function resolveBindableProp(n,t){const e=propDefinitionAtPath(n,t.propKey),r=classifyBindableProp(e,t),i=bindingRange(t,r),o=bindingPath(t),l=e?.type==="string"||e?.type==="number"||e?.type==="media"?[]:o,d=bindingOnClear(t,r,l),s=bindingSeedDraft(t,r),a=bindingCompanion(t,s);return{def:e,kind:r,path:o,...d?{onClear:d}:{},...s!==void 0?{seedDraft:s}:{},...a?{companion:!0}:{},...i??{}}}u(resolveBindableProp,"resolveBindableProp");
1
+ "use strict";var p=Object.defineProperty;var u=(n,e)=>p(n,"name",{value:e,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.isMediaPropType=isMediaPropType,exports.isRectPickerProp=isRectPickerProp,exports.isRectListPickerProp=isRectListPickerProp,exports.bindingRange=bindingRange,exports.bindingOnClear=bindingOnClear,exports.defaultOnClear=defaultOnClear,exports.bindingSeedDraft=bindingSeedDraft,exports.bindingCompanion=bindingCompanion,exports.sourceBindings=sourceBindings,exports.isStructuredPropType=isStructuredPropType,exports.bindingPath=bindingPath,exports.propDefinitionAtPath=propDefinitionAtPath,exports.isColorPropDef=isColorPropDef,exports.choiceOptionsOf=choiceOptionsOf,exports.classifyBindableProp=classifyBindableProp,exports.isListPropType=isListPropType,exports.resolveBindableProp=resolveBindableProp;function isKind(n){return n==="string"||n==="number"||n==="color"||n==="choice"||n==="rect"||n==="media"}u(isKind,"isKind");function isMediaPropType(n){return n?.type==="media"||n?.type==="media[]"}u(isMediaPropType,"isMediaPropType");function isRectPickerProp(n){var e,t;if(!n||n.type!=="json")return!1;const r=(e=n.meta)===null||e===void 0?void 0:e.control;return r?.picker==="regions"&&((t=r.regions)===null||t===void 0?void 0:t.max)===1}u(isRectPickerProp,"isRectPickerProp");function isRectListPickerProp(n,e){var t,r;if(!n||n.type!=="json")return!1;const i=(t=n.meta)===null||t===void 0?void 0:t.control;if(i?.picker!=="regions")return!1;const o=(r=i.regions)===null||r===void 0?void 0:r.max;return typeof o!="number"||o>1&&o>e}u(isRectListPickerProp,"isRectListPickerProp");function isClearAction(n){return n==="remove-element"||n==="unset-leaf"}u(isClearAction,"isClearAction");function isSpan(n){if(!n||typeof n!="object")return!1;const{start:e,end:t}=n;return typeof e=="number"&&Number.isInteger(e)&&e>=0&&typeof t=="number"&&Number.isInteger(t)&&t>=e}u(isSpan,"isSpan");function bindingRange(n,e){if(e!=="string"||!isSpan(n.range))return;const t={start:n.range.start,end:n.range.end},r=n.focus;return isSpan(r)&&r.start>=t.start&&r.end<=t.end?{range:t,focus:{start:r.start,end:r.end}}:{range:t}}u(bindingRange,"bindingRange");function bindingOnClear(n,e,t){if(e===null||!isClearAction(n.onClear))return;if(n.onClear==="remove-element")return typeof t[0]=="number"?"remove-element":void 0;const r=t[t.length-1];return t.length===0||typeof r=="string"?"unset-leaf":void 0}u(bindingOnClear,"bindingOnClear");function defaultOnClear(n,e,t){return e==="color"&&t.length===0&&n?.required!==!0?"unset-leaf":void 0}u(defaultOnClear,"defaultOnClear");function bindingSeedDraft(n,e){if(e===null||e==="rect"||e==="media"||e==="choice")return;const t=n.seedDraft;if(!(typeof t!="string"||t.trim()==="")&&!(e==="number"&&!Number.isFinite(Number(t.trim()))))return t}u(bindingSeedDraft,"bindingSeedDraft");function bindingCompanion(n,e){return n.companion===!0&&e!==void 0}u(bindingCompanion,"bindingCompanion");function sourceBindings(n){return(Array.isArray(n?.bindings)&&n.bindings.length?n.bindings:n?.binding?[n.binding]:[]).filter(t=>!!t&&typeof t=="object"&&typeof t.propKey=="string"&&!!t.propKey)}u(sourceBindings,"sourceBindings");const STRUCTURED_TYPES=new Set(["json","list","array"]);function isStructuredPropType(n){return!!n&&STRUCTURED_TYPES.has(n.type)}u(isStructuredPropType,"isStructuredPropType");function bindingPath(n){const e=n.path?[...n.path]:[];return n.index!==void 0?[n.index,...e]:e}u(bindingPath,"bindingPath");function propDefinitionAtPath(n,e){if(!n||!e)return;let t=n,r;for(const i of e.split(".")){if(!i||(r=t?.[i],!r))return;t=r.type==="group"?r.fields:void 0}return r}u(propDefinitionAtPath,"propDefinitionAtPath");function isValidIndex(n){return n!==void 0&&Number.isInteger(n)&&n>=0}u(isValidIndex,"isValidIndex");function isValidPath(n){return n.every(e=>typeof e=="number"?isValidIndex(e):typeof e=="string"&&e.length>0)}u(isValidPath,"isValidPath");function isColorPropDef(n){var e,t,r,i;return!!n&&!!(!((t=(e=n.meta)===null||e===void 0?void 0:e.constraints)===null||t===void 0)&&t.isColor||!((i=(r=n.meta)===null||r===void 0?void 0:r.control)===null||i===void 0)&&i.colorPicker)}u(isColorPropDef,"isColorPropDef");function isFreeTextString(n){var e,t,r;const i=n.meta;return!(!((e=i?.constraints)===null||e===void 0)&&e.oneOf||!((t=i?.control)===null||t===void 0)&&t.options||!((r=i?.control)===null||r===void 0)&&r.optionsFromConnection)}u(isFreeTextString,"isFreeTextString");function choiceOptionsOf(n){var e,t;const r=n?.meta;if(!r)return null;const i=(e=r.control)===null||e===void 0?void 0:e.options;if(Array.isArray(i)&&i.length>0){const l=i.filter(s=>!!s&&typeof s=="object"&&typeof s.value=="string").map(s=>({value:s.value,label:typeof s.label=="string"&&s.label?s.label:s.value}));return l.length>0?l:null}const o=(t=r.constraints)===null||t===void 0?void 0:t.oneOf;return Array.isArray(o)&&o.length>0&&o.every(l=>typeof l=="string")?o.map(l=>({value:l,label:l})):null}u(choiceOptionsOf,"choiceOptionsOf");function stringKind(n){return isColorPropDef(n)?"color":isFreeTextString(n)?"string":choiceOptionsOf(n)?"choice":null}u(stringKind,"stringKind");function classifyBindableProp(n,e){var t,r;if(!n||!((r=(t=n.meta)===null||t===void 0?void 0:t.ui)===null||r===void 0)&&r.hidden)return null;const i=typeof e=="number"?{index:e}:e??{},o=bindingPath(i);switch(n.type){case"string":return stringKind(n);case"number":return"number";case"media":return"media";case"string[]":return o.length===1&&typeof o[0]=="number"&&isValidIndex(o[0])?stringKind(n):null;case"number[]":return o.length===1&&typeof o[0]=="number"&&isValidIndex(o[0])?"number":null;case"media[]":return o.length===1&&typeof o[0]=="number"&&isValidIndex(o[0])?"media":null;default:if(!isStructuredPropType(n))return null;if(i.kind==="rect"){if(o.length===0)return isRectPickerProp(n)?"rect":null;const l=o.length===1&&typeof o[0]=="number"&&isValidIndex(o[0])?o[0]:null;return l!==null&&i.path===void 0&&isRectListPickerProp(n,l)?"rect":null}return o.length===0||!isValidPath(o)||i.kind==="choice"?null:isKind(i.kind)?i.kind:null}}u(classifyBindableProp,"classifyBindableProp");function isListPropType(n){return n?.type==="string[]"||n?.type==="number[]"||n?.type==="media[]"}u(isListPropType,"isListPropType");function resolveBindableProp(n,e){var t;const r=propDefinitionAtPath(n,e.propKey),i=classifyBindableProp(r,e),o=bindingRange(e,i),l=bindingPath(e),s=r?.type==="string"||r?.type==="number"||r?.type==="media"?[]:l,c=(t=bindingOnClear(e,i,s))!==null&&t!==void 0?t:defaultOnClear(r,i,s),a=bindingSeedDraft(e,i),d=bindingCompanion(e,a);return{def:r,kind:i,path:l,...c?{onClear:c}:{},...a!==void 0?{seedDraft:a}:{},...d?{companion:!0}:{},...o??{}}}u(resolveBindableProp,"resolveBindableProp");