postext 1.25.5 → 1.26.1

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 (218) hide show
  1. package/dist/__tests__/cjk/headingNumberMark.test.d.ts +2 -0
  2. package/dist/__tests__/cjk/headingNumberMark.test.d.ts.map +1 -0
  3. package/dist/__tests__/cjk/headingNumberMark.test.js +108 -0
  4. package/dist/__tests__/cjk/headingNumberMark.test.js.map +1 -0
  5. package/dist/__tests__/cjk/japaneseDash.test.d.ts +2 -0
  6. package/dist/__tests__/cjk/japaneseDash.test.d.ts.map +1 -0
  7. package/dist/__tests__/cjk/japaneseDash.test.js +250 -0
  8. package/dist/__tests__/cjk/japaneseDash.test.js.map +1 -0
  9. package/dist/__tests__/cjk/japaneseSpacing.test.js +1 -1
  10. package/dist/__tests__/cjk/punctuation.test.js +5 -3
  11. package/dist/__tests__/cjk/punctuation.test.js.map +1 -1
  12. package/dist/__tests__/columnRuleBands.test.js +47 -0
  13. package/dist/__tests__/columnRuleBands.test.js.map +1 -1
  14. package/dist/__tests__/comics/canvas.test.js +38 -1
  15. package/dist/__tests__/comics/canvas.test.js.map +1 -1
  16. package/dist/__tests__/comics/html.test.js +16 -3
  17. package/dist/__tests__/comics/html.test.js.map +1 -1
  18. package/dist/__tests__/design/cjkDesignDash.test.js +7 -4
  19. package/dist/__tests__/design/cjkDesignDash.test.js.map +1 -1
  20. package/dist/__tests__/englishApostropheHyphenation.test.d.ts +2 -0
  21. package/dist/__tests__/englishApostropheHyphenation.test.d.ts.map +1 -0
  22. package/dist/__tests__/englishApostropheHyphenation.test.js +47 -0
  23. package/dist/__tests__/englishApostropheHyphenation.test.js.map +1 -0
  24. package/dist/__tests__/exports.test.js +1 -0
  25. package/dist/__tests__/exports.test.js.map +1 -1
  26. package/dist/__tests__/leaderMinRepeats.test.d.ts +2 -0
  27. package/dist/__tests__/leaderMinRepeats.test.d.ts.map +1 -0
  28. package/dist/__tests__/leaderMinRepeats.test.js +109 -0
  29. package/dist/__tests__/leaderMinRepeats.test.js.map +1 -0
  30. package/dist/__tests__/pipeline/footnoteRuntTracking.test.d.ts +2 -0
  31. package/dist/__tests__/pipeline/footnoteRuntTracking.test.d.ts.map +1 -0
  32. package/dist/__tests__/pipeline/footnoteRuntTracking.test.js +90 -0
  33. package/dist/__tests__/pipeline/footnoteRuntTracking.test.js.map +1 -0
  34. package/dist/__tests__/pipeline/orderedNumberAlign.test.d.ts +2 -0
  35. package/dist/__tests__/pipeline/orderedNumberAlign.test.d.ts.map +1 -0
  36. package/dist/__tests__/pipeline/orderedNumberAlign.test.js +108 -0
  37. package/dist/__tests__/pipeline/orderedNumberAlign.test.js.map +1 -0
  38. package/dist/__tests__/pipeline/trailingCapColumnNote.test.d.ts +2 -0
  39. package/dist/__tests__/pipeline/trailingCapColumnNote.test.d.ts.map +1 -0
  40. package/dist/__tests__/pipeline/trailingCapColumnNote.test.js +63 -0
  41. package/dist/__tests__/pipeline/trailingCapColumnNote.test.js.map +1 -0
  42. package/dist/__tests__/pipeline/trailingCapFloatHead.test.d.ts +2 -0
  43. package/dist/__tests__/pipeline/trailingCapFloatHead.test.d.ts.map +1 -0
  44. package/dist/__tests__/pipeline/trailingCapFloatHead.test.js +91 -0
  45. package/dist/__tests__/pipeline/trailingCapFloatHead.test.js.map +1 -0
  46. package/dist/__tests__/rtl/arabicLeadingNumbers.test.d.ts +2 -0
  47. package/dist/__tests__/rtl/arabicLeadingNumbers.test.d.ts.map +1 -0
  48. package/dist/__tests__/rtl/arabicLeadingNumbers.test.js +186 -0
  49. package/dist/__tests__/rtl/arabicLeadingNumbers.test.js.map +1 -0
  50. package/dist/__tests__/rtl/listMarkerDirection.test.d.ts +2 -0
  51. package/dist/__tests__/rtl/listMarkerDirection.test.d.ts.map +1 -0
  52. package/dist/__tests__/rtl/listMarkerDirection.test.js +197 -0
  53. package/dist/__tests__/rtl/listMarkerDirection.test.js.map +1 -0
  54. package/dist/__tests__/trackedLigatures.test.d.ts +2 -0
  55. package/dist/__tests__/trackedLigatures.test.d.ts.map +1 -0
  56. package/dist/__tests__/trackedLigatures.test.js +587 -0
  57. package/dist/__tests__/trackedLigatures.test.js.map +1 -0
  58. package/dist/__tests__/vectorRasterScale.test.d.ts +2 -0
  59. package/dist/__tests__/vectorRasterScale.test.d.ts.map +1 -0
  60. package/dist/__tests__/vectorRasterScale.test.js +304 -0
  61. package/dist/__tests__/vectorRasterScale.test.js.map +1 -0
  62. package/dist/bidi.d.ts +43 -3
  63. package/dist/bidi.d.ts.map +1 -1
  64. package/dist/bidi.js +29 -7
  65. package/dist/bidi.js.map +1 -1
  66. package/dist/canvas-backend/blockRender.d.ts.map +1 -1
  67. package/dist/canvas-backend/blockRender.js +43 -5
  68. package/dist/canvas-backend/blockRender.js.map +1 -1
  69. package/dist/canvas-backend/comic.d.ts +8 -4
  70. package/dist/canvas-backend/comic.d.ts.map +1 -1
  71. package/dist/canvas-backend/comic.js +13 -6
  72. package/dist/canvas-backend/comic.js.map +1 -1
  73. package/dist/canvas-backend/deviceScale.d.ts +31 -0
  74. package/dist/canvas-backend/deviceScale.d.ts.map +1 -0
  75. package/dist/canvas-backend/deviceScale.js +45 -0
  76. package/dist/canvas-backend/deviceScale.js.map +1 -0
  77. package/dist/canvas-backend/index.d.ts +5 -1
  78. package/dist/canvas-backend/index.d.ts.map +1 -1
  79. package/dist/canvas-backend/index.js.map +1 -1
  80. package/dist/canvas-backend/mirrorFrame.d.ts +14 -1
  81. package/dist/canvas-backend/mirrorFrame.d.ts.map +1 -1
  82. package/dist/canvas-backend/mirrorFrame.js +51 -7
  83. package/dist/canvas-backend/mirrorFrame.js.map +1 -1
  84. package/dist/canvas-backend/renderResourceBlock.d.ts +5 -3
  85. package/dist/canvas-backend/renderResourceBlock.d.ts.map +1 -1
  86. package/dist/canvas-backend/renderResourceBlock.js +39 -6
  87. package/dist/canvas-backend/renderResourceBlock.js.map +1 -1
  88. package/dist/canvas-backend/trackedText.d.ts +72 -0
  89. package/dist/canvas-backend/trackedText.d.ts.map +1 -0
  90. package/dist/canvas-backend/trackedText.js +166 -0
  91. package/dist/canvas-backend/trackedText.js.map +1 -0
  92. package/dist/canvas-backend/wordRuns.d.ts +6 -0
  93. package/dist/canvas-backend/wordRuns.d.ts.map +1 -1
  94. package/dist/canvas-backend/wordRuns.js +11 -1
  95. package/dist/canvas-backend/wordRuns.js.map +1 -1
  96. package/dist/columnRule.d.ts +2 -1
  97. package/dist/columnRule.d.ts.map +1 -1
  98. package/dist/columnRule.js +11 -3
  99. package/dist/columnRule.js.map +1 -1
  100. package/dist/comics/layoutPage.d.ts.map +1 -1
  101. package/dist/comics/layoutPage.js +54 -2
  102. package/dist/comics/layoutPage.js.map +1 -1
  103. package/dist/comics/lettering/__tests__/ellipsisFace.test.d.ts +2 -0
  104. package/dist/comics/lettering/__tests__/ellipsisFace.test.d.ts.map +1 -0
  105. package/dist/comics/lettering/__tests__/ellipsisFace.test.js +54 -0
  106. package/dist/comics/lettering/__tests__/ellipsisFace.test.js.map +1 -0
  107. package/dist/comics/lettering/__tests__/polish.test.js +8 -0
  108. package/dist/comics/lettering/__tests__/polish.test.js.map +1 -1
  109. package/dist/comics/lettering/__tests__/round4.test.d.ts +2 -0
  110. package/dist/comics/lettering/__tests__/round4.test.d.ts.map +1 -0
  111. package/dist/comics/lettering/__tests__/round4.test.js +212 -0
  112. package/dist/comics/lettering/__tests__/round4.test.js.map +1 -0
  113. package/dist/comics/lettering/letter.js +2 -2
  114. package/dist/comics/lettering/letter.js.map +1 -1
  115. package/dist/comics/lettering/placement.d.ts +10 -3
  116. package/dist/comics/lettering/placement.d.ts.map +1 -1
  117. package/dist/comics/lettering/placement.js +162 -22
  118. package/dist/comics/lettering/placement.js.map +1 -1
  119. package/dist/comics/lettering/text.d.ts.map +1 -1
  120. package/dist/comics/lettering/text.js +25 -3
  121. package/dist/comics/lettering/text.js.map +1 -1
  122. package/dist/comics/lettering/types.d.ts +29 -2
  123. package/dist/comics/lettering/types.d.ts.map +1 -1
  124. package/dist/defaults/orderedLists.d.ts +1 -0
  125. package/dist/defaults/orderedLists.d.ts.map +1 -1
  126. package/dist/defaults/orderedLists.js +7 -0
  127. package/dist/defaults/orderedLists.js.map +1 -1
  128. package/dist/design/bidiText.d.ts +5 -2
  129. package/dist/design/bidiText.d.ts.map +1 -1
  130. package/dist/design/bidiText.js +7 -4
  131. package/dist/design/bidiText.js.map +1 -1
  132. package/dist/design/layout.d.ts +5 -0
  133. package/dist/design/layout.d.ts.map +1 -1
  134. package/dist/design/layout.js +1 -1
  135. package/dist/design/layout.js.map +1 -1
  136. package/dist/html-backend.d.ts.map +1 -1
  137. package/dist/html-backend.js +32 -6
  138. package/dist/html-backend.js.map +1 -1
  139. package/dist/htmlComic.d.ts +2 -1
  140. package/dist/htmlComic.d.ts.map +1 -1
  141. package/dist/htmlComic.js +14 -1
  142. package/dist/htmlComic.js.map +1 -1
  143. package/dist/hyphenate.d.ts.map +1 -1
  144. package/dist/hyphenate.js +52 -0
  145. package/dist/hyphenate.js.map +1 -1
  146. package/dist/index.d.ts +3 -3
  147. package/dist/index.d.ts.map +1 -1
  148. package/dist/index.js +1 -1
  149. package/dist/index.js.map +1 -1
  150. package/dist/math/rasterCache.d.ts +7 -1
  151. package/dist/math/rasterCache.d.ts.map +1 -1
  152. package/dist/math/rasterCache.js +23 -11
  153. package/dist/math/rasterCache.js.map +1 -1
  154. package/dist/measure/bidiLines.d.ts +8 -0
  155. package/dist/measure/bidiLines.d.ts.map +1 -1
  156. package/dist/measure/bidiLines.js +13 -0
  157. package/dist/measure/bidiLines.js.map +1 -1
  158. package/dist/measure/cache.d.ts.map +1 -1
  159. package/dist/measure/cache.js +5 -3
  160. package/dist/measure/cache.js.map +1 -1
  161. package/dist/measure/cjkCompose.d.ts +10 -0
  162. package/dist/measure/cjkCompose.d.ts.map +1 -1
  163. package/dist/measure/cjkCompose.js +95 -19
  164. package/dist/measure/cjkCompose.js.map +1 -1
  165. package/dist/measure/cjkPunctuation.d.ts +10 -0
  166. package/dist/measure/cjkPunctuation.d.ts.map +1 -1
  167. package/dist/measure/cjkPunctuation.js +18 -1
  168. package/dist/measure/cjkPunctuation.js.map +1 -1
  169. package/dist/measure/hardBreaks.d.ts.map +1 -1
  170. package/dist/measure/hardBreaks.js +4 -1
  171. package/dist/measure/hardBreaks.js.map +1 -1
  172. package/dist/measure/leader.d.ts +6 -1
  173. package/dist/measure/leader.d.ts.map +1 -1
  174. package/dist/measure/leader.js +8 -3
  175. package/dist/measure/leader.js.map +1 -1
  176. package/dist/measure/plain.d.ts.map +1 -1
  177. package/dist/measure/plain.js +4 -2
  178. package/dist/measure/plain.js.map +1 -1
  179. package/dist/measure/rich.d.ts.map +1 -1
  180. package/dist/measure/rich.js +7 -4
  181. package/dist/measure/rich.js.map +1 -1
  182. package/dist/measure/types.d.ts +7 -0
  183. package/dist/measure/types.d.ts.map +1 -1
  184. package/dist/measure/types.js.map +1 -1
  185. package/dist/pipeline/build.d.ts.map +1 -1
  186. package/dist/pipeline/build.js +38 -5
  187. package/dist/pipeline/build.js.map +1 -1
  188. package/dist/pipeline/buildBlockKind.d.ts +5 -0
  189. package/dist/pipeline/buildBlockKind.d.ts.map +1 -1
  190. package/dist/pipeline/buildBlockKind.js +1 -0
  191. package/dist/pipeline/buildBlockKind.js.map +1 -1
  192. package/dist/pipeline/calloutLayout.d.ts.map +1 -1
  193. package/dist/pipeline/calloutLayout.js +8 -4
  194. package/dist/pipeline/calloutLayout.js.map +1 -1
  195. package/dist/pipeline/citations.d.ts.map +1 -1
  196. package/dist/pipeline/citations.js +52 -6
  197. package/dist/pipeline/citations.js.map +1 -1
  198. package/dist/pipeline/config.d.ts +6 -0
  199. package/dist/pipeline/config.d.ts.map +1 -1
  200. package/dist/pipeline/config.js +12 -1
  201. package/dist/pipeline/config.js.map +1 -1
  202. package/dist/pipeline/headerFooter.d.ts +2 -0
  203. package/dist/pipeline/headerFooter.d.ts.map +1 -1
  204. package/dist/pipeline/headerFooter.js +3 -1
  205. package/dist/pipeline/headerFooter.js.map +1 -1
  206. package/dist/pipeline/lists.d.ts +8 -0
  207. package/dist/pipeline/lists.d.ts.map +1 -1
  208. package/dist/pipeline/lists.js +18 -1
  209. package/dist/pipeline/lists.js.map +1 -1
  210. package/dist/pipeline/measureContentBlock.d.ts.map +1 -1
  211. package/dist/pipeline/measureContentBlock.js +3 -0
  212. package/dist/pipeline/measureContentBlock.js.map +1 -1
  213. package/dist/types.d.ts +13 -0
  214. package/dist/types.d.ts.map +1 -1
  215. package/dist/vdt.d.ts +9 -0
  216. package/dist/vdt.d.ts.map +1 -1
  217. package/dist/vdt.js.map +1 -1
  218. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/canvas-backend/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/canvas-backend/index.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,10 @@
