cbrowser 20.2.2 → 21.0.0

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 (302) hide show
  1. package/README.md +2 -2
  2. package/dist/analysis/accessibility-empathy.d.ts +29 -1
  3. package/dist/analysis/accessibility-empathy.d.ts.map +1 -1
  4. package/dist/analysis/accessibility-empathy.js +69 -35
  5. package/dist/analysis/accessibility-empathy.js.map +1 -1
  6. package/dist/browser.d.ts.map +1 -1
  7. package/dist/browser.js +11 -7
  8. package/dist/browser.js.map +1 -1
  9. package/dist/cif-score.d.ts +56 -5
  10. package/dist/cif-score.d.ts.map +1 -1
  11. package/dist/cif-score.js +595 -346
  12. package/dist/cif-score.js.map +1 -1
  13. package/dist/cli.js +10 -8
  14. package/dist/cli.js.map +1 -1
  15. package/dist/cognitive/default-traits.d.ts +14 -0
  16. package/dist/cognitive/default-traits.d.ts.map +1 -0
  17. package/dist/cognitive/default-traits.js +36 -0
  18. package/dist/cognitive/default-traits.js.map +1 -0
  19. package/dist/cognitive/emotions.d.ts.map +1 -1
  20. package/dist/cognitive/emotions.js +104 -174
  21. package/dist/cognitive/emotions.js.map +1 -1
  22. package/dist/cognitive/index.d.ts +28 -0
  23. package/dist/cognitive/index.d.ts.map +1 -1
  24. package/dist/cognitive/index.js +353 -287
  25. package/dist/cognitive/index.js.map +1 -1
  26. package/dist/cognitive/temporal.d.ts +0 -24
  27. package/dist/cognitive/temporal.d.ts.map +1 -1
  28. package/dist/cognitive/temporal.js +45 -35
  29. package/dist/cognitive/temporal.js.map +1 -1
  30. package/dist/data/ctc-reference-v2-2026-10-24.d.ts +16 -0
  31. package/dist/data/ctc-reference-v2-2026-10-24.d.ts.map +1 -0
  32. package/dist/data/ctc-reference-v2-2026-10-24.js +1004 -0
  33. package/dist/data/ctc-reference-v2-2026-10-24.js.map +1 -0
  34. package/dist/ideal-profiles-gap.d.ts +1 -0
  35. package/dist/ideal-profiles-gap.d.ts.map +1 -1
  36. package/dist/ideal-profiles-gap.js +9 -1
  37. package/dist/ideal-profiles-gap.js.map +1 -1
  38. package/dist/ideal-profiles.d.ts +8 -0
  39. package/dist/ideal-profiles.d.ts.map +1 -1
  40. package/dist/ideal-profiles.js +28 -24
  41. package/dist/ideal-profiles.js.map +1 -1
  42. package/dist/mcp-server-remote.d.ts.map +1 -1
  43. package/dist/mcp-server-remote.js +7 -8
  44. package/dist/mcp-server-remote.js.map +1 -1
  45. package/dist/mcp-tools/account-personas.d.ts.map +1 -1
  46. package/dist/mcp-tools/account-personas.js +3 -1
  47. package/dist/mcp-tools/account-personas.js.map +1 -1
  48. package/dist/mcp-tools/base/answer-provenance.d.ts +28 -0
  49. package/dist/mcp-tools/base/answer-provenance.d.ts.map +1 -0
  50. package/dist/mcp-tools/base/answer-provenance.js +32 -0
  51. package/dist/mcp-tools/base/answer-provenance.js.map +1 -0
  52. package/dist/mcp-tools/base/audit-tools.d.ts +0 -3
  53. package/dist/mcp-tools/base/audit-tools.d.ts.map +1 -1
  54. package/dist/mcp-tools/base/audit-tools.js +152 -84
  55. package/dist/mcp-tools/base/audit-tools.js.map +1 -1
  56. package/dist/mcp-tools/base/capture-tools.js +1 -1
  57. package/dist/mcp-tools/base/capture-tools.js.map +1 -1
  58. package/dist/mcp-tools/base/chain-values.d.ts +38 -0
  59. package/dist/mcp-tools/base/chain-values.d.ts.map +1 -0
  60. package/dist/mcp-tools/base/chain-values.js +85 -0
  61. package/dist/mcp-tools/base/chain-values.js.map +1 -0
  62. package/dist/mcp-tools/base/cognitive-tools.d.ts.map +1 -1
  63. package/dist/mcp-tools/base/cognitive-tools.js +126 -120
  64. package/dist/mcp-tools/base/cognitive-tools.js.map +1 -1
  65. package/dist/mcp-tools/base/gif-tools.d.ts.map +1 -1
  66. package/dist/mcp-tools/base/gif-tools.js +23 -5
  67. package/dist/mcp-tools/base/gif-tools.js.map +1 -1
  68. package/dist/mcp-tools/base/persona-comparison-tools.d.ts.map +1 -1
  69. package/dist/mcp-tools/base/persona-comparison-tools.js +229 -172
  70. package/dist/mcp-tools/base/persona-comparison-tools.js.map +1 -1
  71. package/dist/mcp-tools/base/site-familiarity.d.ts +31 -0
  72. package/dist/mcp-tools/base/site-familiarity.d.ts.map +1 -0
  73. package/dist/mcp-tools/base/site-familiarity.js +30 -0
  74. package/dist/mcp-tools/base/site-familiarity.js.map +1 -0
  75. package/dist/mcp-tools/base/site-knowledge-tools.js +1 -1
  76. package/dist/mcp-tools/base/site-knowledge-tools.js.map +1 -1
  77. package/dist/mcp-tools/base/story-narrative.d.ts +50 -0
  78. package/dist/mcp-tools/base/story-narrative.d.ts.map +1 -0
  79. package/dist/mcp-tools/base/story-narrative.js +88 -0
  80. package/dist/mcp-tools/base/story-narrative.js.map +1 -0
  81. package/dist/mcp-tools/base/values-tools.d.ts.map +1 -1
  82. package/dist/mcp-tools/base/values-tools.js +19 -5
  83. package/dist/mcp-tools/base/values-tools.js.map +1 -1
  84. package/dist/mcp-tools/base/visual-testing-tools.d.ts +5 -5
  85. package/dist/mcp-tools/base/visual-testing-tools.d.ts.map +1 -1
  86. package/dist/mcp-tools/base/visual-testing-tools.js +38 -11
  87. package/dist/mcp-tools/base/visual-testing-tools.js.map +1 -1
  88. package/dist/mcp-tools/persona-creation-tools.js +6 -6
  89. package/dist/mcp-tools/persona-creation-tools.js.map +1 -1
  90. package/dist/mcp-tools/persona-lifecycle-tools.d.ts.map +1 -1
  91. package/dist/mcp-tools/persona-lifecycle-tools.js +5 -1
  92. package/dist/mcp-tools/persona-lifecycle-tools.js.map +1 -1
  93. package/dist/mcp-tools/tier-gate.js +1 -1
  94. package/dist/mcp-tools/tool-result-saver.d.ts +7 -0
  95. package/dist/mcp-tools/tool-result-saver.d.ts.map +1 -1
  96. package/dist/mcp-tools/tool-result-saver.js +11 -0
  97. package/dist/mcp-tools/tool-result-saver.js.map +1 -1
  98. package/dist/mcp-tools/trait-provenance.d.ts +109 -0
  99. package/dist/mcp-tools/trait-provenance.d.ts.map +1 -0
  100. package/dist/mcp-tools/trait-provenance.js +187 -0
  101. package/dist/mcp-tools/trait-provenance.js.map +1 -0
  102. package/dist/mcp-tools/ui-resources.d.ts +6 -7
  103. package/dist/mcp-tools/ui-resources.d.ts.map +1 -1
  104. package/dist/mcp-tools/ui-resources.js +162 -12
  105. package/dist/mcp-tools/ui-resources.js.map +1 -1
  106. package/dist/mcp-tools/widget-kit.d.ts +129 -3
  107. package/dist/mcp-tools/widget-kit.d.ts.map +1 -1
  108. package/dist/mcp-tools/widget-kit.js +507 -28
  109. package/dist/mcp-tools/widget-kit.js.map +1 -1
  110. package/dist/performance/metrics.d.ts.map +1 -1
  111. package/dist/performance/metrics.js +4 -1
  112. package/dist/performance/metrics.js.map +1 -1
  113. package/dist/persona-questionnaire.js +1 -1
  114. package/dist/persona-questionnaire.js.map +1 -1
  115. package/dist/personas.d.ts.map +1 -1
  116. package/dist/personas.js +133 -82
  117. package/dist/personas.js.map +1 -1
  118. package/dist/recording/engine.d.ts.map +1 -1
  119. package/dist/recording/engine.js +5 -2
  120. package/dist/recording/engine.js.map +1 -1
  121. package/dist/recording/saliency-overlay.d.ts +8 -3
  122. package/dist/recording/saliency-overlay.d.ts.map +1 -1
  123. package/dist/recording/saliency-overlay.js +14 -5
  124. package/dist/recording/saliency-overlay.js.map +1 -1
  125. package/dist/recording/types.js +1 -1
  126. package/dist/testing/nl-test-suite.d.ts.map +1 -1
  127. package/dist/testing/nl-test-suite.js +2 -1
  128. package/dist/testing/nl-test-suite.js.map +1 -1
  129. package/dist/trait-reference.d.ts +19 -2
  130. package/dist/trait-reference.d.ts.map +1 -1
  131. package/dist/trait-reference.js +19 -2
  132. package/dist/trait-reference.js.map +1 -1
  133. package/dist/types.d.ts +32 -21
  134. package/dist/types.d.ts.map +1 -1
  135. package/dist/types.js +62 -52
  136. package/dist/types.js.map +1 -1
  137. package/dist/values/persona-completeness.js +1 -1
  138. package/dist/values/persona-completeness.js.map +1 -1
  139. package/dist/visual/ab-comparison.d.ts.map +1 -1
  140. package/dist/visual/ab-comparison.js +4 -1
  141. package/dist/visual/ab-comparison.js.map +1 -1
  142. package/dist/visual/attention-quality.d.ts +1 -1
  143. package/dist/visual/attention-quality.js +1 -1
  144. package/dist/visual/attention-transport.d.ts +74 -10
  145. package/dist/visual/attention-transport.d.ts.map +1 -1
  146. package/dist/visual/attention-transport.js +353 -193
  147. package/dist/visual/attention-transport.js.map +1 -1
  148. package/dist/visual/cognitive-models.d.ts +77 -55
  149. package/dist/visual/cognitive-models.d.ts.map +1 -1
  150. package/dist/visual/cognitive-models.js +231 -104
  151. package/dist/visual/cognitive-models.js.map +1 -1
  152. package/dist/visual/cognitive-transport-chain.d.ts +328 -30
  153. package/dist/visual/cognitive-transport-chain.d.ts.map +1 -1
  154. package/dist/visual/cognitive-transport-chain.js +576 -353
  155. package/dist/visual/cognitive-transport-chain.js.map +1 -1
  156. package/dist/visual/cognitive-transport.d.ts +446 -13
  157. package/dist/visual/cognitive-transport.d.ts.map +1 -1
  158. package/dist/visual/cognitive-transport.js +1085 -245
  159. package/dist/visual/cognitive-transport.js.map +1 -1
  160. package/dist/visual/cross-browser.d.ts.map +1 -1
  161. package/dist/visual/cross-browser.js +8 -6
  162. package/dist/visual/cross-browser.js.map +1 -1
  163. package/dist/visual/ctc-bands.d.ts +91 -0
  164. package/dist/visual/ctc-bands.d.ts.map +1 -0
  165. package/dist/visual/ctc-bands.js +117 -0
  166. package/dist/visual/ctc-bands.js.map +1 -0
  167. package/dist/visual/ctc-reference.d.ts +287 -0
  168. package/dist/visual/ctc-reference.d.ts.map +1 -0
  169. package/dist/visual/ctc-reference.js +376 -0
  170. package/dist/visual/ctc-reference.js.map +1 -0
  171. package/dist/visual/demand-laws.d.ts +145 -0
  172. package/dist/visual/demand-laws.d.ts.map +1 -0
  173. package/dist/visual/demand-laws.js +220 -0
  174. package/dist/visual/demand-laws.js.map +1 -0
  175. package/dist/visual/distance-metrics.d.ts +23 -1
  176. package/dist/visual/distance-metrics.d.ts.map +1 -1
  177. package/dist/visual/distance-metrics.js +49 -18
  178. package/dist/visual/distance-metrics.js.map +1 -1
  179. package/dist/visual/dro-bound.d.ts +220 -0
  180. package/dist/visual/dro-bound.d.ts.map +1 -0
  181. package/dist/visual/dro-bound.js +341 -0
  182. package/dist/visual/dro-bound.js.map +1 -0
  183. package/dist/visual/exact-w1.d.ts +60 -0
  184. package/dist/visual/exact-w1.d.ts.map +1 -0
  185. package/dist/visual/exact-w1.js +247 -0
  186. package/dist/visual/exact-w1.js.map +1 -0
  187. package/dist/visual/human-input.d.ts.map +1 -1
  188. package/dist/visual/human-input.js +45 -41
  189. package/dist/visual/human-input.js.map +1 -1
  190. package/dist/visual/index.d.ts +2 -0
  191. package/dist/visual/index.d.ts.map +1 -1
  192. package/dist/visual/index.js +2 -0
  193. package/dist/visual/index.js.map +1 -1
  194. package/dist/visual/law-times-report.d.ts +49 -0
  195. package/dist/visual/law-times-report.d.ts.map +1 -0
  196. package/dist/visual/law-times-report.js +38 -0
  197. package/dist/visual/law-times-report.js.map +1 -0
  198. package/dist/visual/model-provenance.d.ts +151 -0
  199. package/dist/visual/model-provenance.d.ts.map +1 -0
  200. package/dist/visual/model-provenance.js +334 -0
  201. package/dist/visual/model-provenance.js.map +1 -0
  202. package/dist/visual/normal-cdf.d.ts +14 -0
  203. package/dist/visual/normal-cdf.d.ts.map +1 -0
  204. package/dist/visual/normal-cdf.js +26 -0
  205. package/dist/visual/normal-cdf.js.map +1 -0
  206. package/dist/visual/perceptual-transport.d.ts +28 -4
  207. package/dist/visual/perceptual-transport.d.ts.map +1 -1
  208. package/dist/visual/perceptual-transport.js +66 -32
  209. package/dist/visual/perceptual-transport.js.map +1 -1
  210. package/dist/visual/provenance/attention.d.ts +55 -0
  211. package/dist/visual/provenance/attention.d.ts.map +1 -0
  212. package/dist/visual/provenance/attention.js +188 -0
  213. package/dist/visual/provenance/attention.js.map +1 -0
  214. package/dist/visual/provenance/chain.d.ts +41 -0
  215. package/dist/visual/provenance/chain.d.ts.map +1 -0
  216. package/dist/visual/provenance/chain.js +66 -0
  217. package/dist/visual/provenance/chain.js.map +1 -0
  218. package/dist/visual/provenance/cif.d.ts +42 -0
  219. package/dist/visual/provenance/cif.d.ts.map +1 -0
  220. package/dist/visual/provenance/cif.js +116 -0
  221. package/dist/visual/provenance/cif.js.map +1 -0
  222. package/dist/visual/provenance/ctc-reference.d.ts +36 -0
  223. package/dist/visual/provenance/ctc-reference.d.ts.map +1 -0
  224. package/dist/visual/provenance/ctc-reference.js +96 -0
  225. package/dist/visual/provenance/ctc-reference.js.map +1 -0
  226. package/dist/visual/provenance/distance.d.ts +10 -0
  227. package/dist/visual/provenance/distance.d.ts.map +1 -0
  228. package/dist/visual/provenance/distance.js +72 -0
  229. package/dist/visual/provenance/distance.js.map +1 -0
  230. package/dist/visual/provenance/dro.d.ts +10 -0
  231. package/dist/visual/provenance/dro.d.ts.map +1 -0
  232. package/dist/visual/provenance/dro.js +2 -0
  233. package/dist/visual/provenance/dro.js.map +1 -0
  234. package/dist/visual/provenance/emotion.d.ts +26 -0
  235. package/dist/visual/provenance/emotion.d.ts.map +1 -0
  236. package/dist/visual/provenance/emotion.js +99 -0
  237. package/dist/visual/provenance/emotion.js.map +1 -0
  238. package/dist/visual/provenance/human-input.d.ts +19 -0
  239. package/dist/visual/provenance/human-input.d.ts.map +1 -0
  240. package/dist/visual/provenance/human-input.js +84 -0
  241. package/dist/visual/provenance/human-input.js.map +1 -0
  242. package/dist/visual/provenance/journey-group.d.ts +15 -0
  243. package/dist/visual/provenance/journey-group.d.ts.map +1 -0
  244. package/dist/visual/provenance/journey-group.js +15 -0
  245. package/dist/visual/provenance/journey-group.js.map +1 -0
  246. package/dist/visual/provenance/journey-mcp.d.ts +24 -0
  247. package/dist/visual/provenance/journey-mcp.d.ts.map +1 -0
  248. package/dist/visual/provenance/journey-mcp.js +54 -0
  249. package/dist/visual/provenance/journey-mcp.js.map +1 -0
  250. package/dist/visual/provenance/journey.d.ts +34 -0
  251. package/dist/visual/provenance/journey.d.ts.map +1 -0
  252. package/dist/visual/provenance/journey.js +184 -0
  253. package/dist/visual/provenance/journey.js.map +1 -0
  254. package/dist/visual/provenance/laws.d.ts +38 -0
  255. package/dist/visual/provenance/laws.d.ts.map +1 -0
  256. package/dist/visual/provenance/laws.js +40 -0
  257. package/dist/visual/provenance/laws.js.map +1 -0
  258. package/dist/visual/provenance/page-metrics.d.ts +42 -0
  259. package/dist/visual/provenance/page-metrics.d.ts.map +1 -0
  260. package/dist/visual/provenance/page-metrics.js +79 -0
  261. package/dist/visual/provenance/page-metrics.js.map +1 -0
  262. package/dist/visual/provenance/perceptual.d.ts +63 -0
  263. package/dist/visual/provenance/perceptual.d.ts.map +1 -0
  264. package/dist/visual/provenance/perceptual.js +115 -0
  265. package/dist/visual/provenance/perceptual.js.map +1 -0
  266. package/dist/visual/provenance/persona-rates.d.ts +84 -0
  267. package/dist/visual/provenance/persona-rates.d.ts.map +1 -0
  268. package/dist/visual/provenance/persona-rates.js +112 -0
  269. package/dist/visual/provenance/persona-rates.js.map +1 -0
  270. package/dist/visual/provenance/personas.d.ts +122 -0
  271. package/dist/visual/provenance/personas.d.ts.map +1 -0
  272. package/dist/visual/provenance/personas.js +298 -0
  273. package/dist/visual/provenance/personas.js.map +1 -0
  274. package/dist/visual/provenance/profiles.d.ts +39 -0
  275. package/dist/visual/provenance/profiles.d.ts.map +1 -0
  276. package/dist/visual/provenance/profiles.js +37 -0
  277. package/dist/visual/provenance/profiles.js.map +1 -0
  278. package/dist/visual/provenance/temporal.d.ts +21 -0
  279. package/dist/visual/provenance/temporal.d.ts.map +1 -0
  280. package/dist/visual/provenance/temporal.js +56 -0
  281. package/dist/visual/provenance/temporal.js.map +1 -0
  282. package/dist/visual/provenance/visual-distance.d.ts +22 -0
  283. package/dist/visual/provenance/visual-distance.d.ts.map +1 -0
  284. package/dist/visual/provenance/visual-distance.js +30 -0
  285. package/dist/visual/provenance/visual-distance.js.map +1 -0
  286. package/dist/visual/regression.d.ts.map +1 -1
  287. package/dist/visual/regression.js +14 -9
  288. package/dist/visual/regression.js.map +1 -1
  289. package/dist/visual/responsive.d.ts.map +1 -1
  290. package/dist/visual/responsive.js +4 -1
  291. package/dist/visual/responsive.js.map +1 -1
  292. package/dist/visual/scope-prose.js +2 -2
  293. package/dist/visual/scope-prose.js.map +1 -1
  294. package/dist/visual/seeded-random.d.ts +16 -0
  295. package/dist/visual/seeded-random.d.ts.map +1 -0
  296. package/dist/visual/seeded-random.js +25 -0
  297. package/dist/visual/seeded-random.js.map +1 -0
  298. package/dist/visual/stored-accessibility-traits.d.ts +27 -0
  299. package/dist/visual/stored-accessibility-traits.d.ts.map +1 -0
  300. package/dist/visual/stored-accessibility-traits.js +35 -0
  301. package/dist/visual/stored-accessibility-traits.js.map +1 -0
  302. package/package.json +1 -1
@@ -11,24 +11,23 @@
11
11
  * @see Perry, Zorzi & Ziegler (2019) Psychological Science — personalized dyslexia models
12
12
  * @since v18.39.0
13
13
  */
14
- // ── Mathematical Primitives ──
14
+ import { MODEL_PROVENANCE, param, personaScope } from "./model-provenance.js";
15
+ import { normalCDF } from "./normal-cdf.js";
16
+ import { measuredRate, pointingCapacity, readingCapacity } from "./demand-laws.js";
17
+ import { customPointingRule, customReadingRateId, customReadingRule } from "./provenance/persona-rates.js";
15
18
  /**
16
- * Standard normal CDF (cumulative distribution function).
17
- * Abramowitz and Stegun approximation (7.1.26), error < 7.5e-8.
19
+ * A registered constant, read as persona-model work (model-provenance.ts,
20
+ * personaScope): every read in this module describes a persona or an audit,
21
+ * not a score, so none lands in a score's recording. Calls into demand-laws.ts
22
+ * are wrapped the same way.
18
23
  */
19
- function normalCDF(x) {
20
- const a1 = 0.254829592;
21
- const a2 = -0.284496736;
22
- const a3 = 1.421413741;
23
- const a4 = -1.453152027;
24
- const a5 = 1.061405429;
25
- const p = 0.3275911;
26
- const sign = x < 0 ? -1 : 1;
27
- const absX = Math.abs(x) / Math.SQRT2;
28
- const t = 1 / (1 + p * absX);
29
- const y = 1 - (((((a5 * t + a4) * t) + a3) * t + a2) * t + a1) * t * Math.exp(-absX * absX);
30
- return 0.5 * (1 + sign * y);
31
- }
24
+ const pp = (id) => personaScope(() => param(id));
25
+ // ── Mathematical Primitives ──
26
+ // normalCDF lives in ./normal-cdf.ts, a module with no imports, so the
27
+ // provenance catalogue (provenance/personas.ts) can use it without importing
28
+ // this file, which imports model-provenance.ts, which imports the catalogue:
29
+ // that cycle left PERSONA_PROVENANCE uninitialised when the catalogue loaded
30
+ // first (tests/persona-provenance.test.ts run alone).
32
31
  /**
33
32
  * Standard normal PDF (probability density function).
34
33
  */