16
16
  * painter sets right to left (`ctx.direction = 'rtl'`) is turned about the
17
17
  * box its direction and alignment give it, and shapes as it would on a
18
18
  * left-to-right page. A formula drawn as paths rather than a bitmap asks
19
- * {@link counterFlipBox} itself.
19
+ * {@link counterFlipBox} itself, and a word painted with several
20
+ * `fillText`s (a tracked word in pieces, #663) asks {@link paintAsOneRun}:
21
+ * turned piece by piece, its pieces would stand in the mirror's order
22
+ * ("five" as "vefi", #685).
20
23
  *
21
24
  * The interception is an own property on the context instance, set for
22
25
  * the flow pass and removed after it: running heads, folios and crop marks
@@ -28,6 +31,16 @@ export declare function mirroredPaintActive(): boolean;
28
31
  * the layout put it and its content reads unmirrored. Outside a mirrored
29
32
  * frame it just paints. */
30
33
  export declare function counterFlipBox(ctx: CanvasRenderingContext2D, left: number, width: number, paint: () => void): void;
34
+ /**
35
+ * Paint, with `paint`, a run made of several `fillText`s (the pieces of a
36
+ * word) whose box is `[left, left + width]`: inside a mirrored frame the
37
+ * run is turned back once, about that box, and each call of `paint` lands
38
+ * as on a left-to-right page, so the pieces keep their reading order and
39
+ * their places in the run. Turned one by one, each about its own box, they
40
+ * would stand where the mirror puts them: the first at the right end.
41
+ * Outside a mirrored frame it just paints.
42
+ */
43
+ export declare function paintAsOneRun(ctx: CanvasRenderingContext2D, left: number, width: number, paint: () => void): void;
31
44
  /**
32
45
  * Begin painting the flow of a page mirrored about `originX` (its
33
46
  * `flow.mirror.originX`): saves the context, applies the frame and turns
@@ -1 +1 @@
1
- {"version":3,"file":"mirrorFrame.d.ts","sourceRoot":"","sources":["../../src/canvas-backend/mirrorFrame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAMH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAiBD;;;4BAG4B;AAC5B,wBAAgB,cAAc,CAAC,GAAG,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,GAAG,IAAI,CAalH;AAWD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,wBAAwB,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,IAAI,CAyC5F"}
1
+ {"version":3,"file":"mirrorFrame.d.ts","sourceRoot":"","sources":["../../src/canvas-backend/mirrorFrame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAMH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAsBD;;;4BAG4B;AAC5B,wBAAgB,cAAc,CAAC,GAAG,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,GAAG,IAAI,CAalH;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,GAAG,IAAI,CAWjH;AAWD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,wBAAwB,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,IAAI,CAwD5F"}
@@ -16,7 +16,10 @@
16
16
  * painter sets right to left (`ctx.direction = 'rtl'`) is turned about the
17
17
  * box its direction and alignment give it, and shapes as it would on a
18
18
  * left-to-right page. A formula drawn as paths rather than a bitmap asks
19
- * {@link counterFlipBox} itself.
19
+ * {@link counterFlipBox} itself, and a word painted with several
20
+ * `fillText`s (a tracked word in pieces, #663) asks {@link paintAsOneRun}:
21
+ * turned piece by piece, its pieces would stand in the mirror's order
22
+ * ("five" as "vefi", #685).
20
23
  *
21
24
  * The interception is an own property on the context instance, set for
22
25
  * the flow pass and removed after it: running heads, folios and crop marks
@@ -28,6 +31,10 @@ let active = 0;
28
31
  export function mirroredPaintActive() {
29
32
  return active > 0;
30
33
  }
34
+ /** Whether a run painted in several calls is being painted (see
35
+ * {@link paintAsOneRun}): the frame turned the whole of it back, so the
36
+ * calls inside paint as on a left-to-right page. */
37
+ let whole = 0;
31
38
  const PATCHED = ['fillText', 'strokeText', 'drawImage'];
32
39
  /** Left edge and width of the run `text` painted at `x` with the context's
33
40
  * alignment and direction. */
@@ -60,6 +67,28 @@ export function counterFlipBox(ctx, left, width, paint) {
60
67
  ctx.restore();
61
68
  }
62
69
  }
70
+ /**
71
+ * Paint, with `paint`, a run made of several `fillText`s (the pieces of a
72
+ * word) whose box is `[left, left + width]`: inside a mirrored frame the
73
+ * run is turned back once, about that box, and each call of `paint` lands
74
+ * as on a left-to-right page, so the pieces keep their reading order and
75
+ * their places in the run. Turned one by one, each about its own box, they
76
+ * would stand where the mirror puts them: the first at the right end.
77
+ * Outside a mirrored frame it just paints.
78
+ */
79
+ export function paintAsOneRun(ctx, left, width, paint) {
80
+ if (!mirroredPaintActive() || whole > 0) {
81
+ paint();
82
+ return;
83
+ }
84
+ whole++;
85
+ try {
86
+ counterFlipBox(ctx, left, width, paint);
87
+ }
88
+ finally {
89
+ whole--;
90
+ }
91
+ }
63
92
  /** Width of an image source as `drawImage` with no size takes it. */
64
93
  function sourceWidth(image) {
65
94
  const s = image;
@@ -88,24 +117,39 @@ export function beginMirroredFlow(ctx, originX) {
88
117
  const drawImage = ctx.drawImage;
89
118
  const target = ctx;
90
119
  target.fillText = function (text, x, y, maxWidth) {
91
- const { left, width } = runBox(ctx, text, x, maxWidth);
92
- counterFlipBox(ctx, left, width, () => {
120
+ const put = () => {
93
121
  if (maxWidth === undefined)
94
122
  fillText.call(ctx, text, x, y);
95
123
  else
96
124
  fillText.call(ctx, text, x, y, maxWidth);
97
- });
125
+ };
126
+ // A piece of a run already turned back (`paintAsOneRun`).
127
+ if (whole > 0) {
128
+ put();
129
+ return;
130
+ }
131
+ const { left, width } = runBox(ctx, text, x, maxWidth);
132
+ counterFlipBox(ctx, left, width, put);
98
133
  };
99
134
  target.strokeText = function (text, x, y, maxWidth) {
100
- const { left, width } = runBox(ctx, text, x, maxWidth);
101
- counterFlipBox(ctx, left, width, () => {
135
+ const put = () => {
102
136
  if (maxWidth === undefined)
103
137
  strokeText.call(ctx, text, x, y);
104
138
  else
105
139
  strokeText.call(ctx, text, x, y, maxWidth);
106
- });
140
+ };
141
+ if (whole > 0) {
142
+ put();
143
+ return;
144
+ }
145
+ const { left, width } = runBox(ctx, text, x, maxWidth);
146
+ counterFlipBox(ctx, left, width, put);
107
147
  };
108
148
  target.drawImage = function (...args) {
149
+ if (whole > 0) {
150
+ drawImage.apply(ctx, args);
151
+ return;
152
+ }
109
153
  const image = args[0];
110
154
  // drawImage(image, dx, dy[, dw, dh]) or (image, sx, sy, sw, sh, dx, dy, dw, dh).
111
155
  const dx = (args.length >= 9 ? args[5] : args[1]);
@@ -1 +1 @@
1
- {"version":3,"file":"mirrorFrame.js","sourceRoot":"","sources":["../../src/canvas-backend/mirrorFrame.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mirrorFrame.js","sourceRoot":"","sources":["../../src/canvas-backend/mirrorFrame.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ export type ResourceImageSource = CanvasImageSource;
18
18
  export interface RegisterResourceImageOptions {
19
19
  /** The source is vector art (an SVG `<img>`): every `drawImage` of it
20
20
  * re-rasterises the document, so the backend rasterises it once at each
21
- * placed pixel size and blits the bitmap thereafter (see
21
+ * size it shows at in device pixels and blits the bitmap thereafter (see
22
22
  * {@link drawResourceImage}). Defaults to true for an `HTMLImageElement`
23
23
  * — the host decodes rasters through `createImageBitmap`. */
24
24
  vector?: boolean;
@@ -68,8 +68,10 @@ export interface ImageInk {
68
68
  svg?: boolean;
69
69
  }
70
70
  /** Draw the registered image of `fileId` into the box, through the raster
71
- * cache for vector sources — tinted to the document's ink for a raw SVG
72
- * picture of a single-ink document (see {@link ImageInk}). Returns false
71
+ * cache for vector sources — rasterised at the size the box has on the
72
+ * device under the context's transform ({@link vectorRasterSize}), tinted
73
+ * to the document's ink for a raw SVG picture of a single-ink document
74
+ * (see {@link ImageInk}). Returns false
73
75
  * when nothing is registered, so the caller can paint its placeholder (the
74
76
  * miss goes to the render's {@link MissingImageSink}, with `resourceId`
75
77
  * when the caller knows it). */
@@ -1 +1 @@
1
- {"version":3,"file":"renderResourceBlock.d.ts","sourceRoot":"","sources":["../../src/canvas-backend/renderResourceBlock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAkC,cAAc,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAgBzG,0DAA0D;AAC1D,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAEpD,MAAM,WAAW,4BAA4B;IAC3C;;;;kEAI8D;IAC9D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;;;;;;;6CAYyC;IACzC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAyBD,4DAA4D;AAC5D,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,mBAAmB,EAC1B,OAAO,CAAC,EAAE,4BAA4B,GACrC,IAAI,CAUN;AAED,iEAAiE;AACjE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAG5D;AAED,uCAAuC;AACvC,wBAAgB,mBAAmB,IAAI,IAAI,CAI1C;AAED;gCACgC;AAChC,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAEhF;AAED;;mEAEmE;AACnE,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAG7E;iCACiC;AACjC,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,GAAG,gBAAgB,GAAG,IAAI,CAI1F;AAOD;2CAC2C;AAC3C,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAIrD;AAgGD,sEAAsE;AACtE,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAED;;;;gBAIgB;AAChB,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAYD;;;;;iCAKiC;AACjC,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,wBAAwB,EAC7B,MAAM,EAAE,MAAM,EACd,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,GAAG,CAAC,EAAE,QAAQ,EACd,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAmBT;AA6ID;;;yCAGyC;AACzC,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,wBAAwB,EAC7B,KAAK,EAAE,gBAAgB,EACvB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACT,IAAI,CAyDN;AAwBD,sEAAsE;AACtE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,wBAAwB,EAAE,CAAC,EAAE,cAAc,GAAG,IAAI,CAczF;AAsID,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,wBAAwB,EAC7B,KAAK,EAAE,QAAQ;AACf,mEAAmE;AACnE,MAAM,GAAE,MAAM,GAAG,IAAW,GAC3B,IAAI,CAkFN"}
1
+ {"version":3,"file":"renderResourceBlock.d.ts","sourceRoot":"","sources":["../../src/canvas-backend/renderResourceBlock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAkC,cAAc,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAiBzG,0DAA0D;AAC1D,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAEpD,MAAM,WAAW,4BAA4B;IAC3C;;;;kEAI8D;IAC9D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;;;;;;;6CAYyC;IACzC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAyBD,4DAA4D;AAC5D,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,mBAAmB,EAC1B,OAAO,CAAC,EAAE,4BAA4B,GACrC,IAAI,CAUN;AAED,iEAAiE;AACjE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAG5D;AAED,uCAAuC;AACvC,wBAAgB,mBAAmB,IAAI,IAAI,CAI1C;AAED;gCACgC;AAChC,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAEhF;AAED;;mEAEmE;AACnE,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAG7E;iCACiC;AACjC,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,GAAG,gBAAgB,GAAG,IAAI,CAI1F;AAOD;2CAC2C;AAC3C,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAIrD;AA2GD,sEAAsE;AACtE,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAkCD;;;;gBAIgB;AAChB,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAYD;;;;;;;iCAOiC;AACjC,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,wBAAwB,EAC7B,MAAM,EAAE,MAAM,EACd,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,GAAG,CAAC,EAAE,QAAQ,EACd,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAoBT;AA6ID;;;yCAGyC;AACzC,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,wBAAwB,EAC7B,KAAK,EAAE,gBAAgB,EACvB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACT,IAAI,CAyDN;AAwBD,sEAAsE;AACtE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,wBAAwB,EAAE,CAAC,EAAE,cAAc,GAAG,IAAI,CAczF;AAsID,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,wBAAwB,EAC7B,KAAK,EAAE,QAAQ;AACf,mEAAmE;AACnE,MAAM,GAAE,MAAM,GAAG,IAAW,GAC3B,IAAI,CAkFN"}
@@ -26,6 +26,7 @@ import { fillSegmentWord } from './wordRuns';
26
26
  import { uncroppedPictureBox } from '../pipeline/safeArea';
27
27
  import { mirroredPaintActive } from './mirrorFrame';
28
28
  import { paintKunten, paintLineMarks, paintRuby, paintWarichu } from './annotations';
29
+ import { rasterScaleOf } from './deviceScale';
29
30
  /** Module-level registry of decoded images, keyed by `fileId`. The sandbox
30
31
  * decodes blobs (createImageBitmap for bitmaps; an `<img>`/offscreen canvas
31
32
  * for SVGs) once and registers them here before rendering a page. */
@@ -95,6 +96,10 @@ const RASTER_CACHE_MAX_BYTES = 256 * 1024 * 1024;
95
96
  /** Above this many device pixels on a side the draw stays direct — a bitmap
96
97
  * that large would evict everything else for one figure. */
97
98
  const RASTER_MAX_SIDE = 8192;
99
+ /** The most a bitmap larger than the figure's page pixels may take: a
100
+ * quarter of the cache (a 4096 px square), so a deep zoom into a large
101
+ * figure does not allocate hundreds of megabytes for it. */
102
+ const RASTER_SCALED_MAX_BYTES = RASTER_CACHE_MAX_BYTES / 4;
98
103
  function dropRasters(fileId) {
99
104
  for (const [key, entry] of rasterCache) {
100
105
  if (entry.fileId !== fileId)
@@ -167,6 +172,31 @@ function getVectorRaster(fileId, image, w, h, inkHex = null) {
167
172
  export function resourceRasterCacheBytes() {
168
173
  return rasterBytes;
169
174
  }
175
+ /**
176
+ * The bitmap size of a vector picture placed `w`×`h` page pixels on `ctx`:
177
+ * the box in device pixels under the context's transform, never smaller
178
+ * than the box in page pixels ({@link rasterScaleOf}). A bitmap above the
179
+ * page size that would pass the bound ({@link RASTER_MAX_SIDE},
180
+ * {@link RASTER_SCALED_MAX_BYTES}) is not made: null, and the caller draws
181
+ * the source, which the canvas rasterises at the device size on its own. A
182
+ * picture that needs its pixels (`pixels`: the single-ink tint) takes the
183
+ * largest bitmap the bound allows instead.
184
+ */
185
+ function vectorRasterSize(ctx, w, h, pixels) {
186
+ const pw = Math.round(w);
187
+ const ph = Math.round(h);
188
+ const s = rasterScaleOf(ctx);
189
+ if (s.x === 1 && s.y === 1)
190
+ return [pw, ph];
191
+ const dw = Math.round(w * s.x);
192
+ const dh = Math.round(h * s.y);
193
+ const fit = Math.min(1, RASTER_MAX_SIDE / Math.max(dw, dh, 1), Math.sqrt(RASTER_SCALED_MAX_BYTES / (Math.max(dw, 1) * Math.max(dh, 1) * 4)));
194
+ if (fit >= 1)
195
+ return [dw, dh];
196
+ if (!pixels)
197
+ return null;
198
+ return [Math.max(pw, Math.floor(dw * fit)), Math.max(ph, Math.floor(dh * fit))];
199
+ }
170
200
  /** Whether a registered picture takes the ink: never a bitmap, never one
171
201
  * its host recoloured (`singleInk: false`), one registered without a flag
172
202
  * only when the render asks ({@link tintUnflagged}); then an SVG always,
@@ -178,8 +208,10 @@ function takesInk(entry, ink) {
178
208
  return ink.svg === true || entry.singleInk === true || entry.vector;
179
209
  }
180
210
  /** Draw the registered image of `fileId` into the box, through the raster
181
- * cache for vector sources — tinted to the document's ink for a raw SVG
182
- * picture of a single-ink document (see {@link ImageInk}). Returns false
211
+ * cache for vector sources — rasterised at the size the box has on the
212
+ * device under the context's transform ({@link vectorRasterSize}), tinted
213
+ * to the document's ink for a raw SVG picture of a single-ink document
214
+ * (see {@link ImageInk}). Returns false
183
215
  * when nothing is registered, so the caller can paint its placeholder (the
184
216
  * miss goes to the render's {@link MissingImageSink}, with `resourceId`
185
217
  * when the caller knows it). */
@@ -191,10 +223,11 @@ export function drawResourceImage(ctx, fileId, x, y, w, h, ink, resourceId) {
191
223
  }
192
224
  const inkHex = takesInk(entry, ink) ? ink.inkHex : null;
193
225
  if (entry.vector || inkHex) {
194
- // The page canvas is 1 device px per page px (no transform), so the
195
- // placed box rounded to whole pixels is the bitmap size the figure
196
- // shows at.
197
- const raster = getVectorRaster(fileId, entry.image, Math.round(w), Math.round(h), inkHex);
226
+ // A vector source takes the size the box shows at on the device; a
227
+ // bitmap tinted here has no more pixels to give than its own, and keeps
228
+ // the box in page pixels.
229
+ const size = entry.vector ? vectorRasterSize(ctx, w, h, inkHex !== null) : [Math.round(w), Math.round(h)];
230
+ const raster = size ? getVectorRaster(fileId, entry.image, size[0], size[1], inkHex) : null;
198
231
  if (raster) {
199
232
  ctx.drawImage(raster, x, y, w, h);
200
233
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"renderResourceBlock.js","sourceRoot":"","sources":["../../src/canvas-backend/renderResourceBlock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderResourceBlock.js","sourceRoot":"","sources":["../../src/canvas-backend/renderResourceBlock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAgB,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAkC9C;;sEAEsE;AACtE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAyB,CAAC;AAEvD,SAAS,cAAc,CAAC,KAA0B;IAChD,OAAO,OAAO,gBAAgB,KAAK,WAAW,IAAI,KAAK,YAAY,gBAAgB,CAAC;AACtF,CAAC;AAED;;4DAE4D;AAC5D,SAAS,gBAAgB,CAAC,KAA0B;IAClD,MAAM,GAAG,GAAI,KAA2B,CAAC,GAAG,CAAC;IAC7C,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,qBAAqB,CACnC,MAAc,EACd,KAA0B,EAC1B,OAAsC;IAEtC,uEAAuE;IACvE,iBAAiB;IACjB,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC;IACvE,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE;QACxB,KAAK;QACL,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,cAAc,CAAC,KAAK,CAAC;QAChD,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClD,CAAC,CAAC;IACH,WAAW,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,uBAAuB,CAAC,MAAc;IACpD,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7B,WAAW,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,mBAAmB;IACjC,aAAa,CAAC,KAAK,EAAE,CAAC;IACtB,WAAW,CAAC,KAAK,EAAE,CAAC;IACpB,WAAW,GAAG,CAAC,CAAC;AAClB,CAAC;AAED;gCACgC;AAChC,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;AAC1C,CAAC;AAMD,IAAI,gBAAgB,GAA4B,IAAI,CAAC;AAErD;iCACiC;AACjC,MAAM,UAAU,mBAAmB,CAAC,IAA6B;IAC/D,MAAM,QAAQ,GAAG,gBAAgB,CAAC;IAClC,gBAAgB,GAAG,IAAI,CAAC;IACxB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;uEAEuE;AACvE,IAAI,aAAa,GAAG,KAAK,CAAC;AAE1B;2CAC2C;AAC3C,MAAM,UAAU,gBAAgB,CAAC,EAAW;IAC1C,MAAM,QAAQ,GAAG,aAAa,CAAC;IAC/B,aAAa,GAAG,EAAE,CAAC;IACnB,OAAO,QAAQ,CAAC;AAClB,CAAC;AA+BD,2EAA2E;AAC3E,MAAM,WAAW,GAAG,IAAI,GAAG,EAAuB,CAAC;AACnD,IAAI,WAAW,GAAG,CAAC,CAAC;AACpB,0EAA0E;AAC1E,MAAM,sBAAsB,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AACjD;6DAC6D;AAC7D,MAAM,eAAe,GAAG,IAAI,CAAC;AAC7B;;6DAE6D;AAC7D,MAAM,uBAAuB,GAAG,sBAAsB,GAAG,CAAC,CAAC;AAE3D,SAAS,WAAW,CAAC,MAAc;IACjC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC;QACvC,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM;YAAE,SAAS;QACtC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,WAAW,IAAI,KAAK,CAAC,KAAK,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,CAAS,EAAE,CAAS;IAC9C,IAAI,OAAO,eAAe,KAAK,WAAW;QAAE,OAAO,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7E,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QACZ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACb,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,MAAc;IACpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC;QACvC,IAAI,WAAW,IAAI,MAAM;YAAE,OAAO;QAClC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,WAAW,IAAI,KAAK,CAAC,KAAK,CAAC;IAC7B,CAAC;AACH,CAAC;AAED;;;;iDAIiD;AACjD,SAAS,eAAe,CAAC,MAAc,EAAE,KAA0B,EAAE,CAAS,EAAE,CAAS,EAAE,SAAwB,IAAI;IACrH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,eAAe,IAAI,CAAC,GAAG,eAAe;QAAE,OAAO,IAAI,CAAC;IAChF,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC7E,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,GAAG,EAAE,CAAC;QACR,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1B,OAAO,GAAG,CAAC,MAAM,CAAC;IACpB,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,IAAI,KAAK,GAAG,sBAAsB;QAAE,OAAO,IAAI,CAAC;IAChD,MAAM,MAAM,GAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAwE,CAAC;IAC3G,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,CAAC;QACH,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACjC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC9D,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,cAAc,CAAC,sBAAsB,GAAG,KAAK,CAAC,CAAC;IAC/C,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAChD,WAAW,IAAI,KAAK,CAAC;IACrB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,wBAAwB;IACtC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,gBAAgB,CACvB,GAA6B,EAC7B,CAAS,EACT,CAAS,EACT,MAAe;IAEf,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAClB,CAAC,EACD,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EACrC,IAAI,CAAC,IAAI,CAAC,uBAAuB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAC7E,CAAC;IACF,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9B,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC;AAYD;;;;yBAIyB;AACzB,SAAS,QAAQ,CAAC,KAAoB,EAAE,GAAyB;IAC/D,IAAI,CAAC,GAAG,EAAE,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,aAAa,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3F,OAAO,GAAG,CAAC,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC;AACtE,CAAC;AAED;;;;;;;iCAOiC;AACjC,MAAM,UAAU,iBAAiB,CAC/B,GAA6B,EAC7B,MAAc,EACd,CAAS,EACT,CAAS,EACT,CAAS,EACT,CAAS,EACT,GAAc,EACd,UAAmB;IAEnB,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,gBAAgB,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,IAAI,KAAK,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;QAC3B,mEAAmE;QACnE,wEAAwE;QACxE,0BAA0B;QAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAU,CAAC;QACnH,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5F,IAAI,MAAM,EAAE,CAAC;YACX,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACvC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,QAAQ,CACf,IAAa,EACb,MAAe,EACf,IAAY,EACZ,QAAgB,EAChB,UAAkB,EAClB,cAAsB;IAEtB,IAAI,IAAI,IAAI,MAAM;QAAE,OAAO,cAAc,CAAC;IAC1C,IAAI,IAAI;QAAE,OAAO,QAAQ,CAAC;IAC1B,IAAI,MAAM;QAAE,OAAO,UAAU,CAAC;IAC9B,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;sBAEsB;AACtB;;;;6BAI6B;AAC7B,SAAS,SAAS,CAChB,GAA6B,EAC7B,IAAa,EACb,IAAY,EACZ,QAAgB,EAChB,UAAkB,EAClB,cAAsB,EACtB,KAAa,EACb,SAAiB,EACjB,aAAqB,KAAK;IAE1B,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;IACzC,IAAI,QAAQ,KAAK,CAAC;QAAE,GAAG,CAAC,aAAa,GAAG,GAAG,QAAQ,IAAI,CAAC;IACxD,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7G,IAAI,QAAQ,KAAK,CAAC;QAAE,GAAG,CAAC,aAAa,GAAG,KAAK,CAAC;AAChD,CAAC;AAED,SAAS,aAAa,CACpB,GAA6B,EAC7B,IAAa,EACb,IAAY,EACZ,QAAgB,EAChB,UAAkB,EAClB,cAAsB,EACtB,KAAa,EACb,SAAiB,EACjB,UAAkB,EAClB,QAAQ,GAAG,CAAC;IAEZ,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC;IAChC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpB,uEAAuE;QACvE,qEAAqE;QACrE,oEAAoE;QACpE,yDAAyD;QACzD,mBAAmB;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,mBAAmB,EAAE,CAAC;QACpE,MAAM,GAAG,GAAG,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,sEAAsE;QACtE,mCAAmC;QACnC,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,GAAG;YACf,CAAC,CAAC,CAAC,IAAY,EAAE,EAAU,EAAE,EAAU,EAAQ,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;YAClF,CAAC,CAAC,CAAC,IAAY,EAAE,EAAU,EAAE,EAAU,EAAQ,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/E,MAAM,QAAQ,GAAG,CAAC,GAAY,EAAkC,EAAE,CAAC,CAAC;YAClE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,CAAC;YACpF,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QACH,oEAAoE;QACpE,oEAAoE;QACpE,MAAM,KAAK,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAChG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;YAClD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACzB,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC;gBACf,SAAS;YACX,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACxB,gEAAgE;gBAChE,wCAAwC;gBACxC,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACrD,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC;gBACf,SAAS;YACX,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1B,WAAW,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBACxE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC;gBACf,SAAS;YACX,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;gBACb,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;gBACxD,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC;gBACf,SAAS;YACX,CAAC;YACD,IAAI,QAAQ,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC5B,kEAAkE;gBAClE,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACxD,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC;gBACf,SAAS;YACX,CAAC;YACD,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,UAAU,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;YAC5G,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,KAAK,SAAS;gBAC1C,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,GAAG,CAAC,YAAY;oBAChB,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,KAAK,CAAC;YACZ,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,iEAAiE;gBACjE,kDAAkD;gBAClD,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAClG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC;gBACf,SAAS;YACX,CAAC;YACD,2DAA2D;YAC3D,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS;gBAAE,GAAG,CAAC,aAAa,GAAG,GAAG,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,CAAC;YACnF,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAClD,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS;gBAAE,GAAG,CAAC,aAAa,GAAG,GAAG,QAAQ,IAAI,CAAC;YACpE,sCAAsC;YACtC,IAAI,GAAG,CAAC,IAAI;gBAAE,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC/D,uBAAuB;YACvB,IAAI,GAAG,CAAC,MAAM;gBAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACrE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC;QACjB,CAAC;QACD,mEAAmE;QACnE,iDAAiD;QACjD,IAAI,IAAI,CAAC,KAAK;YAAE,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACjD,OAAO;IACT,CAAC;IACD,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;IAChB,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,IAAI,CAAC,WAAW,IAAI,mBAAmB,EAAE;QAAE,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;SAC1I,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;;QACjF,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC3D,CAAC;AAED;;;yCAGyC;AACzC,MAAM,UAAU,kBAAkB,CAChC,GAA6B,EAC7B,KAAuB,EACvB,EAAU,EACV,EAAU,EACV,EAAU;IAEV,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO;IACzC,GAAG,CAAC,IAAI,EAAE,CAAC;IACX,IAAI,mBAAmB,EAAE,EAAE,CAAC;QAC1B,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC5B,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAChD,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAClB,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAClB,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,YAAY,GAAG,GAAS,EAAE;YAC9B,GAAG,CAAC,SAAS,EAAE,CAAC;YAChB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YACtG,GAAG,CAAC,SAAS,EAAE,CAAC;QAClB,CAAC,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC9B,YAAY,EAAE,CAAC;YACf,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC;YACvB,GAAG,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC;YACzB,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACzC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;YAClC,GAAG,CAAC,MAAM,EAAE,CAAC;YACb,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,SAAS,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ;gBAAE,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;;gBAC7F,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;YACrH,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACzC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YAChC,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC;YACpB,YAAY,EAAE,CAAC;QACjB,CAAC;QACD,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,GAAG,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;IACD,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IACpB,IAAI,EAAE,EAAE,CAAC;QACP,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;QAC9C,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAClB,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAClB,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,UAAU,CAAC;QAC9B,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClB,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACpH,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7B,CAAC;QACD,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC;QACzB,GAAG,CAAC,SAAS,EAAE,CAAC;QAChB,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,EAAE,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACnF,GAAG,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;IACD,GAAG,CAAC,OAAO,EAAE,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CACtB,GAA6B,EAC7B,CAAS,EACT,CAAS,EACT,CAAS,EACT,CAAS,EACT,KAAa;IAEb,GAAG,CAAC,IAAI,EAAE,CAAC;IACX,GAAG,CAAC,SAAS,GAAG,2BAA2B,CAAC;IAC5C,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,GAAG,CAAC,WAAW,GAAG,0BAA0B,CAAC;IAC7C,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;IAClB,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,GAAG,CAAC,SAAS,GAAG,0BAA0B,CAAC;IAC3C,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC;IACzB,GAAG,CAAC,YAAY,GAAG,QAAQ,CAAC;IAC5B,GAAG,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,eAAe,CAAC;IACjE,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,GAAG,CAAC,OAAO,EAAE,CAAC;AAChB,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,kBAAkB,CAAC,GAA6B,EAAE,CAAiB;IACjF,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IACxC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;IACjC,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IACtB,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1B,IAAI,EAAE,GAAG,CAAC;QAAE,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IACnD,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9B,IAAI,EAAE,GAAG,CAAC;QAAE,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3D,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,IAAI,EAAE,GAAG,CAAC;QAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IACnD,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACtB,IAAI,EAAE,GAAG,CAAC;QAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,GAAG,CAAC,SAAS,EAAE,CAAC;AAClB,CAAC;AAED;gDACgD;AAChD,MAAM,QAAQ,GAAG,IAAI,CAAC;AAItB;;;;;;;;;GASG;AACH,SAAS,gBAAgB,CAAC,GAA6B;IACrD,MAAM,KAAK,GAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACnE,MAAM,CAAC,GAAG,OAAO,GAAG,CAAC,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAClF,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACrB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/B,qEAAqE;IACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;IACtH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;IACpH,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACvC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAClF,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QACpB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/B,0DAA0D;QAC1D,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;YAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;;YAChD,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAC9F,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAClB,GAA6B,EAC7B,EAAyB,EACzB,EAAU,EACV,EAAU,EACV,MAAqB;IAErB,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;IACnB,IAAI,CAAC,CAAC;QAAE,OAAO;IACf,wEAAwE;IACxE,sDAAsD;IACtD,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC;IAC3C,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,EAAE;QAChC,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QACjF,GAAG,CAAC,IAAI,EAAE,CAAC;IACb,CAAC,CAAC;IACF,0EAA0E;IAC1E,oEAAoE;IACpE,6CAA6C;IAC7C,IAAI,OAAO;QAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACpC,IAAI,IAAI,EAAE,CAAC;YACT,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IACD,IAAI,OAAO;QAAE,GAAG,CAAC,OAAO,EAAE,CAAC;IAC3B,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QACd,uEAAuE;QACvE,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;QAChC,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;QACrB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC1B,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC;YAC1B,GAAG,CAAC,SAAS,EAAE,CAAC;YAChB,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;YACjC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;YACjC,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,CAAC;QACD,GAAG,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;SAAM,IAAI,CAAC,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;QAChC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,aAAa,CAAC;QAChC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC;QAChC,IAAI,OAAO,IAAI,KAAK,KAAK,OAAO;YAAE,MAAM,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;QAC9D,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACrB,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC3B,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;YAClC,sEAAsE;YACtE,GAAG,CAAC,SAAS,EAAE,CAAC;YAChB,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC3B,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;gBAC1C,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC3C,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;gBAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;YAC/D,CAAC;YACD,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,CAAC;aAAM,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC5E,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,OAAO,IAAI,KAAK,KAAK,OAAO;YAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QAChD,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,CAAC,EAAE,CAAC;YACvD,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YACzE,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,CAAC;QACD,GAAG,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;IACD,qEAAqE;IACrE,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QACzC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAClH,eAAe,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;QACvE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;QACzF,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACtD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,GAA6B,EAC7B,KAAe;AACf,mEAAmE;AACnE,SAAwB,IAAI;IAE5B,MAAM,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC;IAC/B,IAAI,CAAC,EAAE;QAAE,OAAO;IAChB,yEAAyE;IACzE,+DAA+D;IAC/D,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC;IACxB,uEAAuE;IACvE,gEAAgE;IAChE,MAAM,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1D,IAAI,GAAG,EAAE,CAAC;QACR,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACxC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpD,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpD,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC7B,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;IAE9B,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACrE,sEAAsE;QACtE,qEAAqE;QACrE,8BAA8B;QAC9B,MAAM,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC;QAC1B,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjE,sEAAsE;QACtE,+DAA+D;QAC/D,IAAI,IAAI,IAAI,mBAAmB,EAAE;YAAE,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5F,IAAI,IAAI,EAAE,CAAC;YACT,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,GAAG,CAAC,SAAS,EAAE,CAAC;YAChB,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACzB,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,CAAC;QACD,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM;YACrB,CAAC,CAAC,iBAAiB,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5J,CAAC,CAAC,KAAK,CAAC;QACV,IAAI,IAAI;YAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAClC,oEAAoE;YACpE,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;YAC1B,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAC7B,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,CAAC;aAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YAClB,eAAe,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,EAAE,CAAC,KAAK;YAAE,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC;SAAM,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC/B,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,0EAA0E;IAC1E,+DAA+D;IAC/D,GAAG,CAAC,IAAI,EAAE,CAAC;IACX,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC;QAC3C,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC;QAC3B,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IACD,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC;IACvB,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;QACnC,SAAS,CACP,GAAG,EAAE,IAAI,EACT,EAAE,CAAC,iBAAiB,EAAE,EAAE,CAAC,qBAAqB,EAAE,EAAE,CAAC,uBAAuB,EAAE,EAAE,CAAC,2BAA2B,EAC1G,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,iBAAiB,CACpD,CAAC;IACJ,CAAC;IACD,sEAAsE;IACtE,sDAAsD;IACtD,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACnE,SAAS,CACP,GAAG,EAAE,IAAI,EACT,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,oBAAoB,EAAE,EAAE,CAAC,wBAAwB,EAC9F,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAC3B,CAAC;IACJ,CAAC;IACD,GAAG,CAAC,OAAO,EAAE,CAAC;IACd,IAAI,GAAG,EAAE,CAAC;QACR,GAAG,CAAC,OAAO,EAAE,CAAC;QACd,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC;AACH,CAAC"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Tracked words keep their ligatures (#663).
3
+ *
4
+ * A tracked word is measured as its natural width plus the tracking times
5
+ * its letters (`measure/rich.ts`, `knuthPlass/tracking.ts`), and its natural
6
+ * width counts the ligatures of the face (fi, fl, ffi…). Painted with the
7
+ * context's `letterSpacing`, the browser shapes it without them (CSS Text:
8
+ * no optional ligatures where the letter-spacing is not zero): "first" in
9
+ * Newsreader comes out 4.5 px wider at 40 px than the place the layout
10
+ * holds for it, and runs into the word space after it. The canvas has no
11
+ * way to ask for the ligatures back, so such a word is painted in pieces:
12
+ * each ligature alone with no letter-spacing, the letters between them
13
+ * tracked, every piece where the natural shaping puts it. The PDF does the
14
+ * same by construction (it shapes the word and spaces its glyphs).
15
+ *
16
+ * Which words: the ones whose width at a letter-spacing, less that
17
+ * letter-spacing, is not their natural width. A word the browser shapes
18
+ * the same either way (nearly all of them) is painted as before, with one
19
+ * `fillText`.
20
+ *
21
+ * Two rules of direction (#685):
22
+ * - the pieces are one run. On a right-to-left page, painted through a
23
+ * mirror that turns every `fillText` back about its own box
24
+ * (`mirrorFrame.ts`), the word is turned once, about the box it was
25
+ * measured in, and its pieces are set inside it from its left end, as on
26
+ * a left-to-right page. Turned one by one they stood in the mirror's
27
+ * order: "five" read "vefi";
28
+ * - a word that holds a right-to-left letter (Hebrew, Arabic…) or a letter
29
+ * of a joining script is never cut, whoever asks: its letters run the
30
+ * other way, and an Arabic word painted in pieces loses its joins. The
31
+ * painters already keep such words away (`fillSegmentWord`); this is the
32
+ * rule where the cut is made.
33
+ */
34
+ /** One piece of a word painted apart from the rest. */
35
+ export interface TrackedPiece {
36
+ text: string;
37
+ /** Where the piece starts in the word's natural shaping, px from its start. */
38
+ offset: number;
39
+ /** Glyphs of the word before the piece: each takes the tracking once (a
40
+ * ligature is one glyph, as in the PDF). */
41
+ glyphsBefore: number;
42
+ /** A ligature: painted with no letter-spacing. */
43
+ ligature: boolean;
44
+ }
45
+ /**
46
+ * Whether the browser shapes `text`, in the context's font, otherwise once
47
+ * a letter-spacing is set: its width at a letter-spacing, that spacing
48
+ * taken off, is not its natural width (it holds a ligature the
49
+ * letter-spacing turns off). False where the context measures no
50
+ * letter-spacing. The context's `letterSpacing` is put back as it was
51
+ * found.
52
+ */
53
+ export declare function shapedOtherwise(ctx: CanvasRenderingContext2D, text: string): boolean;
54
+ /**
55
+ * The pieces a tracked word is painted in, in the context's font, or null
56
+ * when it is painted whole (the browser shapes it the same under
57
+ * letter-spacing, the context measures none, or the word holds a
58
+ * right-to-left or joining letter). The context's `letterSpacing` is put
59
+ * back as it was found.
60
+ */
61
+ export declare function trackedPieces(ctx: CanvasRenderingContext2D, text: string): readonly TrackedPiece[] | null;
62
+ /**
63
+ * Paint a word of a tracked line with `paint` (the caller's `fillText`) at
64
+ * `x`, `y`: its left end on a left-to-right page, the start of its box in
65
+ * a mirrored frame. `tracking` is the context's `letterSpacing` on entry,
66
+ * px, and on return. A word that would lose its ligatures to it is painted
67
+ * in its {@link trackedPieces}, as one run (`paintAsOneRun`): its box is
68
+ * the one the frame turns a word painted whole about, its natural width
69
+ * and the tracking after each letter. Any other word with one `paint`.
70
+ */
71
+ export declare function fillTrackedWord(ctx: CanvasRenderingContext2D, text: string, x: number, y: number, tracking: number, paint: (text: string, x: number, y: number) => void): void;
72
+ //# sourceMappingURL=trackedText.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trackedText.d.ts","sourceRoot":"","sources":["../../src/canvas-backend/trackedText.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,uDAAuD;AACvD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,MAAM,EAAE,MAAM,CAAC;IACf;iDAC6C;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,QAAQ,EAAE,OAAO,CAAC;CACnB;AA+HD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAMpF;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,YAAY,EAAE,GAAG,IAAI,CAEzG;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,wBAAwB,EAC7B,IAAI,EAAE,MAAM,EACZ,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,GAClD,IAAI,CAaN"}