@@ -51,19 +50,36 @@ function normalPDF(x) {
51
50
  * Two models of reading, disagreeing under one name, with the layer using the
52
51
  * one that knows nothing about decoding. This is the bridge. (2026-08-02)
53
52
  *
54
- * Weighted toward decoding, because that is what the layer's own reported
55
- * decomposition measures: orthographic and phonological carry the fluency of
56
- * word recognition, visualSpan is normalised against the neurotypical 7
57
- * characters, vocabulary bounds comprehension, and crowding subtracts.
53
+ * STAGE B: A RATE RATIO. The capacity is c = r_p / (r_p + r_ref)
54
+ * (demand-laws.ts), the persona's silent reading rate against the reference
55
+ * reader, so it sits at 0.5 for a typical reader and is on the same scale as a
56
+ * reading demand in seconds. The weighted sum of the five profile values it
57
+ * replaced had no unit.
58
+ *
59
+ * ONE REFERENCE READER: Brysbaert's 238 wpm (law.reading.wpm), the rate the
60
+ * reading demand uses, so a persona's own reading time is judged against the
61
+ * same budget the page is. The fixation model contributes only a ratio: the
62
+ * profile's per-word time against the neurotypical profile's, so the
63
+ * neurotypical profile reads at exactly the reference. Its absolute times are
64
+ * not compared with 238: they start from a fixation duration (250 ms) plus a
65
+ * penalty the neurotypical profile pays itself, 270 ms per word or 222 wpm, and
66
+ * would put every reader about 7% below the reference by construction.
58
67
  */
59
68
  export function readingCapacityOf(profile) {
60
- const span = Math.min(1, profile.visualSpan / 7);
61
- const raw = profile.orthographic * 0.3 +
62
- profile.phonological * 0.3 +
63
- span * 0.2 +
64
- profile.vocabulary * 0.2 -
65
- profile.crowding * 0.15;
66
- return Math.max(0, Math.min(1, raw));
69
+ return personaScope(() => readingCapacity(readingRateRatioOf(profile) * pp("law.reading.wpm")));
70
+ }
71
+ /**
72
+ * The text-independent part of computeReadingDifficulty's per-word time, ms:
73
+ * base + (1 - phonological) x phonologicalMs + (normalSpan / visualSpan - 1) x spanMs.
74
+ */
75
+ function perWordMs(profile) {
76
+ return pp("profile.fixation.baseMs")
77
+ + (1 - profile.phonological) * pp("profile.fixation.phonologicalMs")
78
+ + (pp("profile.fixation.normalSpan") / profile.visualSpan - 1) * pp("profile.fixation.spanMs");
79
+ }
80
+ /** A reading profile's silent reading rate as a share of the reference reader's: the neurotypical profile's per-word time over its own. */
81
+ export function readingRateRatioOf(profile) {
82
+ return perWordMs(KNOWN_READING_PROFILES.neurotypical) / perWordMs(profile);
67
83
  }
68
84
  /**
69
85
  * Collapse a pointing profile into one 0-1 capacity for the transport chain.
@@ -73,14 +89,15 @@ export function readingCapacityOf(profile) {
73
89
  * in motor cost while this module was computing real Fitts movement times and
74
90
  * hit probabilities that the layer never saw.
75
91
  *
76
- * Throughput is the standard Fitts capacity measure (bits/s); a neurotypical
77
- * pointer sits near 5-6, tremor far below. Endpoint dispersion subtracts,
78
- * because a wide landing distribution misses small targets regardless of speed.
92
+ * STAGE B: A RATE RATIO. The capacity is c = TP_p / (TP_p + TP_ref), the
93
+ * profile's Fitts throughput against the reference mouse throughput
94
+ * (law.rate.pointing.reference, 4.9 bits/s), so it sits at 0.5 for a typical
95
+ * pointer. Endpoint dispersion no longer subtracts: ISO 9241-9 throughput is
96
+ * computed with the effective width We = 4.133 SDx, so it already carries
97
+ * accuracy, and subtracting dispersion again counted it twice.
79
98
  */
80
99
  export function motorCapacityOf(profile) {
81
- const tp = Math.min(1, profile.throughput / 6);
82
- const spread = Math.min(1, (profile.sigmaX + profile.sigmaY) / 2 / 40);
83
- return Math.max(0, Math.min(1, tp * 0.75 + (1 - spread) * 0.25));
100
+ return personaScope(() => pointingCapacity(profile.throughput));
84
101
  }
85
102
  /**
86
103
  * Resolve the persona's capacity to HOLD attention on text, 0-1.
@@ -115,58 +132,136 @@ export function sustainedAttentionOf(persona) {
115
132
  return 0.7;
116
133
  }
117
134
  /**
118
- * Known pointing profiles from the empirical literature.
119
- *
120
- * - Neurotypical baseline: MacKenzie (1992), Soukoreff & MacKenzie (2004)
121
- * - Motor tremor: Hwang et al. (2004) ACM ASSETS
122
- * - Elderly 65+: Chaparro et al. (1999), Ketcham et al. (2002)
123
- * - ADHD: Flapper et al. (2006) — impulsive timing, near-normal precision
135
+ * Pointing profiles. Each throughput is a registered constant, read when the
136
+ * profile is used (a getter), so an override reaches every profile:
137
+ *
138
+ * - neurotypical: law.rate.pointing.reference, 4.9 bits/s for regular mouse
139
+ * users (MacKenzie, Kauppinen & Silfverberg 2001).
140
+ * - tremor: the motion-impaired rate measured against its own able-bodied
141
+ * controls, 1.77 / 4.88 (Keates et al. 2002, in Soukoreff & MacKenzie 2004,
142
+ * Table 4), rescaled to the reference: 4.9 x 1.77 / 4.88 = 1.777 bits/s. It is
143
+ * also the low anchor getPointingProfile interpolates toward.
144
+ * - elderly: a hypothesis with no measured throughput (provenance/profiles.ts).
145
+ * - adhd: the reference. No throughput for adults with ADHD was found, and the
146
+ * 4.2 bits/s it carried had no source.
147
+ *
148
+ * The endpoint dispersions (sigma, rho) feed the hit-probability audit only;
149
+ * they are registered hypotheses too (provenance/profiles.ts).
124
150
  */
151
+ /**
152
+ * A pointing profile whose every value is read at use (getters), so an override
153
+ * reaches it: its endpoint dispersion, the same SD on both axes
154
+ * (profile.pointing.<kind>.sigma) and their correlation (.rho), both
155
+ * hypotheses, and its throughput.
156
+ */
157
+ const pointingProfile = (kind, throughput) => ({
158
+ get sigmaX() { return pp(`profile.pointing.${kind}.sigma`); },
159
+ get sigmaY() { return pp(`profile.pointing.${kind}.sigma`); },
160
+ get rho() { return pp(`profile.pointing.${kind}.rho`); },
161
+ get throughput() { return throughput(); },
162
+ });
125
163
  const KNOWN_POINTING_PROFILES = {
126
- neurotypical: { sigmaX: 4, sigmaY: 4, rho: 0.0, throughput: 4.9 },
127
- tremor: { sigmaX: 12, sigmaY: 12, rho: 0.3, throughput: 2.1 },
128
- elderly: { sigmaX: 7.2, sigmaY: 7.2, rho: 0.1, throughput: 3.2 },
129
- adhd: { sigmaX: 5.5, sigmaY: 5.5, rho: 0.0, throughput: 4.2 },
164
+ neurotypical: pointingProfile("neurotypical", () => pp("law.rate.pointing.reference")),
165
+ tremor: pointingProfile("tremor", () => pp("law.rate.pointing.reference") * personaScope(() => measuredRate("motionImpaired").ratio)),
166
+ elderly: pointingProfile("elderly", () => pp("profile.pointing.elderly.throughput")),
167
+ adhd: pointingProfile("adhd", () => pp("law.rate.pointing.reference")),
130
168
  };
131
169
  /**
132
- * Derive a pointing profile from persona traits.
133
- *
134
- * Maps cognitive trait values to motor parameters by interpolating
135
- * between known empirical profiles. Uses `motorPrecision` (derived from
136
- * proceduralFluency and patience) as the primary interpolation axis.
137
- *
138
- * @param persona - Persona traits object with cognitive dimensions
139
- * @returns Empirically calibrated pointing profile
170
+ * A built-in persona's registered rate on one channel, as a share of the
171
+ * reference rate (provenance/persona-rates.ts), or undefined for a persona with
172
+ * no entry (a custom persona), whose rate comes from a customRate.* rule.
173
+ */
174
+ export function registeredPersonaRate(name, channel) {
175
+ if (!name)
176
+ return undefined;
177
+ const id = `personaRate.${name}.${channel}`;
178
+ return id in MODEL_PROVENANCE ? pp(id) : undefined;
179
+ }
180
+ /** The PersonaRateContext of a stored persona object: its description and demographics.age_range. */
181
+ export function personaRateContext(persona) {
182
+ const p = (persona ?? {});
183
+ return {
184
+ description: typeof p.description === "string" ? p.description : undefined,
185
+ ageRange: typeof p.demographics?.age_range === "string" ? p.demographics.age_range : undefined,
186
+ };
187
+ }
188
+ /**
189
+ * A persona's pointing rate as a share of the reference throughput.
190
+ *
191
+ * A built-in persona's is registered with it. A custom persona takes the same
192
+ * rule (customPointingRule, decided 2026-10-23): the measured motion-impaired
193
+ * ratio with a tremor flag or cue, the elderly profile with an elderly cue,
194
+ * otherwise the reference ("no measured difference"). It no longer interpolates
195
+ * a throughput from proceduralFluency and patience, which no source maps to
196
+ * pointing.
197
+ */
198
+ export function pointingRateShare(persona) {
199
+ const registered = registeredPersonaRate(persona.name, "pointing");
200
+ if (registered !== undefined)
201
+ return registered;
202
+ const rule = customPointingRule({
203
+ name: persona.name, description: persona.description, ageRange: persona.ageRange,
204
+ tremor: Boolean(persona.accessibilityTraits?.tremor),
205
+ });
206
+ return pp(`customRate.${rule}.pointing`);
207
+ }
208
+ /** The reading-profile values an author can state in accessibilityTraits. */
209
+ const STATED_READING = ["orthographicFluency", "phonologicalDecoding", "visualSpan", "vocabularyBreadth", "crowdingSensitivity"];
210
+ /**
211
+ * A persona's silent reading rate as a share of the reference reader's.
212
+ *
213
+ * A built-in persona's is registered with it. A custom persona that states any
214
+ * reading-profile value is read through the fixation model's ratio for that
215
+ * profile (an author who wrote a profile down means it; a hypothesis). Any other
216
+ * custom persona takes the same rule as the built-ins (customReadingRule): the
217
+ * measured dyslexia ratio with a dyslexia cue, the low-vision ratio with a
218
+ * low-vision cue, the built-in elderly-user's hypothesis with an elderly cue,
219
+ * otherwise the reference ("no measured difference").
220
+ */
221
+ export function readingRateShare(persona) {
222
+ const registered = registeredPersonaRate(persona.name, "reading");
223
+ if (registered !== undefined)
224
+ return registered;
225
+ const a11y = persona.accessibilityTraits ?? {};
226
+ if (STATED_READING.some((k) => typeof a11y[k] === "number")) {
227
+ return readingRateRatioOf(getReadingProfile({ name: persona.name, traits: persona.traits, accessibilityTraits: a11y }));
228
+ }
229
+ return pp(customReadingRateId(customReadingRule(persona)));
230
+ }
231
+ /**
232
+ * The pointing profile a persona is scored and audited with: its throughput is
233
+ * its pointing rate share times the reference, so the motor layer and the motor
234
+ * audit read one number; its endpoint dispersion comes from pointingDispersion.
140
235
  */
141
236
  export function getPointingProfile(persona) {
237
+ return { ...pointingDispersion(persona), throughput: pointingRateShare(persona) * pp("law.rate.pointing.reference") };
238
+ }
239
+ /**
240
+ * The endpoint dispersion (sigma, rho) the hit-probability audit uses: a named
241
+ * profile's, else interpolated between the neurotypical and tremor profiles on
242
+ * motorPrecision (or 0.6 proceduralFluency + 0.4 patience). Not registered; the
243
+ * interpolation has no source. It no longer touches a throughput.
244
+ */
245
+ function pointingDispersion(persona) {
246
+ const of = (p) => ({ sigmaX: p.sigmaX, sigmaY: p.sigmaY, rho: p.rho });
142
247
  const traits = persona.traits ?? {};
143
248
  const a11y = persona.accessibilityTraits ?? {};
144
- // Check for explicit tremor trait
145
- if (a11y.tremor) {
146
- return { ...KNOWN_POINTING_PROFILES.tremor };
147
- }
148
- // Check for persona name hints
249
+ if (a11y.tremor)
250
+ return of(KNOWN_POINTING_PROFILES.tremor);
149
251
  const name = (persona.name ?? '').toLowerCase();
150
- if (name.includes('tremor') || name.includes('parkinson')) {
151
- return { ...KNOWN_POINTING_PROFILES.tremor };
152
- }
153
- if (name.includes('elderly') || name.includes('senior') || name.includes('aging')) {
154
- return { ...KNOWN_POINTING_PROFILES.elderly };
155
- }
156
- if (name.includes('adhd')) {
157
- return { ...KNOWN_POINTING_PROFILES.adhd };
158
- }
159
- // Derive motorPrecision from available traits
160
- // motorPrecision is a composite of fine motor control indicators
252
+ if (name.includes('tremor') || name.includes('parkinson'))
253
+ return of(KNOWN_POINTING_PROFILES.tremor);
254
+ if (name.includes('elderly') || name.includes('senior') || name.includes('aging'))
255
+ return of(KNOWN_POINTING_PROFILES.elderly);
256
+ if (name.includes('adhd'))
257
+ return of(KNOWN_POINTING_PROFILES.adhd);
161
258
  const motorPrecision = traits.motorPrecision
162
259
  ?? (traits.proceduralFluency !== undefined && traits.patience !== undefined
163
- ? (traits.proceduralFluency * 0.6 + traits.patience * 0.4)
260
+ ? (traits.proceduralFluency * pp("profile.pointing.precision.proceduralFluencyWeight") + traits.patience * pp("profile.pointing.precision.patienceWeight"))
164
261
  : undefined);
165
- if (motorPrecision === undefined) {
166
- return { ...KNOWN_POINTING_PROFILES.neurotypical };
167
- }
168
- // Interpolate between profiles based on motorPrecision (0-1)
169
- // 1.0 = neurotypical, 0.0 = severe impairment (tremor)
262
+ if (motorPrecision === undefined)
263
+ return of(KNOWN_POINTING_PROFILES.neurotypical);
264
+ // 1.0 = neurotypical, 0.0 = the tremor profile's dispersion
170
265
  const clamped = Math.max(0, Math.min(1, motorPrecision));
171
266
  const neuro = KNOWN_POINTING_PROFILES.neurotypical;
172
267
  const impaired = KNOWN_POINTING_PROFILES.tremor;
@@ -174,7 +269,6 @@ export function getPointingProfile(persona) {
174
269
  sigmaX: neuro.sigmaX + (impaired.sigmaX - neuro.sigmaX) * (1 - clamped),
175
270
  sigmaY: neuro.sigmaY + (impaired.sigmaY - neuro.sigmaY) * (1 - clamped),
176
271
  rho: neuro.rho + (impaired.rho - neuro.rho) * (1 - clamped),
177
- throughput: neuro.throughput + (impaired.throughput - neuro.throughput) * (1 - clamped),
178
272
  };
179
273
  }
180
274
  /**
@@ -325,13 +419,24 @@ export function motorAccessibility(targets, persona) {
325
419
  * - Low vision: Legge et al. (2007) — central scotoma and crowding
326
420
  * - ADHD: Dhar et al. (2010) — intact decoding, reduced sustained attention
327
421
  * - Elderly: Rayner et al. (2006) — aging effects on eye movements
422
+ *
423
+ * The citations motivate a direction, not the numbers (provenance/profiles.ts
424
+ * records what a source check found). phonological and visualSpan, the two
425
+ * values the per-word rate reads, are registered; the other three are not.
328
426
  */
427
+ const readingProfile = (kind, rest) => ({
428
+ ...rest,
429
+ // The two values the per-word rate reads are registered (provenance/profiles.ts)
430
+ // and read at use, so an override reaches the profile.
431
+ get phonological() { return pp(`profile.reading.${kind}.phonological`); },
432
+ get visualSpan() { return pp(`profile.reading.${kind}.visualSpan`); },
433
+ });
329
434
  const KNOWN_READING_PROFILES = {
330
- neurotypical: { orthographic: 0.85, phonological: 0.80, visualSpan: 7, vocabulary: 0.75, crowding: 0.15 },
331
- dyslexic: { orthographic: 0.40, phonological: 0.35, visualSpan: 4, vocabulary: 0.65, crowding: 0.55 },
332
- lowVision: { orthographic: 0.60, phonological: 0.75, visualSpan: 3, vocabulary: 0.75, crowding: 0.70 },
333
- adhd: { orthographic: 0.80, phonological: 0.75, visualSpan: 6, vocabulary: 0.70, crowding: 0.20 },
334
- elderly: { orthographic: 0.70, phonological: 0.65, visualSpan: 5, vocabulary: 0.85, crowding: 0.30 },
435
+ neurotypical: readingProfile("neurotypical", { orthographic: 0.85, vocabulary: 0.75, crowding: 0.15 }),
436
+ dyslexic: readingProfile("dyslexic", { orthographic: 0.40, vocabulary: 0.65, crowding: 0.55 }),
437
+ lowVision: readingProfile("lowVision", { orthographic: 0.60, vocabulary: 0.75, crowding: 0.70 }),
438
+ adhd: readingProfile("adhd", { orthographic: 0.80, vocabulary: 0.70, crowding: 0.20 }),
439
+ elderly: readingProfile("elderly", { orthographic: 0.70, vocabulary: 0.85, crowding: 0.30 }),
335
440
  };
336
441
  /**
337
442
  * Derive a reading profile from persona traits.
@@ -375,17 +480,19 @@ export function getReadingProfile(persona) {
375
480
  if (name.includes('elderly') || name.includes('senior') || name.includes('aging')) {
376
481
  return { ...KNOWN_READING_PROFILES.elderly };
377
482
  }
378
- // Trait-based interpolation
483
+ // Trait-based interpolation, on textProcessing alone.
484
+ //
485
+ // `comprehension` left this interpolation in 21.0 (Stage C, decided
486
+ // 2026-10-23): it is grasp of UI conventions, not reading
487
+ // (trait-reference.ts), and reading it as decoding gave 20 built-in personas
488
+ // a profile interpolated toward the dyslexic one on how well they know
489
+ // hamburger menus. It weighed 0.4 beside textProcessing's 0.6, and stood in
490
+ // alone when textProcessing was absent, which is every built-in persona.
379
491
  const textProcessing = traits.textProcessing;
380
- const comprehension = traits.comprehension;
381
- if (textProcessing === undefined && comprehension === undefined) {
492
+ if (textProcessing === undefined) {
382
493
  return { ...KNOWN_READING_PROFILES.neurotypical };
383
494
  }
384
- // Use textProcessing as primary axis, comprehension as secondary
385
- const readingAbility = textProcessing !== undefined && comprehension !== undefined
386
- ? textProcessing * 0.6 + comprehension * 0.4
387
- : (textProcessing ?? comprehension ?? 0.75);
388
- const clamped = Math.max(0, Math.min(1, readingAbility));
495
+ const clamped = Math.max(0, Math.min(1, textProcessing));
389
496
  const neuro = KNOWN_READING_PROFILES.neurotypical;
390
497
  const impaired = KNOWN_READING_PROFILES.dyslexic;
391
498
  return {
@@ -450,8 +557,9 @@ export function computeReadingDifficulty(text, profile, textBlock) {
450
557
  const words = text.trim().split(/\s+/);
451
558
  const wordCount = Math.max(1, words.length);
452
559
  const penalties = [];
453
- // Base fixation duration: fluent adult reader (Rayner 2009)
454
- const baseFixation = 250; // ms per word
560
+ // Base time per word. Registered as a hypothesis: the 250 ms it holds is
561
+ // Rayner's (2009) fixation duration, not a per-word time.
562
+ const baseFixation = pp("profile.fixation.baseMs");
455
563
  // 1. Orthographic deficit: irregular words take longer to process
456
564
  // When orthographic route is impaired, the reader must fall back to
457
565
  // phonological decoding for irregular words, which is slower.
@@ -463,15 +571,16 @@ export function computeReadingDifficulty(text, profile, textBlock) {
463
571
  // 2. Phonological deficit: all words require phonological activation
464
572
  // Even for skilled readers, phonological codes are activated automatically.
465
573
  // Impaired phonological processing slows all word recognition.
466
- const phonoPenalty = (1 - profile.phonological) * 100;
574
+ const phonoPenalty = (1 - profile.phonological) * pp("profile.fixation.phonologicalMs");
467
575
  if (phonoPenalty > 10) {
468
576
  penalties.push(`phonological: +${Math.round(phonoPenalty)}ms`);
469
577
  }
470
- // 3. Visual span: fewer characters per fixation = more fixations per word
471
- // Normal visual span ~7 characters (Legge et al. 2007).
472
- // Reduced span means more saccades to read the same word.
473
- const spanRatio = 7 / profile.visualSpan;
474
- const spanPenalty = (spanRatio - 1) * 80;
578
+ // 3. Visual span: fewer characters per fixation = more fixations per word.
579
+ // The normal span (7) is registered; Legge et al. (2007) estimate about 9.
580
+ // Reduced span means more saccades to read the same word. Not clamped: a
581
+ // span above normal subtracts time.
582
+ const spanRatio = pp("profile.fixation.normalSpan") / profile.visualSpan;
583
+ const spanPenalty = (spanRatio - 1) * pp("profile.fixation.spanMs");
475
584
  if (spanPenalty > 5) {
476
585
  penalties.push(`visual span: +${Math.round(spanPenalty)}ms (${profile.visualSpan} chars/fixation)`);
477
586
  }
@@ -512,10 +621,15 @@ export function computeReadingDifficulty(text, profile, textBlock) {
512
621
  }
513
622
  // Total fixation duration per word
514
623
  const totalFixation = baseFixation + orthoPenalty + phonoPenalty + spanPenalty + vocabPenalty + crowdingPenalty + fontPenalty + contrastPenalty;
515
- // Words per minute
516
- const wpm = Math.round(60000 / totalFixation);
517
- // Normalize difficulty: 250ms = 0.0 (fluent), 750ms+ = 1.0 (severe)
518
- const difficulty = Math.max(0, Math.min(1, (totalFixation - 250) / 500));
624
+ // Words per minute, against the one reference reader: 238 wpm
625
+ // (law.reading.wpm) x the neurotypical profile's neutral per-word time over
626
+ // this block's, so a neurotypical reader on neutral text shows 238 and every
627
+ // penalty slows it from there. 60000 / totalFixation put that reader at 222
628
+ // wpm, because the fixation model's base is a fixation duration (250 ms), not
629
+ // a measured time per word.
630
+ const wpm = Math.round(pp("law.reading.wpm") * perWordMs(KNOWN_READING_PROFILES.neurotypical) / totalFixation);
631
+ // Normalize difficulty: the base time = 0.0 (fluent), base + 500ms+ = 1.0 (severe)
632
+ const difficulty = Math.max(0, Math.min(1, (totalFixation - baseFixation) / 500));
519
633
  return {
520
634
  difficulty: Math.round(difficulty * 10000) / 10000,
521
635
  fixationDuration: Math.round(totalFixation),
@@ -528,7 +642,7 @@ export function computeReadingDifficulty(text, profile, textBlock) {
528
642
  * threshold, so a component that evaluated to 0 is simply absent from it --
529
643
  * and absent is indistinguishable from not modelled at all. That is exactly
530
644
  * how `crowdingSensitivity` came to be reported as a trait that does
531
- * nothing: it is weighted at 0.15 in readingCapacityOf AND priced here, but
645
+ * nothing: it was weighted at 0.15 in readingCapacityOf (not since Stage B) AND priced here, but
532
646
  * Pelli's critical-spacing effect only begins below 16px, and every page
533
647
  * tested set its body text at 16px or larger. Measured on 13px text it
534
648
  * discriminates cleanly -- adhd +6ms, dyslexic +17ms, low-vision +21ms,
@@ -634,13 +748,26 @@ export { KNOWN_POINTING_PROFILES, KNOWN_READING_PROFILES };
634
748
  * dimensions ABSENT rather than defaulted, because a missing capacity is visible as a
635
749
  * gap while a defaulted one silently reads as average -- which is the exact failure
636
750
  * this function exists to end.
751
+ *
752
+ * Runs as persona-model work (model-provenance.ts, personaScope): the registered rates
753
+ * it reads describe the persona and are not counted in the block of whatever score is
754
+ * being computed. A tool reports the scored persona's rates on their own by wrapping
755
+ * this call in collectPersonaReads.
637
756
  */
638
- export function bridgeCapacityTraits(personaName, traits, accessibilityTraits) {
757
+ export function bridgeCapacityTraits(personaName, traits, accessibilityTraits, context = {}) {
758
+ return personaScope(() => bridge(personaName, traits, accessibilityTraits, context));
759
+ }
760
+ function bridge(personaName, traits, accessibilityTraits, context) {
639
761
  try {
640
- traits.readingCapacity = readingCapacityOf(getReadingProfile({ name: personaName, traits, accessibilityTraits }));
641
- const pointing = getPointingProfile({ name: personaName, traits });
762
+ const persona = { name: personaName, traits, accessibilityTraits, ...context };
763
+ // The persona's reading rate share (registered, stated, or a customRate
764
+ // rule) against the one reference reader, law.reading.wpm.
765
+ traits.readingCapacity = personaScope(() => readingCapacity(readingRateShare(persona) * pp("law.reading.wpm")));
766
+ // The accessibility traits go to the pointing profile too: without them a
767
+ // stated tremor never reached the motor capacity.
768
+ const pointing = getPointingProfile(persona);
642
769
  traits.motorCapacity = motorCapacityOf(pointing);
643
- traits.sustainedAttention = sustainedAttentionOf({ traits, accessibilityTraits });
770
+ traits.sustainedAttention = sustainedAttentionOf({ traits, accessibilityTraits: accessibilityTraits });
644
771
  return pointing;
645
772
  }
646
773
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"cognitive-models.js","sourceRoot":"","sources":["../../src/visual/cognitive-models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cognitive-models.js","sourceRoot":"","sources":["../../src/visual/cognitive-models.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAE3G;;;;;GAKG;AACH,MAAM,EAAE,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AAEjE,gCAAgC;AAEhC,uEAAuE;AACvE,6EAA6E;AAC7E,6EAA6E;AAC7E,6EAA6E;AAC7E,sDAAsD;AAEtD;;GAEG;AACH,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,8CAA8C;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAuB;IACvD,OAAO,YAAY,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAClG,CAAC;AAED;;;GAGG;AACH,SAAS,SAAS,CAAC,OAA4D;IAC7E,OAAO,EAAE,CAAC,yBAAyB,CAAC;UAChC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,iCAAiC,CAAC;UAClE,CAAC,EAAE,CAAC,6BAA6B,CAAC,GAAG,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,yBAAyB,CAAC,CAAC;AACnG,CAAC;AAED,2IAA2I;AAC3I,MAAM,UAAU,kBAAkB,CAAC,OAAuB;IACxD,OAAO,SAAS,CAAC,sBAAsB,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AAC7E,CAAC;AAaD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,eAAe,CAAC,OAAwB;IACtD,OAAO,YAAY,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAGpC;IACC,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,aAAa,CAAC;IAC1D,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACxE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnD,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC5E,OAAO,GAAG,CAAC;AACb,CAAC;AA6BD;;;;;;;;;;;;;;;;GAgBG;AACH;;;;;GAKG;AACH,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,UAAwB,EAAmB,EAAE,CAAC,CAAC;IACpF,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC,oBAAoB,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC7D,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC,oBAAoB,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC7D,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC,oBAAoB,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;IACxD,IAAI,UAAU,KAAK,OAAO,UAAU,EAAE,CAAC,CAAC,CAAC;CAC1C,CAAC,CAAC;AACH,MAAM,uBAAuB,GAAoC;IAC/D,YAAY,EAAE,eAAe,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,6BAA6B,CAAC,CAAC;IACtF,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,6BAA6B,CAAC,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC;IACrI,OAAO,EAAE,eAAe,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,qCAAqC,CAAC,CAAC;IACpF,IAAI,EAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,6BAA6B,CAAC,CAAC;CACvE,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAwB,EAAE,OAA+B;IAC7F,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,EAAE,GAAG,eAAe,IAAI,IAAI,OAAO,EAAE,CAAC;IAC5C,OAAO,EAAE,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC;AAUD,qGAAqG;AACrG,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAsE,CAAC;IAC/F,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QAC1E,QAAQ,EAAE,OAAO,CAAC,CAAC,YAAY,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;KAC/F,CAAC;AACJ,CAAC;AAUD;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAmB;IACnD,MAAM,UAAU,GAAG,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACnE,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,UAAU,CAAC;IAChD,MAAM,IAAI,GAAG,kBAAkB,CAAC;QAC9B,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAChF,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC;KACrD,CAAC,CAAC;IACH,OAAO,EAAE,CAAC,cAAc,IAAI,WAAW,CAAC,CAAC;AAC3C,CAAC;AAED,6EAA6E;AAC7E,MAAM,cAAc,GAAG,CAAC,qBAAqB,EAAE,sBAAsB,EAAE,YAAY,EAAE,mBAAmB,EAAE,qBAAqB,CAAU,CAAC;AAE1I;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAmB;IAClD,MAAM,UAAU,GAAG,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAClE,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,UAAU,CAAC;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,mBAAmB,IAAI,EAAE,CAAC;IAC/C,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC5D,OAAO,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAA8B,EAAE,CAAC,CAAC,CAAC;IACpJ,CAAC;IACD,OAAO,EAAE,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAmB;IACpD,OAAO,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,6BAA6B,CAAC,EAAE,CAAC;AACxH,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,OAAmB;IAC7C,MAAM,EAAE,GAAG,CAAC,CAAkB,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,OAAO,CAAC,mBAAmB,IAAI,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACrG,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC9H,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAEnE,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc;WACvC,CAAC,MAAM,CAAC,iBAAiB,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;YACzE,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC,oDAAoD,CAAC,GAAG,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC,2CAA2C,CAAC,CAAC;YAC3J,CAAC,CAAC,SAAS,CAAC,CAAC;IACjB,IAAI,cAAc,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAElF,4DAA4D;IAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,uBAAuB,CAAC,YAAY,CAAC;IACnD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,MAAM,CAAC;IAChD,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;QACvE,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;QACvE,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH;;;;;;;GAOG;AACH,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAExC,MAAM,UAAU,qBAAqB,CAAC,MAAqB,EAAE,OAAwB;IACnF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACjC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAExC,4BAA4B;IAC5B,IAAI,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACxC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAEzC,2BAA2B;IAC3B,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;IAEjC,mDAAmD;IACnD,wCAAwC;IACxC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAEjC,mDAAmD;IACnD,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,CAAC;IAE7B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;QACzB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,kEAAkE;IAClE,4EAA4E;IAC5E,6DAA6D;IAC7D,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;IAE3B,IAAI,EAAE,GAAG,KAAK,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAErD,qDAAqD;IACrD,EAAE;IACF,wEAAwE;IACxE,mDAAmD;IACnD,EAAE;IACF,yEAAyE;IACzE,yEAAyE;IACzE,EAAE;IACF,4EAA4E;IAC5E,2EAA2E;IAC3E,4EAA4E;IAC5E,wEAAwE;IACxE,8EAA8E;IAC9E,uEAAuE;IACvE,yEAAyE;IACzE,yEAAyE;IACzE,sCAAsC;IACtC,EAAE;IACF,sEAAsE;IACtE,2EAA2E;IAC3E,4EAA4E;IAC5E,6EAA6E;IAC7E,IAAI,UAAU,GAAG,0BAA0B,IAAI,UAAU,GAAG,CAAC,GAAG,0BAA0B,EAAE,CAAC;QAC3F,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,4EAA4E;IAC5E,8EAA8E;IAC9E,2EAA2E;IAC3E,4EAA4E;IAC5E,wEAAwE;IACxE,sCAAsC;IACtC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,KAAa,EAAE,UAAkB;IAClF,IAAI,QAAQ,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAE7D,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,iBAAiB,GAAG,IAAI,CAAC;AACrD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAwB,EACxB,OAIC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;IACvE,CAAC;IAED,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAEjE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QACpC,MAAM,cAAc,GAAG,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAE9D,sEAAsE;QACtE,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAE3F,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,GAAG,KAAK;YAC1D,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;YACtC,SAAS,EAAE,cAAc,GAAG,gBAAgB;SAC7C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;IAC9D,MAAM,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;IACpG,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;IAC7D,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;IAE9D,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;AAC1D,CAAC;AAqDD;;;;;;;;;;;;GAYG;AACH,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,IAAsE,EAAkB,EAAE,CAAC,CAAC;IAChI,GAAG,IAAI;IACP,iFAAiF;IACjF,uDAAuD;IACvD,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC,mBAAmB,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;IACzE,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC,mBAAmB,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;CACtE,CAAC,CAAC;AACH,MAAM,sBAAsB,GAAmC;IAC7D,YAAY,EAAE,cAAc,CAAC,cAAc,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACtG,QAAQ,EAAE,cAAc,CAAC,UAAU,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC9F,SAAS,EAAE,cAAc,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAChG,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACtF,OAAO,EAAE,cAAc,CAAC,SAAS,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CAC7F,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAmBjC;IACC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAE3C,+CAA+C;IAC/C,EAAE;IACF,yEAAyE;IACzE,4EAA4E;IAC5E,uEAAuE;IACvE,8DAA8D;IAC9D,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,GAAG,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/E,OAAO;YACL,YAAY,EAAE,MAAM,CAAC,mBAAmB,IAAI,IAAI,CAAC,YAAY;YAC7D,YAAY,EAAE,MAAM,CAAC,oBAAoB,IAAI,IAAI,CAAC,YAAY;YAC9D,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU;YAChD,UAAU,EAAE,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,UAAU;YACvD,QAAQ,EAAE,MAAM,CAAC,mBAAmB,IAAI,IAAI,CAAC,QAAQ;SACtD,CAAC;IACJ,CAAC;IAED,0CAA0C;IAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3D,OAAO,EAAE,GAAG,sBAAsB,CAAC,QAAQ,EAAE,CAAC;IAChD,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7F,OAAO,EAAE,GAAG,sBAAsB,CAAC,SAAS,EAAE,CAAC;IACjD,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAChE,OAAO,EAAE,GAAG,sBAAsB,CAAC,IAAI,EAAE,CAAC;IAC5C,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAClF,OAAO,EAAE,GAAG,sBAAsB,CAAC,OAAO,EAAE,CAAC;IAC/C,CAAC;IAED,sDAAsD;IACtD,EAAE;IACF,oEAAoE;IACpE,0DAA0D;IAC1D,6EAA6E;IAC7E,uEAAuE;IACvE,4EAA4E;IAC5E,yEAAyE;IACzE,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IAC7C,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,EAAE,GAAG,sBAAsB,CAAC,YAAY,EAAE,CAAC;IACpD,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IAEzD,MAAM,KAAK,GAAG,sBAAsB,CAAC,YAAY,CAAC;IAClD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,QAAQ,CAAC;IAEjD,OAAO;QACL,YAAY,EAAE,QAAQ,CAAC,YAAY,GAAG,CAAC,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,OAAO;QAC5F,YAAY,EAAE,QAAQ,CAAC,YAAY,GAAG,CAAC,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,OAAO;QAC5F,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;QAChG,UAAU,EAAE,QAAQ,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,OAAO;QACpF,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,CAAC,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;KAChF,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,iBAAiB,GAAG,kEAAkE,CAAC;AAE7F;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAEjC,kCAAkC;IAClC,iBAAiB,CAAC,SAAS,GAAG,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC9C,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,wBAAwB,CACtC,IAAY,EACZ,OAAuB,EACvB,SAAoB;IAapB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,yEAAyE;IACzE,0DAA0D;IAC1D,MAAM,YAAY,GAAG,EAAE,CAAC,yBAAyB,CAAC,CAAC;IAEnD,kEAAkE;IAClE,oEAAoE;IACpE,8DAA8D;IAC9D,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,kBAAkB,GAAG,GAAG,CAAC;IAC3E,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;QACtB,SAAS,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC5H,CAAC;IAED,qEAAqE;IACrE,4EAA4E;IAC5E,+DAA+D;IAC/D,MAAM,YAAY,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,iCAAiC,CAAC,CAAC;IACxF,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;QACtB,SAAS,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC;IAED,2EAA2E;IAC3E,2EAA2E;IAC3E,yEAAyE;IACzE,oCAAoC;IACpC,MAAM,SAAS,GAAG,EAAE,CAAC,6BAA6B,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IACzE,MAAM,WAAW,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,yBAAyB,CAAC,CAAC;IACpE,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACpB,SAAS,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,UAAU,kBAAkB,CAAC,CAAC;IACtG,CAAC;IAED,kEAAkE;IAClE,sEAAsE;IACtE,4CAA4C;IAC5C,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC;IAC9E,MAAM,YAAY,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACpF,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,yEAAyE;QACzE,0EAA0E;QAC1E,2EAA2E;QAC3E,+BAA+B;QAC/B,SAAS,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,uBAAuB,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACnH,CAAC;IAED,6DAA6D;IAC7D,uDAAuD;IACvD,sEAAsE;IACtE,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IACrF,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;QACxB,SAAS,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,SAAS,CAAC,QAAQ,UAAU,CAAC,CAAC;IAC/F,CAAC;IAED,yDAAyD;IACzD,oEAAoE;IACpE,sDAAsD;IACtD,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACpB,SAAS,CAAC,IAAI,CAAC,gBAAgB,WAAW,2BAA2B,CAAC,CAAC;IACzE,CAAC;IAED,gEAAgE;IAChE,sDAAsD;IACtD,gFAAgF;IAChF,MAAM,eAAe,GAAG,SAAS,CAAC,aAAa,GAAG,GAAG;QACnD,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE;QACtC,CAAC,CAAC,CAAC,CAAC;IACN,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;QACxB,SAAS,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACpH,CAAC;IAED,mCAAmC;IACnC,MAAM,aAAa,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,WAAW,GAAG,YAAY,GAAG,eAAe,GAAG,WAAW,GAAG,eAAe,CAAC;IAEhJ,8DAA8D;IAC9D,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,8EAA8E;IAC9E,4BAA4B;IAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC,sBAAsB,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC,CAAC;IAE/G,mFAAmF;IACnF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,aAAa,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAElF,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,KAAK;QAClD,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QAC3C,cAAc,EAAE,GAAG;QACnB,SAAS;QACT;;;;;;;;;;;;;;;;WAgBG;QACH,gBAAgB,EAAE;YAChB,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;YACxC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;YACxC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;YACxC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YACrC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;YACtC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;YACvC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YACpC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;SAC3C;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CACzB,MAAmB,EACnB,OAWC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;IACpD,CAAC;IAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAE3C,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QACjC,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,wBAAwB,CAC5G,KAAK,CAAC,IAAI,EACV,OAAO,EACP,KAAK,CACN,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;YAC7E,UAAU;YACV,gBAAgB;YAChB,cAAc;YACd,SAAS;YACT,gBAAgB;SACjB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,6DAA6D;IAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAC1E,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QACtD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;QAClD,OAAO,GAAG,GAAG,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC;IACrC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEN,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;IACnE,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;IAErE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;AACnD,CAAC;AAED,uBAAuB;AAEvB;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAwB,EACxB,UAAuB,EACvB,OAIC;IAOD,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAEjD,8EAA8E;IAC9E,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAC/C,GAAG,KAAK,CAAC;IAEV,6EAA6E;IAC7E,MAAM,qBAAqB,GAAG,IAAI,CAAC,KAAK,CACtC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,KAAK,CACjE,GAAG,KAAK,CAAC;IAEV,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,CAAC;AAClE,CAAC;AAED,4BAA4B;AAE5B,OAAO,EAAE,SAAS,IAAI,UAAU,EAAE,SAAS,IAAI,UAAU,EAAE,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,oBAAoB,CAClC,WAAmB,EACnB,MAA8B,EAC9B,mBAAsD,EACtD,UAA8B,EAAE;IAEhC,OAAO,YAAY,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,MAAM,CACb,WAAmB,EACnB,MAA8B,EAC9B,mBAAiE,EACjE,OAA2B;IAE3B,IAAI,CAAC;QACH,MAAM,OAAO,GAAe,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,EAAE,CAAC;QAC3F,wEAAwE;QACxE,2DAA2D;QAC3D,MAAM,CAAC,eAAe,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAChH,0EAA0E;QAC1E,kDAAkD;QAClD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,CAAC,aAAa,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,CAAC,kBAAkB,GAAG,oBAAoB,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,mBAA6D,EAAE,CAAC,CAAC;QACjJ,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,kCAAmC,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}