ghost 5.63.0 → 5.65.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 (161) hide show
  1. package/components/tryghost-adapter-cache-memory-ttl-5.65.0.tgz +0 -0
  2. package/components/{tryghost-adapter-cache-redis-5.63.0.tgz → tryghost-adapter-cache-redis-5.65.0.tgz} +0 -0
  3. package/components/{tryghost-adapter-manager-5.63.0.tgz → tryghost-adapter-manager-5.65.0.tgz} +0 -0
  4. package/components/{tryghost-announcement-bar-settings-5.63.0.tgz → tryghost-announcement-bar-settings-5.65.0.tgz} +0 -0
  5. package/components/tryghost-api-framework-5.65.0.tgz +0 -0
  6. package/components/{tryghost-api-version-compatibility-service-5.63.0.tgz → tryghost-api-version-compatibility-service-5.65.0.tgz} +0 -0
  7. package/components/{tryghost-audience-feedback-5.63.0.tgz → tryghost-audience-feedback-5.65.0.tgz} +0 -0
  8. package/components/tryghost-bookshelf-repository-5.65.0.tgz +0 -0
  9. package/components/tryghost-bootstrap-socket-5.65.0.tgz +0 -0
  10. package/components/tryghost-collections-5.65.0.tgz +0 -0
  11. package/components/{tryghost-constants-5.63.0.tgz → tryghost-constants-5.65.0.tgz} +0 -0
  12. package/components/tryghost-custom-theme-settings-service-5.65.0.tgz +0 -0
  13. package/components/{tryghost-data-generator-5.63.0.tgz → tryghost-data-generator-5.65.0.tgz} +0 -0
  14. package/components/{tryghost-domain-events-5.63.0.tgz → tryghost-domain-events-5.65.0.tgz} +0 -0
  15. package/components/{tryghost-donations-5.63.0.tgz → tryghost-donations-5.65.0.tgz} +0 -0
  16. package/components/tryghost-dynamic-routing-events-5.65.0.tgz +0 -0
  17. package/components/tryghost-email-analytics-provider-mailgun-5.65.0.tgz +0 -0
  18. package/components/{tryghost-email-analytics-service-5.63.0.tgz → tryghost-email-analytics-service-5.65.0.tgz} +0 -0
  19. package/components/{tryghost-email-content-generator-5.63.0.tgz → tryghost-email-content-generator-5.65.0.tgz} +0 -0
  20. package/components/tryghost-email-events-5.65.0.tgz +0 -0
  21. package/components/{tryghost-email-service-5.63.0.tgz → tryghost-email-service-5.65.0.tgz} +0 -0
  22. package/components/tryghost-email-suppression-list-5.65.0.tgz +0 -0
  23. package/components/tryghost-event-aware-cache-wrapper-5.65.0.tgz +0 -0
  24. package/components/tryghost-express-dynamic-redirects-5.65.0.tgz +0 -0
  25. package/components/{tryghost-external-media-inliner-5.63.0.tgz → tryghost-external-media-inliner-5.65.0.tgz} +0 -0
  26. package/components/{tryghost-extract-api-key-5.63.0.tgz → tryghost-extract-api-key-5.65.0.tgz} +0 -0
  27. package/components/{tryghost-html-to-plaintext-5.63.0.tgz → tryghost-html-to-plaintext-5.65.0.tgz} +0 -0
  28. package/components/tryghost-i18n-5.65.0.tgz +0 -0
  29. package/components/tryghost-importer-handler-content-files-5.65.0.tgz +0 -0
  30. package/components/{tryghost-importer-revue-5.63.0.tgz → tryghost-importer-revue-5.65.0.tgz} +0 -0
  31. package/components/tryghost-in-memory-repository-5.65.0.tgz +0 -0
  32. package/components/{tryghost-job-manager-5.63.0.tgz → tryghost-job-manager-5.65.0.tgz} +0 -0
  33. package/components/{tryghost-link-redirects-5.63.0.tgz → tryghost-link-redirects-5.65.0.tgz} +0 -0
  34. package/components/{tryghost-link-replacer-5.63.0.tgz → tryghost-link-replacer-5.65.0.tgz} +0 -0
  35. package/components/{tryghost-link-tracking-5.63.0.tgz → tryghost-link-tracking-5.65.0.tgz} +0 -0
  36. package/components/{tryghost-magic-link-5.63.0.tgz → tryghost-magic-link-5.65.0.tgz} +0 -0
  37. package/components/tryghost-mail-events-5.65.0.tgz +0 -0
  38. package/components/{tryghost-mailgun-client-5.63.0.tgz → tryghost-mailgun-client-5.65.0.tgz} +0 -0
  39. package/components/{tryghost-member-attribution-5.63.0.tgz → tryghost-member-attribution-5.65.0.tgz} +0 -0
  40. package/components/{tryghost-member-events-5.63.0.tgz → tryghost-member-events-5.65.0.tgz} +0 -0
  41. package/components/tryghost-members-api-5.65.0.tgz +0 -0
  42. package/components/{tryghost-members-csv-5.63.0.tgz → tryghost-members-csv-5.65.0.tgz} +0 -0
  43. package/components/{tryghost-members-events-service-5.63.0.tgz → tryghost-members-events-service-5.65.0.tgz} +0 -0
  44. package/components/{tryghost-members-importer-5.63.0.tgz → tryghost-members-importer-5.65.0.tgz} +0 -0
  45. package/components/{tryghost-members-offers-5.63.0.tgz → tryghost-members-offers-5.65.0.tgz} +0 -0
  46. package/components/{tryghost-members-payments-5.63.0.tgz → tryghost-members-payments-5.65.0.tgz} +0 -0
  47. package/components/tryghost-members-ssr-5.65.0.tgz +0 -0
  48. package/components/{tryghost-members-stripe-service-5.63.0.tgz → tryghost-members-stripe-service-5.65.0.tgz} +0 -0
  49. package/components/tryghost-mentions-email-report-5.65.0.tgz +0 -0
  50. package/components/tryghost-milestones-5.65.0.tgz +0 -0
  51. package/components/tryghost-minifier-5.65.0.tgz +0 -0
  52. package/components/tryghost-model-to-domain-event-interceptor-5.65.0.tgz +0 -0
  53. package/components/{tryghost-mw-api-version-mismatch-5.63.0.tgz → tryghost-mw-api-version-mismatch-5.65.0.tgz} +0 -0
  54. package/components/tryghost-mw-cache-control-5.65.0.tgz +0 -0
  55. package/components/{tryghost-mw-error-handler-5.63.0.tgz → tryghost-mw-error-handler-5.65.0.tgz} +0 -0
  56. package/components/{tryghost-mw-session-from-token-5.63.0.tgz → tryghost-mw-session-from-token-5.65.0.tgz} +0 -0
  57. package/components/tryghost-mw-update-user-last-seen-5.65.0.tgz +0 -0
  58. package/components/tryghost-mw-version-match-5.65.0.tgz +0 -0
  59. package/components/tryghost-mw-vhost-5.65.0.tgz +0 -0
  60. package/components/tryghost-nql-filter-expansions-5.65.0.tgz +0 -0
  61. package/components/tryghost-oembed-service-5.65.0.tgz +0 -0
  62. package/components/{tryghost-package-json-5.63.0.tgz → tryghost-package-json-5.65.0.tgz} +0 -0
  63. package/components/{tryghost-post-events-5.63.0.tgz → tryghost-post-events-5.65.0.tgz} +0 -0
  64. package/components/{tryghost-post-revisions-5.63.0.tgz → tryghost-post-revisions-5.65.0.tgz} +0 -0
  65. package/components/tryghost-posts-service-5.65.0.tgz +0 -0
  66. package/components/tryghost-recommendations-5.65.0.tgz +0 -0
  67. package/components/tryghost-referrers-5.65.0.tgz +0 -0
  68. package/components/tryghost-security-5.65.0.tgz +0 -0
  69. package/components/tryghost-session-service-5.65.0.tgz +0 -0
  70. package/components/tryghost-settings-path-manager-5.65.0.tgz +0 -0
  71. package/components/tryghost-slack-notifications-5.65.0.tgz +0 -0
  72. package/components/{tryghost-staff-service-5.63.0.tgz → tryghost-staff-service-5.65.0.tgz} +0 -0
  73. package/components/{tryghost-stats-service-5.63.0.tgz → tryghost-stats-service-5.65.0.tgz} +0 -0
  74. package/components/{tryghost-tiers-5.63.0.tgz → tryghost-tiers-5.65.0.tgz} +0 -0
  75. package/components/{tryghost-update-check-service-5.63.0.tgz → tryghost-update-check-service-5.65.0.tgz} +0 -0
  76. package/components/tryghost-verification-trigger-5.65.0.tgz +0 -0
  77. package/components/{tryghost-version-notifications-data-service-5.63.0.tgz → tryghost-version-notifications-data-service-5.65.0.tgz} +0 -0
  78. package/components/tryghost-webmentions-5.65.0.tgz +0 -0
  79. package/core/built/admin/assets/admin-x-settings/CodeEditorView-2b332315.mjs +2347 -0
  80. package/core/built/admin/assets/admin-x-settings/admin-x-settings.js +6 -0
  81. package/core/built/admin/assets/admin-x-settings/index-4a560e9e.mjs +19693 -0
  82. package/core/built/admin/assets/admin-x-settings/index-9cc1df42.mjs +13955 -0
  83. package/core/built/admin/assets/admin-x-settings/index-b8cc4f2e.mjs +3465 -0
  84. package/core/built/admin/assets/admin-x-settings/limit-service-7694c0d4.mjs +12902 -0
  85. package/core/built/admin/assets/admin-x-settings/modals-2073207d.mjs +11518 -0
  86. package/core/built/admin/assets/{chunk.143.1c5d21facf1f9b9beef9.js → chunk.143.c91dc1d2a8a5a1f318ec.js} +5 -5
  87. package/core/built/admin/assets/{chunk.178.43b03c9ac011a54262b0.js → chunk.178.d921de78463d288f3bcd.js} +4 -4
  88. package/core/built/admin/assets/{chunk.237.9b7032162949850f6c76.js → chunk.518.396deed1a0c759d1f403.js} +1136 -1077
  89. package/core/built/admin/assets/{ghost-7c3f2de2ec83e591ad9f9db5165b2733.js → ghost-38746349a72536a92f4d8235a582d716.js} +58 -57
  90. package/core/built/admin/assets/ghost-761b67711827277b7095ebc7acc5c49f.css +1 -0
  91. package/core/built/admin/assets/ghost-dark-d3f636c30e80bdd7f21d3fb4770073c9.css +1 -0
  92. package/core/built/admin/assets/{vendor-f8ce8bd43cf5dad6608f828ab48cee9b.js → vendor-240cd1dbd84a2e07709b867442c41840.js} +4 -4
  93. package/core/built/admin/index.html +6 -6
  94. package/core/frontend/src/cards/css/collection.css +42 -12
  95. package/core/server/api/endpoints/collections.js +5 -1
  96. package/core/server/api/endpoints/posts-public.js +63 -0
  97. package/core/server/api/endpoints/recommendations-public.js +1 -1
  98. package/core/server/api/endpoints/recommendations.js +20 -5
  99. package/core/server/api/endpoints/utils/serializers/output/config.js +0 -1
  100. package/core/server/api/endpoints/utils/serializers/output/site.js +1 -1
  101. package/core/server/data/migrations/versions/5.64/2023-09-19-04-25-40-truncate-stale-built-in-collections-posts.js +10 -0
  102. package/core/server/data/migrations/versions/5.64/2023-09-19-04-34-10-repopulate-built-in-collection-posts.js +10 -0
  103. package/core/server/data/migrations/versions/5.65/2023-09-22-06-42-15-truncate-stale-built-in-collections-posts.js +12 -0
  104. package/core/server/data/migrations/versions/5.65/2023-09-22-06-42-55-repopulate-built-in-featured-collection-posts.js +49 -0
  105. package/core/server/data/schema/fixtures/fixtures.json +0 -14
  106. package/core/server/lib/lexical.js +22 -3
  107. package/core/server/lib/request-external.js +10 -4
  108. package/core/server/models/post.js +71 -1
  109. package/core/server/models/relations/authors.js +1 -1
  110. package/core/server/services/collections/BookshelfCollectionsRepository.js +85 -38
  111. package/core/server/services/collections/PostsRepository.js +5 -0
  112. package/core/server/services/collections/service.js +7 -3
  113. package/core/server/services/members/content-gating.js +11 -7
  114. package/core/server/services/mentions/WebmentionMetadata.js +14 -2
  115. package/core/server/services/public-config/site.js +1 -1
  116. package/core/server/services/recommendations/RecommendationServiceWrapper.js +3 -2
  117. package/core/server/web/api/endpoints/admin/routes.js +2 -1
  118. package/core/shared/config/defaults.json +0 -4
  119. package/core/shared/labs.js +1 -1
  120. package/package.json +160 -159
  121. package/yarn.lock +361 -364
  122. package/components/tryghost-adapter-cache-memory-ttl-5.63.0.tgz +0 -0
  123. package/components/tryghost-api-framework-5.63.0.tgz +0 -0
  124. package/components/tryghost-bookshelf-repository-5.63.0.tgz +0 -0
  125. package/components/tryghost-bootstrap-socket-5.63.0.tgz +0 -0
  126. package/components/tryghost-collections-5.63.0.tgz +0 -0
  127. package/components/tryghost-custom-theme-settings-service-5.63.0.tgz +0 -0
  128. package/components/tryghost-dynamic-routing-events-5.63.0.tgz +0 -0
  129. package/components/tryghost-email-analytics-provider-mailgun-5.63.0.tgz +0 -0
  130. package/components/tryghost-email-events-5.63.0.tgz +0 -0
  131. package/components/tryghost-email-suppression-list-5.63.0.tgz +0 -0
  132. package/components/tryghost-event-aware-cache-wrapper-5.63.0.tgz +0 -0
  133. package/components/tryghost-express-dynamic-redirects-5.63.0.tgz +0 -0
  134. package/components/tryghost-i18n-5.63.0.tgz +0 -0
  135. package/components/tryghost-importer-handler-content-files-5.63.0.tgz +0 -0
  136. package/components/tryghost-in-memory-repository-5.63.0.tgz +0 -0
  137. package/components/tryghost-mail-events-5.63.0.tgz +0 -0
  138. package/components/tryghost-members-api-5.63.0.tgz +0 -0
  139. package/components/tryghost-members-ssr-5.63.0.tgz +0 -0
  140. package/components/tryghost-mentions-email-report-5.63.0.tgz +0 -0
  141. package/components/tryghost-milestones-5.63.0.tgz +0 -0
  142. package/components/tryghost-minifier-5.63.0.tgz +0 -0
  143. package/components/tryghost-model-to-domain-event-interceptor-5.63.0.tgz +0 -0
  144. package/components/tryghost-mw-cache-control-5.63.0.tgz +0 -0
  145. package/components/tryghost-mw-update-user-last-seen-5.63.0.tgz +0 -0
  146. package/components/tryghost-mw-version-match-5.63.0.tgz +0 -0
  147. package/components/tryghost-mw-vhost-5.63.0.tgz +0 -0
  148. package/components/tryghost-nql-filter-expansions-5.63.0.tgz +0 -0
  149. package/components/tryghost-oembed-service-5.63.0.tgz +0 -0
  150. package/components/tryghost-posts-service-5.63.0.tgz +0 -0
  151. package/components/tryghost-recommendations-5.63.0.tgz +0 -0
  152. package/components/tryghost-referrers-5.63.0.tgz +0 -0
  153. package/components/tryghost-security-5.63.0.tgz +0 -0
  154. package/components/tryghost-session-service-5.63.0.tgz +0 -0
  155. package/components/tryghost-settings-path-manager-5.63.0.tgz +0 -0
  156. package/components/tryghost-slack-notifications-5.63.0.tgz +0 -0
  157. package/components/tryghost-verification-trigger-5.63.0.tgz +0 -0
  158. package/components/tryghost-webmentions-5.63.0.tgz +0 -0
  159. package/core/built/admin/assets/ghost-33664cad4cd6664a8b5fa56e62c5005f.css +0 -1
  160. package/core/built/admin/assets/ghost-dark-0452daeaee3a9b16dcd954ea60dad518.css +0 -1
  161. /package/core/built/admin/assets/{chunk.237.9b7032162949850f6c76.js.LICENSE.txt → chunk.518.396deed1a0c759d1f403.js.LICENSE.txt} +0 -0
@@ -0,0 +1,3465 @@
1
+ import { P as Ye, N as Te, a as Ue, D as Ve, b as sO, T as W, I as lO, s as nO, t as o, p as Re, L as oO, i as QO, c as q, f as cO, d as DO, e as uO, g as _, h as JO, j as ve, k as _e, l as MO, m as We, n as qe, E as LO, o as C, q as Ce, r as g, u as je } from "./index-9cc1df42.mjs";
2
+ class I {
3
+ /// @internal
4
+ constructor(O, t, a, i, s, r, l, n, Q, h = 0, c) {
5
+ this.p = O, this.stack = t, this.state = a, this.reducePos = i, this.pos = s, this.score = r, this.buffer = l, this.bufferBase = n, this.curContext = Q, this.lookAhead = h, this.parent = c;
6
+ }
7
+ /// @internal
8
+ toString() {
9
+ return `[${this.stack.filter((O, t) => t % 3 == 0).concat(this.state)}]@${this.pos}${this.score ? "!" + this.score : ""}`;
10
+ }
11
+ // Start an empty stack
12
+ /// @internal
13
+ static start(O, t, a = 0) {
14
+ let i = O.parser.context;
15
+ return new I(O, [], t, a, a, 0, [], 0, i ? new SO(i, i.start) : null, 0, null);
16
+ }
17
+ /// The stack's current [context](#lr.ContextTracker) value, if
18
+ /// any. Its type will depend on the context tracker's type
19
+ /// parameter, or it will be `null` if there is no context
20
+ /// tracker.
21
+ get context() {
22
+ return this.curContext ? this.curContext.context : null;
23
+ }
24
+ // Push a state onto the stack, tracking its start position as well
25
+ // as the buffer base at that point.
26
+ /// @internal
27
+ pushState(O, t) {
28
+ this.stack.push(this.state, t, this.bufferBase + this.buffer.length), this.state = O;
29
+ }
30
+ // Apply a reduce action
31
+ /// @internal
32
+ reduce(O) {
33
+ var t;
34
+ let a = O >> 19, i = O & 65535, { parser: s } = this.p, r = s.dynamicPrecedence(i);
35
+ if (r && (this.score += r), a == 0) {
36
+ this.pushState(s.getGoto(this.state, i, !0), this.reducePos), i < s.minRepeatTerm && this.storeNode(i, this.reducePos, this.reducePos, 4, !0), this.reduceContext(i, this.reducePos);
37
+ return;
38
+ }
39
+ let l = this.stack.length - (a - 1) * 3 - (O & 262144 ? 6 : 0), n = l ? this.stack[l - 2] : this.p.ranges[0].from, Q = this.reducePos - n;
40
+ Q >= 2e3 && !(!((t = this.p.parser.nodeSet.types[i]) === null || t === void 0) && t.isAnonymous) && (n == this.p.lastBigReductionStart ? (this.p.bigReductionCount++, this.p.lastBigReductionSize = Q) : this.p.lastBigReductionSize < Q && (this.p.bigReductionCount = 1, this.p.lastBigReductionStart = n, this.p.lastBigReductionSize = Q));
41
+ let h = l ? this.stack[l - 1] : 0, c = this.bufferBase + this.buffer.length - h;
42
+ if (i < s.minRepeatTerm || O & 131072) {
43
+ let $ = s.stateFlag(
44
+ this.state,
45
+ 1
46
+ /* StateFlag.Skipped */
47
+ ) ? this.pos : this.reducePos;
48
+ this.storeNode(i, n, $, c + 4, !0);
49
+ }
50
+ if (O & 262144)
51
+ this.state = this.stack[l];
52
+ else {
53
+ let $ = this.stack[l - 3];
54
+ this.state = s.getGoto($, i, !0);
55
+ }
56
+ for (; this.stack.length > l; )
57
+ this.stack.pop();
58
+ this.reduceContext(i, n);
59
+ }
60
+ // Shift a value into the buffer
61
+ /// @internal
62
+ storeNode(O, t, a, i = 4, s = !1) {
63
+ if (O == 0 && (!this.stack.length || this.stack[this.stack.length - 1] < this.buffer.length + this.bufferBase)) {
64
+ let r = this, l = this.buffer.length;
65
+ if (l == 0 && r.parent && (l = r.bufferBase - r.parent.bufferBase, r = r.parent), l > 0 && r.buffer[l - 4] == 0 && r.buffer[l - 1] > -1) {
66
+ if (t == a)
67
+ return;
68
+ if (r.buffer[l - 2] >= t) {
69
+ r.buffer[l - 2] = a;
70
+ return;
71
+ }
72
+ }
73
+ }
74
+ if (!s || this.pos == a)
75
+ this.buffer.push(O, t, a, i);
76
+ else {
77
+ let r = this.buffer.length;
78
+ if (r > 0 && this.buffer[r - 4] != 0)
79
+ for (; r > 0 && this.buffer[r - 2] > a; )
80
+ this.buffer[r] = this.buffer[r - 4], this.buffer[r + 1] = this.buffer[r - 3], this.buffer[r + 2] = this.buffer[r - 2], this.buffer[r + 3] = this.buffer[r - 1], r -= 4, i > 4 && (i -= 4);
81
+ this.buffer[r] = O, this.buffer[r + 1] = t, this.buffer[r + 2] = a, this.buffer[r + 3] = i;
82
+ }
83
+ }
84
+ // Apply a shift action
85
+ /// @internal
86
+ shift(O, t, a) {
87
+ let i = this.pos;
88
+ if (O & 131072)
89
+ this.pushState(O & 65535, this.pos);
90
+ else if (O & 262144)
91
+ this.pos = a, this.shiftContext(t, i), t <= this.p.parser.maxNode && this.buffer.push(t, i, a, 4);
92
+ else {
93
+ let s = O, { parser: r } = this.p;
94
+ (a > this.pos || t <= r.maxNode) && (this.pos = a, r.stateFlag(
95
+ s,
96
+ 1
97
+ /* StateFlag.Skipped */
98
+ ) || (this.reducePos = a)), this.pushState(s, i), this.shiftContext(t, i), t <= r.maxNode && this.buffer.push(t, i, a, 4);
99
+ }
100
+ }
101
+ // Apply an action
102
+ /// @internal
103
+ apply(O, t, a) {
104
+ O & 65536 ? this.reduce(O) : this.shift(O, t, a);
105
+ }
106
+ // Add a prebuilt (reused) node into the buffer.
107
+ /// @internal
108
+ useNode(O, t) {
109
+ let a = this.p.reused.length - 1;
110
+ (a < 0 || this.p.reused[a] != O) && (this.p.reused.push(O), a++);
111
+ let i = this.pos;
112
+ this.reducePos = this.pos = i + O.length, this.pushState(t, i), this.buffer.push(
113
+ a,
114
+ i,
115
+ this.reducePos,
116
+ -1
117
+ /* size == -1 means this is a reused value */
118
+ ), this.curContext && this.updateContext(this.curContext.tracker.reuse(this.curContext.context, O, this, this.p.stream.reset(this.pos - O.length)));
119
+ }
120
+ // Split the stack. Due to the buffer sharing and the fact
121
+ // that `this.stack` tends to stay quite shallow, this isn't very
122
+ // expensive.
123
+ /// @internal
124
+ split() {
125
+ let O = this, t = O.buffer.length;
126
+ for (; t > 0 && O.buffer[t - 2] > O.reducePos; )
127
+ t -= 4;
128
+ let a = O.buffer.slice(t), i = O.bufferBase + t;
129
+ for (; O && i == O.bufferBase; )
130
+ O = O.parent;
131
+ return new I(this.p, this.stack.slice(), this.state, this.reducePos, this.pos, this.score, a, i, this.curContext, this.lookAhead, O);
132
+ }
133
+ // Try to recover from an error by 'deleting' (ignoring) one token.
134
+ /// @internal
135
+ recoverByDelete(O, t) {
136
+ let a = O <= this.p.parser.maxNode;
137
+ a && this.storeNode(O, this.pos, t, 4), this.storeNode(0, this.pos, t, a ? 8 : 4), this.pos = this.reducePos = t, this.score -= 190;
138
+ }
139
+ /// Check if the given term would be able to be shifted (optionally
140
+ /// after some reductions) on this stack. This can be useful for
141
+ /// external tokenizers that want to make sure they only provide a
142
+ /// given token when it applies.
143
+ canShift(O) {
144
+ for (let t = new ze(this); ; ) {
145
+ let a = this.p.parser.stateSlot(
146
+ t.state,
147
+ 4
148
+ /* ParseState.DefaultReduce */
149
+ ) || this.p.parser.hasAction(t.state, O);
150
+ if (a == 0)
151
+ return !1;
152
+ if (!(a & 65536))
153
+ return !0;
154
+ t.reduce(a);
155
+ }
156
+ }
157
+ // Apply up to Recover.MaxNext recovery actions that conceptually
158
+ // inserts some missing token or rule.
159
+ /// @internal
160
+ recoverByInsert(O) {
161
+ if (this.stack.length >= 300)
162
+ return [];
163
+ let t = this.p.parser.nextStates(this.state);
164
+ if (t.length > 8 || this.stack.length >= 120) {
165
+ let i = [];
166
+ for (let s = 0, r; s < t.length; s += 2)
167
+ (r = t[s + 1]) != this.state && this.p.parser.hasAction(r, O) && i.push(t[s], r);
168
+ if (this.stack.length < 120)
169
+ for (let s = 0; i.length < 8 && s < t.length; s += 2) {
170
+ let r = t[s + 1];
171
+ i.some((l, n) => n & 1 && l == r) || i.push(t[s], r);
172
+ }
173
+ t = i;
174
+ }
175
+ let a = [];
176
+ for (let i = 0; i < t.length && a.length < 4; i += 2) {
177
+ let s = t[i + 1];
178
+ if (s == this.state)
179
+ continue;
180
+ let r = this.split();
181
+ r.pushState(s, this.pos), r.storeNode(0, r.pos, r.pos, 4, !0), r.shiftContext(t[i], this.pos), r.score -= 200, a.push(r);
182
+ }
183
+ return a;
184
+ }
185
+ // Force a reduce, if possible. Return false if that can't
186
+ // be done.
187
+ /// @internal
188
+ forceReduce() {
189
+ let { parser: O } = this.p, t = O.stateSlot(
190
+ this.state,
191
+ 5
192
+ /* ParseState.ForcedReduce */
193
+ );
194
+ if (!(t & 65536))
195
+ return !1;
196
+ if (!O.validAction(this.state, t)) {
197
+ let a = t >> 19, i = t & 65535, s = this.stack.length - a * 3;
198
+ if (s < 0 || O.getGoto(this.stack[s], i, !1) < 0) {
199
+ let r = this.findForcedReduction();
200
+ if (r == null)
201
+ return !1;
202
+ t = r;
203
+ }
204
+ this.storeNode(0, this.pos, this.pos, 4, !0), this.score -= 100;
205
+ }
206
+ return this.reducePos = this.pos, this.reduce(t), !0;
207
+ }
208
+ /// Try to scan through the automaton to find some kind of reduction
209
+ /// that can be applied. Used when the regular ForcedReduce field
210
+ /// isn't a valid action. @internal
211
+ findForcedReduction() {
212
+ let { parser: O } = this.p, t = [], a = (i, s) => {
213
+ if (!t.includes(i))
214
+ return t.push(i), O.allActions(i, (r) => {
215
+ if (!(r & 393216))
216
+ if (r & 65536) {
217
+ let l = (r >> 19) - s;
218
+ if (l > 1) {
219
+ let n = r & 65535, Q = this.stack.length - l * 3;
220
+ if (Q >= 0 && O.getGoto(this.stack[Q], n, !1) >= 0)
221
+ return l << 19 | 65536 | n;
222
+ }
223
+ } else {
224
+ let l = a(r, s + 1);
225
+ if (l != null)
226
+ return l;
227
+ }
228
+ });
229
+ };
230
+ return a(this.state, 0);
231
+ }
232
+ /// @internal
233
+ forceAll() {
234
+ for (; !this.p.parser.stateFlag(
235
+ this.state,
236
+ 2
237
+ /* StateFlag.Accepting */
238
+ ); )
239
+ if (!this.forceReduce()) {
240
+ this.storeNode(0, this.pos, this.pos, 4, !0);
241
+ break;
242
+ }
243
+ return this;
244
+ }
245
+ /// Check whether this state has no further actions (assumed to be a direct descendant of the
246
+ /// top state, since any other states must be able to continue
247
+ /// somehow). @internal
248
+ get deadEnd() {
249
+ if (this.stack.length != 3)
250
+ return !1;
251
+ let { parser: O } = this.p;
252
+ return O.data[O.stateSlot(
253
+ this.state,
254
+ 1
255
+ /* ParseState.Actions */
256
+ )] == 65535 && !O.stateSlot(
257
+ this.state,
258
+ 4
259
+ /* ParseState.DefaultReduce */
260
+ );
261
+ }
262
+ /// Restart the stack (put it back in its start state). Only safe
263
+ /// when this.stack.length == 3 (state is directly below the top
264
+ /// state). @internal
265
+ restart() {
266
+ this.state = this.stack[0], this.stack.length = 0;
267
+ }
268
+ /// @internal
269
+ sameState(O) {
270
+ if (this.state != O.state || this.stack.length != O.stack.length)
271
+ return !1;
272
+ for (let t = 0; t < this.stack.length; t += 3)
273
+ if (this.stack[t] != O.stack[t])
274
+ return !1;
275
+ return !0;
276
+ }
277
+ /// Get the parser used by this stack.
278
+ get parser() {
279
+ return this.p.parser;
280
+ }
281
+ /// Test whether a given dialect (by numeric ID, as exported from
282
+ /// the terms file) is enabled.
283
+ dialectEnabled(O) {
284
+ return this.p.parser.dialect.flags[O];
285
+ }
286
+ shiftContext(O, t) {
287
+ this.curContext && this.updateContext(this.curContext.tracker.shift(this.curContext.context, O, this, this.p.stream.reset(t)));
288
+ }
289
+ reduceContext(O, t) {
290
+ this.curContext && this.updateContext(this.curContext.tracker.reduce(this.curContext.context, O, this, this.p.stream.reset(t)));
291
+ }
292
+ /// @internal
293
+ emitContext() {
294
+ let O = this.buffer.length - 1;
295
+ (O < 0 || this.buffer[O] != -3) && this.buffer.push(this.curContext.hash, this.pos, this.pos, -3);
296
+ }
297
+ /// @internal
298
+ emitLookAhead() {
299
+ let O = this.buffer.length - 1;
300
+ (O < 0 || this.buffer[O] != -4) && this.buffer.push(this.lookAhead, this.pos, this.pos, -4);
301
+ }
302
+ updateContext(O) {
303
+ if (O != this.curContext.context) {
304
+ let t = new SO(this.curContext.tracker, O);
305
+ t.hash != this.curContext.hash && this.emitContext(), this.curContext = t;
306
+ }
307
+ }
308
+ /// @internal
309
+ setLookAhead(O) {
310
+ O > this.lookAhead && (this.emitLookAhead(), this.lookAhead = O);
311
+ }
312
+ /// @internal
313
+ close() {
314
+ this.curContext && this.curContext.tracker.strict && this.emitContext(), this.lookAhead > 0 && this.emitLookAhead();
315
+ }
316
+ }
317
+ class SO {
318
+ constructor(O, t) {
319
+ this.tracker = O, this.context = t, this.hash = O.strict ? O.hash(t) : 0;
320
+ }
321
+ }
322
+ var dO;
323
+ (function(e) {
324
+ e[e.Insert = 200] = "Insert", e[e.Delete = 190] = "Delete", e[e.Reduce = 100] = "Reduce", e[e.MaxNext = 4] = "MaxNext", e[e.MaxInsertStackDepth = 300] = "MaxInsertStackDepth", e[e.DampenInsertStackDepth = 120] = "DampenInsertStackDepth", e[e.MinBigReduction = 2e3] = "MinBigReduction";
325
+ })(dO || (dO = {}));
326
+ class ze {
327
+ constructor(O) {
328
+ this.start = O, this.state = O.state, this.stack = O.stack, this.base = this.stack.length;
329
+ }
330
+ reduce(O) {
331
+ let t = O & 65535, a = O >> 19;
332
+ a == 0 ? (this.stack == this.start.stack && (this.stack = this.stack.slice()), this.stack.push(this.state, 0, 0), this.base += 3) : this.base -= (a - 1) * 3;
333
+ let i = this.start.p.parser.getGoto(this.stack[this.base - 3], t, !0);
334
+ this.state = i;
335
+ }
336
+ }
337
+ class A {
338
+ constructor(O, t, a) {
339
+ this.stack = O, this.pos = t, this.index = a, this.buffer = O.buffer, this.index == 0 && this.maybeNext();
340
+ }
341
+ static create(O, t = O.bufferBase + O.buffer.length) {
342
+ return new A(O, t, t - O.bufferBase);
343
+ }
344
+ maybeNext() {
345
+ let O = this.stack.parent;
346
+ O != null && (this.index = this.stack.bufferBase - O.bufferBase, this.stack = O, this.buffer = O.buffer);
347
+ }
348
+ get id() {
349
+ return this.buffer[this.index - 4];
350
+ }
351
+ get start() {
352
+ return this.buffer[this.index - 3];
353
+ }
354
+ get end() {
355
+ return this.buffer[this.index - 2];
356
+ }
357
+ get size() {
358
+ return this.buffer[this.index - 1];
359
+ }
360
+ next() {
361
+ this.index -= 4, this.pos -= 4, this.index == 0 && this.maybeNext();
362
+ }
363
+ fork() {
364
+ return new A(this.stack, this.pos, this.index);
365
+ }
366
+ }
367
+ function R(e, O = Uint16Array) {
368
+ if (typeof e != "string")
369
+ return e;
370
+ let t = null;
371
+ for (let a = 0, i = 0; a < e.length; ) {
372
+ let s = 0;
373
+ for (; ; ) {
374
+ let r = e.charCodeAt(a++), l = !1;
375
+ if (r == 126) {
376
+ s = 65535;
377
+ break;
378
+ }
379
+ r >= 92 && r--, r >= 34 && r--;
380
+ let n = r - 32;
381
+ if (n >= 46 && (n -= 46, l = !0), s += n, l)
382
+ break;
383
+ s *= 46;
384
+ }
385
+ t ? t[i++] = s : t = new O(s);
386
+ }
387
+ return t;
388
+ }
389
+ class j {
390
+ constructor() {
391
+ this.start = -1, this.value = -1, this.end = -1, this.extended = -1, this.lookAhead = 0, this.mask = 0, this.context = 0;
392
+ }
393
+ }
394
+ const gO = new j();
395
+ class Ge {
396
+ /// @internal
397
+ constructor(O, t) {
398
+ this.input = O, this.ranges = t, this.chunk = "", this.chunkOff = 0, this.chunk2 = "", this.chunk2Pos = 0, this.next = -1, this.token = gO, this.rangeIndex = 0, this.pos = this.chunkPos = t[0].from, this.range = t[0], this.end = t[t.length - 1].to, this.readNext();
399
+ }
400
+ /// @internal
401
+ resolveOffset(O, t) {
402
+ let a = this.range, i = this.rangeIndex, s = this.pos + O;
403
+ for (; s < a.from; ) {
404
+ if (!i)
405
+ return null;
406
+ let r = this.ranges[--i];
407
+ s -= a.from - r.to, a = r;
408
+ }
409
+ for (; t < 0 ? s > a.to : s >= a.to; ) {
410
+ if (i == this.ranges.length - 1)
411
+ return null;
412
+ let r = this.ranges[++i];
413
+ s += r.from - a.to, a = r;
414
+ }
415
+ return s;
416
+ }
417
+ /// @internal
418
+ clipPos(O) {
419
+ if (O >= this.range.from && O < this.range.to)
420
+ return O;
421
+ for (let t of this.ranges)
422
+ if (t.to > O)
423
+ return Math.max(O, t.from);
424
+ return this.end;
425
+ }
426
+ /// Look at a code unit near the stream position. `.peek(0)` equals
427
+ /// `.next`, `.peek(-1)` gives you the previous character, and so
428
+ /// on.
429
+ ///
430
+ /// Note that looking around during tokenizing creates dependencies
431
+ /// on potentially far-away content, which may reduce the
432
+ /// effectiveness incremental parsing—when looking forward—or even
433
+ /// cause invalid reparses when looking backward more than 25 code
434
+ /// units, since the library does not track lookbehind.
435
+ peek(O) {
436
+ let t = this.chunkOff + O, a, i;
437
+ if (t >= 0 && t < this.chunk.length)
438
+ a = this.pos + O, i = this.chunk.charCodeAt(t);
439
+ else {
440
+ let s = this.resolveOffset(O, 1);
441
+ if (s == null)
442
+ return -1;
443
+ if (a = s, a >= this.chunk2Pos && a < this.chunk2Pos + this.chunk2.length)
444
+ i = this.chunk2.charCodeAt(a - this.chunk2Pos);
445
+ else {
446
+ let r = this.rangeIndex, l = this.range;
447
+ for (; l.to <= a; )
448
+ l = this.ranges[++r];
449
+ this.chunk2 = this.input.chunk(this.chunk2Pos = a), a + this.chunk2.length > l.to && (this.chunk2 = this.chunk2.slice(0, l.to - a)), i = this.chunk2.charCodeAt(0);
450
+ }
451
+ }
452
+ return a >= this.token.lookAhead && (this.token.lookAhead = a + 1), i;
453
+ }
454
+ /// Accept a token. By default, the end of the token is set to the
455
+ /// current stream position, but you can pass an offset (relative to
456
+ /// the stream position) to change that.
457
+ acceptToken(O, t = 0) {
458
+ let a = t ? this.resolveOffset(t, -1) : this.pos;
459
+ if (a == null || a < this.token.start)
460
+ throw new RangeError("Token end out of bounds");
461
+ this.token.value = O, this.token.end = a;
462
+ }
463
+ getChunk() {
464
+ if (this.pos >= this.chunk2Pos && this.pos < this.chunk2Pos + this.chunk2.length) {
465
+ let { chunk: O, chunkPos: t } = this;
466
+ this.chunk = this.chunk2, this.chunkPos = this.chunk2Pos, this.chunk2 = O, this.chunk2Pos = t, this.chunkOff = this.pos - this.chunkPos;
467
+ } else {
468
+ this.chunk2 = this.chunk, this.chunk2Pos = this.chunkPos;
469
+ let O = this.input.chunk(this.pos), t = this.pos + O.length;
470
+ this.chunk = t > this.range.to ? O.slice(0, this.range.to - this.pos) : O, this.chunkPos = this.pos, this.chunkOff = 0;
471
+ }
472
+ }
473
+ readNext() {
474
+ return this.chunkOff >= this.chunk.length && (this.getChunk(), this.chunkOff == this.chunk.length) ? this.next = -1 : this.next = this.chunk.charCodeAt(this.chunkOff);
475
+ }
476
+ /// Move the stream forward N (defaults to 1) code units. Returns
477
+ /// the new value of [`next`](#lr.InputStream.next).
478
+ advance(O = 1) {
479
+ for (this.chunkOff += O; this.pos + O >= this.range.to; ) {
480
+ if (this.rangeIndex == this.ranges.length - 1)
481
+ return this.setDone();
482
+ O -= this.range.to - this.pos, this.range = this.ranges[++this.rangeIndex], this.pos = this.range.from;
483
+ }
484
+ return this.pos += O, this.pos >= this.token.lookAhead && (this.token.lookAhead = this.pos + 1), this.readNext();
485
+ }
486
+ setDone() {
487
+ return this.pos = this.chunkPos = this.end, this.range = this.ranges[this.rangeIndex = this.ranges.length - 1], this.chunk = "", this.next = -1;
488
+ }
489
+ /// @internal
490
+ reset(O, t) {
491
+ if (t ? (this.token = t, t.start = O, t.lookAhead = O + 1, t.value = t.extended = -1) : this.token = gO, this.pos != O) {
492
+ if (this.pos = O, O == this.end)
493
+ return this.setDone(), this;
494
+ for (; O < this.range.from; )
495
+ this.range = this.ranges[--this.rangeIndex];
496
+ for (; O >= this.range.to; )
497
+ this.range = this.ranges[++this.rangeIndex];
498
+ O >= this.chunkPos && O < this.chunkPos + this.chunk.length ? this.chunkOff = O - this.chunkPos : (this.chunk = "", this.chunkOff = 0), this.readNext();
499
+ }
500
+ return this;
501
+ }
502
+ /// @internal
503
+ read(O, t) {
504
+ if (O >= this.chunkPos && t <= this.chunkPos + this.chunk.length)
505
+ return this.chunk.slice(O - this.chunkPos, t - this.chunkPos);
506
+ if (O >= this.chunk2Pos && t <= this.chunk2Pos + this.chunk2.length)
507
+ return this.chunk2.slice(O - this.chunk2Pos, t - this.chunk2Pos);
508
+ if (O >= this.range.from && t <= this.range.to)
509
+ return this.input.read(O, t);
510
+ let a = "";
511
+ for (let i of this.ranges) {
512
+ if (i.from >= t)
513
+ break;
514
+ i.to > O && (a += this.input.read(Math.max(i.from, O), Math.min(i.to, t)));
515
+ }
516
+ return a;
517
+ }
518
+ }
519
+ class w {
520
+ constructor(O, t) {
521
+ this.data = O, this.id = t;
522
+ }
523
+ token(O, t) {
524
+ let { parser: a } = t.p;
525
+ FO(this.data, O, t, this.id, a.data, a.tokenPrecTable);
526
+ }
527
+ }
528
+ w.prototype.contextual = w.prototype.fallback = w.prototype.extend = !1;
529
+ class E {
530
+ constructor(O, t, a) {
531
+ this.precTable = t, this.elseToken = a, this.data = typeof O == "string" ? R(O) : O;
532
+ }
533
+ token(O, t) {
534
+ let a = O.pos, i = 0;
535
+ for (; ; ) {
536
+ let s = O.next < 0, r = O.resolveOffset(1, 1);
537
+ if (FO(this.data, O, t, 0, this.data, this.precTable), O.token.value > -1)
538
+ break;
539
+ if (this.elseToken == null)
540
+ return;
541
+ if (s || i++, r == null)
542
+ break;
543
+ O.reset(r, O.token);
544
+ }
545
+ i && (O.reset(a, O.token), O.acceptToken(this.elseToken, i));
546
+ }
547
+ }
548
+ E.prototype.contextual = w.prototype.fallback = w.prototype.extend = !1;
549
+ class m {
550
+ /// Create a tokenizer. The first argument is the function that,
551
+ /// given an input stream, scans for the types of tokens it
552
+ /// recognizes at the stream's position, and calls
553
+ /// [`acceptToken`](#lr.InputStream.acceptToken) when it finds
554
+ /// one.
555
+ constructor(O, t = {}) {
556
+ this.token = O, this.contextual = !!t.contextual, this.fallback = !!t.fallback, this.extend = !!t.extend;
557
+ }
558
+ }
559
+ function FO(e, O, t, a, i, s) {
560
+ let r = 0, l = 1 << a, { dialect: n } = t.p.parser;
561
+ O:
562
+ for (; l & e[r]; ) {
563
+ let Q = e[r + 1];
564
+ for (let p = r + 3; p < Q; p += 2)
565
+ if ((e[p + 1] & l) > 0) {
566
+ let f = e[p];
567
+ if (n.allows(f) && (O.token.value == -1 || O.token.value == f || Ie(f, O.token.value, i, s))) {
568
+ O.acceptToken(f);
569
+ break;
570
+ }
571
+ }
572
+ let h = O.next, c = 0, $ = e[r + 2];
573
+ if (O.next < 0 && $ > c && e[Q + $ * 3 - 3] == 65535 && e[Q + $ * 3 - 3] == 65535) {
574
+ r = e[Q + $ * 3 - 1];
575
+ continue O;
576
+ }
577
+ for (; c < $; ) {
578
+ let p = c + $ >> 1, f = Q + p + (p << 1), S = e[f], Z = e[f + 1] || 65536;
579
+ if (h < S)
580
+ $ = p;
581
+ else if (h >= Z)
582
+ c = p + 1;
583
+ else {
584
+ r = e[f + 2], O.advance();
585
+ continue O;
586
+ }
587
+ }
588
+ break;
589
+ }
590
+ }
591
+ function XO(e, O, t) {
592
+ for (let a = O, i; (i = e[a]) != 65535; a++)
593
+ if (i == t)
594
+ return a - O;
595
+ return -1;
596
+ }
597
+ function Ie(e, O, t, a) {
598
+ let i = XO(t, a, O);
599
+ return i < 0 || XO(t, a, e) < i;
600
+ }
601
+ const X = typeof process < "u" && process.env && /\bparse\b/.test(process.env.LOG);
602
+ let M = null;
603
+ var PO;
604
+ (function(e) {
605
+ e[e.Margin = 25] = "Margin";
606
+ })(PO || (PO = {}));
607
+ function mO(e, O, t) {
608
+ let a = e.cursor(lO.IncludeAnonymous);
609
+ for (a.moveTo(O); ; )
610
+ if (!(t < 0 ? a.childBefore(O) : a.childAfter(O)))
611
+ for (; ; ) {
612
+ if ((t < 0 ? a.to < O : a.from > O) && !a.type.isError)
613
+ return t < 0 ? Math.max(0, Math.min(
614
+ a.to - 1,
615
+ O - 25
616
+ /* Safety.Margin */
617
+ )) : Math.min(e.length, Math.max(
618
+ a.from + 1,
619
+ O + 25
620
+ /* Safety.Margin */
621
+ ));
622
+ if (t < 0 ? a.prevSibling() : a.nextSibling())
623
+ break;
624
+ if (!a.parent())
625
+ return t < 0 ? 0 : e.length;
626
+ }
627
+ }
628
+ class Ae {
629
+ constructor(O, t) {
630
+ this.fragments = O, this.nodeSet = t, this.i = 0, this.fragment = null, this.safeFrom = -1, this.safeTo = -1, this.trees = [], this.start = [], this.index = [], this.nextFragment();
631
+ }
632
+ nextFragment() {
633
+ let O = this.fragment = this.i == this.fragments.length ? null : this.fragments[this.i++];
634
+ if (O) {
635
+ for (this.safeFrom = O.openStart ? mO(O.tree, O.from + O.offset, 1) - O.offset : O.from, this.safeTo = O.openEnd ? mO(O.tree, O.to + O.offset, -1) - O.offset : O.to; this.trees.length; )
636
+ this.trees.pop(), this.start.pop(), this.index.pop();
637
+ this.trees.push(O.tree), this.start.push(-O.offset), this.index.push(0), this.nextStart = this.safeFrom;
638
+ } else
639
+ this.nextStart = 1e9;
640
+ }
641
+ // `pos` must be >= any previously given `pos` for this cursor
642
+ nodeAt(O) {
643
+ if (O < this.nextStart)
644
+ return null;
645
+ for (; this.fragment && this.safeTo <= O; )
646
+ this.nextFragment();
647
+ if (!this.fragment)
648
+ return null;
649
+ for (; ; ) {
650
+ let t = this.trees.length - 1;
651
+ if (t < 0)
652
+ return this.nextFragment(), null;
653
+ let a = this.trees[t], i = this.index[t];
654
+ if (i == a.children.length) {
655
+ this.trees.pop(), this.start.pop(), this.index.pop();
656
+ continue;
657
+ }
658
+ let s = a.children[i], r = this.start[t] + a.positions[i];
659
+ if (r > O)
660
+ return this.nextStart = r, null;
661
+ if (s instanceof W) {
662
+ if (r == O) {
663
+ if (r < this.safeFrom)
664
+ return null;
665
+ let l = r + s.length;
666
+ if (l <= this.safeTo) {
667
+ let n = s.prop(sO.lookAhead);
668
+ if (!n || l + n < this.fragment.to)
669
+ return s;
670
+ }
671
+ }
672
+ this.index[t]++, r + s.length >= Math.max(this.safeFrom, O) && (this.trees.push(s), this.start.push(r), this.index.push(0));
673
+ } else
674
+ this.index[t]++, this.nextStart = r + s.length;
675
+ }
676
+ }
677
+ }
678
+ class Ee {
679
+ constructor(O, t) {
680
+ this.stream = t, this.tokens = [], this.mainToken = null, this.actions = [], this.tokens = O.tokenizers.map((a) => new j());
681
+ }
682
+ getActions(O) {
683
+ let t = 0, a = null, { parser: i } = O.p, { tokenizers: s } = i, r = i.stateSlot(
684
+ O.state,
685
+ 3
686
+ /* ParseState.TokenizerMask */
687
+ ), l = O.curContext ? O.curContext.hash : 0, n = 0;
688
+ for (let Q = 0; Q < s.length; Q++) {
689
+ if (!(1 << Q & r))
690
+ continue;
691
+ let h = s[Q], c = this.tokens[Q];
692
+ if (!(a && !h.fallback) && ((h.contextual || c.start != O.pos || c.mask != r || c.context != l) && (this.updateCachedToken(c, h, O), c.mask = r, c.context = l), c.lookAhead > c.end + 25 && (n = Math.max(c.lookAhead, n)), c.value != 0)) {
693
+ let $ = t;
694
+ if (c.extended > -1 && (t = this.addActions(O, c.extended, c.end, t)), t = this.addActions(O, c.value, c.end, t), !h.extend && (a = c, t > $))
695
+ break;
696
+ }
697
+ }
698
+ for (; this.actions.length > t; )
699
+ this.actions.pop();
700
+ return n && O.setLookAhead(n), !a && O.pos == this.stream.end && (a = new j(), a.value = O.p.parser.eofTerm, a.start = a.end = O.pos, t = this.addActions(O, a.value, a.end, t)), this.mainToken = a, this.actions;
701
+ }
702
+ getMainToken(O) {
703
+ if (this.mainToken)
704
+ return this.mainToken;
705
+ let t = new j(), { pos: a, p: i } = O;
706
+ return t.start = a, t.end = Math.min(a + 1, i.stream.end), t.value = a == i.stream.end ? i.parser.eofTerm : 0, t;
707
+ }
708
+ updateCachedToken(O, t, a) {
709
+ let i = this.stream.clipPos(a.pos);
710
+ if (t.token(this.stream.reset(i, O), a), O.value > -1) {
711
+ let { parser: s } = a.p;
712
+ for (let r = 0; r < s.specialized.length; r++)
713
+ if (s.specialized[r] == O.value) {
714
+ let l = s.specializers[r](this.stream.read(O.start, O.end), a);
715
+ if (l >= 0 && a.p.parser.dialect.allows(l >> 1)) {
716
+ l & 1 ? O.extended = l >> 1 : O.value = l >> 1;
717
+ break;
718
+ }
719
+ }
720
+ } else
721
+ O.value = 0, O.end = this.stream.clipPos(i + 1);
722
+ }
723
+ putAction(O, t, a, i) {
724
+ for (let s = 0; s < i; s += 3)
725
+ if (this.actions[s] == O)
726
+ return i;
727
+ return this.actions[i++] = O, this.actions[i++] = t, this.actions[i++] = a, i;
728
+ }
729
+ addActions(O, t, a, i) {
730
+ let { state: s } = O, { parser: r } = O.p, { data: l } = r;
731
+ for (let n = 0; n < 2; n++)
732
+ for (let Q = r.stateSlot(
733
+ s,
734
+ n ? 2 : 1
735
+ /* ParseState.Actions */
736
+ ); ; Q += 3) {
737
+ if (l[Q] == 65535)
738
+ if (l[Q + 1] == 1)
739
+ Q = b(l, Q + 2);
740
+ else {
741
+ i == 0 && l[Q + 1] == 2 && (i = this.putAction(b(l, Q + 2), t, a, i));
742
+ break;
743
+ }
744
+ l[Q] == t && (i = this.putAction(b(l, Q + 1), t, a, i));
745
+ }
746
+ return i;
747
+ }
748
+ }
749
+ var ZO;
750
+ (function(e) {
751
+ e[e.Distance = 5] = "Distance", e[e.MaxRemainingPerStep = 3] = "MaxRemainingPerStep", e[e.MinBufferLengthPrune = 500] = "MinBufferLengthPrune", e[e.ForceReduceLimit = 10] = "ForceReduceLimit", e[e.CutDepth = 15e3] = "CutDepth", e[e.CutTo = 9e3] = "CutTo", e[e.MaxLeftAssociativeReductionCount = 300] = "MaxLeftAssociativeReductionCount", e[e.MaxStackCount = 12] = "MaxStackCount";
752
+ })(ZO || (ZO = {}));
753
+ class Ne {
754
+ constructor(O, t, a, i) {
755
+ this.parser = O, this.input = t, this.ranges = i, this.recovering = 0, this.nextStackID = 9812, this.minStackPos = 0, this.reused = [], this.stoppedAt = null, this.lastBigReductionStart = -1, this.lastBigReductionSize = 0, this.bigReductionCount = 0, this.stream = new Ge(t, i), this.tokens = new Ee(O, this.stream), this.topTerm = O.top[1];
756
+ let { from: s } = i[0];
757
+ this.stacks = [I.start(this, O.top[0], s)], this.fragments = a.length && this.stream.end - s > O.bufferLength * 4 ? new Ae(a, O.nodeSet) : null;
758
+ }
759
+ get parsedPos() {
760
+ return this.minStackPos;
761
+ }
762
+ // Move the parser forward. This will process all parse stacks at
763
+ // `this.pos` and try to advance them to a further position. If no
764
+ // stack for such a position is found, it'll start error-recovery.
765
+ //
766
+ // When the parse is finished, this will return a syntax tree. When
767
+ // not, it returns `null`.
768
+ advance() {
769
+ let O = this.stacks, t = this.minStackPos, a = this.stacks = [], i, s;
770
+ if (this.bigReductionCount > 300 && O.length == 1) {
771
+ let [r] = O;
772
+ for (; r.forceReduce() && r.stack.length && r.stack[r.stack.length - 2] >= this.lastBigReductionStart; )
773
+ ;
774
+ this.bigReductionCount = this.lastBigReductionSize = 0;
775
+ }
776
+ for (let r = 0; r < O.length; r++) {
777
+ let l = O[r];
778
+ for (; ; ) {
779
+ if (this.tokens.mainToken = null, l.pos > t)
780
+ a.push(l);
781
+ else {
782
+ if (this.advanceStack(l, a, O))
783
+ continue;
784
+ {
785
+ i || (i = [], s = []), i.push(l);
786
+ let n = this.tokens.getMainToken(l);
787
+ s.push(n.value, n.end);
788
+ }
789
+ }
790
+ break;
791
+ }
792
+ }
793
+ if (!a.length) {
794
+ let r = i && De(i);
795
+ if (r)
796
+ return this.stackToTree(r);
797
+ if (this.parser.strict)
798
+ throw X && i && console.log("Stuck with token " + (this.tokens.mainToken ? this.parser.getName(this.tokens.mainToken.value) : "none")), new SyntaxError("No parse at " + t);
799
+ this.recovering || (this.recovering = 5);
800
+ }
801
+ if (this.recovering && i) {
802
+ let r = this.stoppedAt != null && i[0].pos > this.stoppedAt ? i[0] : this.runRecovery(i, s, a);
803
+ if (r)
804
+ return this.stackToTree(r.forceAll());
805
+ }
806
+ if (this.recovering) {
807
+ let r = this.recovering == 1 ? 1 : this.recovering * 3;
808
+ if (a.length > r)
809
+ for (a.sort((l, n) => n.score - l.score); a.length > r; )
810
+ a.pop();
811
+ a.some((l) => l.reducePos > t) && this.recovering--;
812
+ } else if (a.length > 1) {
813
+ O:
814
+ for (let r = 0; r < a.length - 1; r++) {
815
+ let l = a[r];
816
+ for (let n = r + 1; n < a.length; n++) {
817
+ let Q = a[n];
818
+ if (l.sameState(Q) || l.buffer.length > 500 && Q.buffer.length > 500)
819
+ if ((l.score - Q.score || l.buffer.length - Q.buffer.length) > 0)
820
+ a.splice(n--, 1);
821
+ else {
822
+ a.splice(r--, 1);
823
+ continue O;
824
+ }
825
+ }
826
+ }
827
+ a.length > 12 && a.splice(
828
+ 12,
829
+ a.length - 12
830
+ /* Rec.MaxStackCount */
831
+ );
832
+ }
833
+ this.minStackPos = a[0].pos;
834
+ for (let r = 1; r < a.length; r++)
835
+ a[r].pos < this.minStackPos && (this.minStackPos = a[r].pos);
836
+ return null;
837
+ }
838
+ stopAt(O) {
839
+ if (this.stoppedAt != null && this.stoppedAt < O)
840
+ throw new RangeError("Can't move stoppedAt forward");
841
+ this.stoppedAt = O;
842
+ }
843
+ // Returns an updated version of the given stack, or null if the
844
+ // stack can't advance normally. When `split` and `stacks` are
845
+ // given, stacks split off by ambiguous operations will be pushed to
846
+ // `split`, or added to `stacks` if they move `pos` forward.
847
+ advanceStack(O, t, a) {
848
+ let i = O.pos, { parser: s } = this, r = X ? this.stackID(O) + " -> " : "";
849
+ if (this.stoppedAt != null && i > this.stoppedAt)
850
+ return O.forceReduce() ? O : null;
851
+ if (this.fragments) {
852
+ let Q = O.curContext && O.curContext.tracker.strict, h = Q ? O.curContext.hash : 0;
853
+ for (let c = this.fragments.nodeAt(i); c; ) {
854
+ let $ = this.parser.nodeSet.types[c.type.id] == c.type ? s.getGoto(O.state, c.type.id) : -1;
855
+ if ($ > -1 && c.length && (!Q || (c.prop(sO.contextHash) || 0) == h))
856
+ return O.useNode(c, $), X && console.log(r + this.stackID(O) + ` (via reuse of ${s.getName(c.type.id)})`), !0;
857
+ if (!(c instanceof W) || c.children.length == 0 || c.positions[0] > 0)
858
+ break;
859
+ let p = c.children[0];
860
+ if (p instanceof W && c.positions[0] == 0)
861
+ c = p;
862
+ else
863
+ break;
864
+ }
865
+ }
866
+ let l = s.stateSlot(
867
+ O.state,
868
+ 4
869
+ /* ParseState.DefaultReduce */
870
+ );
871
+ if (l > 0)
872
+ return O.reduce(l), X && console.log(r + this.stackID(O) + ` (via always-reduce ${s.getName(
873
+ l & 65535
874
+ /* Action.ValueMask */
875
+ )})`), !0;
876
+ if (O.stack.length >= 15e3)
877
+ for (; O.stack.length > 9e3 && O.forceReduce(); )
878
+ ;
879
+ let n = this.tokens.getActions(O);
880
+ for (let Q = 0; Q < n.length; ) {
881
+ let h = n[Q++], c = n[Q++], $ = n[Q++], p = Q == n.length || !a, f = p ? O : O.split();
882
+ if (f.apply(h, c, $), X && console.log(r + this.stackID(f) + ` (via ${h & 65536 ? `reduce of ${s.getName(
883
+ h & 65535
884
+ /* Action.ValueMask */
885
+ )}` : "shift"} for ${s.getName(c)} @ ${i}${f == O ? "" : ", split"})`), p)
886
+ return !0;
887
+ f.pos > i ? t.push(f) : a.push(f);
888
+ }
889
+ return !1;
890
+ }
891
+ // Advance a given stack forward as far as it will go. Returns the
892
+ // (possibly updated) stack if it got stuck, or null if it moved
893
+ // forward and was given to `pushStackDedup`.
894
+ advanceFully(O, t) {
895
+ let a = O.pos;
896
+ for (; ; ) {
897
+ if (!this.advanceStack(O, null, null))
898
+ return !1;
899
+ if (O.pos > a)
900
+ return bO(O, t), !0;
901
+ }
902
+ }
903
+ runRecovery(O, t, a) {
904
+ let i = null, s = !1;
905
+ for (let r = 0; r < O.length; r++) {
906
+ let l = O[r], n = t[r << 1], Q = t[(r << 1) + 1], h = X ? this.stackID(l) + " -> " : "";
907
+ if (l.deadEnd && (s || (s = !0, l.restart(), X && console.log(h + this.stackID(l) + " (restarted)"), this.advanceFully(l, a))))
908
+ continue;
909
+ let c = l.split(), $ = h;
910
+ for (let p = 0; c.forceReduce() && p < 10 && (X && console.log($ + this.stackID(c) + " (via force-reduce)"), !this.advanceFully(c, a)); p++)
911
+ X && ($ = this.stackID(c) + " -> ");
912
+ for (let p of l.recoverByInsert(n))
913
+ X && console.log(h + this.stackID(p) + " (via recover-insert)"), this.advanceFully(p, a);
914
+ this.stream.end > l.pos ? (Q == l.pos && (Q++, n = 0), l.recoverByDelete(n, Q), X && console.log(h + this.stackID(l) + ` (via recover-delete ${this.parser.getName(n)})`), bO(l, a)) : (!i || i.score < l.score) && (i = l);
915
+ }
916
+ return i;
917
+ }
918
+ // Convert the stack's buffer to a syntax tree.
919
+ stackToTree(O) {
920
+ return O.close(), W.build({
921
+ buffer: A.create(O),
922
+ nodeSet: this.parser.nodeSet,
923
+ topID: this.topTerm,
924
+ maxBufferLength: this.parser.bufferLength,
925
+ reused: this.reused,
926
+ start: this.ranges[0].from,
927
+ length: O.pos - this.ranges[0].from,
928
+ minRepeatType: this.parser.minRepeatTerm
929
+ });
930
+ }
931
+ stackID(O) {
932
+ let t = (M || (M = /* @__PURE__ */ new WeakMap())).get(O);
933
+ return t || M.set(O, t = String.fromCodePoint(this.nextStackID++)), t + O;
934
+ }
935
+ }
936
+ function bO(e, O) {
937
+ for (let t = 0; t < O.length; t++) {
938
+ let a = O[t];
939
+ if (a.pos == e.pos && a.sameState(e)) {
940
+ O[t].score < e.score && (O[t] = e);
941
+ return;
942
+ }
943
+ }
944
+ O.push(e);
945
+ }
946
+ class Be {
947
+ constructor(O, t, a) {
948
+ this.source = O, this.flags = t, this.disabled = a;
949
+ }
950
+ allows(O) {
951
+ return !this.disabled || this.disabled[O] == 0;
952
+ }
953
+ }
954
+ const L = (e) => e;
955
+ class KO {
956
+ /// Define a context tracker.
957
+ constructor(O) {
958
+ this.start = O.start, this.shift = O.shift || L, this.reduce = O.reduce || L, this.reuse = O.reuse || L, this.hash = O.hash || (() => 0), this.strict = O.strict !== !1;
959
+ }
960
+ }
961
+ class y extends Ye {
962
+ /// @internal
963
+ constructor(O) {
964
+ if (super(), this.wrappers = [], O.version != 14)
965
+ throw new RangeError(`Parser version (${O.version}) doesn't match runtime version (14)`);
966
+ let t = O.nodeNames.split(" ");
967
+ this.minRepeatTerm = t.length;
968
+ for (let l = 0; l < O.repeatNodeCount; l++)
969
+ t.push("");
970
+ let a = Object.keys(O.topRules).map((l) => O.topRules[l][1]), i = [];
971
+ for (let l = 0; l < t.length; l++)
972
+ i.push([]);
973
+ function s(l, n, Q) {
974
+ i[l].push([n, n.deserialize(String(Q))]);
975
+ }
976
+ if (O.nodeProps)
977
+ for (let l of O.nodeProps) {
978
+ let n = l[0];
979
+ typeof n == "string" && (n = sO[n]);
980
+ for (let Q = 1; Q < l.length; ) {
981
+ let h = l[Q++];
982
+ if (h >= 0)
983
+ s(h, n, l[Q++]);
984
+ else {
985
+ let c = l[Q + -h];
986
+ for (let $ = -h; $ > 0; $--)
987
+ s(l[Q++], n, c);
988
+ Q++;
989
+ }
990
+ }
991
+ }
992
+ this.nodeSet = new Te(t.map((l, n) => Ue.define({
993
+ name: n >= this.minRepeatTerm ? void 0 : l,
994
+ id: n,
995
+ props: i[n],
996
+ top: a.indexOf(n) > -1,
997
+ error: n == 0,
998
+ skipped: O.skippedNodes && O.skippedNodes.indexOf(n) > -1
999
+ }))), O.propSources && (this.nodeSet = this.nodeSet.extend(...O.propSources)), this.strict = !1, this.bufferLength = Ve;
1000
+ let r = R(O.tokenData);
1001
+ this.context = O.context, this.specializerSpecs = O.specialized || [], this.specialized = new Uint16Array(this.specializerSpecs.length);
1002
+ for (let l = 0; l < this.specializerSpecs.length; l++)
1003
+ this.specialized[l] = this.specializerSpecs[l].term;
1004
+ this.specializers = this.specializerSpecs.map(xO), this.states = R(O.states, Uint32Array), this.data = R(O.stateData), this.goto = R(O.goto), this.maxTerm = O.maxTerm, this.tokenizers = O.tokenizers.map((l) => typeof l == "number" ? new w(r, l) : l), this.topRules = O.topRules, this.dialects = O.dialects || {}, this.dynamicPrecedences = O.dynamicPrecedences || null, this.tokenPrecTable = O.tokenPrec, this.termNames = O.termNames || null, this.maxNode = this.nodeSet.types.length - 1, this.dialect = this.parseDialect(), this.top = this.topRules[Object.keys(this.topRules)[0]];
1005
+ }
1006
+ createParse(O, t, a) {
1007
+ let i = new Ne(this, O, t, a);
1008
+ for (let s of this.wrappers)
1009
+ i = s(i, O, t, a);
1010
+ return i;
1011
+ }
1012
+ /// Get a goto table entry @internal
1013
+ getGoto(O, t, a = !1) {
1014
+ let i = this.goto;
1015
+ if (t >= i[0])
1016
+ return -1;
1017
+ for (let s = i[t + 1]; ; ) {
1018
+ let r = i[s++], l = r & 1, n = i[s++];
1019
+ if (l && a)
1020
+ return n;
1021
+ for (let Q = s + (r >> 1); s < Q; s++)
1022
+ if (i[s] == O)
1023
+ return n;
1024
+ if (l)
1025
+ return -1;
1026
+ }
1027
+ }
1028
+ /// Check if this state has an action for a given terminal @internal
1029
+ hasAction(O, t) {
1030
+ let a = this.data;
1031
+ for (let i = 0; i < 2; i++)
1032
+ for (let s = this.stateSlot(
1033
+ O,
1034
+ i ? 2 : 1
1035
+ /* ParseState.Actions */
1036
+ ), r; ; s += 3) {
1037
+ if ((r = a[s]) == 65535)
1038
+ if (a[s + 1] == 1)
1039
+ r = a[s = b(a, s + 2)];
1040
+ else {
1041
+ if (a[s + 1] == 2)
1042
+ return b(a, s + 2);
1043
+ break;
1044
+ }
1045
+ if (r == t || r == 0)
1046
+ return b(a, s + 1);
1047
+ }
1048
+ return 0;
1049
+ }
1050
+ /// @internal
1051
+ stateSlot(O, t) {
1052
+ return this.states[O * 6 + t];
1053
+ }
1054
+ /// @internal
1055
+ stateFlag(O, t) {
1056
+ return (this.stateSlot(
1057
+ O,
1058
+ 0
1059
+ /* ParseState.Flags */
1060
+ ) & t) > 0;
1061
+ }
1062
+ /// @internal
1063
+ validAction(O, t) {
1064
+ return !!this.allActions(O, (a) => a == t ? !0 : null);
1065
+ }
1066
+ /// @internal
1067
+ allActions(O, t) {
1068
+ let a = this.stateSlot(
1069
+ O,
1070
+ 4
1071
+ /* ParseState.DefaultReduce */
1072
+ ), i = a ? t(a) : void 0;
1073
+ for (let s = this.stateSlot(
1074
+ O,
1075
+ 1
1076
+ /* ParseState.Actions */
1077
+ ); i == null; s += 3) {
1078
+ if (this.data[s] == 65535)
1079
+ if (this.data[s + 1] == 1)
1080
+ s = b(this.data, s + 2);
1081
+ else
1082
+ break;
1083
+ i = t(b(this.data, s + 1));
1084
+ }
1085
+ return i;
1086
+ }
1087
+ /// Get the states that can follow this one through shift actions or
1088
+ /// goto jumps. @internal
1089
+ nextStates(O) {
1090
+ let t = [];
1091
+ for (let a = this.stateSlot(
1092
+ O,
1093
+ 1
1094
+ /* ParseState.Actions */
1095
+ ); ; a += 3) {
1096
+ if (this.data[a] == 65535)
1097
+ if (this.data[a + 1] == 1)
1098
+ a = b(this.data, a + 2);
1099
+ else
1100
+ break;
1101
+ if (!(this.data[a + 2] & 1)) {
1102
+ let i = this.data[a + 1];
1103
+ t.some((s, r) => r & 1 && s == i) || t.push(this.data[a], i);
1104
+ }
1105
+ }
1106
+ return t;
1107
+ }
1108
+ /// Configure the parser. Returns a new parser instance that has the
1109
+ /// given settings modified. Settings not provided in `config` are
1110
+ /// kept from the original parser.
1111
+ configure(O) {
1112
+ let t = Object.assign(Object.create(y.prototype), this);
1113
+ if (O.props && (t.nodeSet = this.nodeSet.extend(...O.props)), O.top) {
1114
+ let a = this.topRules[O.top];
1115
+ if (!a)
1116
+ throw new RangeError(`Invalid top rule name ${O.top}`);
1117
+ t.top = a;
1118
+ }
1119
+ return O.tokenizers && (t.tokenizers = this.tokenizers.map((a) => {
1120
+ let i = O.tokenizers.find((s) => s.from == a);
1121
+ return i ? i.to : a;
1122
+ })), O.specializers && (t.specializers = this.specializers.slice(), t.specializerSpecs = this.specializerSpecs.map((a, i) => {
1123
+ let s = O.specializers.find((l) => l.from == a.external);
1124
+ if (!s)
1125
+ return a;
1126
+ let r = Object.assign(Object.assign({}, a), { external: s.to });
1127
+ return t.specializers[i] = xO(r), r;
1128
+ })), O.contextTracker && (t.context = O.contextTracker), O.dialect && (t.dialect = this.parseDialect(O.dialect)), O.strict != null && (t.strict = O.strict), O.wrap && (t.wrappers = t.wrappers.concat(O.wrap)), O.bufferLength != null && (t.bufferLength = O.bufferLength), t;
1129
+ }
1130
+ /// Tells you whether any [parse wrappers](#lr.ParserConfig.wrap)
1131
+ /// are registered for this parser.
1132
+ hasWrappers() {
1133
+ return this.wrappers.length > 0;
1134
+ }
1135
+ /// Returns the name associated with a given term. This will only
1136
+ /// work for all terms when the parser was generated with the
1137
+ /// `--names` option. By default, only the names of tagged terms are
1138
+ /// stored.
1139
+ getName(O) {
1140
+ return this.termNames ? this.termNames[O] : String(O <= this.maxNode && this.nodeSet.types[O].name || O);
1141
+ }
1142
+ /// The eof term id is always allocated directly after the node
1143
+ /// types. @internal
1144
+ get eofTerm() {
1145
+ return this.maxNode + 1;
1146
+ }
1147
+ /// The type of top node produced by the parser.
1148
+ get topNode() {
1149
+ return this.nodeSet.types[this.top[1]];
1150
+ }
1151
+ /// @internal
1152
+ dynamicPrecedence(O) {
1153
+ let t = this.dynamicPrecedences;
1154
+ return t == null ? 0 : t[O] || 0;
1155
+ }
1156
+ /// @internal
1157
+ parseDialect(O) {
1158
+ let t = Object.keys(this.dialects), a = t.map(() => !1);
1159
+ if (O)
1160
+ for (let s of O.split(" ")) {
1161
+ let r = t.indexOf(s);
1162
+ r >= 0 && (a[r] = !0);
1163
+ }
1164
+ let i = null;
1165
+ for (let s = 0; s < t.length; s++)
1166
+ if (!a[s])
1167
+ for (let r = this.dialects[t[s]], l; (l = this.data[r++]) != 65535; )
1168
+ (i || (i = new Uint8Array(this.maxTerm + 1)))[l] = 1;
1169
+ return new Be(O, a, i);
1170
+ }
1171
+ /// Used by the output of the parser generator. Not available to
1172
+ /// user code. @hide
1173
+ static deserialize(O) {
1174
+ return new y(O);
1175
+ }
1176
+ }
1177
+ function b(e, O) {
1178
+ return e[O] | e[O + 1] << 16;
1179
+ }
1180
+ function De(e) {
1181
+ let O = null;
1182
+ for (let t of e) {
1183
+ let a = t.p.stoppedAt;
1184
+ (t.pos == t.p.stream.end || a != null && t.pos > a) && t.p.parser.stateFlag(
1185
+ t.state,
1186
+ 2
1187
+ /* StateFlag.Accepting */
1188
+ ) && (!O || O.score < t.score) && (O = t);
1189
+ }
1190
+ return O;
1191
+ }
1192
+ function xO(e) {
1193
+ if (e.external) {
1194
+ let O = e.extend ? 1 : 0;
1195
+ return (t, a) => e.external(t, a) << 1 | O;
1196
+ }
1197
+ return e.get;
1198
+ }
1199
+ const Je = 54, Me = 1, Le = 55, Fe = 2, Ke = 56, He = 3, kO = 4, Ot = 5, N = 6, HO = 7, Oe = 8, ee = 9, te = 10, et = 11, tt = 12, at = 13, F = 57, it = 14, wO = 58, ae = 20, rt = 22, ie = 23, st = 24, iO = 26, re = 27, lt = 28, nt = 31, ot = 34, Qt = 36, ct = 37, ut = 0, ht = 1, pt = {
1200
+ area: !0,
1201
+ base: !0,
1202
+ br: !0,
1203
+ col: !0,
1204
+ command: !0,
1205
+ embed: !0,
1206
+ frame: !0,
1207
+ hr: !0,
1208
+ img: !0,
1209
+ input: !0,
1210
+ keygen: !0,
1211
+ link: !0,
1212
+ meta: !0,
1213
+ param: !0,
1214
+ source: !0,
1215
+ track: !0,
1216
+ wbr: !0,
1217
+ menuitem: !0
1218
+ }, $t = {
1219
+ dd: !0,
1220
+ li: !0,
1221
+ optgroup: !0,
1222
+ option: !0,
1223
+ p: !0,
1224
+ rp: !0,
1225
+ rt: !0,
1226
+ tbody: !0,
1227
+ td: !0,
1228
+ tfoot: !0,
1229
+ th: !0,
1230
+ tr: !0
1231
+ }, yO = {
1232
+ dd: { dd: !0, dt: !0 },
1233
+ dt: { dd: !0, dt: !0 },
1234
+ li: { li: !0 },
1235
+ option: { option: !0, optgroup: !0 },
1236
+ optgroup: { optgroup: !0 },
1237
+ p: {
1238
+ address: !0,
1239
+ article: !0,
1240
+ aside: !0,
1241
+ blockquote: !0,
1242
+ dir: !0,
1243
+ div: !0,
1244
+ dl: !0,
1245
+ fieldset: !0,
1246
+ footer: !0,
1247
+ form: !0,
1248
+ h1: !0,
1249
+ h2: !0,
1250
+ h3: !0,
1251
+ h4: !0,
1252
+ h5: !0,
1253
+ h6: !0,
1254
+ header: !0,
1255
+ hgroup: !0,
1256
+ hr: !0,
1257
+ menu: !0,
1258
+ nav: !0,
1259
+ ol: !0,
1260
+ p: !0,
1261
+ pre: !0,
1262
+ section: !0,
1263
+ table: !0,
1264
+ ul: !0
1265
+ },
1266
+ rp: { rp: !0, rt: !0 },
1267
+ rt: { rp: !0, rt: !0 },
1268
+ tbody: { tbody: !0, tfoot: !0 },
1269
+ td: { td: !0, th: !0 },
1270
+ tfoot: { tbody: !0 },
1271
+ th: { td: !0, th: !0 },
1272
+ thead: { tbody: !0, tfoot: !0 },
1273
+ tr: { tr: !0 }
1274
+ };
1275
+ function ft(e) {
1276
+ return e == 45 || e == 46 || e == 58 || e >= 65 && e <= 90 || e == 95 || e >= 97 && e <= 122 || e >= 161;
1277
+ }
1278
+ function se(e) {
1279
+ return e == 9 || e == 10 || e == 13 || e == 32;
1280
+ }
1281
+ let YO = null, TO = null, UO = 0;
1282
+ function rO(e, O) {
1283
+ let t = e.pos + O;
1284
+ if (UO == t && TO == e)
1285
+ return YO;
1286
+ let a = e.peek(O);
1287
+ for (; se(a); )
1288
+ a = e.peek(++O);
1289
+ let i = "";
1290
+ for (; ft(a); )
1291
+ i += String.fromCharCode(a), a = e.peek(++O);
1292
+ return TO = e, UO = t, YO = i ? i.toLowerCase() : a == St || a == dt ? void 0 : null;
1293
+ }
1294
+ const le = 60, B = 62, hO = 47, St = 63, dt = 33, gt = 45;
1295
+ function VO(e, O) {
1296
+ this.name = e, this.parent = O, this.hash = O ? O.hash : 0;
1297
+ for (let t = 0; t < e.length; t++)
1298
+ this.hash += (this.hash << 4) + e.charCodeAt(t) + (e.charCodeAt(t) << 8);
1299
+ }
1300
+ const Xt = [N, te, HO, Oe, ee], Pt = new KO({
1301
+ start: null,
1302
+ shift(e, O, t, a) {
1303
+ return Xt.indexOf(O) > -1 ? new VO(rO(a, 1) || "", e) : e;
1304
+ },
1305
+ reduce(e, O) {
1306
+ return O == ae && e ? e.parent : e;
1307
+ },
1308
+ reuse(e, O, t, a) {
1309
+ let i = O.type.id;
1310
+ return i == N || i == Qt ? new VO(rO(a, 1) || "", e) : e;
1311
+ },
1312
+ hash(e) {
1313
+ return e ? e.hash : 0;
1314
+ },
1315
+ strict: !1
1316
+ }), mt = new m((e, O) => {
1317
+ if (e.next != le) {
1318
+ e.next < 0 && O.context && e.acceptToken(F);
1319
+ return;
1320
+ }
1321
+ e.advance();
1322
+ let t = e.next == hO;
1323
+ t && e.advance();
1324
+ let a = rO(e, 0);
1325
+ if (a === void 0)
1326
+ return;
1327
+ if (!a)
1328
+ return e.acceptToken(t ? it : N);
1329
+ let i = O.context ? O.context.name : null;
1330
+ if (t) {
1331
+ if (a == i)
1332
+ return e.acceptToken(et);
1333
+ if (i && $t[i])
1334
+ return e.acceptToken(F, -2);
1335
+ if (O.dialectEnabled(ut))
1336
+ return e.acceptToken(tt);
1337
+ for (let s = O.context; s; s = s.parent)
1338
+ if (s.name == a)
1339
+ return;
1340
+ e.acceptToken(at);
1341
+ } else {
1342
+ if (a == "script")
1343
+ return e.acceptToken(HO);
1344
+ if (a == "style")
1345
+ return e.acceptToken(Oe);
1346
+ if (a == "textarea")
1347
+ return e.acceptToken(ee);
1348
+ if (pt.hasOwnProperty(a))
1349
+ return e.acceptToken(te);
1350
+ i && yO[i] && yO[i][a] ? e.acceptToken(F, -1) : e.acceptToken(N);
1351
+ }
1352
+ }, { contextual: !0 }), Zt = new m((e) => {
1353
+ for (let O = 0, t = 0; ; t++) {
1354
+ if (e.next < 0) {
1355
+ t && e.acceptToken(wO);
1356
+ break;
1357
+ }
1358
+ if (e.next == gt)
1359
+ O++;
1360
+ else if (e.next == B && O >= 2) {
1361
+ t > 3 && e.acceptToken(wO, -2);
1362
+ break;
1363
+ } else
1364
+ O = 0;
1365
+ e.advance();
1366
+ }
1367
+ });
1368
+ function bt(e) {
1369
+ for (; e; e = e.parent)
1370
+ if (e.name == "svg" || e.name == "math")
1371
+ return !0;
1372
+ return !1;
1373
+ }
1374
+ const xt = new m((e, O) => {
1375
+ if (e.next == hO && e.peek(1) == B) {
1376
+ let t = O.dialectEnabled(ht) || bt(O.context);
1377
+ e.acceptToken(t ? Ot : kO, 2);
1378
+ } else
1379
+ e.next == B && e.acceptToken(kO, 1);
1380
+ });
1381
+ function pO(e, O, t) {
1382
+ let a = 2 + e.length;
1383
+ return new m((i) => {
1384
+ for (let s = 0, r = 0, l = 0; ; l++) {
1385
+ if (i.next < 0) {
1386
+ l && i.acceptToken(O);
1387
+ break;
1388
+ }
1389
+ if (s == 0 && i.next == le || s == 1 && i.next == hO || s >= 2 && s < a && i.next == e.charCodeAt(s - 2))
1390
+ s++, r++;
1391
+ else if ((s == 2 || s == a) && se(i.next))
1392
+ r++;
1393
+ else if (s == a && i.next == B) {
1394
+ l > r ? i.acceptToken(O, -r) : i.acceptToken(t, -(r - 2));
1395
+ break;
1396
+ } else if ((i.next == 10 || i.next == 13) && l) {
1397
+ i.acceptToken(O, 1);
1398
+ break;
1399
+ } else
1400
+ s = r = 0;
1401
+ i.advance();
1402
+ }
1403
+ });
1404
+ }
1405
+ const kt = pO("script", Je, Me), wt = pO("style", Le, Fe), yt = pO("textarea", Ke, He), Yt = nO({
1406
+ "Text RawText": o.content,
1407
+ "StartTag StartCloseTag SelfClosingEndTag EndTag": o.angleBracket,
1408
+ TagName: o.tagName,
1409
+ "MismatchedCloseTag/TagName": [o.tagName, o.invalid],
1410
+ AttributeName: o.attributeName,
1411
+ "AttributeValue UnquotedAttributeValue": o.attributeValue,
1412
+ Is: o.definitionOperator,
1413
+ "EntityReference CharacterReference": o.character,
1414
+ Comment: o.blockComment,
1415
+ ProcessingInst: o.processingInstruction,
1416
+ DoctypeDecl: o.documentMeta
1417
+ }), Tt = y.deserialize({
1418
+ version: 14,
1419
+ states: ",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%WQ&rO,59fO%`Q&rO,59iO%hQ&rO,59lO%sQ&rO,59nOOOa'#D^'#D^O%{OaO'#CxO&WOaO,59[OOOb'#D_'#D_O&`ObO'#C{O&kObO,59[OOOd'#D`'#D`O&sOdO'#DOO'OOdO,59[OOO`'#Da'#DaO'WO!rO,59[O'_Q#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'dO$fO,59oOOO`,59o,59oO'lQ#|O,59qO'qQ#|O,59rOOO`-E7W-E7WO'vQ&rO'#CsOOQW'#DZ'#DZO(UQ&rO1G.wOOOa1G.w1G.wO(^Q&rO1G/QOOOb1G/Q1G/QO(fQ&rO1G/TOOOd1G/T1G/TO(nQ&rO1G/WOOO`1G/W1G/WOOO`1G/Y1G/YO(yQ&rO1G/YOOOa-E7[-E7[O)RQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)WQ#tO'#C|OOOd-E7^-E7^O)]Q#tO'#DPOOO`-E7_-E7_O)bQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O)gQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rOOO`7+$t7+$tO)rQ#|O,59eO)wQ#|O,59hO)|Q#|O,59kOOO`1G/X1G/XO*RO7[O'#CvO*dOMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O*uO7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+WOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z",
1420
+ stateData: "+s~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OhyO~OS!OOhyO~OS!QOhyO~OS!SOT!TOhyO~OS!TOhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXhgXTgX~OS!fOhyO~OS!gOhyO~OS!hOhyO~OS!iOT!jOhyO~OS!jOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~",
1421
+ goto: "%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{}!P!R!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ}bQ!PcQ!RdQ!UeZ!e{}!P!R!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",
1422
+ nodeNames: "⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",
1423
+ maxTerm: 67,
1424
+ context: Pt,
1425
+ nodeProps: [
1426
+ ["closedBy", -10, 1, 2, 3, 7, 8, 9, 10, 11, 12, 13, "EndTag", 6, "EndTag SelfClosingEndTag", -4, 21, 30, 33, 36, "CloseTag"],
1427
+ ["openedBy", 4, "StartTag StartCloseTag", 5, "StartTag", -4, 29, 32, 35, 37, "OpenTag"],
1428
+ ["group", -9, 14, 17, 18, 19, 20, 39, 40, 41, 42, "Entity", 16, "Entity TextContent", -3, 28, 31, 34, "TextContent Entity"]
1429
+ ],
1430
+ propSources: [Yt],
1431
+ skippedNodes: [0],
1432
+ repeatNodeCount: 9,
1433
+ tokenData: "!<p!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs3_sv-_vw3}wxHYx}-_}!OH{!O!P-_!P!Q$q!Q![-_![!]Mz!]!^-_!^!_!$S!_!`!;x!`!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4U-_4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!Z$|c`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bX`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UV`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pT`POv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!cpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({W`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!a`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!a`!cpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYkWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]``P!a`!cp!^^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/ebhSkWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0rXhSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vchS`P!a`!cpOq&Xqr1krs&}sv1kvw0mwx(tx!P1k!P!Q&X!Q!^1k!^!_*V!_!a&X!a#s1k#s$f&X$f;'S1k;'S;=`3R<%l?Ah1k?Ah?BY&X?BY?Mn1k?MnO&X!V3UP;=`<%l1k!_3[P;=`<%l-_!Z3hV!`h`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WihSkWc!ROX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst>]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zbkWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOa!R!R7tP;=`<%l7S!Z8OYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{ihSkWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbhSkWa!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!V<QchSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXhSa!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TakWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOb!R!RAwP;=`<%lAY!ZBRYkWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbhSkWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbhSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXhSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!bx`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYlhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_khS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_X`P!a`!cp!eQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZhSfQ`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!a`!cpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!a`!cp!dPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!a`!cpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!a`!cpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!a`!cpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!a`!cpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!a`!cpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!a`!cpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!a`!cpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!cpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO{PP!-nP;=`<%l!-Sq!-xS!cp{POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!a`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!a`{POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!a`!cp{POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!a`!cpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!a`!cpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!a`!cpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!a`!cpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!a`!cpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!a`!cpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!cpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOxPP!7TP;=`<%l!6Vq!7]V!cpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!a`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!a`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!<TXiS`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",
1434
+ tokenizers: [kt, wt, yt, xt, mt, Zt, 0, 1, 2, 3, 4, 5],
1435
+ topRules: { Document: [0, 15] },
1436
+ dialects: { noMatch: 0, selfClosing: 485 },
1437
+ tokenPrec: 487
1438
+ });
1439
+ function ne(e, O) {
1440
+ let t = /* @__PURE__ */ Object.create(null);
1441
+ for (let a of e.getChildren(ie)) {
1442
+ let i = a.getChild(st), s = a.getChild(iO) || a.getChild(re);
1443
+ i && (t[O.read(i.from, i.to)] = s ? s.type.id == iO ? O.read(s.from + 1, s.to - 1) : O.read(s.from, s.to) : "");
1444
+ }
1445
+ return t;
1446
+ }
1447
+ function RO(e, O) {
1448
+ let t = e.getChild(rt);
1449
+ return t ? O.read(t.from, t.to) : " ";
1450
+ }
1451
+ function K(e, O, t) {
1452
+ let a;
1453
+ for (let i of t)
1454
+ if (!i.attrs || i.attrs(a || (a = ne(e.node.parent.firstChild, O))))
1455
+ return { parser: i.parser };
1456
+ return null;
1457
+ }
1458
+ function oe(e = [], O = []) {
1459
+ let t = [], a = [], i = [], s = [];
1460
+ for (let l of e)
1461
+ (l.tag == "script" ? t : l.tag == "style" ? a : l.tag == "textarea" ? i : s).push(l);
1462
+ let r = O.length ? /* @__PURE__ */ Object.create(null) : null;
1463
+ for (let l of O)
1464
+ (r[l.name] || (r[l.name] = [])).push(l);
1465
+ return Re((l, n) => {
1466
+ let Q = l.type.id;
1467
+ if (Q == lt)
1468
+ return K(l, n, t);
1469
+ if (Q == nt)
1470
+ return K(l, n, a);
1471
+ if (Q == ot)
1472
+ return K(l, n, i);
1473
+ if (Q == ae && s.length) {
1474
+ let h = l.node, c = h.firstChild, $ = c && RO(c, n), p;
1475
+ if ($) {
1476
+ for (let f of s)
1477
+ if (f.tag == $ && (!f.attrs || f.attrs(p || (p = ne(h, n))))) {
1478
+ let S = h.lastChild;
1479
+ return { parser: f.parser, overlay: [{ from: c.to, to: S.type.id == ct ? S.from : h.to }] };
1480
+ }
1481
+ }
1482
+ }
1483
+ if (r && Q == ie) {
1484
+ let h = l.node, c;
1485
+ if (c = h.firstChild) {
1486
+ let $ = r[n.read(c.from, c.to)];
1487
+ if ($)
1488
+ for (let p of $) {
1489
+ if (p.tagName && p.tagName != RO(h.parent, n))
1490
+ continue;
1491
+ let f = h.lastChild;
1492
+ if (f.type.id == iO) {
1493
+ let S = f.from + 1, Z = f.lastChild, k = f.to - (Z && Z.isError ? 0 : 1);
1494
+ if (k > S)
1495
+ return { parser: p.parser, overlay: [{ from: S, to: k }] };
1496
+ } else if (f.type.id == re)
1497
+ return { parser: p.parser, overlay: [{ from: f.from, to: f.to }] };
1498
+ }
1499
+ }
1500
+ }
1501
+ return null;
1502
+ });
1503
+ }
1504
+ const Ut = 96, vO = 1, Vt = 97, Rt = 98, _O = 2, Qe = [
1505
+ 9,
1506
+ 10,
1507
+ 11,
1508
+ 12,
1509
+ 13,
1510
+ 32,
1511
+ 133,
1512
+ 160,
1513
+ 5760,
1514
+ 8192,
1515
+ 8193,
1516
+ 8194,
1517
+ 8195,
1518
+ 8196,
1519
+ 8197,
1520
+ 8198,
1521
+ 8199,
1522
+ 8200,
1523
+ 8201,
1524
+ 8202,
1525
+ 8232,
1526
+ 8233,
1527
+ 8239,
1528
+ 8287,
1529
+ 12288
1530
+ ], vt = 58, _t = 40, ce = 95, Wt = 91, z = 45, qt = 46, Ct = 35, jt = 37;
1531
+ function D(e) {
1532
+ return e >= 65 && e <= 90 || e >= 97 && e <= 122 || e >= 161;
1533
+ }
1534
+ function zt(e) {
1535
+ return e >= 48 && e <= 57;
1536
+ }
1537
+ const Gt = new m((e, O) => {
1538
+ for (let t = !1, a = 0, i = 0; ; i++) {
1539
+ let { next: s } = e;
1540
+ if (D(s) || s == z || s == ce || t && zt(s))
1541
+ !t && (s != z || i > 0) && (t = !0), a === i && s == z && a++, e.advance();
1542
+ else {
1543
+ t && e.acceptToken(s == _t ? Vt : a == 2 && O.canShift(_O) ? _O : Rt);
1544
+ break;
1545
+ }
1546
+ }
1547
+ }), It = new m((e) => {
1548
+ if (Qe.includes(e.peek(-1))) {
1549
+ let { next: O } = e;
1550
+ (D(O) || O == ce || O == Ct || O == qt || O == Wt || O == vt || O == z) && e.acceptToken(Ut);
1551
+ }
1552
+ }), At = new m((e) => {
1553
+ if (!Qe.includes(e.peek(-1))) {
1554
+ let { next: O } = e;
1555
+ if (O == jt && (e.advance(), e.acceptToken(vO)), D(O)) {
1556
+ do
1557
+ e.advance();
1558
+ while (D(e.next));
1559
+ e.acceptToken(vO);
1560
+ }
1561
+ }
1562
+ }), Et = nO({
1563
+ "AtKeyword import charset namespace keyframes media supports": o.definitionKeyword,
1564
+ "from to selector": o.keyword,
1565
+ NamespaceName: o.namespace,
1566
+ KeyframeName: o.labelName,
1567
+ KeyframeRangeName: o.operatorKeyword,
1568
+ TagName: o.tagName,
1569
+ ClassName: o.className,
1570
+ PseudoClassName: o.constant(o.className),
1571
+ IdName: o.labelName,
1572
+ "FeatureName PropertyName": o.propertyName,
1573
+ AttributeName: o.attributeName,
1574
+ NumberLiteral: o.number,
1575
+ KeywordQuery: o.keyword,
1576
+ UnaryQueryOp: o.operatorKeyword,
1577
+ "CallTag ValueName": o.atom,
1578
+ VariableName: o.variableName,
1579
+ Callee: o.operatorKeyword,
1580
+ Unit: o.unit,
1581
+ "UniversalSelector NestingSelector": o.definitionOperator,
1582
+ MatchOp: o.compareOperator,
1583
+ "ChildOp SiblingOp, LogicOp": o.logicOperator,
1584
+ BinOp: o.arithmeticOperator,
1585
+ Important: o.modifier,
1586
+ Comment: o.blockComment,
1587
+ ColorLiteral: o.color,
1588
+ "ParenthesizedContent StringLiteral": o.string,
1589
+ ":": o.punctuation,
1590
+ "PseudoOp #": o.derefOperator,
1591
+ "; ,": o.separator,
1592
+ "( )": o.paren,
1593
+ "[ ]": o.squareBracket,
1594
+ "{ }": o.brace
1595
+ }), Nt = { __proto__: null, lang: 32, "nth-child": 32, "nth-last-child": 32, "nth-of-type": 32, "nth-last-of-type": 32, dir: 32, "host-context": 32, url: 60, "url-prefix": 60, domain: 60, regexp: 60, selector: 134 }, Bt = { __proto__: null, "@import": 114, "@media": 138, "@charset": 142, "@namespace": 146, "@keyframes": 152, "@supports": 164 }, Dt = { __proto__: null, not: 128, only: 128 }, Jt = y.deserialize({
1596
+ version: 14,
1597
+ states: "9bQYQ[OOO#_Q[OOP#fOWOOOOQP'#Cd'#CdOOQP'#Cc'#CcO#kQ[O'#CfO$_QXO'#CaO$fQ[O'#ChO$qQ[O'#DPO$vQ[O'#DTOOQP'#Ej'#EjO${QdO'#DeO%gQ[O'#DrO${QdO'#DtO%xQ[O'#DvO&TQ[O'#DyO&]Q[O'#EPO&kQ[O'#EROOQS'#Ei'#EiOOQS'#EU'#EUQYQ[OOO&rQXO'#CdO'gQWO'#DaO'lQWO'#EpO'wQ[O'#EpQOQWOOP(RO#tO'#C_POOO)C@X)C@XOOQP'#Cg'#CgOOQP,59Q,59QO#kQ[O,59QO(^Q[O'#EXO(xQWO,58{O)QQ[O,59SO$qQ[O,59kO$vQ[O,59oO(^Q[O,59sO(^Q[O,59uO(^Q[O,59vO)]Q[O'#D`OOQS,58{,58{OOQP'#Ck'#CkOOQO'#C}'#C}OOQP,59S,59SO)dQWO,59SO)iQWO,59SOOQP'#DR'#DROOQP,59k,59kOOQO'#DV'#DVO)nQ`O,59oOOQS'#Cp'#CpO${QdO'#CqO)vQvO'#CsO+TQtO,5:POOQO'#Cx'#CxO)iQWO'#CwO+iQWO'#CyOOQS'#Em'#EmOOQO'#Dh'#DhO+nQ[O'#DoO+|QWO'#EqO&]Q[O'#DmO,[QWO'#DpOOQO'#Er'#ErO({QWO,5:^O,aQpO,5:`OOQS'#Dx'#DxO,iQWO,5:bO,nQ[O,5:bOOQO'#D{'#D{O,vQWO,5:eO,{QWO,5:kO-TQWO,5:mOOQS-E8S-E8SO${QdO,59{O-]Q[O'#EZO-jQWO,5;[O-jQWO,5;[POOO'#ET'#ETP-uO#tO,58yPOOO,58y,58yOOQP1G.l1G.lO.lQXO,5:sOOQO-E8V-E8VOOQS1G.g1G.gOOQP1G.n1G.nO)dQWO1G.nO)iQWO1G.nOOQP1G/V1G/VO.yQ`O1G/ZO/dQXO1G/_O/zQXO1G/aO0bQXO1G/bO0xQWO,59zO0}Q[O'#DOO1UQdO'#CoOOQP1G/Z1G/ZO${QdO1G/ZO1]QpO,59]OOQS,59_,59_O${QdO,59aO1eQWO1G/kOOQS,59c,59cO1jQ!bO,59eO1rQWO'#DhO1}QWO,5:TO2SQWO,5:ZO&]Q[O,5:VO&]Q[O'#E[O2[QWO,5;]O2gQWO,5:XO(^Q[O,5:[OOQS1G/x1G/xOOQS1G/z1G/zOOQS1G/|1G/|O2xQWO1G/|O2}QdO'#D|OOQS1G0P1G0POOQS1G0V1G0VOOQS1G0X1G0XO3YQtO1G/gOOQO,5:u,5:uO3pQ[O,5:uOOQO-E8X-E8XO3}QWO1G0vPOOO-E8R-E8RPOOO1G.e1G.eOOQP7+$Y7+$YOOQP7+$u7+$uO${QdO7+$uOOQS1G/f1G/fO4YQXO'#EoO4aQWO,59jO4fQtO'#EVO5ZQdO'#ElO5eQWO,59ZO5jQpO7+$uOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%V7+%VO5rQWO1G/PO${QdO1G/oOOQO1G/u1G/uOOQO1G/q1G/qO5wQWO,5:vOOQO-E8Y-E8YO6VQXO1G/vOOQS7+%h7+%hO6^QYO'#CsOOQO'#EO'#EOO6iQ`O'#D}OOQO'#D}'#D}O6tQWO'#E]O6|QdO,5:hOOQS,5:h,5:hO7XQtO'#EYO${QdO'#EYO8VQdO7+%ROOQO7+%R7+%ROOQO1G0a1G0aO8jQpO<<HaO8rQWO,5;ZOOQP1G/U1G/UOOQS-E8T-E8TO${QdO'#EWO8zQWO,5;WOOQT1G.u1G.uOOQP<<Ha<<HaOOQS7+$k7+$kO9SQdO7+%ZOOQO7+%b7+%bOOQO,5:i,5:iO3QQdO'#E^O6tQWO,5:wOOQS,5:w,5:wOOQS-E8Z-E8ZOOQS1G0S1G0SO9ZQtO,5:tOOQS-E8W-E8WOOQO<<Hm<<HmOOQPAN={AN={O:XQdO,5:rOOQO-E8U-E8UOOQO<<Hu<<HuOOQO,5:x,5:xOOQO-E8[-E8[OOQS1G0c1G0c",
1598
+ stateData: ":k~O#WOS#XQQ~OUYOXYO]VO^VOtWOxXO!YaO!ZZO!g[O!i]O!k^O!n_O!t`O#URO#_TO~OQfOUYOXYO]VO^VOtWOxXO!YaO!ZZO!g[O!i]O!k^O!n_O!t`O#UeO#_TO~O#R#dP~P!ZO#XjO~O#UlO~O]qO^qOpoOtrOxsO|tO!PvO#SuO#_nO~O!RwO~P#pO`}O#TzO#UyO~O#U!OO~O#U!QO~OQ!ZOb!TOf!ZOh!ZOn!YO#T!WO#U!SO#b!UO~Ob!]O!b!_O!e!`O#U![O!R#eP~Oh!eOn!YO#U!dO~Oh!gO#U!gO~Ob!]O!b!_O!e!`O#U![O~O!W#eP~P%gO]WX]!UX^WXpWXtWXxWX|WX!PWX!RWX#SWX#_WX~O]!lO~O!W!mO#R#dX!Q#dX~O#R#dX!Q#dX~P!ZO#Y!pO#Z!pO#[!rO~OUYOXYO]VO^VOtWOxXO#URO#_TO~OpoO!RwO~O`!yO#TzO#UyO~O!Q#dP~P!ZOb#QO~Ob#RO~Ov#SOz#TO~OP#VObgXjgX!WgX!bgX!egX#UgXagXQgXfgXhgXngXpgX!VgX#RgX#TgX#bgXvgX!QgX~Ob!]Oj#WO!b!_O!e!`O#U![O!W#eP~Ob#ZO~Ob!]O!b!_O!e!`O#U#[O~Op#`O!`#_O!R#eX!W#eX~Ob#cO~Oj#WO!W#eO~O!W#fO~Oh#gOn!YO~O!R#hO~O!RwO!`#_O~O!RwO!W#kO~O!W!}X#R!}X!Q!}X~P!ZO!W!mO#R#da!Q#da~O#Y!pO#Z!pO#[#rO~O]qO^qOtrOxsO|tO!PvO#SuO#_nO~Op!{a!R!{aa!{a~P.QOv#tOz#uO~O]qO^qOtrOxsO#_nO~Op{i|{i!P{i!R{i#S{ia{i~P/ROp}i|}i!P}i!R}i#S}ia}i~P/ROp!Oi|!Oi!P!Oi!R!Oi#S!Oia!Oi~P/RO!Q#vO~Oa#cP~P(^Oa#`P~P${Oa#}Oj#WO~O!W$PO~Oh$QOo$QO~O]!^Xa![X!`![X~O]$RO~Oa$SO!`#_O~Op#`O!R#ea!W#ea~O!`#_Op!aa!R!aa!W!aaa!aa~O!W$XO~O!Q$`O#U$ZO#b$YO~Oj#WOp$bO!V$dO!W!Ti#R!Ti!Q!Ti~P${O!W!}a#R!}a!Q!}a~P!ZO!W!mO#R#di!Q#di~Oa#cX~P#pOa$hO~Oj#WOQ!yXa!yXb!yXf!yXh!yXn!yXp!yX#T!yX#U!yX#b!yX~Op$jOa#`X~P${Oa$lO~Oj#WOv$mO~Oa$nO~O!`#_Op#Oa!R#Oa!W#Oa~Oa$pO~P.QOP#VOpgX!RgX~O#b$YOp!qX!R!qX~Op$rO!RwO~O!Q$vO#U$ZO#b$YO~Oj#WOQ!|Xb!|Xf!|Xh!|Xn!|Xp!|X!V!|X!W!|X#R!|X#T!|X#U!|X#b!|X!Q!|X~Op$bO!V$yO!W!Tq#R!Tq!Q!Tq~P${Oj#WOv$zO~OpoOa#ca~Op$jOa#`a~Oa$}O~P${Oj#WOQ!|ab!|af!|ah!|an!|ap!|a!V!|a!W!|a#R!|a#T!|a#U!|a#b!|a!Q!|a~Oa!zap!za~P${O#Wo#X#bj!P#b~",
1599
+ goto: "-Y#gPPP#hP#kP#t$TP#t$d#tPP$jPPP$p$y$yP%]P$yP$y%w&ZPPP&s&y#tP'PP#tP'VP#tP#t#tPPP']'r(PPP#kPP(W(W(b(WP(WP(W(WP#kP#kP#kP(e#kP(h(k(n(u#kP#kP(z)Q)a)o)u*P*V*a*g*mPPPPPPPPPP*s*|P+i+lP,b,e,k,tRkQ_bOPdhw!m#nkYOPdhotuvw!m#Q#c#nkSOPdhotuvw!m#Q#c#nQmTR!snQ{VR!wqQ!w}Q#Y!XR#s!yq!ZZ]!T!l#R#T#W#l#u#z$R$b$c$j$o${p!ZZ]!T!l#R#T#W#l#u#z$R$b$c$j$o${U$]#h$_$rR$q$[q!XZ]!T!l#R#T#W#l#u#z$R$b$c$j$o${p!ZZ]!T!l#R#T#W#l#u#z$R$b$c$j$o${Q!e^R#g!fQ|VR!xqQ!w|R#s!xQ!PWR!zrQ!RXR!{sQxUQ!vpQ#d!bQ#j!iQ#k!jQ$t$^R%Q$sSgPwQ!ohQ#m!mR$e#nZfPhw!m#na!a[`a!V!]!_#_#`R#]!]R!f^R!h_R#i!hS$^#h$_R%O$rV$[#h$_$rQ!qjR#q!qQdOShPwU!kdh#nR#n!mQ#z#RU$i#z$o${Q$o$RR${$jQ$k#zR$|$kQpUS!up$gR$g#wQ$c#lR$x$cQ!ngS#o!n#pR#p!oQ#a!^R$V#aQ$_#hR$u$_Q$s$^R%P$s_cOPdhw!m#n^UOPdhw!m#nQ!toQ!|tQ!}uQ#OvQ#w#QR$W#cR#{#RQ!VZQ!c]Q#U!TQ#l!l[#y#R#z$R$j$o${Q#|#TQ$O#WS$a#l$cQ$f#uR$w$bR#x#QQiPR#PwQ!b[Q!jaR#X!VU!^[a!VQ!i`Q#^!]Q#b!_Q$T#_R$U#`",
1600
+ nodeNames: "⚠ Unit VariableName Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee CallLiteral CallTag ParenthesizedContent , PseudoClassName ArgList IdSelector # IdName ] AttributeSelector [ AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp } { Block Declaration PropertyName Important ; ImportStatement AtKeyword import KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports AtRule Styles",
1601
+ maxTerm: 114,
1602
+ nodeProps: [
1603
+ ["openedBy", 17, "(", 48, "{"],
1604
+ ["closedBy", 18, ")", 49, "}"]
1605
+ ],
1606
+ propSources: [Et],
1607
+ skippedNodes: [0, 3, 85],
1608
+ repeatNodeCount: 10,
1609
+ tokenData: "J^~R!^OX$}X^%u^p$}pq%uqr)Xrs.Rst/utu6duv$}vw7^wx7oxy9^yz9oz{9t{|:_|}?Q}!O?c!O!P@Q!P!Q@i!Q![Ab![!]B]!]!^CX!^!_$}!_!`Cj!`!aC{!a!b$}!b!cDw!c!}$}!}#OFa#O#P$}#P#QFr#Q#R6d#R#T$}#T#UGT#U#c$}#c#dHf#d#o$}#o#pH{#p#q6d#q#rI^#r#sIo#s#y$}#y#z%u#z$f$}$f$g%u$g#BY$}#BY#BZ%u#BZ$IS$}$IS$I_%u$I_$I|$}$I|$JO%u$JO$JT$}$JT$JU%u$JU$KV$}$KV$KW%u$KW&FU$}&FU&FV%u&FV;'S$};'S;=`JW<%lO$}`%QSOy%^z;'S%^;'S;=`%o<%lO%^`%cSo`Oy%^z;'S%^;'S;=`%o<%lO%^`%rP;=`<%l%^~%zh#W~OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^~'mh#W~o`OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^l)[UOy%^z#]%^#]#^)n#^;'S%^;'S;=`%o<%lO%^l)sUo`Oy%^z#a%^#a#b*V#b;'S%^;'S;=`%o<%lO%^l*[Uo`Oy%^z#d%^#d#e*n#e;'S%^;'S;=`%o<%lO%^l*sUo`Oy%^z#c%^#c#d+V#d;'S%^;'S;=`%o<%lO%^l+[Uo`Oy%^z#f%^#f#g+n#g;'S%^;'S;=`%o<%lO%^l+sUo`Oy%^z#h%^#h#i,V#i;'S%^;'S;=`%o<%lO%^l,[Uo`Oy%^z#T%^#T#U,n#U;'S%^;'S;=`%o<%lO%^l,sUo`Oy%^z#b%^#b#c-V#c;'S%^;'S;=`%o<%lO%^l-[Uo`Oy%^z#h%^#h#i-n#i;'S%^;'S;=`%o<%lO%^l-uS!V[o`Oy%^z;'S%^;'S;=`%o<%lO%^~.UWOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o<%lO.R~.sOh~~.vRO;'S.R;'S;=`/P;=`O.R~/SXOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o;=`<%l.R<%lO.R~/rP;=`<%l.Rn/zYtQOy%^z!Q%^!Q![0j![!c%^!c!i0j!i#T%^#T#Z0j#Z;'S%^;'S;=`%o<%lO%^l0oYo`Oy%^z!Q%^!Q![1_![!c%^!c!i1_!i#T%^#T#Z1_#Z;'S%^;'S;=`%o<%lO%^l1dYo`Oy%^z!Q%^!Q![2S![!c%^!c!i2S!i#T%^#T#Z2S#Z;'S%^;'S;=`%o<%lO%^l2ZYf[o`Oy%^z!Q%^!Q![2y![!c%^!c!i2y!i#T%^#T#Z2y#Z;'S%^;'S;=`%o<%lO%^l3QYf[o`Oy%^z!Q%^!Q![3p![!c%^!c!i3p!i#T%^#T#Z3p#Z;'S%^;'S;=`%o<%lO%^l3uYo`Oy%^z!Q%^!Q![4e![!c%^!c!i4e!i#T%^#T#Z4e#Z;'S%^;'S;=`%o<%lO%^l4lYf[o`Oy%^z!Q%^!Q![5[![!c%^!c!i5[!i#T%^#T#Z5[#Z;'S%^;'S;=`%o<%lO%^l5aYo`Oy%^z!Q%^!Q![6P![!c%^!c!i6P!i#T%^#T#Z6P#Z;'S%^;'S;=`%o<%lO%^l6WSf[o`Oy%^z;'S%^;'S;=`%o<%lO%^d6gUOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^d7QSzSo`Oy%^z;'S%^;'S;=`%o<%lO%^b7cSXQOy%^z;'S%^;'S;=`%o<%lO%^~7rWOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W<%lO7o~8_RO;'S7o;'S;=`8h;=`O7o~8kXOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W;=`<%l7o<%lO7o~9ZP;=`<%l7on9cSb^Oy%^z;'S%^;'S;=`%o<%lO%^~9tOa~n9{UUQjWOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^n:fWjW!PQOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^l;TUo`Oy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^l;nYo`#b[Oy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^l<cYo`Oy%^z{%^{|=R|}%^}!O=R!O!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=WUo`Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=qUo`#b[Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l>[[o`#b[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^n?VSp^Oy%^z;'S%^;'S;=`%o<%lO%^l?hWjWOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^n@VU#_QOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTjWOy%^z{@}{;'S%^;'S;=`%o<%lO%^~AUSo`#X~Oy%^z;'S%^;'S;=`%o<%lO%^lAg[#b[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^bBbU]QOy%^z![%^![!]Bt!];'S%^;'S;=`%o<%lO%^bB{S^Qo`Oy%^z;'S%^;'S;=`%o<%lO%^nC^S!W^Oy%^z;'S%^;'S;=`%o<%lO%^dCoSzSOy%^z;'S%^;'S;=`%o<%lO%^bDQU|QOy%^z!`%^!`!aDd!a;'S%^;'S;=`%o<%lO%^bDkS|Qo`Oy%^z;'S%^;'S;=`%o<%lO%^bDzWOy%^z!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bEk[!YQo`Oy%^z}%^}!OEd!O!Q%^!Q![Ed![!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bFfSxQOy%^z;'S%^;'S;=`%o<%lO%^lFwSv[Oy%^z;'S%^;'S;=`%o<%lO%^bGWUOy%^z#b%^#b#cGj#c;'S%^;'S;=`%o<%lO%^bGoUo`Oy%^z#W%^#W#XHR#X;'S%^;'S;=`%o<%lO%^bHYS!`Qo`Oy%^z;'S%^;'S;=`%o<%lO%^bHiUOy%^z#f%^#f#gHR#g;'S%^;'S;=`%o<%lO%^fIQS!RUOy%^z;'S%^;'S;=`%o<%lO%^nIcS!Q^Oy%^z;'S%^;'S;=`%o<%lO%^fItU!PQOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^`JZP;=`<%l$}",
1610
+ tokenizers: [It, At, Gt, 1, 2, 3, 4, new E("m~RRYZ[z{a~~g~aO#Z~~dP!P!Qg~lO#[~~", 28, 102)],
1611
+ topRules: { StyleSheet: [0, 4], Styles: [1, 84] },
1612
+ specialized: [{ term: 97, get: (e) => Nt[e] || -1 }, { term: 56, get: (e) => Bt[e] || -1 }, { term: 98, get: (e) => Dt[e] || -1 }],
1613
+ tokenPrec: 1169
1614
+ });
1615
+ let H = null;
1616
+ function OO() {
1617
+ if (!H && typeof document == "object" && document.body) {
1618
+ let { style: e } = document.body, O = [], t = /* @__PURE__ */ new Set();
1619
+ for (let a in e)
1620
+ a != "cssText" && a != "cssFloat" && typeof e[a] == "string" && (/[A-Z]/.test(a) && (a = a.replace(/[A-Z]/g, (i) => "-" + i.toLowerCase())), t.has(a) || (O.push(a), t.add(a)));
1621
+ H = O.sort().map((a) => ({ type: "property", label: a }));
1622
+ }
1623
+ return H || [];
1624
+ }
1625
+ const WO = /* @__PURE__ */ [
1626
+ "active",
1627
+ "after",
1628
+ "any-link",
1629
+ "autofill",
1630
+ "backdrop",
1631
+ "before",
1632
+ "checked",
1633
+ "cue",
1634
+ "default",
1635
+ "defined",
1636
+ "disabled",
1637
+ "empty",
1638
+ "enabled",
1639
+ "file-selector-button",
1640
+ "first",
1641
+ "first-child",
1642
+ "first-letter",
1643
+ "first-line",
1644
+ "first-of-type",
1645
+ "focus",
1646
+ "focus-visible",
1647
+ "focus-within",
1648
+ "fullscreen",
1649
+ "has",
1650
+ "host",
1651
+ "host-context",
1652
+ "hover",
1653
+ "in-range",
1654
+ "indeterminate",
1655
+ "invalid",
1656
+ "is",
1657
+ "lang",
1658
+ "last-child",
1659
+ "last-of-type",
1660
+ "left",
1661
+ "link",
1662
+ "marker",
1663
+ "modal",
1664
+ "not",
1665
+ "nth-child",
1666
+ "nth-last-child",
1667
+ "nth-last-of-type",
1668
+ "nth-of-type",
1669
+ "only-child",
1670
+ "only-of-type",
1671
+ "optional",
1672
+ "out-of-range",
1673
+ "part",
1674
+ "placeholder",
1675
+ "placeholder-shown",
1676
+ "read-only",
1677
+ "read-write",
1678
+ "required",
1679
+ "right",
1680
+ "root",
1681
+ "scope",
1682
+ "selection",
1683
+ "slotted",
1684
+ "target",
1685
+ "target-text",
1686
+ "valid",
1687
+ "visited",
1688
+ "where"
1689
+ ].map((e) => ({ type: "class", label: e })), qO = /* @__PURE__ */ [
1690
+ "above",
1691
+ "absolute",
1692
+ "activeborder",
1693
+ "additive",
1694
+ "activecaption",
1695
+ "after-white-space",
1696
+ "ahead",
1697
+ "alias",
1698
+ "all",
1699
+ "all-scroll",
1700
+ "alphabetic",
1701
+ "alternate",
1702
+ "always",
1703
+ "antialiased",
1704
+ "appworkspace",
1705
+ "asterisks",
1706
+ "attr",
1707
+ "auto",
1708
+ "auto-flow",
1709
+ "avoid",
1710
+ "avoid-column",
1711
+ "avoid-page",
1712
+ "avoid-region",
1713
+ "axis-pan",
1714
+ "background",
1715
+ "backwards",
1716
+ "baseline",
1717
+ "below",
1718
+ "bidi-override",
1719
+ "blink",
1720
+ "block",
1721
+ "block-axis",
1722
+ "bold",
1723
+ "bolder",
1724
+ "border",
1725
+ "border-box",
1726
+ "both",
1727
+ "bottom",
1728
+ "break",
1729
+ "break-all",
1730
+ "break-word",
1731
+ "bullets",
1732
+ "button",
1733
+ "button-bevel",
1734
+ "buttonface",
1735
+ "buttonhighlight",
1736
+ "buttonshadow",
1737
+ "buttontext",
1738
+ "calc",
1739
+ "capitalize",
1740
+ "caps-lock-indicator",
1741
+ "caption",
1742
+ "captiontext",
1743
+ "caret",
1744
+ "cell",
1745
+ "center",
1746
+ "checkbox",
1747
+ "circle",
1748
+ "cjk-decimal",
1749
+ "clear",
1750
+ "clip",
1751
+ "close-quote",
1752
+ "col-resize",
1753
+ "collapse",
1754
+ "color",
1755
+ "color-burn",
1756
+ "color-dodge",
1757
+ "column",
1758
+ "column-reverse",
1759
+ "compact",
1760
+ "condensed",
1761
+ "contain",
1762
+ "content",
1763
+ "contents",
1764
+ "content-box",
1765
+ "context-menu",
1766
+ "continuous",
1767
+ "copy",
1768
+ "counter",
1769
+ "counters",
1770
+ "cover",
1771
+ "crop",
1772
+ "cross",
1773
+ "crosshair",
1774
+ "currentcolor",
1775
+ "cursive",
1776
+ "cyclic",
1777
+ "darken",
1778
+ "dashed",
1779
+ "decimal",
1780
+ "decimal-leading-zero",
1781
+ "default",
1782
+ "default-button",
1783
+ "dense",
1784
+ "destination-atop",
1785
+ "destination-in",
1786
+ "destination-out",
1787
+ "destination-over",
1788
+ "difference",
1789
+ "disc",
1790
+ "discard",
1791
+ "disclosure-closed",
1792
+ "disclosure-open",
1793
+ "document",
1794
+ "dot-dash",
1795
+ "dot-dot-dash",
1796
+ "dotted",
1797
+ "double",
1798
+ "down",
1799
+ "e-resize",
1800
+ "ease",
1801
+ "ease-in",
1802
+ "ease-in-out",
1803
+ "ease-out",
1804
+ "element",
1805
+ "ellipse",
1806
+ "ellipsis",
1807
+ "embed",
1808
+ "end",
1809
+ "ethiopic-abegede-gez",
1810
+ "ethiopic-halehame-aa-er",
1811
+ "ethiopic-halehame-gez",
1812
+ "ew-resize",
1813
+ "exclusion",
1814
+ "expanded",
1815
+ "extends",
1816
+ "extra-condensed",
1817
+ "extra-expanded",
1818
+ "fantasy",
1819
+ "fast",
1820
+ "fill",
1821
+ "fill-box",
1822
+ "fixed",
1823
+ "flat",
1824
+ "flex",
1825
+ "flex-end",
1826
+ "flex-start",
1827
+ "footnotes",
1828
+ "forwards",
1829
+ "from",
1830
+ "geometricPrecision",
1831
+ "graytext",
1832
+ "grid",
1833
+ "groove",
1834
+ "hand",
1835
+ "hard-light",
1836
+ "help",
1837
+ "hidden",
1838
+ "hide",
1839
+ "higher",
1840
+ "highlight",
1841
+ "highlighttext",
1842
+ "horizontal",
1843
+ "hsl",
1844
+ "hsla",
1845
+ "hue",
1846
+ "icon",
1847
+ "ignore",
1848
+ "inactiveborder",
1849
+ "inactivecaption",
1850
+ "inactivecaptiontext",
1851
+ "infinite",
1852
+ "infobackground",
1853
+ "infotext",
1854
+ "inherit",
1855
+ "initial",
1856
+ "inline",
1857
+ "inline-axis",
1858
+ "inline-block",
1859
+ "inline-flex",
1860
+ "inline-grid",
1861
+ "inline-table",
1862
+ "inset",
1863
+ "inside",
1864
+ "intrinsic",
1865
+ "invert",
1866
+ "italic",
1867
+ "justify",
1868
+ "keep-all",
1869
+ "landscape",
1870
+ "large",
1871
+ "larger",
1872
+ "left",
1873
+ "level",
1874
+ "lighter",
1875
+ "lighten",
1876
+ "line-through",
1877
+ "linear",
1878
+ "linear-gradient",
1879
+ "lines",
1880
+ "list-item",
1881
+ "listbox",
1882
+ "listitem",
1883
+ "local",
1884
+ "logical",
1885
+ "loud",
1886
+ "lower",
1887
+ "lower-hexadecimal",
1888
+ "lower-latin",
1889
+ "lower-norwegian",
1890
+ "lowercase",
1891
+ "ltr",
1892
+ "luminosity",
1893
+ "manipulation",
1894
+ "match",
1895
+ "matrix",
1896
+ "matrix3d",
1897
+ "medium",
1898
+ "menu",
1899
+ "menutext",
1900
+ "message-box",
1901
+ "middle",
1902
+ "min-intrinsic",
1903
+ "mix",
1904
+ "monospace",
1905
+ "move",
1906
+ "multiple",
1907
+ "multiple_mask_images",
1908
+ "multiply",
1909
+ "n-resize",
1910
+ "narrower",
1911
+ "ne-resize",
1912
+ "nesw-resize",
1913
+ "no-close-quote",
1914
+ "no-drop",
1915
+ "no-open-quote",
1916
+ "no-repeat",
1917
+ "none",
1918
+ "normal",
1919
+ "not-allowed",
1920
+ "nowrap",
1921
+ "ns-resize",
1922
+ "numbers",
1923
+ "numeric",
1924
+ "nw-resize",
1925
+ "nwse-resize",
1926
+ "oblique",
1927
+ "opacity",
1928
+ "open-quote",
1929
+ "optimizeLegibility",
1930
+ "optimizeSpeed",
1931
+ "outset",
1932
+ "outside",
1933
+ "outside-shape",
1934
+ "overlay",
1935
+ "overline",
1936
+ "padding",
1937
+ "padding-box",
1938
+ "painted",
1939
+ "page",
1940
+ "paused",
1941
+ "perspective",
1942
+ "pinch-zoom",
1943
+ "plus-darker",
1944
+ "plus-lighter",
1945
+ "pointer",
1946
+ "polygon",
1947
+ "portrait",
1948
+ "pre",
1949
+ "pre-line",
1950
+ "pre-wrap",
1951
+ "preserve-3d",
1952
+ "progress",
1953
+ "push-button",
1954
+ "radial-gradient",
1955
+ "radio",
1956
+ "read-only",
1957
+ "read-write",
1958
+ "read-write-plaintext-only",
1959
+ "rectangle",
1960
+ "region",
1961
+ "relative",
1962
+ "repeat",
1963
+ "repeating-linear-gradient",
1964
+ "repeating-radial-gradient",
1965
+ "repeat-x",
1966
+ "repeat-y",
1967
+ "reset",
1968
+ "reverse",
1969
+ "rgb",
1970
+ "rgba",
1971
+ "ridge",
1972
+ "right",
1973
+ "rotate",
1974
+ "rotate3d",
1975
+ "rotateX",
1976
+ "rotateY",
1977
+ "rotateZ",
1978
+ "round",
1979
+ "row",
1980
+ "row-resize",
1981
+ "row-reverse",
1982
+ "rtl",
1983
+ "run-in",
1984
+ "running",
1985
+ "s-resize",
1986
+ "sans-serif",
1987
+ "saturation",
1988
+ "scale",
1989
+ "scale3d",
1990
+ "scaleX",
1991
+ "scaleY",
1992
+ "scaleZ",
1993
+ "screen",
1994
+ "scroll",
1995
+ "scrollbar",
1996
+ "scroll-position",
1997
+ "se-resize",
1998
+ "self-start",
1999
+ "self-end",
2000
+ "semi-condensed",
2001
+ "semi-expanded",
2002
+ "separate",
2003
+ "serif",
2004
+ "show",
2005
+ "single",
2006
+ "skew",
2007
+ "skewX",
2008
+ "skewY",
2009
+ "skip-white-space",
2010
+ "slide",
2011
+ "slider-horizontal",
2012
+ "slider-vertical",
2013
+ "sliderthumb-horizontal",
2014
+ "sliderthumb-vertical",
2015
+ "slow",
2016
+ "small",
2017
+ "small-caps",
2018
+ "small-caption",
2019
+ "smaller",
2020
+ "soft-light",
2021
+ "solid",
2022
+ "source-atop",
2023
+ "source-in",
2024
+ "source-out",
2025
+ "source-over",
2026
+ "space",
2027
+ "space-around",
2028
+ "space-between",
2029
+ "space-evenly",
2030
+ "spell-out",
2031
+ "square",
2032
+ "start",
2033
+ "static",
2034
+ "status-bar",
2035
+ "stretch",
2036
+ "stroke",
2037
+ "stroke-box",
2038
+ "sub",
2039
+ "subpixel-antialiased",
2040
+ "svg_masks",
2041
+ "super",
2042
+ "sw-resize",
2043
+ "symbolic",
2044
+ "symbols",
2045
+ "system-ui",
2046
+ "table",
2047
+ "table-caption",
2048
+ "table-cell",
2049
+ "table-column",
2050
+ "table-column-group",
2051
+ "table-footer-group",
2052
+ "table-header-group",
2053
+ "table-row",
2054
+ "table-row-group",
2055
+ "text",
2056
+ "text-bottom",
2057
+ "text-top",
2058
+ "textarea",
2059
+ "textfield",
2060
+ "thick",
2061
+ "thin",
2062
+ "threeddarkshadow",
2063
+ "threedface",
2064
+ "threedhighlight",
2065
+ "threedlightshadow",
2066
+ "threedshadow",
2067
+ "to",
2068
+ "top",
2069
+ "transform",
2070
+ "translate",
2071
+ "translate3d",
2072
+ "translateX",
2073
+ "translateY",
2074
+ "translateZ",
2075
+ "transparent",
2076
+ "ultra-condensed",
2077
+ "ultra-expanded",
2078
+ "underline",
2079
+ "unidirectional-pan",
2080
+ "unset",
2081
+ "up",
2082
+ "upper-latin",
2083
+ "uppercase",
2084
+ "url",
2085
+ "var",
2086
+ "vertical",
2087
+ "vertical-text",
2088
+ "view-box",
2089
+ "visible",
2090
+ "visibleFill",
2091
+ "visiblePainted",
2092
+ "visibleStroke",
2093
+ "visual",
2094
+ "w-resize",
2095
+ "wait",
2096
+ "wave",
2097
+ "wider",
2098
+ "window",
2099
+ "windowframe",
2100
+ "windowtext",
2101
+ "words",
2102
+ "wrap",
2103
+ "wrap-reverse",
2104
+ "x-large",
2105
+ "x-small",
2106
+ "xor",
2107
+ "xx-large",
2108
+ "xx-small"
2109
+ ].map((e) => ({ type: "keyword", label: e })).concat(/* @__PURE__ */ [
2110
+ "aliceblue",
2111
+ "antiquewhite",
2112
+ "aqua",
2113
+ "aquamarine",
2114
+ "azure",
2115
+ "beige",
2116
+ "bisque",
2117
+ "black",
2118
+ "blanchedalmond",
2119
+ "blue",
2120
+ "blueviolet",
2121
+ "brown",
2122
+ "burlywood",
2123
+ "cadetblue",
2124
+ "chartreuse",
2125
+ "chocolate",
2126
+ "coral",
2127
+ "cornflowerblue",
2128
+ "cornsilk",
2129
+ "crimson",
2130
+ "cyan",
2131
+ "darkblue",
2132
+ "darkcyan",
2133
+ "darkgoldenrod",
2134
+ "darkgray",
2135
+ "darkgreen",
2136
+ "darkkhaki",
2137
+ "darkmagenta",
2138
+ "darkolivegreen",
2139
+ "darkorange",
2140
+ "darkorchid",
2141
+ "darkred",
2142
+ "darksalmon",
2143
+ "darkseagreen",
2144
+ "darkslateblue",
2145
+ "darkslategray",
2146
+ "darkturquoise",
2147
+ "darkviolet",
2148
+ "deeppink",
2149
+ "deepskyblue",
2150
+ "dimgray",
2151
+ "dodgerblue",
2152
+ "firebrick",
2153
+ "floralwhite",
2154
+ "forestgreen",
2155
+ "fuchsia",
2156
+ "gainsboro",
2157
+ "ghostwhite",
2158
+ "gold",
2159
+ "goldenrod",
2160
+ "gray",
2161
+ "grey",
2162
+ "green",
2163
+ "greenyellow",
2164
+ "honeydew",
2165
+ "hotpink",
2166
+ "indianred",
2167
+ "indigo",
2168
+ "ivory",
2169
+ "khaki",
2170
+ "lavender",
2171
+ "lavenderblush",
2172
+ "lawngreen",
2173
+ "lemonchiffon",
2174
+ "lightblue",
2175
+ "lightcoral",
2176
+ "lightcyan",
2177
+ "lightgoldenrodyellow",
2178
+ "lightgray",
2179
+ "lightgreen",
2180
+ "lightpink",
2181
+ "lightsalmon",
2182
+ "lightseagreen",
2183
+ "lightskyblue",
2184
+ "lightslategray",
2185
+ "lightsteelblue",
2186
+ "lightyellow",
2187
+ "lime",
2188
+ "limegreen",
2189
+ "linen",
2190
+ "magenta",
2191
+ "maroon",
2192
+ "mediumaquamarine",
2193
+ "mediumblue",
2194
+ "mediumorchid",
2195
+ "mediumpurple",
2196
+ "mediumseagreen",
2197
+ "mediumslateblue",
2198
+ "mediumspringgreen",
2199
+ "mediumturquoise",
2200
+ "mediumvioletred",
2201
+ "midnightblue",
2202
+ "mintcream",
2203
+ "mistyrose",
2204
+ "moccasin",
2205
+ "navajowhite",
2206
+ "navy",
2207
+ "oldlace",
2208
+ "olive",
2209
+ "olivedrab",
2210
+ "orange",
2211
+ "orangered",
2212
+ "orchid",
2213
+ "palegoldenrod",
2214
+ "palegreen",
2215
+ "paleturquoise",
2216
+ "palevioletred",
2217
+ "papayawhip",
2218
+ "peachpuff",
2219
+ "peru",
2220
+ "pink",
2221
+ "plum",
2222
+ "powderblue",
2223
+ "purple",
2224
+ "rebeccapurple",
2225
+ "red",
2226
+ "rosybrown",
2227
+ "royalblue",
2228
+ "saddlebrown",
2229
+ "salmon",
2230
+ "sandybrown",
2231
+ "seagreen",
2232
+ "seashell",
2233
+ "sienna",
2234
+ "silver",
2235
+ "skyblue",
2236
+ "slateblue",
2237
+ "slategray",
2238
+ "snow",
2239
+ "springgreen",
2240
+ "steelblue",
2241
+ "tan",
2242
+ "teal",
2243
+ "thistle",
2244
+ "tomato",
2245
+ "turquoise",
2246
+ "violet",
2247
+ "wheat",
2248
+ "white",
2249
+ "whitesmoke",
2250
+ "yellow",
2251
+ "yellowgreen"
2252
+ ].map((e) => ({ type: "constant", label: e }))), Mt = /* @__PURE__ */ [
2253
+ "a",
2254
+ "abbr",
2255
+ "address",
2256
+ "article",
2257
+ "aside",
2258
+ "b",
2259
+ "bdi",
2260
+ "bdo",
2261
+ "blockquote",
2262
+ "body",
2263
+ "br",
2264
+ "button",
2265
+ "canvas",
2266
+ "caption",
2267
+ "cite",
2268
+ "code",
2269
+ "col",
2270
+ "colgroup",
2271
+ "dd",
2272
+ "del",
2273
+ "details",
2274
+ "dfn",
2275
+ "dialog",
2276
+ "div",
2277
+ "dl",
2278
+ "dt",
2279
+ "em",
2280
+ "figcaption",
2281
+ "figure",
2282
+ "footer",
2283
+ "form",
2284
+ "header",
2285
+ "hgroup",
2286
+ "h1",
2287
+ "h2",
2288
+ "h3",
2289
+ "h4",
2290
+ "h5",
2291
+ "h6",
2292
+ "hr",
2293
+ "html",
2294
+ "i",
2295
+ "iframe",
2296
+ "img",
2297
+ "input",
2298
+ "ins",
2299
+ "kbd",
2300
+ "label",
2301
+ "legend",
2302
+ "li",
2303
+ "main",
2304
+ "meter",
2305
+ "nav",
2306
+ "ol",
2307
+ "output",
2308
+ "p",
2309
+ "pre",
2310
+ "ruby",
2311
+ "section",
2312
+ "select",
2313
+ "small",
2314
+ "source",
2315
+ "span",
2316
+ "strong",
2317
+ "sub",
2318
+ "summary",
2319
+ "sup",
2320
+ "table",
2321
+ "tbody",
2322
+ "td",
2323
+ "template",
2324
+ "textarea",
2325
+ "tfoot",
2326
+ "th",
2327
+ "thead",
2328
+ "tr",
2329
+ "u",
2330
+ "ul"
2331
+ ].map((e) => ({ type: "type", label: e })), x = /^(\w[\w-]*|-\w[\w-]*|)$/, Lt = /^-(-[\w-]*)?$/;
2332
+ function Ft(e, O) {
2333
+ var t;
2334
+ if ((e.name == "(" || e.type.isError) && (e = e.parent || e), e.name != "ArgList")
2335
+ return !1;
2336
+ let a = (t = e.parent) === null || t === void 0 ? void 0 : t.firstChild;
2337
+ return (a == null ? void 0 : a.name) != "Callee" ? !1 : O.sliceString(a.from, a.to) == "var";
2338
+ }
2339
+ const CO = /* @__PURE__ */ new JO(), Kt = ["Declaration"];
2340
+ function Ht(e) {
2341
+ for (let O = e; ; ) {
2342
+ if (O.type.isTop)
2343
+ return O;
2344
+ if (!(O = O.parent))
2345
+ return e;
2346
+ }
2347
+ }
2348
+ function ue(e, O, t) {
2349
+ if (O.to - O.from > 4096) {
2350
+ let a = CO.get(O);
2351
+ if (a)
2352
+ return a;
2353
+ let i = [], s = /* @__PURE__ */ new Set(), r = O.cursor(lO.IncludeAnonymous);
2354
+ if (r.firstChild())
2355
+ do
2356
+ for (let l of ue(e, r.node, t))
2357
+ s.has(l.label) || (s.add(l.label), i.push(l));
2358
+ while (r.nextSibling());
2359
+ return CO.set(O, i), i;
2360
+ } else {
2361
+ let a = [], i = /* @__PURE__ */ new Set();
2362
+ return O.cursor().iterate((s) => {
2363
+ var r;
2364
+ if (t(s) && s.matchContext(Kt) && ((r = s.node.nextSibling) === null || r === void 0 ? void 0 : r.name) == ":") {
2365
+ let l = e.sliceString(s.from, s.to);
2366
+ i.has(l) || (i.add(l), a.push({ label: l, type: "variable" }));
2367
+ }
2368
+ }), a;
2369
+ }
2370
+ }
2371
+ const Oa = (e) => (O) => {
2372
+ let { state: t, pos: a } = O, i = _(t).resolveInner(a, -1), s = i.type.isError && i.from == i.to - 1 && t.doc.sliceString(i.from, i.to) == "-";
2373
+ if (i.name == "PropertyName" || (s || i.name == "TagName") && /^(Block|Styles)$/.test(i.resolve(i.to).name))
2374
+ return { from: i.from, options: OO(), validFor: x };
2375
+ if (i.name == "ValueName")
2376
+ return { from: i.from, options: qO, validFor: x };
2377
+ if (i.name == "PseudoClassName")
2378
+ return { from: i.from, options: WO, validFor: x };
2379
+ if (e(i) || (O.explicit || s) && Ft(i, t.doc))
2380
+ return {
2381
+ from: e(i) || s ? i.from : a,
2382
+ options: ue(t.doc, Ht(i), e),
2383
+ validFor: Lt
2384
+ };
2385
+ if (i.name == "TagName") {
2386
+ for (let { parent: n } = i; n; n = n.parent)
2387
+ if (n.name == "Block")
2388
+ return { from: i.from, options: OO(), validFor: x };
2389
+ return { from: i.from, options: Mt, validFor: x };
2390
+ }
2391
+ if (!O.explicit)
2392
+ return null;
2393
+ let r = i.resolve(a), l = r.childBefore(a);
2394
+ return l && l.name == ":" && r.name == "PseudoClassSelector" ? { from: a, options: WO, validFor: x } : l && l.name == ":" && r.name == "Declaration" || r.name == "ArgList" ? { from: a, options: qO, validFor: x } : r.name == "Block" || r.name == "Styles" ? { from: a, options: OO(), validFor: x } : null;
2395
+ }, ea = /* @__PURE__ */ Oa((e) => e.name == "VariableName"), J = /* @__PURE__ */ oO.define({
2396
+ name: "css",
2397
+ parser: /* @__PURE__ */ Jt.configure({
2398
+ props: [
2399
+ /* @__PURE__ */ QO.add({
2400
+ Declaration: /* @__PURE__ */ q()
2401
+ }),
2402
+ /* @__PURE__ */ cO.add({
2403
+ "Block KeyframeList": DO
2404
+ })
2405
+ ]
2406
+ }),
2407
+ languageData: {
2408
+ commentTokens: { block: { open: "/*", close: "*/" } },
2409
+ indentOnInput: /^\s*\}$/,
2410
+ wordChars: "-"
2411
+ }
2412
+ });
2413
+ function ta() {
2414
+ return new uO(J, J.data.of({ autocomplete: ea }));
2415
+ }
2416
+ const aa = 303, jO = 1, ia = 2, ra = 304, sa = 306, la = 307, na = 3, oa = 4, Qa = [
2417
+ 9,
2418
+ 10,
2419
+ 11,
2420
+ 12,
2421
+ 13,
2422
+ 32,
2423
+ 133,
2424
+ 160,
2425
+ 5760,
2426
+ 8192,
2427
+ 8193,
2428
+ 8194,
2429
+ 8195,
2430
+ 8196,
2431
+ 8197,
2432
+ 8198,
2433
+ 8199,
2434
+ 8200,
2435
+ 8201,
2436
+ 8202,
2437
+ 8232,
2438
+ 8233,
2439
+ 8239,
2440
+ 8287,
2441
+ 12288
2442
+ ], he = 125, ca = 59, zO = 47, ua = 42, ha = 43, pa = 45, $a = new KO({
2443
+ start: !1,
2444
+ shift(e, O) {
2445
+ return O == na || O == oa || O == sa ? e : O == la;
2446
+ },
2447
+ strict: !1
2448
+ }), fa = new m((e, O) => {
2449
+ let { next: t } = e;
2450
+ (t == he || t == -1 || O.context) && e.acceptToken(ra);
2451
+ }, { contextual: !0, fallback: !0 }), Sa = new m((e, O) => {
2452
+ let { next: t } = e, a;
2453
+ Qa.indexOf(t) > -1 || t == zO && ((a = e.peek(1)) == zO || a == ua) || t != he && t != ca && t != -1 && !O.context && e.acceptToken(aa);
2454
+ }, { contextual: !0 }), da = new m((e, O) => {
2455
+ let { next: t } = e;
2456
+ if ((t == ha || t == pa) && (e.advance(), t == e.next)) {
2457
+ e.advance();
2458
+ let a = !O.context && O.canShift(jO);
2459
+ e.acceptToken(a ? jO : ia);
2460
+ }
2461
+ }, { contextual: !0 }), ga = nO({
2462
+ "get set async static": o.modifier,
2463
+ "for while do if else switch try catch finally return throw break continue default case": o.controlKeyword,
2464
+ "in of await yield void typeof delete instanceof": o.operatorKeyword,
2465
+ "let var const function class extends": o.definitionKeyword,
2466
+ "import export from": o.moduleKeyword,
2467
+ "with debugger as new": o.keyword,
2468
+ TemplateString: o.special(o.string),
2469
+ super: o.atom,
2470
+ BooleanLiteral: o.bool,
2471
+ this: o.self,
2472
+ null: o.null,
2473
+ Star: o.modifier,
2474
+ VariableName: o.variableName,
2475
+ "CallExpression/VariableName TaggedTemplateExpression/VariableName": o.function(o.variableName),
2476
+ VariableDefinition: o.definition(o.variableName),
2477
+ Label: o.labelName,
2478
+ PropertyName: o.propertyName,
2479
+ PrivatePropertyName: o.special(o.propertyName),
2480
+ "CallExpression/MemberExpression/PropertyName": o.function(o.propertyName),
2481
+ "FunctionDeclaration/VariableDefinition": o.function(o.definition(o.variableName)),
2482
+ "ClassDeclaration/VariableDefinition": o.definition(o.className),
2483
+ PropertyDefinition: o.definition(o.propertyName),
2484
+ PrivatePropertyDefinition: o.definition(o.special(o.propertyName)),
2485
+ UpdateOp: o.updateOperator,
2486
+ LineComment: o.lineComment,
2487
+ BlockComment: o.blockComment,
2488
+ Number: o.number,
2489
+ String: o.string,
2490
+ Escape: o.escape,
2491
+ ArithOp: o.arithmeticOperator,
2492
+ LogicOp: o.logicOperator,
2493
+ BitOp: o.bitwiseOperator,
2494
+ CompareOp: o.compareOperator,
2495
+ RegExp: o.regexp,
2496
+ Equals: o.definitionOperator,
2497
+ Arrow: o.function(o.punctuation),
2498
+ ": Spread": o.punctuation,
2499
+ "( )": o.paren,
2500
+ "[ ]": o.squareBracket,
2501
+ "{ }": o.brace,
2502
+ "InterpolationStart InterpolationEnd": o.special(o.brace),
2503
+ ".": o.derefOperator,
2504
+ ", ;": o.separator,
2505
+ "@": o.meta,
2506
+ TypeName: o.typeName,
2507
+ TypeDefinition: o.definition(o.typeName),
2508
+ "type enum interface implements namespace module declare": o.definitionKeyword,
2509
+ "abstract global Privacy readonly override": o.modifier,
2510
+ "is keyof unique infer": o.operatorKeyword,
2511
+ JSXAttributeValue: o.attributeValue,
2512
+ JSXText: o.content,
2513
+ "JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag": o.angleBracket,
2514
+ "JSXIdentifier JSXNameSpacedName": o.tagName,
2515
+ "JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName": o.attributeName,
2516
+ "JSXBuiltin/JSXIdentifier": o.standard(o.tagName)
2517
+ }), Xa = { __proto__: null, export: 14, as: 19, from: 27, default: 30, async: 35, function: 36, extends: 46, this: 50, true: 58, false: 58, null: 70, void: 74, typeof: 78, super: 96, new: 130, delete: 146, yield: 155, await: 159, class: 164, public: 221, private: 221, protected: 221, readonly: 223, instanceof: 242, satisfies: 245, in: 246, const: 248, import: 280, keyof: 335, unique: 339, infer: 345, is: 381, abstract: 401, implements: 403, type: 405, let: 408, var: 410, using: 413, interface: 419, enum: 423, namespace: 429, module: 431, declare: 435, global: 439, for: 458, of: 467, while: 470, with: 474, do: 478, if: 482, else: 484, switch: 488, case: 494, try: 500, catch: 504, finally: 508, return: 512, throw: 516, break: 520, continue: 524, debugger: 528 }, Pa = { __proto__: null, async: 117, get: 119, set: 121, declare: 181, public: 183, private: 183, protected: 183, static: 185, abstract: 187, override: 189, readonly: 195, accessor: 197, new: 385 }, ma = { __proto__: null, "<": 137 }, Za = y.deserialize({
2518
+ version: 14,
2519
+ states: "$6tO`QUOOO%TQUOOO'WQWOOP(eOSOOO*sQ(CjO'#CfO*zOpO'#CgO+YO!bO'#CgO+hO07`O'#DZO-yQUO'#DaO.ZQUO'#DlO%TQUO'#DvO0_QUO'#EOOOQ(CY'#EW'#EWO0xQSO'#ETOOQO'#Ei'#EiOOQO'#Ic'#IcO1QQSO'#GkO1]QSO'#EhO1bQSO'#EhO3dQ(CjO'#JdO6TQ(CjO'#JeO6qQSO'#FWO6vQ#tO'#FoOOQ(CY'#F`'#F`O7RO&jO'#F`O7aQ,UO'#FvO8wQSO'#FuOOQ(CY'#Je'#JeOOQ(CW'#Jd'#JdO8|QSO'#GoOOQQ'#KP'#KPO9XQSO'#IPO9^Q(C[O'#IQOOQQ'#JQ'#JQOOQQ'#IU'#IUQ`QUOOO%TQUO'#DnO9fQUO'#DzO9mQUO'#D|O9SQSO'#GkO9tQ,UO'#ClO:SQSO'#EgO:_QSO'#ErO:dQ,UO'#F_O;RQSO'#GkOOQO'#KQ'#KQO;WQSO'#KQO;fQSO'#GsO;fQSO'#GtO;fQSO'#GvO9SQSO'#GyO<]QSO'#G|O=tQSO'#CbO>UQSO'#HYO>^QSO'#H`O>^QSO'#HbO`QUO'#HdO>^QSO'#HfO>^QSO'#HiO>cQSO'#HoO>hQ(C]O'#HuO%TQUO'#HwO>sQ(C]O'#HyO?OQ(C]O'#H{O9^Q(C[O'#H}O?ZQ(CjO'#CfO@]QWO'#DfQOQSOOO%TQUO'#D|O@sQSO'#EPO9tQ,UO'#EgOAOQSO'#EgOAZQ`O'#F_OOQQ'#Cd'#CdOOQ(CW'#Dk'#DkOOQ(CW'#Jh'#JhO%TQUO'#JhOOQO'#Jl'#JlOOQO'#I`'#I`OBZQWO'#E`OOQ(CW'#E_'#E_OCVQ(C`O'#E`OCaQWO'#ESOOQO'#Jk'#JkOCuQWO'#JlOESQWO'#ESOCaQWO'#E`PEaO?MpO'#C`POOO)CDo)CDoOOOO'#IV'#IVOElOpO,59ROOQ(CY,59R,59ROOOO'#IW'#IWOEzO!bO,59RO%TQUO'#D]OOOO'#IY'#IYOFYO07`O,59uOOQ(CY,59u,59uOFhQUO'#IZOF{QSO'#JfOH}QbO'#JfO+vQUO'#JfOIUQSO,59{OIlQSO'#EiOIyQSO'#JtOJUQSO'#JsOJUQSO'#JsOJ^QSO,5;VOJcQSO'#JrOOQ(CY,5:W,5:WOJjQUO,5:WOLkQ(CjO,5:bOM[QSO,5:jOMuQ(C[O'#JqOM|QSO'#JpO8|QSO'#JpONbQSO'#JpONjQSO,5;UONoQSO'#JpO!!wQbO'#JeOOQ(CY'#Cf'#CfO%TQUO'#EOO!#gQ`O,5:oOOQO'#Jm'#JmOOQO-E<a-E<aO9SQSO,5=VO!#}QSO,5=VO!$SQUO,5;SO!&VQ,UO'#EdO!'jQSO,5;SO!)SQ,UO'#DpO!)ZQUO'#DuO!)eQWO,5;]O!)mQWO,5;]O%TQUO,5;]OOQQ'#FO'#FOOOQQ'#FQ'#FQO%TQUO,5;^O%TQUO,5;^O%TQUO,5;^O%TQUO,5;^O%TQUO,5;^O%TQUO,5;^O%TQUO,5;^O%TQUO,5;^O%TQUO,5;^O%TQUO,5;^O%TQUO,5;^OOQQ'#FU'#FUO!){QUO,5;oOOQ(CY,5;t,5;tOOQ(CY,5;u,5;uO!,OQSO,5;uOOQ(CY,5;v,5;vO%TQUO'#IgO!,WQ(C[O,5<cO!&VQ,UO,5;^O!,uQ,UO,5;^O%TQUO,5;rO!,|Q#tO'#FeO!-yQ#tO'#JxO!-eQ#tO'#JxO!.QQ#tO'#JxOOQO'#Jx'#JxO!.fQ#tO,5;}OOOO,5<Z,5<ZO!.wQUO'#FqOOOO'#If'#IfO7RO&jO,5;zO!/OQ#tO'#FsOOQ(CY,5;z,5;zO!/oQ7[O'#CrOOQ(CY'#Cv'#CvO!0SQSO'#CvO!0XO07`O'#CzO!0uQ,UO,5<`O!0|QSO,5<bO!2cQMhO'#GQO!2pQSO'#GRO!2uQSO'#GRO!2zQMhO'#GVO!3yQWO'#GZO!4lQ7[O'#J_OOQ(CY'#J_'#J_O!4vQSO'#J^O!5UQSO'#J]O!5^QSO'#CqOOQ(CY'#Ct'#CtOOQ(CY'#DO'#DOOOQ(CY'#DQ'#DQO0{QSO'#DSO!'oQ,UO'#FxO!'oQ,UO'#FzO!5fQSO'#F|O!5kQSO'#F}O!2uQSO'#GTO!'oQ,UO'#GYO!5pQSO'#EjO!6_QSO,5<aOOQ(CW'#Co'#CoO!6gQSO'#EkO!7aQWO'#ElOOQ(CW'#Jr'#JrO!7hQ(C[O'#KRO9^Q(C[O,5=ZO`QUO,5>kOOQQ'#JY'#JYOOQQ,5>l,5>lOOQQ-E<S-E<SO!9jQ(CjO,5:YO!<WQ(CjO,5:fO%TQUO,5:fO!>qQ(CjO,5:hOOQO,5@l,5@lO!?bQ,UO,5=VO!?pQ(C[O'#JZO8wQSO'#JZO!@RQ(C[O,59WO!@^QWO,59WO!@fQ,UO,59WO9tQ,UO,59WO!@qQSO,5;SO!@yQSO'#HXO!A[QSO'#KUO%TQUO,5;wO!7[QWO,5;yO!AdQSO,5=rO!AiQSO,5=rO!AnQSO,5=rO9^Q(C[O,5=rO;fQSO,5=bOOQO'#Cr'#CrO!A|QWO,5=_O!BUQ,UO,5=`O!BaQSO,5=bO!BfQ`O,5=eO!BnQSO'#KQO>cQSO'#HOO9SQSO'#HQO!BsQSO'#HQO9tQ,UO'#HSO!BxQSO'#HSOOQQ,5=h,5=hO!B}QSO'#HTO!CVQSO'#ClO!C[QSO,58|O!CfQSO,58|O!EkQUO,58|OOQQ,58|,58|O!E{Q(C[O,58|O%TQUO,58|O!HWQUO'#H[OOQQ'#H]'#H]OOQQ'#H^'#H^O`QUO,5=tO!HnQSO,5=tO`QUO,5=zO`QUO,5=|O!HsQSO,5>OO`QUO,5>QO!HxQSO,5>TO!H}QUO,5>ZOOQQ,5>a,5>aO%TQUO,5>aO9^Q(C[O,5>cOOQQ,5>e,5>eO!MXQSO,5>eOOQQ,5>g,5>gO!MXQSO,5>gOOQQ,5>i,5>iO!M^QWO'#DXO%TQUO'#JhO!M{QWO'#JhO!NjQWO'#DgO!N{QWO'#DgO##^QUO'#DgO##eQSO'#JgO##mQSO,5:QO##rQSO'#EmO#$QQSO'#JuO#$YQSO,5;WO#$_QWO'#DgO#$lQWO'#EROOQ(CY,5:k,5:kO%TQUO,5:kO#$sQSO,5:kO>cQSO,5;RO!@^QWO,5;RO!@fQ,UO,5;RO9tQ,UO,5;RO#${QSO,5@SO#%QQ!LQO,5:oOOQO-E<^-E<^O#&WQ(C`O,5:zOCaQWO,5:nO#&bQWO,5:nOCaQWO,5:zO!@RQ(C[O,5:nOOQ(CW'#Ec'#EcOOQO,5:z,5:zO%TQUO,5:zO#&oQ(C[O,5:zO#&zQ(C[O,5:zO!@^QWO,5:nOOQO,5;Q,5;QO#'YQ(C[O,5:zPOOO'#IT'#ITP#'nO?MpO,58zPOOO,58z,58zOOOO-E<T-E<TOOQ(CY1G.m1G.mOOOO-E<U-E<UO#'yQ`O,59wOOOO-E<W-E<WOOQ(CY1G/a1G/aO#(OQbO,5>uO+vQUO,5>uOOQO,5>{,5>{O#(YQUO'#IZOOQO-E<X-E<XO#(gQSO,5@QO#(oQbO,5@QO#(vQSO,5@_OOQ(CY1G/g1G/gO%TQUO,5@`O#)OQSO'#IaOOQO-E<_-E<_O#(vQSO,5@_OOQ(CW1G0q1G0qOOQ(CY1G/r1G/rOOQ(CY1G0U1G0UO%TQUO,5@]O#)dQ(C[O,5@]O#)uQ(C[O,5@]O#)|QSO,5@[O8|QSO,5@[O#*UQSO,5@[O#*dQSO'#IdO#)|QSO,5@[OOQ(CW1G0p1G0pO!)eQWO,5:qO!)pQWO,5:qOOQO,5:s,5:sO#+UQSO,5:sO#+^Q,UO1G2qO9SQSO1G2qOOQ(CY1G0n1G0nO#+lQ(CjO1G0nO#,qQ(ChO,5;OOOQ(CY'#GP'#GPO#-_Q(CjO'#J_O!$SQUO1G0nO#/gQ,UO'#JiO#/qQSO,5:[O#/vQbO'#JjO%TQUO'#JjO#0QQSO,5:aOOQ(CY'#DX'#DXOOQ(CY1G0w1G0wO%TQUO1G0wOOQ(CY1G1a1G1aO#0VQSO1G0wO#2nQ(CjO1G0xO#2uQ(CjO1G0xO#5`Q(CjO1G0xO#5gQ(CjO1G0xO#7qQ(CjO1G0xO#8XQ(CjO1G0xO#;RQ(CjO1G0xO#;YQ(CjO1G0xO#=sQ(CjO1G0xO#=zQ(CjO1G0xO#?rQ(CjO1G0xO#BrQ$IUO'#CfO#DpQ$IUO1G1ZO#DwQ$IUO'#JeO!,RQSO1G1aO#EXQ(CjO,5?ROOQ(CW-E<e-E<eO#E{Q(CjO1G0xOOQ(CY1G0x1G0xO#HWQ(CjO1G1^O#HzQ#tO,5<RO#ISQ#tO,5<SO#I[Q#tO'#FjO#IsQSO'#FiOOQO'#Jy'#JyOOQO'#Ie'#IeO#IxQ#tO1G1iOOQ(CY1G1i1G1iOOOO1G1t1G1tO#JZQ$IUO'#JdO#JeQSO,5<]O!){QUO,5<]OOOO-E<d-E<dOOQ(CY1G1f1G1fO#JjQWO'#JxOOQ(CY,5<_,5<_O#JrQWO,5<_OOQ(CY,59b,59bO!&VQ,UO'#C|OOOO'#IX'#IXO#JwO07`O,59fOOQ(CY,59f,59fO%TQUO1G1zO!5kQSO'#IiO#KSQ,UO,5<sOOQ(CY,5<p,5<pOOQO'#Gf'#GfO!'oQ,UO,5=POOQO'#Gh'#GhO!'oQ,UO,5=RO!&VQ,UO,5=TOOQO1G1|1G1|O#KZQ`O'#CoO#KnQ`O,5<lO#KuQSO'#J|O9SQSO'#J|O#LTQSO,5<nO!'oQ,UO,5<mO#LYQSO'#GSO#LeQSO,5<mO#LjQ`O'#GPO#LwQ`O'#J}O#MRQSO'#J}O!&VQ,UO'#J}O#MWQSO,5<qO#M]QWO'#G[O!3tQWO'#G[O#MnQSO'#G^O#MsQSO'#G`O!2uQSO'#GcO#MxQ(C[O'#IkO#NTQWO,5<uOOQ(CY,5<u,5<uO#N[QWO'#G[O#NjQWO'#G]O#NrQWO'#G]OOQ(CY,5=U,5=UO!'oQ,UO,5?xO!'oQ,UO,5?xO#NwQSO'#IlO$ SQSO,5?wO$ [QSO,59]O$ {Q,UO,59nOOQ(CY,59n,59nO$!nQ,UO,5<dO$#aQ,UO,5<fO@TQSO,5<hOOQ(CY,5<i,5<iO$#kQSO,5<oO$#pQ,UO,5<tO$$QQSO'#JpO!$SQUO1G1{O$$VQSO1G1{O8|QSO'#JsO8|QSO'#EmO%TQUO'#EmO8|QSO'#InO$$[Q(C[O,5@mOOQQ1G2u1G2uOOQQ1G4V1G4VOOQ(CY1G/t1G/tO!,OQSO1G/tO$&aQ(CjO1G0QOOQQ1G2q1G2qO!&VQ,UO1G2qO%TQUO1G2qO$'QQSO1G2qO$']Q,UO'#EdOOQ(CW,5?u,5?uO$'gQ(C[O,5?uOOQQ1G.r1G.rO!@RQ(C[O1G.rO!@^QWO1G.rO!@fQ,UO1G.rO$'xQSO1G0nO$'}QSO'#CfO$(YQSO'#KVO$(bQSO,5=sO$(gQSO'#KVO$(lQSO'#KVO$(wQSO'#ItO$)VQSO,5@pO$)_QbO1G1cOOQ(CY1G1e1G1eO9SQSO1G3^O@TQSO1G3^O$)fQSO1G3^O$)kQSO1G3^OOQQ1G3^1G3^O!BaQSO1G2|O!&VQ,UO1G2yO$)pQSO1G2yOOQQ1G2z1G2zO!&VQ,UO1G2zO$)uQSO1G2zO$)}QWO'#GxOOQQ1G2|1G2|O!3tQWO'#IpO!BfQ`O1G3POOQQ1G3P1G3POOQQ,5=j,5=jO$*VQ,UO,5=lO9SQSO,5=lO#MsQSO,5=nO8wQSO,5=nO!@^QWO,5=nO!@fQ,UO,5=nO9tQ,UO,5=nO$*eQSO'#KTO$*pQSO,5=oOOQQ1G.h1G.hO$*uQ(C[O1G.hO@TQSO1G.hO$+QQSO1G.hO9^Q(C[O1G.hO$-VQbO,5@rO$-gQSO,5@rO8|QSO,5@rO$-rQUO,5=vO$-yQSO,5=vOOQQ1G3`1G3`O`QUO1G3`OOQQ1G3f1G3fOOQQ1G3h1G3hO>^QSO1G3jO$.OQUO1G3lO$2SQUO'#HkOOQQ1G3o1G3oO$2aQSO'#HqO>cQSO'#HsOOQQ1G3u1G3uO$2iQUO1G3uO9^Q(C[O1G3{OOQQ1G3}1G3}OOQ(CW'#GW'#GWO9^Q(C[O1G4PO9^Q(C[O1G4RO$6pQSO,5@SO!){QUO,5;XO8|QSO,5;XO>cQSO,5:RO!){QUO,5:RO!@^QWO,5:RO$6uQ$IUO,5:ROOQO,5;X,5;XO$7PQWO'#I[O$7gQSO,5@ROOQ(CY1G/l1G/lO$7oQWO'#IbO$7yQSO,5@aOOQ(CW1G0r1G0rO!N{QWO,5:ROOQO'#I_'#I_O$8RQWO,5:mOOQ(CY,5:m,5:mO#$vQSO1G0VOOQ(CY1G0V1G0VO%TQUO1G0VOOQ(CY1G0m1G0mO>cQSO1G0mO!@^QWO1G0mO!@fQ,UO1G0mOOQ(CW1G5n1G5nO!@RQ(C[O1G0YOOQO1G0f1G0fO%TQUO1G0fO$8YQ(C[O1G0fO$8eQ(C[O1G0fO!@^QWO1G0YOCaQWO1G0YO$8sQ(C[O1G0fOOQO1G0Y1G0YO$9XQ(CjO1G0fPOOO-E<R-E<RPOOO1G.f1G.fOOOO1G/c1G/cO$9cQ`O,5<cO$9kQbO1G4aOOQO1G4g1G4gO%TQUO,5>uO$9uQSO1G5lO$9}QSO1G5yO$:VQbO1G5zO8|QSO,5>{O$:aQ(CjO1G5wO%TQUO1G5wO$:qQ(C[O1G5wO$;SQSO1G5vO$;SQSO1G5vO8|QSO1G5vO$;[QSO,5?OO8|QSO,5?OOOQO,5?O,5?OO$;pQSO,5?OO$$QQSO,5?OOOQO-E<b-E<bOOQO1G0]1G0]OOQO1G0_1G0_O!,RQSO1G0_OOQQ7+(]7+(]O!&VQ,UO7+(]O%TQUO7+(]O$<OQSO7+(]O$<ZQ,UO7+(]O$<iQ(CjO,59nO$>qQ(CjO,5<dO$@|Q(CjO,5<fO$CXQ(CjO,5<tOOQ(CY7+&Y7+&YO$EjQ(CjO7+&YO$F^Q,UO'#I]O$FhQSO,5@TOOQ(CY1G/v1G/vO$FpQUO'#I^O$F}QSO,5@UO$GVQbO,5@UOOQ(CY1G/{1G/{O$GaQSO7+&cOOQ(CY7+&c7+&cO$GfQ$IUO,5:bO%TQUO7+&uO$GpQ$IUO,5:YO$G}Q$IUO,5:fO$HXQ$IUO,5:hOOQ(CY7+&{7+&{OOQO1G1m1G1mOOQO1G1n1G1nO$HcQ#tO,5<UO!){QUO,5<TOOQO-E<c-E<cOOQ(CY7+'T7+'TOOOO7+'`7+'`OOOO1G1w1G1wO$HnQSO1G1wOOQ(CY1G1y1G1yO$HsQ`O,59hOOOO-E<V-E<VOOQ(CY1G/Q1G/QO$HzQ(CjO7+'fOOQ(CY,5?T,5?TO$InQ`O,5?TOOQ(CY1G2_1G2_P!&VQ,UO'#IiPOQ(CY-E<g-E<gO$J^Q,UO1G2kO$KPQ,UO1G2mO$KZQ`O1G2oOOQ(CY1G2W1G2WO$KbQSO'#IhO$KpQSO,5@hO$KpQSO,5@hO$KxQSO,5@hO$LTQSO,5@hOOQO1G2Y1G2YO$LcQ,UO1G2XO!'oQ,UO1G2XO$LsQMhO'#IjO$MTQSO,5@iO!&VQ,UO,5@iO$M]Q`O,5@iOOQ(CY1G2]1G2]OOQ(CW,5<v,5<vOOQ(CW,5<w,5<wO$$QQSO,5<wOCQQSO,5<wO!@^QWO,5<vOOQO'#G_'#G_O$MgQSO,5<xOOQ(CW,5<z,5<zO$$QQSO,5<}OOQO,5?V,5?VOOQO-E<i-E<iOOQ(CY1G2a1G2aO!3tQWO,5<vO$MoQSO,5<wO#MnQSO,5<xO!3tQWO,5<wO$MzQ,UO1G5dO$NUQ,UO1G5dOOQO,5?W,5?WOOQO-E<j-E<jOOQO1G.w1G.wO!7[QWO,59pO%TQUO,59pO$NcQSO1G2SO!'oQ,UO1G2ZO$NhQ(CjO7+'gOOQ(CY7+'g7+'gO!$SQUO7+'gO% [QSO,5;XOOQ(CW,5?Y,5?YOOQ(CW-E<l-E<lOOQ(CY7+%`7+%`O% aQ`O'#KOO#$vQSO7+(]O% kQbO7+(]O$<RQSO7+(]O% rQ(ChO'#CfO%!VQ(ChO,5<{O%!wQSO,5<{OOQ(CW1G5a1G5aOOQQ7+$^7+$^O!@RQ(C[O7+$^O!@^QWO7+$^O!$SQUO7+&YO%!|QSO'#IsO%#bQSO,5@qOOQO1G3_1G3_O9SQSO,5@qO%#bQSO,5@qO%#jQSO,5@qOOQO,5?`,5?`OOQO-E<r-E<rOOQ(CY7+&}7+&}O%#oQSO7+(xO9^Q(C[O7+(xO9SQSO7+(xO@TQSO7+(xOOQQ7+(h7+(hO%#tQ(ChO7+(eO!&VQ,UO7+(eO%$OQ`O7+(fOOQQ7+(f7+(fO!&VQ,UO7+(fO%$VQSO'#KSO%$bQSO,5=dOOQO,5?[,5?[OOQO-E<n-E<nOOQQ7+(k7+(kO%%qQWO'#HROOQQ1G3W1G3WO!&VQ,UO1G3WO%TQUO1G3WO%%xQSO1G3WO%&TQ,UO1G3WO9^Q(C[O1G3YO#MsQSO1G3YO8wQSO1G3YO!@^QWO1G3YO!@fQ,UO1G3YO%&cQSO'#IrO%&nQSO,5@oO%&vQWO,5@oOOQ(CW1G3Z1G3ZOOQQ7+$S7+$SO@TQSO7+$SO9^Q(C[O7+$SO%'RQSO7+$SO%TQUO1G6^O%TQUO1G6_O%'WQ(C[O1G6^O%'bQUO1G3bO%'iQSO1G3bO%'nQUO1G3bOOQQ7+(z7+(zO9^Q(C[O7+)UO`QUO7+)WOOQQ'#KY'#KYOOQQ'#Iu'#IuO%'uQUO,5>VOOQQ,5>V,5>VO%TQUO'#HlO%(SQSO'#HnOOQQ,5>],5>]O8|QSO,5>]OOQQ,5>_,5>_OOQQ7+)a7+)aOOQQ7+)g7+)gOOQQ7+)k7+)kOOQQ7+)m7+)mO%(XQWO1G5nO%(mQ$IUO1G0sO%(wQSO1G0sOOQO1G/m1G/mO%)SQ$IUO1G/mO>cQSO1G/mO!){QUO'#DgOOQO,5>v,5>vOOQO-E<Y-E<YOOQO,5>|,5>|OOQO-E<`-E<`O!@^QWO1G/mOOQO-E<]-E<]OOQ(CY1G0X1G0XOOQ(CY7+%q7+%qO#$vQSO7+%qOOQ(CY7+&X7+&XO>cQSO7+&XO!@^QWO7+&XOOQO7+%t7+%tO$9XQ(CjO7+&QOOQO7+&Q7+&QO%TQUO7+&QO%)^Q(C[O7+&QO!@RQ(C[O7+%tO!@^QWO7+%tO%)iQ(C[O7+&QO%)wQ(CjO7++cO%TQUO7++cO%*XQSO7++bO%*XQSO7++bOOQO1G4j1G4jO8|QSO1G4jO%*aQSO1G4jOOQO7+%y7+%yO#$vQSO<<KwO% kQbO<<KwO%*oQSO<<KwOOQQ<<Kw<<KwO!&VQ,UO<<KwO%TQUO<<KwO%*wQSO<<KwO%+SQ(CjO1G2kO%-_Q(CjO1G2mO%/jQ(CjO1G2XO%1{Q,UO,5>wOOQO-E<Z-E<ZO%2VQbO,5>xO%TQUO,5>xOOQO-E<[-E<[O%2aQSO1G5pOOQ(CY<<I}<<I}O%2iQ$IUO1G0nO%4sQ$IUO1G0xO%4zQ$IUO1G0xO%7OQ$IUO1G0xO%7VQ$IUO1G0xO%8zQ$IUO1G0xO%9bQ$IUO1G0xO%;uQ$IUO1G0xO%;|Q$IUO1G0xO%>QQ$IUO1G0xO%>XQ$IUO1G0xO%@PQ$IUO1G0xO%@dQ(CjO<<JaO%AiQ$IUO1G0xO%C_Q$IUO'#J_O%EbQ$IUO1G1^O%EoQ$IUO1G0QO!){QUO'#FlOOQO'#Jz'#JzOOQO1G1p1G1pO%EyQSO1G1oO%FOQ$IUO,5?ROOOO7+'c7+'cOOOO1G/S1G/SOOQ(CY1G4o1G4oO!'oQ,UO7+(ZO%FYQSO,5?SO9SQSO,5?SOOQO-E<f-E<fO%FhQSO1G6SO%FhQSO1G6SO%FpQSO1G6SO%F{Q,UO7+'sO%G]Q`O,5?UO%GgQSO,5?UO!&VQ,UO,5?UOOQO-E<h-E<hO%GlQ`O1G6TO%GvQSO1G6TOOQ(CW1G2c1G2cO$$QQSO1G2cOOQ(CW1G2b1G2bO%HOQSO1G2dO!&VQ,UO1G2dOOQ(CW1G2i1G2iO!@^QWO1G2bOCQQSO1G2cO%HTQSO1G2dO%H]QSO1G2cO!'oQ,UO7++OOOQ(CY1G/[1G/[O%HhQSO1G/[OOQ(CY7+'n7+'nO%HmQ,UO7+'uO%H}Q(CjO<<KROOQ(CY<<KR<<KRO%IqQSO1G0sO!&VQ,UO'#ImO%IvQSO,5@jO!&VQ,UO1G2gOOQQ<<Gx<<GxO!@RQ(C[O<<GxO%JOQ(CjO<<ItOOQ(CY<<It<<ItOOQO,5?_,5?_O%JrQSO,5?_O$(lQSO,5?_OOQO-E<q-E<qO%JwQSO1G6]O%JwQSO1G6]O9SQSO1G6]O@TQSO<<LdOOQQ<<Ld<<LdO%KPQSO<<LdO9^Q(C[O<<LdOOQQ<<LP<<LPO%#tQ(ChO<<LPOOQQ<<LQ<<LQO%$OQ`O<<LQO%KUQWO'#IoO%KaQSO,5@nO!){QUO,5@nOOQQ1G3O1G3OO%KiQUO'#JhOOQO'#Iq'#IqO9^Q(C[O'#IqO%KsQWO,5=mOOQQ,5=m,5=mO%KzQWO'#E`O%L`QSO7+(rO%LeQSO7+(rOOQQ7+(r7+(rO!&VQ,UO7+(rO%TQUO7+(rO%LmQSO7+(rOOQQ7+(t7+(tO9^Q(C[O7+(tO#MsQSO7+(tO8wQSO7+(tO!@^QWO7+(tO%LxQSO,5?^OOQO-E<p-E<pOOQO'#HU'#HUO%MTQSO1G6ZO9^Q(C[O<<GnOOQQ<<Gn<<GnO@TQSO<<GnO%M]QSO7++xO%MbQSO7++yO%TQUO7++xO%TQUO7++yOOQQ7+(|7+(|O%MgQSO7+(|O%MlQUO7+(|O%MsQSO7+(|OOQQ<<Lp<<LpOOQQ<<Lr<<LrOOQQ-E<s-E<sOOQQ1G3q1G3qO%MxQSO,5>WOOQQ,5>Y,5>YO%M}QSO1G3wO8|QSO7+&_O!){QUO7+&_OOQO7+%X7+%XO%NSQ$IUO1G5zO>cQSO7+%XOOQ(CY<<I]<<I]OOQ(CY<<Is<<IsO>cQSO<<IsOOQO<<Il<<IlO$9XQ(CjO<<IlO%TQUO<<IlOOQO<<I`<<I`O!@RQ(C[O<<I`O%N^Q(C[O<<IlO%NiQ(CjO<<N}O%NyQSO<<N|OOQO7+*U7+*UO8|QSO7+*UOOQQANAcANAcO& RQSOANAcO!&VQ,UOANAcO#$vQSOANAcO% kQbOANAcO%TQUOANAcO& ZQ(CjO7+'sO&#lQ(CjO7+'uO&%}QbO1G4dO&&XQ$IUO7+&YO&&fQ$IUO,59nO&(iQ$IUO,5<dO&*lQ$IUO,5<fO&,oQ$IUO,5<tO&.eQ$IUO7+'fO&.rQ$IUO7+'gO&/PQSO,5<WOOQO7+'Z7+'ZO&/UQ,UO<<KuOOQO1G4n1G4nO&/]QSO1G4nO&/hQSO1G4nO&/vQSO7++nO&/vQSO7++nO!&VQ,UO1G4pO&0OQ`O1G4pO&0YQSO7++oOOQ(CW7+'}7+'}O$$QQSO7+(OO&0bQ`O7+(OOOQ(CW7+'|7+'|O$$QQSO7+'}O&0iQSO7+(OO!&VQ,UO7+(OOCQQSO7+'}O&0nQ,UO<<NjOOQ(CY7+$v7+$vO&0xQ`O,5?XOOQO-E<k-E<kO&1SQ(ChO7+(ROOQQAN=dAN=dO9SQSO1G4yOOQO1G4y1G4yO&1dQSO1G4yO&1iQSO7++wO&1iQSO7++wO9^Q(C[OANBOO@TQSOANBOOOQQANBOANBOOOQQANAkANAkOOQQANAlANAlO&1qQSO,5?ZOOQO-E<m-E<mO&1|Q$IUO1G6YO&4^QbO'#CfOOQO,5?],5?]OOQO-E<o-E<oOOQQ1G3X1G3XO%KiQUO,5<xOOQQ<<L^<<L^O!&VQ,UO<<L^O%L`QSO<<L^O&4hQSO<<L^O%TQUO<<L^OOQQ<<L`<<L`O9^Q(C[O<<L`O#MsQSO<<L`O8wQSO<<L`O&4pQWO1G4xO&4{QSO7++uOOQQAN=YAN=YO9^Q(C[OAN=YOOQQ<= d<= dOOQQ<= e<= eO&5TQSO<= dO&5YQSO<= eOOQQ<<Lh<<LhO&5_QSO<<LhO&5dQUO<<LhOOQQ1G3r1G3rO>cQSO7+)cO&5kQSO<<IyO&5vQ$IUO<<IyOOQO<<Hs<<HsOOQ(CYAN?_AN?_OOQOAN?WAN?WO$9XQ(CjOAN?WOOQOAN>zAN>zO%TQUOAN?WOOQO<<Mp<<MpOOQQG26}G26}O!&VQ,UOG26}O#$vQSOG26}O&6QQSOG26}O% kQbOG26}O&6YQ$IUO<<JaO&6gQ$IUO1G2XO&8]Q$IUO1G2kO&:`Q$IUO1G2mO&<cQ$IUO<<KRO&<pQ$IUO<<ItOOQO1G1r1G1rO!'oQ,UOANAaOOQO7+*Y7+*YO&<}QSO7+*YO&=YQSO<= YO&=bQ`O7+*[OOQ(CW<<Kj<<KjO$$QQSO<<KjOOQ(CW<<Ki<<KiO&=lQ`O<<KjO$$QQSO<<KiOOQO7+*e7+*eO9SQSO7+*eO&=sQSO<= cOOQQG27jG27jO9^Q(C[OG27jO!){QUO1G4uO&={QSO7++tO%L`QSOANAxOOQQANAxANAxO!&VQ,UOANAxO&>TQSOANAxOOQQANAzANAzO9^Q(C[OANAzO#MsQSOANAzOOQO'#HV'#HVOOQO7+*d7+*dOOQQG22tG22tOOQQANEOANEOOOQQANEPANEPOOQQANBSANBSO&>]QSOANBSOOQQ<<L}<<L}O!){QUOAN?eOOQOG24rG24rO$9XQ(CjOG24rO#$vQSOLD,iOOQQLD,iLD,iO!&VQ,UOLD,iO&>bQSOLD,iO&>jQ$IUO7+'sO&@`Q$IUO7+'uO&BUQ,UOG26{OOQO<<Mt<<MtOOQ(CWANAUANAUO$$QQSOANAUOOQ(CWANATANATOOQO<<NP<<NPOOQQLD-ULD-UO&BfQ$IUO7+*aOOQQG27dG27dO%L`QSOG27dO!&VQ,UOG27dOOQQG27fG27fO9^Q(C[OG27fOOQQG27nG27nO&BpQ$IUOG25POOQOLD*^LD*^OOQQ!$(!T!$(!TO#$vQSO!$(!TO!&VQ,UO!$(!TO&BzQ(CjOG26{OOQ(CWG26pG26pOOQQLD-OLD-OO%L`QSOLD-OOOQQLD-QLD-QOOQQ!)9Eo!)9EoO#$vQSO!)9EoOOQQ!$(!j!$(!jOOQQ!.K;Z!.K;ZO&E]Q$IUOG26{O!){QUO'#DvO0xQSO'#ETO&GRQbO'#JdO!){QUO'#DnO&GYQUO'#DzO&GaQbO'#CfO&IwQbO'#CfO!){QUO'#D|O&JXQUO,5;SO!){QUO,5;^O!){QUO,5;^O!){QUO,5;^O!){QUO,5;^O!){QUO,5;^O!){QUO,5;^O!){QUO,5;^O!){QUO,5;^O!){QUO,5;^O!){QUO,5;^O!){QUO,5;^O!){QUO'#IgO&L[QSO,5<cO&LdQ,UO,5;^O&MwQ,UO,5;^O!){QUO,5;rO0{QSO'#DSO0{QSO'#DSO!&VQ,UO'#FxO&LdQ,UO'#FxO!&VQ,UO'#FzO&LdQ,UO'#FzO!&VQ,UO'#GYO&LdQ,UO'#GYO!){QUO,5:fO!){QUO,5@`O&JXQUO1G0nO&NOQ$IUO'#CfO!){QUO1G1zO!&VQ,UO,5=PO&LdQ,UO,5=PO!&VQ,UO,5=RO&LdQ,UO,5=RO!&VQ,UO,5<mO&LdQ,UO,5<mO&JXQUO1G1{O!){QUO7+&uO!&VQ,UO1G2XO&LdQ,UO1G2XO!&VQ,UO1G2ZO&LdQ,UO1G2ZO&JXQUO7+'gO&JXQUO7+&YO!&VQ,UOANAaO&LdQ,UOANAaO&NYQSO'#EhO&N_QSO'#EhO&NgQSO'#FWO&NlQSO'#ErO&NqQSO'#JtO&N|QSO'#JrO' XQSO,5;SO' ^Q,UO,5<`O' eQSO'#GRO' jQSO'#GRO' oQSO,5<aO' wQSO,5;SO'!PQ$IUO1G1ZO'!WQSO,5<mO'!]QSO,5<mO'!bQSO,5<oO'!gQSO,5<oO'!lQSO1G1{O'!qQSO1G0nO'!vQ,UO<<KuO'!}Q,UO<<KuO7aQ,UO'#FvO8wQSO'#FuOAOQSO'#EgO!){QUO,5;oO!2uQSO'#GRO!2uQSO'#GRO!2uQSO'#GTO!2uQSO'#GTO!'oQ,UO7+(ZO!'oQ,UO7+(ZO$KZQ`O1G2oO$KZQ`O1G2oO!&VQ,UO,5=TO!&VQ,UO,5=T",
2520
+ stateData: "'$W~O'nOS'oOSROS'pRQ~OPYOQYOV!UO^qOayObxOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!XXO!ctO!hZO!kYO!lYO!mYO!ouO!qvO!twO!x]O#p!OO$Q{O$UfO%`|O%b!PO%d}O%e}O%f}O%i!QO%k!RO%n!SO%o!SO%q!TO%}!VO&T!WO&V!XO&X!YO&Z!ZO&^![O&d!]O&j!^O&l!_O&n!`O&p!aO&r!bO'uSO'wTO'zUO(SVO(b[O(oiO~OPYOQYOa!iOb!hOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!X!dO!ctO!hZO!kYO!lYO!mYO!ouO!q!fO!t!gO$Q!jO$UfO'u!cO'wTO'zUO(SVO(b[O(oiO~O^!uOl!mO|!nO![!wO!]!tO!^!tO!x9qO!|!oO!}!oO#O!vO#P!oO#Q!oO#T!xO#U!xO'v!kO'wTO'zUO(V!lO(b!rO~O'p!yO~OPYXXYX^YXkYXyYXzYX|YX!VYX!eYX!fYX!hYX!lYX#XYX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX'lYX(SYX(cYX(jYX(kYX~O!a$zX~P(jO[!{O'w!}O'x!{O'y!}O~O[#OO'y!}O'z!}O'{#OO~Oq#QO!O#RO(T#RO(U#TO~OPYOQYOa!iOb!hOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!X!dO!ctO!hZO!kYO!lYO!mYO!ouO!q!fO!t!gO$Q!jO$UfO'u9uO'wTO'zUO(SVO(b[O(oiO~O!U#XO!V#UO!S(YP!S(gP~P+vO!W#aO~P`OPYOQYOa!iOb!hOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!X!dO!ctO!hZO!kYO!lYO!mYO!ouO!q!fO!t!gO$Q!jO$UfO'wTO'zUO(SVO(b[O(oiO~Oi#kO!U#gO!x]O#b#jO#c#gO'u9vO!g(dP~P.bO!h#mO'u#lO~O!t#qO!x]O%`#rO~O#d#sO~O!a#tO#d#sO~OP$[OX$cOk$POy#xOz#yO|#zO!V$`O!e$RO!f#vO!h#wO!l$[O#g#}O#h$OO#i$OO#j$OO#k$QO#l$RO#m$RO#n$bO#o$RO#q$SO#s$UO#u$WO#v$XO(SVO(c$YO(j#{O(k#|O~O^(WX'l(WX'j(WX!g(WX!S(WX!X(WX%a(WX!a(WX~P1jO#X$dO#{$dOP(XXX(XXk(XXy(XXz(XX|(XX!V(XX!e(XX!h(XX!l(XX#g(XX#h(XX#i(XX#j(XX#k(XX#l(XX#m(XX#n(XX#o(XX#q(XX#s(XX#u(XX#v(XX(S(XX(c(XX(j(XX(k(XX!X(XX%a(XX~O^(XX!f(XX'l(XX'j(XX!S(XX!g(XXo(XX!a(XX~P4QO#X$dO~O$W$fO$Y$eO$a$kO~O!X$lO$UfO$d$mO$f$oO~Oi%ROk$sOl$rOm$rOs%SOu%TOw%UO|$zO!X${O!c%ZO!h$wO#c%[O$Q%XO$m%VO$o%WO$r%YO'u$qO'wTO'zUO(O%QO(S$tOd(PP~O!h%]O~O|%`O!X%aO'u%_O~O!a%eO~O^%fO'l%fO~O'v!kO~P%TO%f%mO~P%TO!h%]O'u%_O'v!kO(O%QO~Ob%tO!h%]O'u%_O~O#o$RO~Oy%yO!X%vO!h%xO%b%|O'u%_O'v!kO'wTO'zUO](xP~O!t#qO~O%k&OO|(tX!X(tX'u(tX~O'u&PO~O!q&UO#p!OO%b!PO%d}O%e}O%f}O%i!QO%k!RO%n!SO%o!SO~Oa&ZOb&YO!t&WO%`&XO%s&VO~P;kOa&^ObxO!X&]O!q&UO!twO!x]O#p!OO%`|O%d}O%e}O%f}O%i!QO%k!RO%n!SO%o!SO%q!TO~O_&aO#X&dO%b&_O'v!kO~P<pO!h&eO!q&iO~O!h#mO~O!XXO~O^%fO'k&qO'l%fO~O^%fO'k&tO'l%fO~O^%fO'k&vO'l%fO~O'jYX!SYXoYX!gYX&RYX!XYX%aYX!aYX~P(jO!['TO!]&|O!^&|O'v!kO'wTO'zUO~Ol&zO|&yO!U&}O(V&xO!W(ZP!W(iP~P?wOg'WO!X'UO'u%_O~Ob']O!h%]O'u%_O~Oy%yO!h%xO~Ol!mO|!nO!x9qO!|!oO!}!oO#P!oO#Q!oO'v!kO'wTO'zUO(V!lO(b!rO~O!['cO!]'bO!^'bO#O!oO#T'dO#U'dO~PAcO^%fO!a#tO!h%]O'l%fO(O%QO(c'fO~O!l'jO#X'hO~PBqOl!mO|!nO'wTO'zUO(V!lO(b!rO~O!XXOl(`X|(`X![(`X!](`X!^(`X!x(`X!|(`X!}(`X#O(`X#P(`X#Q(`X#T(`X#U(`X'v(`X'w(`X'z(`X(V(`X(b(`X~O!]'bO!^'bO'v!kO~PCaO'q'nO'r'nO's'pO~O[!{O'w'rO'x!{O'y'rO~O[#OO'y'rO'z'rO'{#OO~Oq#QO!O#RO(T#RO(U'vO~O!U'xO!S&}X!S'TX!V&}X!V'TX~P+vO!V'zO!S(YX~OP$[OX$cOk$POy#xOz#yO|#zO!V'zO!e$RO!f#vO!h#wO!l$[O#g#}O#h$OO#i$OO#j$OO#k$QO#l$RO#m$RO#n$bO#o$RO#q$SO#s$UO#u$WO#v$XO(SVO(c$YO(j#{O(k#|O~O!S(YX~PGTO!S(PO~O!S(fX!V(fX!a(fX!g(fX(c(fX~O#X(fX#d#]X!W(fX~PIZO#X(QO!S(hX!V(hX~O!V(RO!S(gX~O!S(UO~O#X$dO~PIZO!W(VO~P`Oy#xOz#yO|#zO!f#vO!h#wO(SVOP!jaX!jak!ja!V!ja!e!ja!l!ja#g!ja#h!ja#i!ja#j!ja#k!ja#l!ja#m!ja#n!ja#o!ja#q!ja#s!ja#u!ja#v!ja(c!ja(j!ja(k!ja~O^!ja'l!ja'j!ja!S!ja!g!jao!ja!X!ja%a!ja!a!ja~PJqO!g(WO~O!a#tO#X(XO(c'fO!V(eX^(eX'l(eX~O!g(eX~PMaO|%`O!X%aO!x]O#b(^O#c(]O'u%_O~O!V(_O!g(dX~O!g(aO~O|%`O!X%aO#c(]O'u%_O~OP(XXX(XXk(XXy(XXz(XX|(XX!V(XX!e(XX!f(XX!h(XX!l(XX#g(XX#h(XX#i(XX#j(XX#k(XX#l(XX#m(XX#n(XX#o(XX#q(XX#s(XX#u(XX#v(XX(S(XX(c(XX(j(XX(k(XX~O!a#tO!g(XX~PN}Oy(bOz(cO!f#vO!h#wO!x!wa|!wa~O!t!wa%`!wa!X!wa#b!wa#c!wa'u!wa~P!#RO!t(gO~OPYOQYOa!iOb!hOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!XXO!ctO!hZO!kYO!lYO!mYO!ouO!q!fO!t!gO$Q!jO$UfO'u!cO'wTO'zUO(SVO(b[O(oiO~Oi%ROk$sOl$rOm$rOs%SOu%TOw:ZO|$zO!X${O!c;eO!h$wO#c:aO$Q%XO$m:]O$o:_O$r%YO'u(kO'wTO'zUO(O%QO(S$tO~O#d(mO~Oi%ROk$sOl$rOm$rOs%SOu%TOw%UO|$zO!X${O!c%ZO!h$wO#c%[O$Q%XO$m%VO$o%WO$r%YO'u(kO'wTO'zUO(O%QO(S$tO~Od(]P~P!'oO!U(qO!g(^P~P%TO(V(sO(b[O~O|(uO!h#wO(V(sO(b[O~OP9pOQ9pOa;aOb!hOikOk9pOlkOmkOskOu9pOw9pO|WO!QkO!RkO!X!dO!c9sO!hZO!k9pO!l9pO!m9pO!o9tO!q9wO!t!gO$Q!jO$UfO'u)TO'wTO'zUO(SVO(b[O(o;_O~Oz)WO!h#wO~O!V$`O^$ka'l$ka'j$ka!g$ka!S$ka!X$ka%a$ka!a$ka~O#p)[O~P!&VOy)_O!a)^O!X$XX$T$XX$W$XX$Y$XX$a$XX~O!a)^O!X(lX$T(lX$W(lX$Y(lX$a(lX~Oy)_O~P!-eOy)_O!X(lX$T(lX$W(lX$Y(lX$a(lX~O!X)aO$T)eO$W)`O$Y)`O$a)fO~O!U)iO~P!){O$W$fO$Y$eO$a)mO~Og$sXy$sX|$sX!f$sX(j$sX(k$sX~OdfXd$sXgfX!VfX#XfX~P!/ZOl)oO~Oq)pO(T)qO(U)sO~Og)|Oy)uO|)vO(j)xO(k)zO~Od)tO~P!0dOd)}O~Oi%ROk$sOl$rOm$rOs%SOu%TOw:ZO|$zO!X${O!c;eO!h$wO#c:aO$Q%XO$m:]O$o:_O$r%YO'wTO'zUO(O%QO(S$tO~O!U*RO'u*OO!g(pP~P!1RO#d*TO~O!h*UO~O!U*ZO'u*WO!S(qP~P!1ROk*gO|*_O![*eO!]*^O!^*^O!h*UO#T*fO%W*aO'v!kO(V!lO~O!W*dO~P!3XO!f#vOg(RXy(RX|(RX(j(RX(k(RX!V(RX#X(RX~Od(RX#y(RX~P!4QOg*jO#X*iOd(QX!V(QX~O!V*kOd(PX~O'u&POd(PP~O!h*rO~O'u(kO~Oi*vO|%`O!U#gO!X%aO!x]O#b#jO#c#gO'u%_O!g(dP~O!a#tO#d*wO~O|%`O!U*yO!V(RO!X%aO'u%_O!S(gP~Ol'QO|*{O!U*zO'wTO'zUO(V(sO~O!W(iP~P!6{O!V*|O^(uX'l(uX~OP$[OX$cOk$POy#xOz#yO|#zO!e$RO!f#vO!h#wO!l$[O#g#}O#h$OO#i$OO#j$OO#k$QO#l$RO#m$RO#n$bO#o$RO#q$SO#s$UO#u$WO#v$XO(SVO(c$YO(j#{O(k#|O~O^!ba!V!ba'l!ba'j!ba!S!ba!g!bao!ba!X!ba%a!ba!a!ba~P!7sOy#xOz#yO|#zO!f#vO!h#wO(SVOP!naX!nak!na!V!na!e!na!l!na#g!na#h!na#i!na#j!na#k!na#l!na#m!na#n!na#o!na#q!na#s!na#u!na#v!na(c!na(j!na(k!na~O^!na'l!na'j!na!S!na!g!nao!na!X!na%a!na!a!na~P!:^Oy#xOz#yO|#zO!f#vO!h#wO(SVOP!paX!pak!pa!V!pa!e!pa!l!pa#g!pa#h!pa#i!pa#j!pa#k!pa#l!pa#m!pa#n!pa#o!pa#q!pa#s!pa#u!pa#v!pa(c!pa(j!pa(k!pa~O^!pa'l!pa'j!pa!S!pa!g!pao!pa!X!pa%a!pa!a!pa~P!<wOg+VO!X'UO%a+UO(O%QO~O!a+XO^'}X!X'}X'l'}X!V'}X~O^%fO!XXO'l%fO~O!h%]O(O%QO~O!h%]O'u%_O(O%QO~O!a#tO#d(mO~O%b+eO'u+aO'wTO'zUO!W(yP~O!V+fO](xX~OX+jO~O]+kO~O!X%vO'u%_O'v!kO](xP~O#X+pO(O%QO~Og+sO!X${O(O%QO~O!X+uO~Oy+wO!XXO~O%f%mO~O!t+|O~Ob,RO~O'u#lO!W(wP~Ob%tO~O%b!PO'u&PO~P<pOX,XO],WO~OPYOQYOayObxOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!ctO!hZO!kYO!lYO!mYO!ouO!twO!x]O$UfO%`|O'wTO'zUO(SVO(b[O(oiO~O!X!dO!q!fO$Q!jO'u!cO~P!CnO],WO^%fO'l%fO~OPYOQYOa!iOb!hOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!X!dO!ctO!hZO!kYO!lYO!mYO!ouO!t!gO$Q!jO$UfO'u!cO'wTO'zUO(SVO(b[O(oiO~O^,^O!qvO#p}O%d}O%e}O%f}O~P!FWO!h&eO~O&T,dO~O!X,fO~O&f,hO&h,iOP&caQ&caV&ca^&caa&cab&cai&cak&cal&cam&cas&cau&caw&ca|&ca!Q&ca!R&ca!X&ca!c&ca!h&ca!k&ca!l&ca!m&ca!o&ca!q&ca!t&ca!x&ca#p&ca$Q&ca$U&ca%`&ca%b&ca%d&ca%e&ca%f&ca%i&ca%k&ca%n&ca%o&ca%q&ca%}&ca&T&ca&V&ca&X&ca&Z&ca&^&ca&d&ca&j&ca&l&ca&n&ca&p&ca&r&ca'j&ca'u&ca'w&ca'z&ca(S&ca(b&ca(o&ca!W&ca&[&ca_&ca&a&ca~O'u,nO~O!V{X!V!_X!W{X!W!_X!a{X!a!_X!h!_X#X{X(O!_X~O!a,sO#X,rO!V#aX!V([X!W#aX!W([X!a([X!h([X(O([X~O!a,uO!h%]O(O%QO!V!ZX!W!ZX~Ol!mO|!nO'wTO'zUO(V!lO~OP9pOQ9pOa;aOb!hOikOk9pOlkOmkOskOu9pOw9pO|WO!QkO!RkO!X!dO!c9sO!hZO!k9pO!l9pO!m9pO!o9tO!q9wO!t!gO$Q!jO$UfO'wTO'zUO(SVO(b[O(o;_O~O'u:fO~P# ^O!V,yO!W(ZX~O!W,{O~O!a,sO#X,rO!V#aX!W#aX~O!V,|O!W(iX~O!W-OO~O!]-PO!^-PO'v!kO~P!N{O!W-SO~P'WOg-VO!X'UO~O!S-[O~Ol!wa![!wa!]!wa!^!wa!|!wa!}!wa#O!wa#P!wa#Q!wa#T!wa#U!wa'v!wa'w!wa'z!wa(V!wa(b!wa~P!#RO!l-aO#X-_O~PBqO!]-cO!^-cO'v!kO~PCaO^%fO#X-_O'l%fO~O^%fO!a#tO#X-_O'l%fO~O^%fO!a#tO!l-aO#X-_O'l%fO(c'fO~O'q'nO'r'nO's-hO~Oo-iO~O!S&}a!V&}a~P!7sO!U-mO!S&}X!V&}X~P%TO!V'zO!S(Ya~O!S(Ya~PGTO!V(RO!S(ga~O|%`O!U-qO!X%aO'u%_O!S'TX!V'TX~O#X-sO!V(ea!g(ea^(ea'l(ea~O!a#tO~P#)dO!V(_O!g(da~O|%`O!X%aO#c-wO'u%_O~Oi-|O|%`O!U-yO!X%aO!x]O#b-{O#c-yO'u%_O!V'WX!g'WX~Oz.QO!h#wO~Og.TO!X'UO%a.SO(O%QO~O^#[i!V#[i'l#[i'j#[i!S#[i!g#[io#[i!X#[i%a#[i!a#[i~P!7sOg;kOy)uO|)vO(j)xO(k)zO~O#d#Wa^#Wa#X#Wa'l#Wa!V#Wa!g#Wa!X#Wa!S#Wa~P#,`O#d(RXP(RXX(RX^(RXk(RXz(RX!e(RX!h(RX!l(RX#g(RX#h(RX#i(RX#j(RX#k(RX#l(RX#m(RX#n(RX#o(RX#q(RX#s(RX#u(RX#v(RX'l(RX(S(RX(c(RX!g(RX!S(RX'j(RXo(RX!X(RX%a(RX!a(RX~P!4QO!V.^Od(]X~P!0dOd.`O~O!V.aO!g(^X~P!7sO!g.dO~O!S.fO~OP$[Oy#xOz#yO|#zO!f#vO!h#wO!l$[O(SVOX#fi^#fik#fi!V#fi!e#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi'l#fi(c#fi(j#fi(k#fi'j#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~O#g#fi~P#0[O#g#}O~P#0[OP$[Oy#xOz#yO|#zO!f#vO!h#wO!l$[O#g#}O#h$OO#i$OO#j$OO(SVOX#fi^#fi!V#fi!e#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi'l#fi(c#fi(j#fi(k#fi'j#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~Ok#fi~P#2|Ok$PO~P#2|OP$[Ok$POy#xOz#yO|#zO!f#vO!h#wO!l$[O#g#}O#h$OO#i$OO#j$OO#k$QO(SVO^#fi!V#fi#q#fi#s#fi#u#fi#v#fi'l#fi(c#fi(j#fi(k#fi'j#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~OX#fi!e#fi#l#fi#m#fi#n#fi#o#fi~P#5nOX$cO!e$RO#l$RO#m$RO#n$bO#o$RO~P#5nOP$[OX$cOk$POy#xOz#yO|#zO!e$RO!f#vO!h#wO!l$[O#g#}O#h$OO#i$OO#j$OO#k$QO#l$RO#m$RO#n$bO#o$RO#q$SO(SVO^#fi!V#fi#s#fi#u#fi#v#fi'l#fi(c#fi(k#fi'j#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~O(j#fi~P#8oO(j#{O~P#8oOP$[OX$cOk$POy#xOz#yO|#zO!e$RO!f#vO!h#wO!l$[O#g#}O#h$OO#i$OO#j$OO#k$QO#l$RO#m$RO#n$bO#o$RO#q$SO#s$UO(SVO(j#{O^#fi!V#fi#u#fi#v#fi'l#fi(c#fi'j#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~O(k#fi~P#;aO(k#|O~P#;aOP$[OX$cOk$POy#xOz#yO|#zO!e$RO!f#vO!h#wO!l$[O#g#}O#h$OO#i$OO#j$OO#k$QO#l$RO#m$RO#n$bO#o$RO#q$SO#s$UO#u$WO(SVO(j#{O(k#|O~O^#fi!V#fi#v#fi'l#fi(c#fi'j#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~P#>ROPYXXYXkYXyYXzYX|YX!eYX!fYX!hYX!lYX#XYX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX(SYX(cYX(jYX(kYX!VYX!WYX~O#yYX~P#@lOP$[OX:XOk9{Oy#xOz#yO|#zO!e9}O!f#vO!h#wO!l$[O#g9yO#h9zO#i9zO#j9zO#k9|O#l9}O#m9}O#n:WO#o9}O#q:OO#s:QO#u:SO#v:TO(SVO(c$YO(j#{O(k#|O~O#y.hO~P#ByO#X:YO#{:YO#y(XX!W(XX~PN}O^'Za!V'Za'l'Za'j'Za!g'Za!S'Zao'Za!X'Za%a'Za!a'Za~P!7sOP#fiX#fi^#fik#fiz#fi!V#fi!e#fi!f#fi!h#fi!l#fi#g#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi'l#fi(S#fi(c#fi'j#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~P#,`O^#zi!V#zi'l#zi'j#zi!S#zi!g#zio#zi!X#zi%a#zi!a#zi~P!7sO$W.mO$Y.mO~O$W.nO$Y.nO~O!a)^O#X.oO!X$^X$T$^X$W$^X$Y$^X$a$^X~O!U.pO~O!X)aO$T.rO$W)`O$Y)`O$a.sO~O!V:UO!W(WX~P#ByO!W.tO~O!a)^O$a(lX~O$a.vO~Oq)pO(T)qO(U.yO~O!S.}O~P!&VO!VcX!acX!gcX!g$sX(ccX~P!/ZO!g/TO~P#,`O!V/UO!a#tO(c'fO!g(pX~O!g/ZO~O!U*RO'u%_O!g(pP~O#d/]O~O!S$sX!V$sX!a$zX~P!/ZO!V/^O!S(qX~P#,`O!a/`O~O!S/bO~Ok/fO!a#tO!h%]O(O%QO(c'fO~O'u/hO~O!a+XO~O^%fO!V/lO'l%fO~O!W/nO~P!3XO!]/oO!^/oO'v!kO(V!lO~O|/qO(V!lO~O#T/rO~O'u&POd'`X!V'`X~O!V*kOd(Pa~Od/wO~Oy/xOz/xO|/yOgva(jva(kva!Vva#Xva~Odva#yva~P$ aOy)uO|)vOg$la(j$la(k$la!V$la#X$la~Od$la#y$la~P$!VOy)uO|)vOg$na(j$na(k$na!V$na#X$na~Od$na#y$na~P$!xO#d/{O~Od$|a!V$|a#X$|a#y$|a~P!0dO!a#tO~O#d0OO~O!V*|O^(ua'l(ua~Oy#xOz#yO|#zO!f#vO!h#wO(SVOP!niX!nik!ni!V!ni!e!ni!l!ni#g!ni#h!ni#i!ni#j!ni#k!ni#l!ni#m!ni#n!ni#o!ni#q!ni#s!ni#u!ni#v!ni(c!ni(j!ni(k!ni~O^!ni'l!ni'j!ni!S!ni!g!nio!ni!X!ni%a!ni!a!ni~P$$gOg.TO!X'UO%a.SO~Oi0YO'u0XO~P!1UO!a+XO^'}a!X'}a'l'}a!V'}a~O#d0`O~OXYX!VcX!WcX~O!V0aO!W(yX~O!W0cO~OX0dO~O'u+aO'wTO'zUO~O!X%vO'u%_O]'hX!V'hX~O!V+fO](xa~O!g0iO~P!7sOX0lO~O]0mO~O#X0pO~Og0sO!X${O~O(V(sO!W(vP~Og0|O!X0yO%a0{O(O%QO~OX1WO!V1UO!W(wX~O!W1XO~O]1ZO^%fO'l%fO~O'u#lO'wTO'zUO~O#X$dO#{$dOP(XXX(XXk(XXy(XXz(XX|(XX!V(XX!e(XX!h(XX!l(XX#g(XX#h(XX#i(XX#j(XX#k(XX#l(XX#m(XX#n(XX#q(XX#s(XX#u(XX#v(XX(S(XX(c(XX(j(XX(k(XX~O#o1^O&R1_O^(XX!f(XX~P$+]O#X$dO#o1^O&R1_O~O^1aO~P%TO^1cO~O&[1fOP&YiQ&YiV&Yi^&Yia&Yib&Yii&Yik&Yil&Yim&Yis&Yiu&Yiw&Yi|&Yi!Q&Yi!R&Yi!X&Yi!c&Yi!h&Yi!k&Yi!l&Yi!m&Yi!o&Yi!q&Yi!t&Yi!x&Yi#p&Yi$Q&Yi$U&Yi%`&Yi%b&Yi%d&Yi%e&Yi%f&Yi%i&Yi%k&Yi%n&Yi%o&Yi%q&Yi%}&Yi&T&Yi&V&Yi&X&Yi&Z&Yi&^&Yi&d&Yi&j&Yi&l&Yi&n&Yi&p&Yi&r&Yi'j&Yi'u&Yi'w&Yi'z&Yi(S&Yi(b&Yi(o&Yi!W&Yi_&Yi&a&Yi~O_1lO!W1jO&a1kO~P`O!XXO!h1nO~O&h,iOP&ciQ&ciV&ci^&cia&cib&cii&cik&cil&cim&cis&ciu&ciw&ci|&ci!Q&ci!R&ci!X&ci!c&ci!h&ci!k&ci!l&ci!m&ci!o&ci!q&ci!t&ci!x&ci#p&ci$Q&ci$U&ci%`&ci%b&ci%d&ci%e&ci%f&ci%i&ci%k&ci%n&ci%o&ci%q&ci%}&ci&T&ci&V&ci&X&ci&Z&ci&^&ci&d&ci&j&ci&l&ci&n&ci&p&ci&r&ci'j&ci'u&ci'w&ci'z&ci(S&ci(b&ci(o&ci!W&ci&[&ci_&ci&a&ci~O!S1tO~O!V!Za!W!Za~P#ByOl!mO|!nO!U1zO(V!lO!V'OX!W'OX~P?wO!V,yO!W(Za~O!V'UX!W'UX~P!6{O!V,|O!W(ia~O!W2RO~P'WO^%fO#X2[O'l%fO~O^%fO!a#tO#X2[O'l%fO~O^%fO!a#tO!l2`O#X2[O'l%fO(c'fO~O^%fO'l%fO~P!7sO!V$`Oo$ka~O!S&}i!V&}i~P!7sO!V'zO!S(Yi~O!V(RO!S(gi~O!S(hi!V(hi~P!7sO!V(ei!g(ei^(ei'l(ei~P!7sO#X2bO!V(ei!g(ei^(ei'l(ei~O!V(_O!g(di~O|%`O!X%aO!x]O#b2gO#c2fO'u%_O~O|%`O!X%aO#c2fO'u%_O~Og2nO!X'UO%a2mO~Og2nO!X'UO%a2mO(O%QO~O#dvaPvaXva^vakva!eva!fva!hva!lva#gva#hva#iva#jva#kva#lva#mva#nva#ova#qva#sva#uva#vva'lva(Sva(cva!gva!Sva'jvaova!Xva%ava!ava~P$ aO#d$laP$laX$la^$lak$laz$la!e$la!f$la!h$la!l$la#g$la#h$la#i$la#j$la#k$la#l$la#m$la#n$la#o$la#q$la#s$la#u$la#v$la'l$la(S$la(c$la!g$la!S$la'j$lao$la!X$la%a$la!a$la~P$!VO#d$naP$naX$na^$nak$naz$na!e$na!f$na!h$na!l$na#g$na#h$na#i$na#j$na#k$na#l$na#m$na#n$na#o$na#q$na#s$na#u$na#v$na'l$na(S$na(c$na!g$na!S$na'j$nao$na!X$na%a$na!a$na~P$!xO#d$|aP$|aX$|a^$|ak$|az$|a!V$|a!e$|a!f$|a!h$|a!l$|a#g$|a#h$|a#i$|a#j$|a#k$|a#l$|a#m$|a#n$|a#o$|a#q$|a#s$|a#u$|a#v$|a'l$|a(S$|a(c$|a!g$|a!S$|a'j$|a#X$|ao$|a!X$|a%a$|a!a$|a~P#,`O^#[q!V#[q'l#[q'j#[q!S#[q!g#[qo#[q!X#[q%a#[q!a#[q~P!7sOd'PX!V'PX~P!'oO!V.^Od(]a~O!U2vO!V'QX!g'QX~P%TO!V.aO!g(^a~O!V.aO!g(^a~P!7sO!S2yO~O#y!ja!W!ja~PJqO#y!ba!V!ba!W!ba~P#ByO#y!na!W!na~P!:^O#y!pa!W!pa~P!<wO!X3]O$UfO$_3^O~O!W3bO~Oo3cO~P#,`O^$hq!V$hq'l$hq'j$hq!S$hq!g$hqo$hq!X$hq%a$hq!a$hq~P!7sO!S3dO~P#,`Oy)uO|)vO(k)zOg%Xi(j%Xi!V%Xi#X%Xi~Od%Xi#y%Xi~P$IuOy)uO|)vOg%Zi(j%Zi(k%Zi!V%Zi#X%Zi~Od%Zi#y%Zi~P$JhO(c$YO~P#,`O!U3gO'u%_O!V'[X!g'[X~O!V/UO!g(pa~O!V/UO!a#tO!g(pa~O!V/UO!a#tO(c'fO!g(pa~Od$ui!V$ui#X$ui#y$ui~P!0dO!U3oO'u*WO!S'^X!V'^X~P!1RO!V/^O!S(qa~O!V/^O!S(qa~P#,`O!a#tO#o3wO~Ok3zO!a#tO(c'fO~Od(Qi!V(Qi~P!0dO#X3}Od(Qi!V(Qi~P!0dO!g4QO~O^$iq!V$iq'l$iq'j$iq!S$iq!g$iqo$iq!X$iq%a$iq!a$iq~P!7sO!S4UO~O!V4VO!X(rX~P#,`O!f#vO~P4QO^$sX!X$sX%UYX'l$sX!V$sX~P!/ZO%U4XO^hXghXyhX|hX!XhX'lhX(jhX(khX!VhX~O%U4XO~O%b4`O'u+aO'wTO'zUO!V'gX!W'gX~O!V0aO!W(ya~OX4dO~O]4eO~O^%fO'l%fO~P#,`O!X${O~P#,`O!V4mO#X4oO!W(vX~O!W4pO~Ol!mO|4qO![!wO!]!tO!^!tO!x9qO!|!oO!}!oO#O!oO#P!oO#Q!oO#T4vO#U!xO'v!kO'wTO'zUO(V!lO(b!rO~O!W4uO~P%$gOg4{O!X0yO%a4zO~Og4{O!X0yO%a4zO(O%QO~O'u#lO!V'fX!W'fX~O!V1UO!W(wa~O'wTO'zUO(V5UO~O]5YO~O#o5]O&R5^O~PMaO!g5_O~P%TO^5aO~O^5aO~P%TO_1lO!W5fO&a1kO~P`O!a5hO~O!a5jO!V([i!W([i!a([i!h([i(O([i~O!V#ai!W#ai~P#ByO#X5kO!V#ai!W#ai~O!V!Zi!W!Zi~P#ByO^%fO#X5tO'l%fO~O^%fO!a#tO#X5tO'l%fO~O!V(eq!g(eq^(eq'l(eq~P!7sO!V(_O!g(dq~O|%`O!X%aO#c5{O'u%_O~O!X'UO%a6OO~Og6RO!X'UO%a6OO~O#d%XiP%XiX%Xi^%Xik%Xiz%Xi!e%Xi!f%Xi!h%Xi!l%Xi#g%Xi#h%Xi#i%Xi#j%Xi#k%Xi#l%Xi#m%Xi#n%Xi#o%Xi#q%Xi#s%Xi#u%Xi#v%Xi'l%Xi(S%Xi(c%Xi!g%Xi!S%Xi'j%Xio%Xi!X%Xi%a%Xi!a%Xi~P$IuO#d%ZiP%ZiX%Zi^%Zik%Ziz%Zi!e%Zi!f%Zi!h%Zi!l%Zi#g%Zi#h%Zi#i%Zi#j%Zi#k%Zi#l%Zi#m%Zi#n%Zi#o%Zi#q%Zi#s%Zi#u%Zi#v%Zi'l%Zi(S%Zi(c%Zi!g%Zi!S%Zi'j%Zio%Zi!X%Zi%a%Zi!a%Zi~P$JhO#d$uiP$uiX$ui^$uik$uiz$ui!V$ui!e$ui!f$ui!h$ui!l$ui#g$ui#h$ui#i$ui#j$ui#k$ui#l$ui#m$ui#n$ui#o$ui#q$ui#s$ui#u$ui#v$ui'l$ui(S$ui(c$ui!g$ui!S$ui'j$ui#X$uio$ui!X$ui%a$ui!a$ui~P#,`Od'Pa!V'Pa~P!0dO!V'Qa!g'Qa~P!7sO!V.aO!g(^i~O#y#[i!V#[i!W#[i~P#ByOP$[Oy#xOz#yO|#zO!f#vO!h#wO!l$[O(SVOX#fik#fi!e#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi#y#fi(c#fi(j#fi(k#fi!V#fi!W#fi~O#g#fi~P%2vO#g9yO~P%2vOP$[Oy#xOz#yO|#zO!f#vO!h#wO!l$[O#g9yO#h9zO#i9zO#j9zO(SVOX#fi!e#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi#y#fi(c#fi(j#fi(k#fi!V#fi!W#fi~Ok#fi~P%5ROk9{O~P%5ROP$[Ok9{Oy#xOz#yO|#zO!f#vO!h#wO!l$[O#g9yO#h9zO#i9zO#j9zO#k9|O(SVO#q#fi#s#fi#u#fi#v#fi#y#fi(c#fi(j#fi(k#fi!V#fi!W#fi~OX#fi!e#fi#l#fi#m#fi#n#fi#o#fi~P%7^OX:XO!e9}O#l9}O#m9}O#n:WO#o9}O~P%7^OP$[OX:XOk9{Oy#xOz#yO|#zO!e9}O!f#vO!h#wO!l$[O#g9yO#h9zO#i9zO#j9zO#k9|O#l9}O#m9}O#n:WO#o9}O#q:OO(SVO#s#fi#u#fi#v#fi#y#fi(c#fi(k#fi!V#fi!W#fi~O(j#fi~P%9xO(j#{O~P%9xOP$[OX:XOk9{Oy#xOz#yO|#zO!e9}O!f#vO!h#wO!l$[O#g9yO#h9zO#i9zO#j9zO#k9|O#l9}O#m9}O#n:WO#o9}O#q:OO#s:QO(SVO(j#{O#u#fi#v#fi#y#fi(c#fi!V#fi!W#fi~O(k#fi~P%<TO(k#|O~P%<TOP$[OX:XOk9{Oy#xOz#yO|#zO!e9}O!f#vO!h#wO!l$[O#g9yO#h9zO#i9zO#j9zO#k9|O#l9}O#m9}O#n:WO#o9}O#q:OO#s:QO#u:SO(SVO(j#{O(k#|O~O#v#fi#y#fi(c#fi!V#fi!W#fi~P%>`O^#wy!V#wy'l#wy'j#wy!S#wy!g#wyo#wy!X#wy%a#wy!a#wy~P!7sOg;lOy)uO|)vO(j)xO(k)zO~OP#fiX#fik#fiz#fi!e#fi!f#fi!h#fi!l#fi#g#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi#y#fi(S#fi(c#fi!V#fi!W#fi~P%AWO!f#vOP(RXX(RXg(RXk(RXy(RXz(RX|(RX!e(RX!h(RX!l(RX#g(RX#h(RX#i(RX#j(RX#k(RX#l(RX#m(RX#n(RX#o(RX#q(RX#s(RX#u(RX#v(RX#y(RX(S(RX(c(RX(j(RX(k(RX!V(RX!W(RX~O#y#zi!V#zi!W#zi~P#ByO#y!ni!W!ni~P$$gO!W6_O~O!V'Za!W'Za~P#ByO!a#tO(c'fO!V'[a!g'[a~O!V/UO!g(pi~O!V/UO!a#tO!g(pi~Od$uq!V$uq#X$uq#y$uq~P!0dO!S'^a!V'^a~P#,`O!a6fO~O!V/^O!S(qi~P#,`O!V/^O!S(qi~O!S6jO~O!a#tO#o6oO~Ok6pO!a#tO(c'fO~O!S6rO~Od$wq!V$wq#X$wq#y$wq~P!0dO^$iy!V$iy'l$iy'j$iy!S$iy!g$iyo$iy!X$iy%a$iy!a$iy~P!7sO!a5jO~O!V4VO!X(ra~O^#[y!V#[y'l#[y'j#[y!S#[y!g#[yo#[y!X#[y%a#[y!a#[y~P!7sOX6wO~O!V0aO!W(yi~O]6}O~O(V(sO!V'cX!W'cX~O!V4mO!W(va~OikO'u7UO~P.bO!W7XO~P%$gOl!mO|7YO'wTO'zUO(V!lO(b!rO~O!X0yO~O!X0yO%a7[O~Og7_O!X0yO%a7[O~OX7dO!V'fa!W'fa~O!V1UO!W(wi~O!g7hO~O!g7iO~O!g7lO~O!g7lO~P%TO^7nO~O!a7oO~O!g7pO~O!V(hi!W(hi~P#ByO^%fO#X7xO'l%fO~O!V(ey!g(ey^(ey'l(ey~P!7sO!V(_O!g(dy~O!X'UO%a7{O~O#d$uqP$uqX$uq^$uqk$uqz$uq!V$uq!e$uq!f$uq!h$uq!l$uq#g$uq#h$uq#i$uq#j$uq#k$uq#l$uq#m$uq#n$uq#o$uq#q$uq#s$uq#u$uq#v$uq'l$uq(S$uq(c$uq!g$uq!S$uq'j$uq#X$uqo$uq!X$uq%a$uq!a$uq~P#,`O#d$wqP$wqX$wq^$wqk$wqz$wq!V$wq!e$wq!f$wq!h$wq!l$wq#g$wq#h$wq#i$wq#j$wq#k$wq#l$wq#m$wq#n$wq#o$wq#q$wq#s$wq#u$wq#v$wq'l$wq(S$wq(c$wq!g$wq!S$wq'j$wq#X$wqo$wq!X$wq%a$wq!a$wq~P#,`O!V'Qi!g'Qi~P!7sO#y#[q!V#[q!W#[q~P#ByOy/xOz/xO|/yOPvaXvagvakva!eva!fva!hva!lva#gva#hva#iva#jva#kva#lva#mva#nva#ova#qva#sva#uva#vva#yva(Sva(cva(jva(kva!Vva!Wva~Oy)uO|)vOP$laX$lag$lak$laz$la!e$la!f$la!h$la!l$la#g$la#h$la#i$la#j$la#k$la#l$la#m$la#n$la#o$la#q$la#s$la#u$la#v$la#y$la(S$la(c$la(j$la(k$la!V$la!W$la~Oy)uO|)vOP$naX$nag$nak$naz$na!e$na!f$na!h$na!l$na#g$na#h$na#i$na#j$na#k$na#l$na#m$na#n$na#o$na#q$na#s$na#u$na#v$na#y$na(S$na(c$na(j$na(k$na!V$na!W$na~OP$|aX$|ak$|az$|a!e$|a!f$|a!h$|a!l$|a#g$|a#h$|a#i$|a#j$|a#k$|a#l$|a#m$|a#n$|a#o$|a#q$|a#s$|a#u$|a#v$|a#y$|a(S$|a(c$|a!V$|a!W$|a~P%AWO#y$hq!V$hq!W$hq~P#ByO#y$iq!V$iq!W$iq~P#ByO!W8VO~O#y8WO~P!0dO!a#tO!V'[i!g'[i~O!a#tO(c'fO!V'[i!g'[i~O!V/UO!g(pq~O!S'^i!V'^i~P#,`O!V/^O!S(qq~O!S8^O~P#,`O!S8^O~Od(Qy!V(Qy~P!0dO!V'aa!X'aa~P#,`O^%Tq!X%Tq'l%Tq!V%Tq~P#,`OX8cO~O!V0aO!W(yq~O#X8gO!V'ca!W'ca~O!V4mO!W(vi~P#ByOPYXXYXkYXyYXzYX|YX!SYX!VYX!eYX!fYX!hYX!lYX#XYX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX(SYX(cYX(jYX(kYX~O!a%RX#o%RX~P&2WO!X0yO%a8kO~O'wTO'zUO(V8pO~O!V1UO!W(wq~O!g8sO~O!g8tO~O!g8uO~O!g8uO~P%TO#X8xO!V#ay!W#ay~O!V#ay!W#ay~P#ByO!X'UO%a8}O~O#y#wy!V#wy!W#wy~P#ByOP$uiX$uik$uiz$ui!e$ui!f$ui!h$ui!l$ui#g$ui#h$ui#i$ui#j$ui#k$ui#l$ui#m$ui#n$ui#o$ui#q$ui#s$ui#u$ui#v$ui#y$ui(S$ui(c$ui!V$ui!W$ui~P%AWOy)uO|)vO(k)zOP%XiX%Xig%Xik%Xiz%Xi!e%Xi!f%Xi!h%Xi!l%Xi#g%Xi#h%Xi#i%Xi#j%Xi#k%Xi#l%Xi#m%Xi#n%Xi#o%Xi#q%Xi#s%Xi#u%Xi#v%Xi#y%Xi(S%Xi(c%Xi(j%Xi!V%Xi!W%Xi~Oy)uO|)vOP%ZiX%Zig%Zik%Ziz%Zi!e%Zi!f%Zi!h%Zi!l%Zi#g%Zi#h%Zi#i%Zi#j%Zi#k%Zi#l%Zi#m%Zi#n%Zi#o%Zi#q%Zi#s%Zi#u%Zi#v%Zi#y%Zi(S%Zi(c%Zi(j%Zi(k%Zi!V%Zi!W%Zi~O#y$iy!V$iy!W$iy~P#ByO#y#[y!V#[y!W#[y~P#ByO!a#tO!V'[q!g'[q~O!V/UO!g(py~O!S'^q!V'^q~P#,`O!S9UO~P#,`O!V0aO!W(yy~O!V4mO!W(vq~O!X0yO%a9]O~O!g9`O~O!X'UO%a9eO~OP$uqX$uqk$uqz$uq!e$uq!f$uq!h$uq!l$uq#g$uq#h$uq#i$uq#j$uq#k$uq#l$uq#m$uq#n$uq#o$uq#q$uq#s$uq#u$uq#v$uq#y$uq(S$uq(c$uq!V$uq!W$uq~P%AWOP$wqX$wqk$wqz$wq!e$wq!f$wq!h$wq!l$wq#g$wq#h$wq#i$wq#j$wq#k$wq#l$wq#m$wq#n$wq#o$wq#q$wq#s$wq#u$wq#v$wq#y$wq(S$wq(c$wq!V$wq!W$wq~P%AWOd%]!Z!V%]!Z#X%]!Z#y%]!Z~P!0dO!V'cq!W'cq~P#ByO!V#a!Z!W#a!Z~P#ByO#d%]!ZP%]!ZX%]!Z^%]!Zk%]!Zz%]!Z!V%]!Z!e%]!Z!f%]!Z!h%]!Z!l%]!Z#g%]!Z#h%]!Z#i%]!Z#j%]!Z#k%]!Z#l%]!Z#m%]!Z#n%]!Z#o%]!Z#q%]!Z#s%]!Z#u%]!Z#v%]!Z'l%]!Z(S%]!Z(c%]!Z!g%]!Z!S%]!Z'j%]!Z#X%]!Zo%]!Z!X%]!Z%a%]!Z!a%]!Z~P#,`OP%]!ZX%]!Zk%]!Zz%]!Z!e%]!Z!f%]!Z!h%]!Z!l%]!Z#g%]!Z#h%]!Z#i%]!Z#j%]!Z#k%]!Z#l%]!Z#m%]!Z#n%]!Z#o%]!Z#q%]!Z#s%]!Z#u%]!Z#v%]!Z#y%]!Z(S%]!Z(c%]!Z!V%]!Z!W%]!Z~P%AWOo(WX~P1jO'v!kO~P!){O!ScX!VcX#XcX~P&2WOPYXXYXkYXyYXzYX|YX!VYX!VcX!eYX!fYX!hYX!lYX#XYX#XcX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX(SYX(cYX(jYX(kYX~O!acX!gYX!gcX(ccX~P&GnOP9pOQ9pOa;aOb!hOikOk9pOlkOmkOskOu9pOw9pO|WO!QkO!RkO!XXO!c9sO!hZO!k9pO!l9pO!m9pO!o9tO!q9wO!t!gO$Q!jO$UfO'u)TO'wTO'zUO(SVO(b[O(o;_O~O!V:UO!W$ka~Oi%ROk$sOl$rOm$rOs%SOu%TOw:[O|$zO!X${O!c;fO!h$wO#c:bO$Q%XO$m:^O$o:`O$r%YO'u(kO'wTO'zUO(O%QO(S$tO~O#p)[O~P&LdO!WYX!WcX~P&GnO#d9xO~O!a#tO#d9xO~O#X:YO~O#o9}O~O#X:dO!V(hX!W(hX~O#X:YO!V(fX!W(fX~O#d:eO~Od:gO~P!0dO#d:lO~O#d:mO~O!a#tO#d:nO~O!a#tO#d:eO~O#y:oO~P#ByO#d:pO~O#d:qO~O#d:rO~O#d:sO~O#d:tO~O#d:uO~O#y:vO~P!0dO#y:wO~P!0dO$U~!f!|!}#P#Q#T#b#c#n(o$m$o$r%U%`%a%b%i%k%n%o%q%s~'pR$U(o#h!R'n'v#il#g#jky'o(V'o'u$W$Y$W~",
2521
+ goto: "$&a(}PPPP)OP)RP)cP*r.uPPPP5UPP5kP;f>mP?QP?QPPP?QP@rP?QP?QP?QP@vPP@{PAfPF]PPPFaPPPPFaIaPPPIgJbPFaPLoPPPPN}FaPPPFaPFaP!#]FaP!&p!'r!'{P!(n!(r!(nPPPPP!+|!'rPP!,j!-dP!0WFaFa!0]!3f!7z!7z!;oPPP!;vFaPPPPPPPPPPP!?SP!@ePPFa!ArPFaPFaFaFaFaPFa!CUPP!F]P!I`P!Id!In!Ir!IrP!FYP!Iv!IvP!LyP!L}FaFa!MT#!V?QP?QP?Q?QP##a?Q?Q#%]?Q#'l?Q#)b?Q?Q#*O#+|#+|#,Q#,Y#+|#,bP#+|P?Q#,z?Q#.T?Q?Q5UPPP#/aPPP#/y#/yP#/yP#0`#/yPP#0fP#0]P#0]#0x#0]#1d#1j5R)R#1m)RP#1t#1t#1tP)RP)RP)RP)RPP)RP#1z#1}P#1})RP#2RP#2UP)RP)RP)RP)RP)RP)R)RPP#2[#2b#2l#2r#2x#3O#3U#3d#3j#3p#3z#4Q#4[#4k#4q#5b#5t#5z#6Q#6`#6u#8W#8f#8l#8r#8x#9O#9Y#9`#9f#9p#:S#:YPPPPPPPPPP#:`PPPPPPP#;S#>ZP#?j#?q#?yPPPP#DX#F}#Me#Mh#Mk#Nd#Ng#Nj#Nq#NyPP$ P$ T$ {$!z$#O$#dPP$#h$#n$#rP$#u$#y$#|$$r$%Y$%p$%t$%w$%z$&Q$&T$&X$&]R!zRmqOXs!Y#b%e&h&j&k&m,a,f1f1iY!tQ'U-R0y4tQ%kuQ%sxQ%z{Q&`!US&|!d,yQ'[!hS'b!q!wS*^${*cQ+_%tQ+l%|Q,Q&YQ-P'TQ-Z']Q-c'cQ/o*eQ1T,RR:c9t$|dOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{,^,a,f-V-_-m-s.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2v4q4{5]5^5a5t7Y7_7n7xS#o]9q!r)V$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bQ*n%UQ+d%vQ,S&]Q,Z&eQ.W:ZQ0V+VQ0Z+XQ0f+eQ1],XQ2j.TQ4_0aQ5S1UQ6Q2nQ6W:[Q6y4`R8O6R&zkOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bt!mQ!q!t!w!x&|'T'U'b'c'd,y-P-R-c0y4t4v$^$ri#t#v$b$c$w$z%V%W%[)p)v)y){)|*T*Z*i*j+U+X+p+s.S.^/O/]/^/`/{0p0s0{2m3e3o3w3}4V4X4z6O6f6o7[7{8W8k8}9]9e:W:X:]:^:_:`:a:b:h:i:j:k:l:m:p:q:r:s:v:w;_;g;h;k;lQ%}{Q&z!dS'Q%a,|Q+d%vQ/z*rQ0f+eQ0k+kQ1[,WQ1],XQ4_0aQ4h0mQ5V1WQ5W1ZQ6y4`Q6|4eQ7g5YQ8f6}R8q7dpnOXs!U!Y#b%e&_&h&j&k&m,a,f1f1iR,U&a&t^OPXYstuvy!Y!_!f!i!n#Q#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y'W'h'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;a;b[#ZWZ#U#X&}'x!S%bm#f#g#j%]%`(R(](^(_*y*z*|,],s-q-w-x-y-{1n2f2g5j5{Q%nwQ%rxS%w{%|Q&T!SQ'X!gQ'Z!hQ(f#qS*Q$w*US+^%s%tQ+b%vQ+{&WQ,P&YS-Y'[']Q.V(gQ/Y*RQ0_+_Q0e+eQ0g+fQ0j+jQ1O+|S1S,Q,RQ2W-ZQ3f/UQ4^0aQ4b0dQ4g0lQ5R1TQ6c3gQ6x4`Q6{4dQ8b6wR9W8cv$yi#v%V%W%[)y){*T*i*j.^/]/{3e3}8W;_;g;h!S%px!h!s%r%s%t&{'Z'[']'a'k*]+^+_,v-Y-Z-b/g0_2P2W2_3yQ+W%nQ+q&QQ+t&RQ,O&YQ.U(fQ0}+{U1R,P,Q,RQ2o.VQ4|1OS5Q1S1TQ7c5R#O;c#t$b$c$w$z)p)v)|*Z+U+X+p+s.S/O/^/`0p0s0{2m3o3w4V4X4z6O6f6o7[7{8k8}9]9e:]:_:a:h:j:l:p:r:v;k;lg;d:W:X:^:`:b:i:k:m:q:s:wW%Oi%Q*k;_S&Q!P&_Q&R!QQ&S!RR+o&O$_$}i#t#v$b$c$w$z%V%W%[)p)v)y){)|*T*Z*i*j+U+X+p+s.S.^/O/]/^/`/{0p0s0{2m3e3o3w3}4V4X4z6O6f6o7[7{8W8k8}9]9e:W:X:]:^:_:`:a:b:h:i:j:k:l:m:p:q:r:s:v:w;_;g;h;k;lT)q$t)rV*o%U:Z:[U'Q!d%a,|S(t#x#yQ+i%yS.O(b(cQ0t+uQ4O/xR7R4m&zkOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;b$i$_c#W#c%i%j%l'w'}(i(p(x(y(z({(|(})O)P)Q)R)S)U)X)])g+S+h,w-f-k-p-r.].c.g.i.j.k.z/|1u1x2Y2a2u2z2{2|2}3O3P3Q3R3S3T3U3V3W3Z3[3a4S4[5m5s5x6U6V6[6]7T7r7v8P8T8U8z9Y9a9r;UT#RV#S&{kOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bQ'O!dR1{,yv!mQ!d!q!t!w!x&|'T'U'b'c'd,y-P-R-c0y4t4vS*]${*cS/g*^*eQ/p*fQ0v+wQ3y/oR3|/rlqOXs!Y#b%e&h&j&k&m,a,f1f1iQ&o!]Q'l!vS(h#s9xQ+[%qQ+y&TQ+z&VQ-W'YQ-e'eS.[(m:eS/}*w:nQ0]+]Q0x+xQ1m,hQ1o,iQ1w,tQ2U-XQ2X-]S4T0O:tQ4Y0^S4]0`:uQ5l1yQ5p2VQ5u2^Q6v4ZQ7s5nQ7t5qQ7w5vR8w7p$d$^c#W#c%j%l'w'}(i(p(x(y(z({(|(})O)P)Q)R)S)U)X)])g+S+h,w-f-k-p-r.].c.g.j.k.z/|1u1x2Y2a2u2z2{2|2}3O3P3Q3R3S3T3U3V3W3Z3[3a4S4[5m5s5x6U6V6[6]7T7r7v8P8T8U8z9Y9a9r;US(e#n'_U*h$|(l3YS+R%i.iQ2k0VQ5}2jQ7}6QR9O8O$d$]c#W#c%j%l'w'}(i(p(x(y(z({(|(})O)P)Q)R)S)U)X)])g+S+h,w-f-k-p-r.].c.g.j.k.z/|1u1x2Y2a2u2z2{2|2}3O3P3Q3R3S3T3U3V3W3Z3[3a4S4[5m5s5x6U6V6[6]7T7r7v8P8T8U8z9Y9a9r;US(d#n'_S(v#y$^S+Q%i.iS.P(c(eQ.l)WQ0S+RR2h.Q&zkOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bS#o]9qQ&j!WQ&k!XQ&m!ZQ&n![R1e,dQ'V!gQ+T%nQ-U'XS.R(f+WQ2S-TW2l.U.V0U0WQ5o2TU5|2i2k2oS7z5}6PS8|7|7}S9c8{9OQ9k9dR9n9lU!uQ'U-RT4r0y4t!O_OXZ`s!U!Y#b#f%]%e&_&a&h&j&k&m(_,a,f-x1f1i]!oQ!q'U-R0y4tT#o]9q%WzOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&e&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{+V,^,a,f-V-_-m-s.T.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2n2v4q4{5]5^5a5t6R7Y7_7n7xS(t#x#yS.O(b(c!s:{$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bY!sQ'U-R0y4tQ'a!qS'k!t!wS'm!x4vS-b'b'cQ-d'dR2_-cQ'j!sS(Z#e1`S-a'a'mQ/X*QQ/e*]Q2`-dQ3k/YS3t/f/pQ6b3fS6m3z3|Q8Y6cR8a6pQ#ubQ'i!sS(Y#e1`S([#k*vQ*x%^Q+Y%oQ+`%uU-`'a'j'mQ-t(ZQ/W*QQ/d*]Q/j*`Q0[+ZQ1P+}S2]-a-dQ2e-|S3j/X/YS3s/e/pQ3v/iQ3x/kQ5O1QQ5w2`Q6a3fQ6e3kS6i3t3|Q6n3{Q7a5PS8X6b6cQ8]6jQ8_6mQ8n7bQ9S8YQ9T8^Q9V8aQ9_8oQ9g9UQ;O:yQ;Z;SR;[;TV!uQ'U-R%WaOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&e&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{+V,^,a,f-V-_-m-s.T.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2n2v4q4{5]5^5a5t6R7Y7_7n7xS#uy!i!r:x$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bR;O;a%WbOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&e&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{+V,^,a,f-V-_-m-s.T.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2n2v4q4{5]5^5a5t6R7Y7_7n7xQ%^j!S%ox!h!s%r%s%t&{'Z'[']'a'k*]+^+_,v-Y-Z-b/g0_2P2W2_3yS%uy!iQ+Z%pQ+}&YW1Q,O,P,Q,RU5P1R1S1TS7b5Q5RQ8o7c!r:y$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bQ;S;`R;T;a$zeOPXYstuv!Y!_!f!n#Q#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&h&j&k&m&q&y'W'h'z(Q(X(m(q(u)t*w*{+V,^,a,f-V-_-m-s.T.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2n2v4q4{5]5^5a5t6R7Y7_7n7xY#`WZ#U#X'x!S%bm#f#g#j%]%`(R(](^(_*y*z*|,],s-q-w-x-y-{1n2f2g5j5{Q,[&e!p:z$Z$l)i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bR:}&}S'R!d%aR1},|$|dOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{,^,a,f-V-_-m-s.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2v4q4{5]5^5a5t7Y7_7n7x!r)V$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bQ,Z&eQ0V+VQ2j.TQ6Q2nR8O6R!f$Tc#W%i'w'}(i(p)P)Q)R)S)X)]+h-f-k-p-r.].c.z/|2Y2a2u3W4S4[5s5x6U7v8z9r!T:P)U)g,w.i1u1x2z3S3T3U3V3Z3a5m6V6[6]7T7r8P8T8U9Y9a;U!b$Vc#W%i'w'}(i(p)R)S)X)]+h-f-k-p-r.].c.z/|2Y2a2u3W4S4[5s5x6U7v8z9r!P:R)U)g,w.i1u1x2z3U3V3Z3a5m6V6[6]7T7r8P8T8U9Y9a;U!^$Zc#W%i'w'}(i(p)X)]+h-f-k-p-r.].c.z/|2Y2a2u3W4S4[5s5x6U7v8z9rQ3e/Sz;b)U)g,w.i1u1x2z3Z3a5m6V6[6]7T7r8P8T8U9Y9a;UQ;g;iR;h;j&zkOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bS$mh$nR3^.o'RgOPWXYZhstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l$n%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.o.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bT$if$oQ$gfS)`$j)dR)l$oT$hf$oT)b$j)d'RhOPWXYZhstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l$n%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.o.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bT$mh$nQ$phR)k$n%WjOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&e&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{+V,^,a,f-V-_-m-s.T.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2n2v4q4{5]5^5a5t6R7Y7_7n7x!s;`$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;b#alOPXZs!Y!_!n#Q#b#m#z$l%e&a&d&e&h&j&k&m&q&y'W(u)i*{+V,^,a,f-V.T.p/y0|1^1_1a1c1f1i1k2n3]4q4{5]5^5a6R7Y7_7nv$|i#v%V%W%[)y){*T*i*j.^/]/{3e3}8W;_;g;h#O(l#t$b$c$w$z)p)v)|*Z+U+X+p+s.S/O/^/`0p0s0{2m3o3w4V4X4z6O6f6o7[7{8k8}9]9e:]:_:a:h:j:l:p:r:v;k;lQ*s%YQ.{)ug3Y:W:X:^:`:b:i:k:m:q:s:wv$xi#v%V%W%[)y){*T*i*j.^/]/{3e3}8W;_;g;hQ*V$yS*`${*cQ*t%ZQ/k*a#O;Q#t$b$c$w$z)p)v)|*Z+U+X+p+s.S/O/^/`0p0s0{2m3o3w4V4X4z6O6f6o7[7{8k8}9]9e:]:_:a:h:j:l:p:r:v;k;lf;R:W:X:^:`:b:i:k:m:q:s:wQ;V;cQ;W;dQ;X;eR;Y;fv$|i#v%V%W%[)y){*T*i*j.^/]/{3e3}8W;_;g;h#O(l#t$b$c$w$z)p)v)|*Z+U+X+p+s.S/O/^/`0p0s0{2m3o3w4V4X4z6O6f6o7[7{8k8}9]9e:]:_:a:h:j:l:p:r:v;k;lg3Y:W:X:^:`:b:i:k:m:q:s:wloOXs!Y#b%e&h&j&k&m,a,f1f1iQ*Y$zQ,o&tQ,p&vR3n/^$^$}i#t#v$b$c$w$z%V%W%[)p)v)y){)|*T*Z*i*j+U+X+p+s.S.^/O/]/^/`/{0p0s0{2m3e3o3w3}4V4X4z6O6f6o7[7{8W8k8}9]9e:W:X:]:^:_:`:a:b:h:i:j:k:l:m:p:q:r:s:v:w;_;g;h;k;lQ+r&RQ0r+tQ4k0qR7Q4lT*b${*cS*b${*cT4s0y4tS/i*_4qT3{/q7YQ+Y%oQ/j*`Q0[+ZQ1P+}Q5O1QQ7a5PQ8n7bR9_8on)y$u(n*u/[/s/t2s3l4R6`6q9R;P;];^!Y:h(j)Z*P*X.Z.w.|/S/a0T0o0q2r3m3q4j4l6S6T6g6k6s6u8[8`9f;i;j]:i3X6Z8Q9P9Q9op){$u(n*u/Q/[/s/t2s3l4R6`6q9R;P;];^![:j(j)Z*P*X.Z.w.|/S/a0T0o0q2p2r3m3q4j4l6S6T6g6k6s6u8[8`9f;i;j_:k3X6Z8Q8R9P9Q9opnOXs!U!Y#b%e&_&h&j&k&m,a,f1f1iQ&[!TR,^&epnOXs!U!Y#b%e&_&h&j&k&m,a,f1f1iR&[!TQ+v&SR0n+oqnOXs!U!Y#b%e&_&h&j&k&m,a,f1f1iQ0z+{S4y0}1OU7Z4w4x4|S8j7]7^S9Z8i8lQ9h9[R9m9iQ&c!UR,V&_R5V1WS%w{%|R0g+fQ&h!VR,a&iR,g&nT1g,f1iR,k&oQ,j&oR1p,kQ'o!yR-g'oQsOQ#bXT%hs#bQ!|TR'q!|Q#PUR's#PQ)r$tR.x)rQ#SVR'u#SQ#VWU'{#V'|-nQ'|#WR-n'}Q,z'OR1|,zQ._(nR2t._Q.b(pS2w.b2xR2x.cQ-R'UR2Q-RY!qQ'U-R0y4tR'`!qS#]W%`U(S#](T-oQ(T#^R-o(OQ,}'RR2O,}r`OXs!U!Y#b%e&_&a&h&j&k&m,a,f1f1iS#fZ%]U#p`#f-xR-x(_Q(`#hQ-u([W-}(`-u2c5yQ2c-vR5y2dQ)d$jR.q)dQ$nhR)j$nQ$acU)Y$a-j:VQ-j9rR:V)gQ/V*QW3h/V3i6d8ZU3i/W/X/YS6d3j3kR8Z6e#o)w$u(j(n)Z*P*X*p*q*u.X.Y.Z.w.|/Q/R/S/[/a/s/t0T0o0q2p2q2r2s3X3l3m3q4R4j4l6S6T6X6Y6Z6`6g6k6q6s6u8Q8R8S8[8`9P9Q9R9f9o;P;];^;i;jQ/_*XU3p/_3r6hQ3r/aR6h3qQ*c${R/m*cQ*l%PR/v*lQ4W0TR6t4WQ*}%cR0R*}Q4n0tS7S4n8hR8h7TQ+x&TR0w+xQ4t0yR7W4tQ1V,SS5T1V7eR7e5VQ0b+bW4a0b4c6z8dQ4c0eQ6z4bR8d6{Q+g%wR0h+gQ1i,fR5e1iWrOXs#bQ&l!YQ+P%eQ,`&hQ,b&jQ,c&kQ,e&mQ1d,aS1g,f1iR5d1fQ%gpQ&p!^Q&s!`Q&u!aQ&w!bQ'g!sQ+O%dQ+[%qQ+n%}Q,U&cQ,m&rW-^'a'i'j'mQ-e'eQ/l*bQ0]+]S1Y,V,YQ1q,lQ1r,oQ1s,pQ2X-]W2Z-`-a-d-fQ4Y0^Q4f0kQ4i0oQ4}1PQ5X1[Q5c1eU5r2Y2]2`Q5u2^Q6v4ZQ7O4hQ7P4jQ7V4sQ7`5OQ7f5WS7u5s5wQ7w5vQ8e6|Q8m7aQ8r7gQ8y7vQ9X8fQ9^8nQ9b8zR9j9_Q%qxQ'Y!hQ'e!sU+]%r%s%tQ,t&{U-X'Z'[']S-]'a'kQ/c*]S0^+^+_Q1y,vS2V-Y-ZQ2^-bQ3u/gQ4Z0_Q5n2PQ5q2WQ5v2_R6l3yS$vi;_R*m%QU%Pi%Q;_R/u*kQ$uiS(j#t+XQ(n#vS)Z$b$cQ*P$wQ*X$zQ*p%VQ*q%WQ*u%[Q.X:]Q.Y:_Q.Z:aQ.w)pS.|)v/OQ/Q)yQ/R){Q/S)|Q/[*TQ/a*ZQ/s*iQ/t*jh0T+U.S0{2m4z6O7[7{8k8}9]9eQ0o+pQ0q+sQ2p:hQ2q:jQ2r:lQ2s.^S3X:W:XQ3l/]Q3m/^Q3q/`Q4R/{Q4j0pQ4l0sQ6S:pQ6T:rQ6X:^Q6Y:`Q6Z:bQ6`3eQ6g3oQ6k3wQ6q3}Q6s4VQ6u4XQ8Q:mQ8R:iQ8S:kQ8[6fQ8`6oQ9P:qQ9Q:sQ9R8WQ9f:vQ9o:wQ;P;_Q;];gQ;^;hQ;i;kR;j;llpOXs!Y#b%e&h&j&k&m,a,f1f1iQ!ePS#dZ#mQ&r!_U'^!n4q7YQ't#QQ(w#zQ)h$lS,Y&a&dQ,_&eQ,l&qQ,q&yQ-T'WQ.e(uQ.u)iQ0P*{Q0W+VQ1b,^Q2T-VQ2k.TQ3`.pQ4P/yQ4x0|Q5Z1^Q5[1_Q5`1aQ5b1cQ5g1kQ5}2nQ6^3]Q7^4{Q7j5]Q7k5^Q7m5aQ7}6RQ8l7_R8v7n#UcOPXZs!Y!_!n#b#m#z%e&a&d&e&h&j&k&m&q&y'W(u*{+V,^,a,f-V.T/y0|1^1_1a1c1f1i1k2n4q4{5]5^5a6R7Y7_7nQ#WWQ#cYQ%itQ%juS%lv!fS'w#U'zQ'}#XQ(i#sQ(p#wQ(x#}Q(y$OQ(z$PQ({$QQ(|$RQ(}$SQ)O$TQ)P$UQ)Q$VQ)R$WQ)S$XQ)U$ZQ)X$`Q)]$dW)g$l)i.p3]Q+S%kQ+h%xS,w&}1zQ-f'hS-k'x-mQ-p(QQ-r(XQ.](mQ.c(qQ.g9pQ.i9sQ.j9tQ.k9wQ.z)tQ/|*wQ1u,rQ1x,uQ2Y-_Q2a-sQ2u.aQ2z9xQ2{9yQ2|9zQ2}9{Q3O9|Q3P9}Q3Q:OQ3R:PQ3S:QQ3T:RQ3U:SQ3V:TQ3W.hQ3Z:YQ3[:cQ3a:UQ4S0OQ4[0`Q5m:dQ5s2[Q5x2bQ6U2vQ6V:eQ6[:gQ6]:nQ7T4oQ7r5kQ7v5tQ8P:oQ8T:tQ8U:uQ8z7xQ9Y8gQ9a8xQ9r#QR;U;bR#YWR'P!dY!sQ'U-R0y4tS&{!d,yQ'a!qS'k!t!wS'm!x4vS,v&|'TS-b'b'cQ-d'dQ2P-PR2_-cR(o#vR(r#wQ!eQT-Q'U-R]!pQ!q'U-R0y4tQ#n]R'_9qT#iZ%]S#hZ%]S%cm,]U([#f#g#jS-v(](^Q-z(_Q0Q*|Q2d-wU2e-x-y-{S5z2f2gR7y5{`#[W#U#X%`'x(R*y-qr#eZm#f#g#j%](](^(_*|-w-x-y-{2f2g5{Q1`,]Q1v,sQ5i1nQ7q5jT:|&}*zT#_W%`S#^W%`S'y#U(RS(O#X*yS,x&}*zT-l'x-qT'S!d%aQ$jfR)n$oT)c$j)dR3_.oT*S$w*UR*[$zQ0U+UQ2i.SQ4w0{Q6P2mQ7]4zQ7|6OQ8i7[Q8{7{Q9[8kQ9d8}Q9i9]R9l9elqOXs!Y#b%e&h&j&k&m,a,f1f1iQ&b!UR,U&_rmOXs!T!U!Y#b%e&_&h&j&k&m,a,f1f1iR,]&eT%dm,]R0u+uR,T&]Q%{{R+m%|R+c%vT&f!V&iT&g!V&iT1h,f1i",
2522
+ nodeNames: "⚠ ArithOp ArithOp LineComment BlockComment Script ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > TypeParamList TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",
2523
+ maxTerm: 366,
2524
+ context: $a,
2525
+ nodeProps: [
2526
+ ["group", -26, 6, 14, 16, 62, 199, 203, 207, 208, 210, 213, 216, 226, 228, 234, 236, 238, 240, 243, 249, 255, 257, 259, 261, 263, 265, 266, "Statement", -32, 10, 11, 25, 28, 29, 35, 45, 48, 49, 51, 56, 64, 72, 76, 78, 80, 81, 103, 104, 113, 114, 131, 134, 136, 137, 138, 139, 141, 142, 162, 163, 165, "Expression", -23, 24, 26, 30, 34, 36, 38, 166, 168, 170, 171, 173, 174, 175, 177, 178, 179, 181, 182, 183, 193, 195, 197, 198, "Type", -3, 84, 96, 102, "ClassItem"],
2527
+ ["openedBy", 31, "InterpolationStart", 50, "[", 54, "{", 69, "(", 143, "JSXStartTag", 155, "JSXStartTag JSXStartCloseTag"],
2528
+ ["closedBy", 33, "InterpolationEnd", 44, "]", 55, "}", 70, ")", 144, "JSXSelfCloseEndTag JSXEndTag", 160, "JSXEndTag"]
2529
+ ],
2530
+ propSources: [ga],
2531
+ skippedNodes: [0, 3, 4, 269],
2532
+ repeatNodeCount: 33,
2533
+ tokenData: "$>y(CSR!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tu>PuvBavwDxwxGgxyMvyz! Qz{!![{|!%O|}!&]}!O!%O!O!P!'g!P!Q!1w!Q!R#0t!R![#3T![!]#@T!]!^#Aa!^!_#Bk!_!`#GS!`!a#In!a!b#N{!b!c$$z!c!}>P!}#O$&U#O#P$'`#P#Q$,w#Q#R$.R#R#S>P#S#T$/`#T#o$0j#o#p$4z#p#q$5p#q#r$7Q#r#s$8^#s$f%Z$f$g+g$g#BY>P#BY#BZ$9h#BZ$IS>P$IS$I_$9h$I_$I|>P$I|$I}$<s$I}$JO$<s$JO$JT>P$JT$JU$9h$JU$KV>P$KV$KW$9h$KW&FU>P&FU&FV$9h&FV;'S>P;'S;=`BZ<%l?HT>P?HT?HU$9h?HUO>P(n%d_$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$d&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$d&j'{!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU'{!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$d&j'xpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU'xpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX'xp'{!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z(CS+rq$d&j'xp'{!b'n(;dOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z(CS.ST'y#S$d&j'o(;dO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c(CS.n_$d&j'xp'{!b'o(;dOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`/x`$d&j!l$Ip'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S1V`#q$Id$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S2d_#q$Id$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$2b3l_'w$(n$d&j'{!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k*r4r_$d&j'{!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k)`5vX$d&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q)`6jT$_#t$d&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#t6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y#t7bO$_#t#t7eP;=`<%l6y)`7kP;=`<%l5q*r7w]$_#t$d&j'{!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}%W8uZ'{!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p%W9oU$_#t'{!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}%W:UP;=`<%l8p*r:[P;=`<%l4k#%|:hg$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}st%Ztu<Puw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}<P!}#O%Z#O#P&c#P#R%Z#R#S<P#S#T%Z#T#o<P#o#p*g#p$g%Z$g;'S<P;'S;=`=y<%lO<P#%|<[i$d&j(b!L^'xp'{!bOY%ZYZ&cZr%Zrs&}st%Ztu<Puw%Zwx(rx!Q%Z!Q![<P![!^%Z!^!_*g!_!c%Z!c!}<P!}#O%Z#O#P&c#P#R%Z#R#S<P#S#T%Z#T#o<P#o#p*g#p$g%Z$g;'S<P;'S;=`=y<%lO<P#%|=|P;=`<%l<P(CS>`k$d&j'xp'{!b(V!LY'u&;d$W#tOY%ZYZ&cZr%Zrs&}st%Ztu>Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$g%Z$g;'S>P;'S;=`BZ<%lO>P+d@`k$d&j'xp'{!b$W#tOY%ZYZ&cZr%Zrs&}st%Ztu@Tuw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![@T![!^%Z!^!_*g!_!c%Z!c!}@T!}#O%Z#O#P&c#P#R%Z#R#S@T#S#T%Z#T#o@T#o#p*g#p$g%Z$g;'S@T;'S;=`BT<%lO@T+dBWP;=`<%l@T(CSB^P;=`<%l>P%#SBl`$d&j'xp'{!b#i$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SCy_$d&j#{$Id'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%DfETa(k%<v$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sv%ZvwFYwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SFe`$d&j#u$Id'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$2bGp_'z$)`$d&j'xpOYHoYZIuZrHorsIuswHowxKVx!^Ho!^!_LX!_#OHo#O#PIu#P#oHo#o#pLX#p;'SHo;'S;=`Mp<%lOHo*QHv_$d&j'xpOYHoYZIuZrHorsIuswHowxKVx!^Ho!^!_LX!_#OHo#O#PIu#P#oHo#o#pLX#p;'SHo;'S;=`Mp<%lOHo)`IzX$d&jOwIuwx6cx!^Iu!^!_Jg!_#oIu#o#pJg#p;'SIu;'S;=`KP<%lOIu#tJjTOwJgwx7]x;'SJg;'S;=`Jy<%lOJg#tJ|P;=`<%lJg)`KSP;=`<%lIu*QK`]$_#t$d&j'xpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r$fL^Z'xpOYLXYZJgZrLXrsJgswLXwxMPx#OLX#O#PJg#P;'SLX;'S;=`Mj<%lOLX$fMWU$_#t'xpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r$fMmP;=`<%lLX*QMsP;=`<%lHo(*QNR_!h(!b$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'l! ]_!gM|$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+h!!ib$d&j'xp'{!b'v#)d#j$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!#q{!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S!#|`$d&j'xp'{!b#g$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&-O!%Z`$d&j'xp'{!bk&%`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&C[!&h_!V&;l$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS!'rc$d&j'xp'{!by'<nOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!(}!P!Q%Z!Q![!+g![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'d!)Wa$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!*]!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'d!*h_!UMt$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!+rg$d&j'xp'{!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!+g![!^%Z!^!_*g!_!g%Z!g!h!-Z!h#O%Z#O#P&c#P#R%Z#R#S!+g#S#X%Z#X#Y!-Z#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!-dg$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!.{|}%Z}!O!.{!O!Q%Z!Q![!0a![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!0a#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!/Uc$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!0a![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!0a#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!0lc$d&j'xp'{!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!0a![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!0a#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS!2Sf$d&j'xp'{!b#h$IdOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}xz!3hz{#$s{!P!3h!P!Q#&Y!Q!^!3h!^!_!Mh!_!`#-x!`!a#/_!a!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h(r!3sb$d&j'xp'{!b!RSOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}x!P!3h!P!Q!Kh!Q!^!3h!^!_!Mh!_!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h(Q!5U`$d&j'{!b!RSOY!4{YZ&cZw!4{wx!6Wx!P!4{!P!Q!=o!Q!^!4{!^!_!?g!_!}!4{!}#O!Bn#O#P!<w#P#o!4{#o#p!?g#p;'S!4{;'S;=`!Cw<%lO!4{&n!6_^$d&j!RSOY!6WYZ&cZ!P!6W!P!Q!7Z!Q!^!6W!^!_!8g!_!}!6W!}#O!;U#O#P!<w#P#o!6W#o#p!8g#p;'S!6W;'S;=`!=i<%lO!6W&n!7ba$d&j!RSO!^&c!_#Z&c#Z#[!7Z#[#]&c#]#^!7Z#^#a&c#a#b!7Z#b#g&c#g#h!7Z#h#i&c#i#j!7Z#j#m&c#m#n!7Z#n#o&c#p;'S&c;'S;=`&w<%lO&cS!8lX!RSOY!8gZ!P!8g!P!Q!9X!Q!}!8g!}#O!9p#O#P!:o#P;'S!8g;'S;=`!;O<%lO!8gS!9^U!RS#Z#[!9X#]#^!9X#a#b!9X#g#h!9X#i#j!9X#m#n!9XS!9sVOY!9pZ#O!9p#O#P!:Y#P#Q!8g#Q;'S!9p;'S;=`!:i<%lO!9pS!:]SOY!9pZ;'S!9p;'S;=`!:i<%lO!9pS!:lP;=`<%l!9pS!:rSOY!8gZ;'S!8g;'S;=`!;O<%lO!8gS!;RP;=`<%l!8g&n!;Z[$d&jOY!;UYZ&cZ!^!;U!^!_!9p!_#O!;U#O#P!<P#P#Q!6W#Q#o!;U#o#p!9p#p;'S!;U;'S;=`!<q<%lO!;U&n!<UX$d&jOY!;UYZ&cZ!^!;U!^!_!9p!_#o!;U#o#p!9p#p;'S!;U;'S;=`!<q<%lO!;U&n!<tP;=`<%l!;U&n!<|X$d&jOY!6WYZ&cZ!^!6W!^!_!8g!_#o!6W#o#p!8g#p;'S!6W;'S;=`!=i<%lO!6W&n!=lP;=`<%l!6W(Q!=xi$d&j'{!b!RSOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#Z&}#Z#[!=o#[#]&}#]#^!=o#^#a&}#a#b!=o#b#g&}#g#h!=o#h#i&}#i#j!=o#j#m&}#m#n!=o#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!f!?nZ'{!b!RSOY!?gZw!?gwx!8gx!P!?g!P!Q!@a!Q!}!?g!}#O!Ap#O#P!:o#P;'S!?g;'S;=`!Bh<%lO!?g!f!@hb'{!b!RSOY'}Zw'}x#O'}#P#Z'}#Z#[!@a#[#]'}#]#^!@a#^#a'}#a#b!@a#b#g'}#g#h!@a#h#i'}#i#j!@a#j#m'}#m#n!@a#n;'S'};'S;=`(f<%lO'}!f!AuX'{!bOY!ApZw!Apwx!9px#O!Ap#O#P!:Y#P#Q!?g#Q;'S!Ap;'S;=`!Bb<%lO!Ap!f!BeP;=`<%l!Ap!f!BkP;=`<%l!?g(Q!Bu^$d&j'{!bOY!BnYZ&cZw!Bnwx!;Ux!^!Bn!^!_!Ap!_#O!Bn#O#P!<P#P#Q!4{#Q#o!Bn#o#p!Ap#p;'S!Bn;'S;=`!Cq<%lO!Bn(Q!CtP;=`<%l!Bn(Q!CzP;=`<%l!4{'`!DW`$d&j'xp!RSOY!C}YZ&cZr!C}rs!6Ws!P!C}!P!Q!EY!Q!^!C}!^!_!GQ!_!}!C}!}#O!JX#O#P!<w#P#o!C}#o#p!GQ#p;'S!C};'S;=`!Kb<%lO!C}'`!Eci$d&j'xp!RSOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#Z(r#Z#[!EY#[#](r#]#^!EY#^#a(r#a#b!EY#b#g(r#g#h!EY#h#i(r#i#j!EY#j#m(r#m#n!EY#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rt!GXZ'xp!RSOY!GQZr!GQrs!8gs!P!GQ!P!Q!Gz!Q!}!GQ!}#O!IZ#O#P!:o#P;'S!GQ;'S;=`!JR<%lO!GQt!HRb'xp!RSOY)rZr)rs#O)r#P#Z)r#Z#[!Gz#[#])r#]#^!Gz#^#a)r#a#b!Gz#b#g)r#g#h!Gz#h#i)r#i#j!Gz#j#m)r#m#n!Gz#n;'S)r;'S;=`*Z<%lO)rt!I`X'xpOY!IZZr!IZrs!9ps#O!IZ#O#P!:Y#P#Q!GQ#Q;'S!IZ;'S;=`!I{<%lO!IZt!JOP;=`<%l!IZt!JUP;=`<%l!GQ'`!J`^$d&j'xpOY!JXYZ&cZr!JXrs!;Us!^!JX!^!_!IZ!_#O!JX#O#P!<P#P#Q!C}#Q#o!JX#o#p!IZ#p;'S!JX;'S;=`!K[<%lO!JX'`!K_P;=`<%l!JX'`!KeP;=`<%l!C}(r!Ksk$d&j'xp'{!b!RSOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#Z%Z#Z#[!Kh#[#]%Z#]#^!Kh#^#a%Z#a#b!Kh#b#g%Z#g#h!Kh#h#i%Z#i#j!Kh#j#m%Z#m#n!Kh#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#W!Mq]'xp'{!b!RSOY!MhZr!Mhrs!?gsw!Mhwx!GQx!P!Mh!P!Q!Nj!Q!}!Mh!}#O#!U#O#P!:o#P;'S!Mh;'S;=`##U<%lO!Mh#W!Nse'xp'{!b!RSOY*gZr*grs'}sw*gwx)rx#O*g#P#Z*g#Z#[!Nj#[#]*g#]#^!Nj#^#a*g#a#b!Nj#b#g*g#g#h!Nj#h#i*g#i#j!Nj#j#m*g#m#n!Nj#n;'S*g;'S;=`+Z<%lO*g#W#!]Z'xp'{!bOY#!UZr#!Urs!Apsw#!Uwx!IZx#O#!U#O#P!:Y#P#Q!Mh#Q;'S#!U;'S;=`##O<%lO#!U#W##RP;=`<%l#!U#W##XP;=`<%l!Mh(r##e`$d&j'xp'{!bOY##[YZ&cZr##[rs!Bnsw##[wx!JXx!^##[!^!_#!U!_#O##[#O#P!<P#P#Q!3h#Q#o##[#o#p#!U#p;'S##[;'S;=`#$g<%lO##[(r#$jP;=`<%l##[(r#$pP;=`<%l!3h(CS#%Qb$d&j'xp'{!b'p(;d!RSOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}x!P!3h!P!Q!Kh!Q!^!3h!^!_!Mh!_!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h(CS#&e_$d&j'xp'{!bR(;dOY#&YYZ&cZr#&Yrs#'dsw#&Ywx#*tx!^#&Y!^!_#,s!_#O#&Y#O#P#(f#P#o#&Y#o#p#,s#p;'S#&Y;'S;=`#-r<%lO#&Y(Bb#'m]$d&j'{!bR(;dOY#'dYZ&cZw#'dwx#(fx!^#'d!^!_#)w!_#O#'d#O#P#(f#P#o#'d#o#p#)w#p;'S#'d;'S;=`#*n<%lO#'d(AO#(mX$d&jR(;dOY#(fYZ&cZ!^#(f!^!_#)Y!_#o#(f#o#p#)Y#p;'S#(f;'S;=`#)q<%lO#(f(;d#)_SR(;dOY#)YZ;'S#)Y;'S;=`#)k<%lO#)Y(;d#)nP;=`<%l#)Y(AO#)tP;=`<%l#(f(<v#*OW'{!bR(;dOY#)wZw#)wwx#)Yx#O#)w#O#P#)Y#P;'S#)w;'S;=`#*h<%lO#)w(<v#*kP;=`<%l#)w(Bb#*qP;=`<%l#'d(Ap#*}]$d&j'xpR(;dOY#*tYZ&cZr#*trs#(fs!^#*t!^!_#+v!_#O#*t#O#P#(f#P#o#*t#o#p#+v#p;'S#*t;'S;=`#,m<%lO#*t(<U#+}W'xpR(;dOY#+vZr#+vrs#)Ys#O#+v#O#P#)Y#P;'S#+v;'S;=`#,g<%lO#+v(<U#,jP;=`<%l#+v(Ap#,pP;=`<%l#*t(=h#,|Y'xp'{!bR(;dOY#,sZr#,srs#)wsw#,swx#+vx#O#,s#O#P#)Y#P;'S#,s;'S;=`#-l<%lO#,s(=h#-oP;=`<%l#,s(CS#-uP;=`<%l#&Y%#W#.Vb$d&j#{$Id'xp'{!b!RSOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}x!P!3h!P!Q!Kh!Q!^!3h!^!_!Mh!_!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h+h#/lb$T#t$d&j'xp'{!b!RSOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}x!P!3h!P!Q!Kh!Q!^!3h!^!_!Mh!_!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h$/l#1Pp$d&j'xp'{!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!+g!P!Q%Z!Q![#3T![!^%Z!^!_*g!_!g%Z!g!h!-Z!h#O%Z#O#P&c#P#R%Z#R#S#3T#S#U%Z#U#V#6_#V#X%Z#X#Y!-Z#Y#b%Z#b#c#5T#c#d#9g#d#l%Z#l#m#<i#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#3`k$d&j'xp'{!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!+g!P!Q%Z!Q![#3T![!^%Z!^!_*g!_!g%Z!g!h!-Z!h#O%Z#O#P&c#P#R%Z#R#S#3T#S#X%Z#X#Y!-Z#Y#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#5`_$d&j'xp'{!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#6hd$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#7v!R!S#7v!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#7v#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#8Rf$d&j'xp'{!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#7v!R!S#7v!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#7v#S#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#9pc$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#:{!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#:{#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#;We$d&j'xp'{!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#:{!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#:{#S#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#<rg$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#>Z![!^%Z!^!_*g!_!c%Z!c!i#>Z!i#O%Z#O#P&c#P#R%Z#R#S#>Z#S#T%Z#T#Z#>Z#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#>fi$d&j'xp'{!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#>Z![!^%Z!^!_*g!_!c%Z!c!i#>Z!i#O%Z#O#P&c#P#R%Z#R#S#>Z#S#T%Z#T#Z#>Z#Z#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh#@b_!a$b$d&j#y%<f'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Al_^l$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS#Bz^(O!*v!e'.r'xp'{!b$U)d(oSOY*gZr*grs'}sw*gwx)rx!P*g!P!Q#Cv!Q!^*g!^!_#Dl!_!`#F^!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#DPX$f&j'xp'{!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#DuZ#k$Id'xp'{!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#Eh!`#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#EqX#{$Id'xp'{!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#FgX#l$Id'xp'{!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g%Gh#G_a#X%?x$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a#Hd!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#W#Ho_#d$Ih$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh#I}adBf#l$Id$a#|$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`#KS!`!a#L^!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S#K__#l$Id$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S#Lia#k$Id$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`!a#Mn!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S#My`#k$Id$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+h$ Wc(c$Ip$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P$!c!P!^%Z!^!_*g!_!a%Z!a!b$#m!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+`$!n_z'#p$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$#x`$d&j#v$Id'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#&^$%V_!x!Ln$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(@^$&a_|(8n$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(n$'eZ$d&jO!^$(W!^!_$(n!_#i$(W#i#j$(s#j#l$(W#l#m$*f#m#o$(W#o#p$(n#p;'S$(W;'S;=`$,q<%lO$(W(n$(_T[#S$d&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$(sO[#S(n$(x[$d&jO!Q&c!Q![$)n![!^&c!_!c&c!c!i$)n!i#T&c#T#Z$)n#Z#o&c#o#p$,U#p;'S&c;'S;=`&w<%lO&c(n$)sZ$d&jO!Q&c!Q![$*f![!^&c!_!c&c!c!i$*f!i#T&c#T#Z$*f#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$*kZ$d&jO!Q&c!Q![$+^![!^&c!_!c&c!c!i$+^!i#T&c#T#Z$+^#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$+cZ$d&jO!Q&c!Q![$(W![!^&c!_!c&c!c!i$(W!i#T&c#T#Z$(W#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$,XR!Q![$,b!c!i$,b#T#Z$,b#S$,eS!Q![$,b!c!i$,b#T#Z$,b#q#r$(n(n$,tP;=`<%l$(W!2r$-S_!S!+S$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$.^`#s$Id$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&,v$/k_$d&j'xp'{!b(S&%WOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS$0yk$d&j'xp'{!b(V!LY'u&;d$Y#tOY%ZYZ&cZr%Zrs&}st%Ztu$0juw%Zwx(rx}%Z}!O$2n!O!Q%Z!Q![$0j![!^%Z!^!_*g!_!c%Z!c!}$0j!}#O%Z#O#P&c#P#R%Z#R#S$0j#S#T%Z#T#o$0j#o#p*g#p$g%Z$g;'S$0j;'S;=`$4t<%lO$0j+d$2yk$d&j'xp'{!b$Y#tOY%ZYZ&cZr%Zrs&}st%Ztu$2nuw%Zwx(rx}%Z}!O$2n!O!Q%Z!Q![$2n![!^%Z!^!_*g!_!c%Z!c!}$2n!}#O%Z#O#P&c#P#R%Z#R#S$2n#S#T%Z#T#o$2n#o#p*g#p$g%Z$g;'S$2n;'S;=`$4n<%lO$2n+d$4qP;=`<%l$2n(CS$4wP;=`<%l$0j!5p$5TX!X!3l'xp'{!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g%Df$5{a(j%<v$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$#m#q;'S%Z;'S;=`+a<%lO%Z%#`$7__!W$I`o`$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(r$8i_!mS$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS$9y|$d&j'xp'{!b'n(;d(V!LY'u&;d$W#tOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%Ztu>Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$f%Z$f$g+g$g#BY>P#BY#BZ$9h#BZ$IS>P$IS$I_$9h$I_$JT>P$JT$JU$9h$JU$KV>P$KV$KW$9h$KW&FU>P&FU&FV$9h&FV;'S>P;'S;=`BZ<%l?HT>P?HT?HU$9h?HUO>P(CS$=Uk$d&j'xp'{!b'o(;d(V!LY'u&;d$W#tOY%ZYZ&cZr%Zrs&}st%Ztu>Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$g%Z$g;'S>P;'S;=`BZ<%lO>P",
2534
+ tokenizers: [Sa, da, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, fa, new E("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOq~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!O~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(U~~", 141, 327), new E("j~RQYZXz{^~^O'r~~aP!P!Qd~iO's~~", 25, 309)],
2535
+ topRules: { Script: [0, 5], SingleExpression: [1, 267], SingleClassItem: [2, 268] },
2536
+ dialects: { jsx: 12794, ts: 12796 },
2537
+ dynamicPrecedences: { 76: 1, 78: 1, 163: 1, 191: 1 },
2538
+ specialized: [{ term: 313, get: (e) => Xa[e] || -1 }, { term: 329, get: (e) => Pa[e] || -1 }, { term: 67, get: (e) => ma[e] || -1 }],
2539
+ tokenPrec: 12820
2540
+ }), ba = [
2541
+ /* @__PURE__ */ g("function ${name}(${params}) {\n ${}\n}", {
2542
+ label: "function",
2543
+ detail: "definition",
2544
+ type: "keyword"
2545
+ }),
2546
+ /* @__PURE__ */ g("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}", {
2547
+ label: "for",
2548
+ detail: "loop",
2549
+ type: "keyword"
2550
+ }),
2551
+ /* @__PURE__ */ g("for (let ${name} of ${collection}) {\n ${}\n}", {
2552
+ label: "for",
2553
+ detail: "of loop",
2554
+ type: "keyword"
2555
+ }),
2556
+ /* @__PURE__ */ g("do {\n ${}\n} while (${})", {
2557
+ label: "do",
2558
+ detail: "loop",
2559
+ type: "keyword"
2560
+ }),
2561
+ /* @__PURE__ */ g("while (${}) {\n ${}\n}", {
2562
+ label: "while",
2563
+ detail: "loop",
2564
+ type: "keyword"
2565
+ }),
2566
+ /* @__PURE__ */ g(`try {
2567
+ \${}
2568
+ } catch (\${error}) {
2569
+ \${}
2570
+ }`, {
2571
+ label: "try",
2572
+ detail: "/ catch block",
2573
+ type: "keyword"
2574
+ }),
2575
+ /* @__PURE__ */ g("if (${}) {\n ${}\n}", {
2576
+ label: "if",
2577
+ detail: "block",
2578
+ type: "keyword"
2579
+ }),
2580
+ /* @__PURE__ */ g(`if (\${}) {
2581
+ \${}
2582
+ } else {
2583
+ \${}
2584
+ }`, {
2585
+ label: "if",
2586
+ detail: "/ else block",
2587
+ type: "keyword"
2588
+ }),
2589
+ /* @__PURE__ */ g(`class \${name} {
2590
+ constructor(\${params}) {
2591
+ \${}
2592
+ }
2593
+ }`, {
2594
+ label: "class",
2595
+ detail: "definition",
2596
+ type: "keyword"
2597
+ }),
2598
+ /* @__PURE__ */ g('import {${names}} from "${module}"\n${}', {
2599
+ label: "import",
2600
+ detail: "named",
2601
+ type: "keyword"
2602
+ }),
2603
+ /* @__PURE__ */ g('import ${name} from "${module}"\n${}', {
2604
+ label: "import",
2605
+ detail: "default",
2606
+ type: "keyword"
2607
+ })
2608
+ ], GO = /* @__PURE__ */ new JO(), pe = /* @__PURE__ */ new Set([
2609
+ "Script",
2610
+ "Block",
2611
+ "FunctionExpression",
2612
+ "FunctionDeclaration",
2613
+ "ArrowFunction",
2614
+ "MethodDeclaration",
2615
+ "ForStatement"
2616
+ ]);
2617
+ function U(e) {
2618
+ return (O, t) => {
2619
+ let a = O.node.getChild("VariableDefinition");
2620
+ return a && t(a, e), !0;
2621
+ };
2622
+ }
2623
+ const xa = ["FunctionDeclaration"], ka = {
2624
+ FunctionDeclaration: /* @__PURE__ */ U("function"),
2625
+ ClassDeclaration: /* @__PURE__ */ U("class"),
2626
+ ClassExpression: () => !0,
2627
+ EnumDeclaration: /* @__PURE__ */ U("constant"),
2628
+ TypeAliasDeclaration: /* @__PURE__ */ U("type"),
2629
+ NamespaceDeclaration: /* @__PURE__ */ U("namespace"),
2630
+ VariableDefinition(e, O) {
2631
+ e.matchContext(xa) || O(e, "variable");
2632
+ },
2633
+ TypeDefinition(e, O) {
2634
+ O(e, "type");
2635
+ },
2636
+ __proto__: null
2637
+ };
2638
+ function $e(e, O) {
2639
+ let t = GO.get(O);
2640
+ if (t)
2641
+ return t;
2642
+ let a = [], i = !0;
2643
+ function s(r, l) {
2644
+ let n = e.sliceString(r.from, r.to);
2645
+ a.push({ label: n, type: l });
2646
+ }
2647
+ return O.cursor(lO.IncludeAnonymous).iterate((r) => {
2648
+ if (i)
2649
+ i = !1;
2650
+ else if (r.name) {
2651
+ let l = ka[r.name];
2652
+ if (l && l(r, s) || pe.has(r.name))
2653
+ return !1;
2654
+ } else if (r.to - r.from > 8192) {
2655
+ for (let l of $e(e, r.node))
2656
+ a.push(l);
2657
+ return !1;
2658
+ }
2659
+ }), GO.set(O, a), a;
2660
+ }
2661
+ const IO = /^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/, fe = [
2662
+ "TemplateString",
2663
+ "String",
2664
+ "RegExp",
2665
+ "LineComment",
2666
+ "BlockComment",
2667
+ "VariableDefinition",
2668
+ "TypeDefinition",
2669
+ "Label",
2670
+ "PropertyDefinition",
2671
+ "PropertyName",
2672
+ "PrivatePropertyDefinition",
2673
+ "PrivatePropertyName",
2674
+ ".",
2675
+ "?."
2676
+ ];
2677
+ function wa(e) {
2678
+ let O = _(e.state).resolveInner(e.pos, -1);
2679
+ if (fe.indexOf(O.name) > -1)
2680
+ return null;
2681
+ let t = O.name == "VariableName" || O.to - O.from < 20 && IO.test(e.state.sliceDoc(O.from, O.to));
2682
+ if (!t && !e.explicit)
2683
+ return null;
2684
+ let a = [];
2685
+ for (let i = O; i; i = i.parent)
2686
+ pe.has(i.name) && (a = a.concat($e(e.state.doc, i)));
2687
+ return {
2688
+ options: a,
2689
+ from: t ? O.from : e.pos,
2690
+ validFor: IO
2691
+ };
2692
+ }
2693
+ const P = /* @__PURE__ */ oO.define({
2694
+ name: "javascript",
2695
+ parser: /* @__PURE__ */ Za.configure({
2696
+ props: [
2697
+ /* @__PURE__ */ QO.add({
2698
+ IfStatement: /* @__PURE__ */ q({ except: /^\s*({|else\b)/ }),
2699
+ TryStatement: /* @__PURE__ */ q({ except: /^\s*({|catch\b|finally\b)/ }),
2700
+ LabeledStatement: ve,
2701
+ SwitchBody: (e) => {
2702
+ let O = e.textAfter, t = /^\s*\}/.test(O), a = /^\s*(case|default)\b/.test(O);
2703
+ return e.baseIndent + (t ? 0 : a ? 1 : 2) * e.unit;
2704
+ },
2705
+ Block: /* @__PURE__ */ _e({ closing: "}" }),
2706
+ ArrowFunction: (e) => e.baseIndent + e.unit,
2707
+ "TemplateString BlockComment": () => null,
2708
+ "Statement Property": /* @__PURE__ */ q({ except: /^{/ }),
2709
+ JSXElement(e) {
2710
+ let O = /^\s*<\//.test(e.textAfter);
2711
+ return e.lineIndent(e.node.from) + (O ? 0 : e.unit);
2712
+ },
2713
+ JSXEscape(e) {
2714
+ let O = /\s*\}/.test(e.textAfter);
2715
+ return e.lineIndent(e.node.from) + (O ? 0 : e.unit);
2716
+ },
2717
+ "JSXOpenTag JSXSelfClosingTag"(e) {
2718
+ return e.column(e.node.from) + e.unit;
2719
+ }
2720
+ }),
2721
+ /* @__PURE__ */ cO.add({
2722
+ "Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType": DO,
2723
+ BlockComment(e) {
2724
+ return { from: e.from + 2, to: e.to - 2 };
2725
+ }
2726
+ })
2727
+ ]
2728
+ }),
2729
+ languageData: {
2730
+ closeBrackets: { brackets: ["(", "[", "{", "'", '"', "`"] },
2731
+ commentTokens: { line: "//", block: { open: "/*", close: "*/" } },
2732
+ indentOnInput: /^\s*(?:case |default:|\{|\}|<\/)$/,
2733
+ wordChars: "$"
2734
+ }
2735
+ }), Se = {
2736
+ test: (e) => /^JSX/.test(e.name),
2737
+ facet: /* @__PURE__ */ Ce({ commentTokens: { block: { open: "{/*", close: "*/}" } } })
2738
+ }, de = /* @__PURE__ */ P.configure({ dialect: "ts" }, "typescript"), ge = /* @__PURE__ */ P.configure({
2739
+ dialect: "jsx",
2740
+ props: [/* @__PURE__ */ MO.add((e) => e.isTop ? [Se] : void 0)]
2741
+ }), Xe = /* @__PURE__ */ P.configure({
2742
+ dialect: "jsx ts",
2743
+ props: [/* @__PURE__ */ MO.add((e) => e.isTop ? [Se] : void 0)]
2744
+ }, "typescript"), ya = /* @__PURE__ */ "break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map((e) => ({ label: e, type: "keyword" }));
2745
+ function Ya(e = {}) {
2746
+ let O = e.jsx ? e.typescript ? Xe : ge : e.typescript ? de : P;
2747
+ return new uO(O, [
2748
+ P.data.of({
2749
+ autocomplete: We(fe, qe(ba.concat(ya)))
2750
+ }),
2751
+ P.data.of({
2752
+ autocomplete: wa
2753
+ }),
2754
+ e.jsx ? Ra : []
2755
+ ]);
2756
+ }
2757
+ function Ta(e) {
2758
+ for (; ; ) {
2759
+ if (e.name == "JSXOpenTag" || e.name == "JSXSelfClosingTag" || e.name == "JSXFragmentTag")
2760
+ return e;
2761
+ if (e.name == "JSXEscape" || !e.parent)
2762
+ return null;
2763
+ e = e.parent;
2764
+ }
2765
+ }
2766
+ function AO(e, O, t = e.length) {
2767
+ for (let a = O == null ? void 0 : O.firstChild; a; a = a.nextSibling)
2768
+ if (a.name == "JSXIdentifier" || a.name == "JSXBuiltin" || a.name == "JSXNamespacedName" || a.name == "JSXMemberExpression")
2769
+ return e.sliceString(a.from, Math.min(a.to, t));
2770
+ return "";
2771
+ }
2772
+ function Ua(e) {
2773
+ return e && (e.name == "JSXEndTag" || e.name == "JSXSelfCloseEndTag");
2774
+ }
2775
+ const Va = typeof navigator == "object" && /* @__PURE__ */ /Android\b/.test(navigator.userAgent), Ra = /* @__PURE__ */ LO.inputHandler.of((e, O, t, a) => {
2776
+ if ((Va ? e.composing : e.compositionStarted) || e.state.readOnly || O != t || a != ">" && a != "/" || !P.isActiveAt(e.state, O, -1))
2777
+ return !1;
2778
+ let { state: i } = e, s = i.changeByRange((r) => {
2779
+ var l;
2780
+ let { head: n } = r, Q = _(i).resolveInner(n, -1), h;
2781
+ if (Q.name == "JSXStartTag" && (Q = Q.parent), !(Q.name == "JSXAttributeValue" && Q.to > n)) {
2782
+ if (a == ">" && Q.name == "JSXFragmentTag")
2783
+ return { range: C.cursor(n + 1), changes: { from: n, insert: "></>" } };
2784
+ if (a == "/" && Q.name == "JSXFragmentTag") {
2785
+ let c = Q.parent, $ = c == null ? void 0 : c.parent;
2786
+ if (c.from == n - 1 && ((l = $.lastChild) === null || l === void 0 ? void 0 : l.name) != "JSXEndTag" && (h = AO(i.doc, $ == null ? void 0 : $.firstChild, n))) {
2787
+ let p = `/${h}>`;
2788
+ return { range: C.cursor(n + p.length), changes: { from: n, insert: p } };
2789
+ }
2790
+ } else if (a == ">") {
2791
+ let c = Ta(Q);
2792
+ if (c && !Ua(c.lastChild) && i.sliceDoc(n, n + 2) != "</" && (h = AO(i.doc, c, n)))
2793
+ return { range: C.cursor(n + 1), changes: { from: n, insert: `></${h}>` } };
2794
+ }
2795
+ }
2796
+ return { range: r };
2797
+ });
2798
+ return s.changes.empty ? !1 : (e.dispatch(s, { userEvent: "input.type", scrollIntoView: !0 }), !0);
2799
+ }), V = ["_blank", "_self", "_top", "_parent"], eO = ["ascii", "utf-8", "utf-16", "latin1", "latin1"], tO = ["get", "post", "put", "delete"], aO = ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"], d = ["true", "false"], u = {}, va = {
2800
+ a: {
2801
+ attrs: {
2802
+ href: null,
2803
+ ping: null,
2804
+ type: null,
2805
+ media: null,
2806
+ target: V,
2807
+ hreflang: null
2808
+ }
2809
+ },
2810
+ abbr: u,
2811
+ address: u,
2812
+ area: {
2813
+ attrs: {
2814
+ alt: null,
2815
+ coords: null,
2816
+ href: null,
2817
+ target: null,
2818
+ ping: null,
2819
+ media: null,
2820
+ hreflang: null,
2821
+ type: null,
2822
+ shape: ["default", "rect", "circle", "poly"]
2823
+ }
2824
+ },
2825
+ article: u,
2826
+ aside: u,
2827
+ audio: {
2828
+ attrs: {
2829
+ src: null,
2830
+ mediagroup: null,
2831
+ crossorigin: ["anonymous", "use-credentials"],
2832
+ preload: ["none", "metadata", "auto"],
2833
+ autoplay: ["autoplay"],
2834
+ loop: ["loop"],
2835
+ controls: ["controls"]
2836
+ }
2837
+ },
2838
+ b: u,
2839
+ base: { attrs: { href: null, target: V } },
2840
+ bdi: u,
2841
+ bdo: u,
2842
+ blockquote: { attrs: { cite: null } },
2843
+ body: u,
2844
+ br: u,
2845
+ button: {
2846
+ attrs: {
2847
+ form: null,
2848
+ formaction: null,
2849
+ name: null,
2850
+ value: null,
2851
+ autofocus: ["autofocus"],
2852
+ disabled: ["autofocus"],
2853
+ formenctype: aO,
2854
+ formmethod: tO,
2855
+ formnovalidate: ["novalidate"],
2856
+ formtarget: V,
2857
+ type: ["submit", "reset", "button"]
2858
+ }
2859
+ },
2860
+ canvas: { attrs: { width: null, height: null } },
2861
+ caption: u,
2862
+ center: u,
2863
+ cite: u,
2864
+ code: u,
2865
+ col: { attrs: { span: null } },
2866
+ colgroup: { attrs: { span: null } },
2867
+ command: {
2868
+ attrs: {
2869
+ type: ["command", "checkbox", "radio"],
2870
+ label: null,
2871
+ icon: null,
2872
+ radiogroup: null,
2873
+ command: null,
2874
+ title: null,
2875
+ disabled: ["disabled"],
2876
+ checked: ["checked"]
2877
+ }
2878
+ },
2879
+ data: { attrs: { value: null } },
2880
+ datagrid: { attrs: { disabled: ["disabled"], multiple: ["multiple"] } },
2881
+ datalist: { attrs: { data: null } },
2882
+ dd: u,
2883
+ del: { attrs: { cite: null, datetime: null } },
2884
+ details: { attrs: { open: ["open"] } },
2885
+ dfn: u,
2886
+ div: u,
2887
+ dl: u,
2888
+ dt: u,
2889
+ em: u,
2890
+ embed: { attrs: { src: null, type: null, width: null, height: null } },
2891
+ eventsource: { attrs: { src: null } },
2892
+ fieldset: { attrs: { disabled: ["disabled"], form: null, name: null } },
2893
+ figcaption: u,
2894
+ figure: u,
2895
+ footer: u,
2896
+ form: {
2897
+ attrs: {
2898
+ action: null,
2899
+ name: null,
2900
+ "accept-charset": eO,
2901
+ autocomplete: ["on", "off"],
2902
+ enctype: aO,
2903
+ method: tO,
2904
+ novalidate: ["novalidate"],
2905
+ target: V
2906
+ }
2907
+ },
2908
+ h1: u,
2909
+ h2: u,
2910
+ h3: u,
2911
+ h4: u,
2912
+ h5: u,
2913
+ h6: u,
2914
+ head: {
2915
+ children: ["title", "base", "link", "style", "meta", "script", "noscript", "command"]
2916
+ },
2917
+ header: u,
2918
+ hgroup: u,
2919
+ hr: u,
2920
+ html: {
2921
+ attrs: { manifest: null }
2922
+ },
2923
+ i: u,
2924
+ iframe: {
2925
+ attrs: {
2926
+ src: null,
2927
+ srcdoc: null,
2928
+ name: null,
2929
+ width: null,
2930
+ height: null,
2931
+ sandbox: ["allow-top-navigation", "allow-same-origin", "allow-forms", "allow-scripts"],
2932
+ seamless: ["seamless"]
2933
+ }
2934
+ },
2935
+ img: {
2936
+ attrs: {
2937
+ alt: null,
2938
+ src: null,
2939
+ ismap: null,
2940
+ usemap: null,
2941
+ width: null,
2942
+ height: null,
2943
+ crossorigin: ["anonymous", "use-credentials"]
2944
+ }
2945
+ },
2946
+ input: {
2947
+ attrs: {
2948
+ alt: null,
2949
+ dirname: null,
2950
+ form: null,
2951
+ formaction: null,
2952
+ height: null,
2953
+ list: null,
2954
+ max: null,
2955
+ maxlength: null,
2956
+ min: null,
2957
+ name: null,
2958
+ pattern: null,
2959
+ placeholder: null,
2960
+ size: null,
2961
+ src: null,
2962
+ step: null,
2963
+ value: null,
2964
+ width: null,
2965
+ accept: ["audio/*", "video/*", "image/*"],
2966
+ autocomplete: ["on", "off"],
2967
+ autofocus: ["autofocus"],
2968
+ checked: ["checked"],
2969
+ disabled: ["disabled"],
2970
+ formenctype: aO,
2971
+ formmethod: tO,
2972
+ formnovalidate: ["novalidate"],
2973
+ formtarget: V,
2974
+ multiple: ["multiple"],
2975
+ readonly: ["readonly"],
2976
+ required: ["required"],
2977
+ type: [
2978
+ "hidden",
2979
+ "text",
2980
+ "search",
2981
+ "tel",
2982
+ "url",
2983
+ "email",
2984
+ "password",
2985
+ "datetime",
2986
+ "date",
2987
+ "month",
2988
+ "week",
2989
+ "time",
2990
+ "datetime-local",
2991
+ "number",
2992
+ "range",
2993
+ "color",
2994
+ "checkbox",
2995
+ "radio",
2996
+ "file",
2997
+ "submit",
2998
+ "image",
2999
+ "reset",
3000
+ "button"
3001
+ ]
3002
+ }
3003
+ },
3004
+ ins: { attrs: { cite: null, datetime: null } },
3005
+ kbd: u,
3006
+ keygen: {
3007
+ attrs: {
3008
+ challenge: null,
3009
+ form: null,
3010
+ name: null,
3011
+ autofocus: ["autofocus"],
3012
+ disabled: ["disabled"],
3013
+ keytype: ["RSA"]
3014
+ }
3015
+ },
3016
+ label: { attrs: { for: null, form: null } },
3017
+ legend: u,
3018
+ li: { attrs: { value: null } },
3019
+ link: {
3020
+ attrs: {
3021
+ href: null,
3022
+ type: null,
3023
+ hreflang: null,
3024
+ media: null,
3025
+ sizes: ["all", "16x16", "16x16 32x32", "16x16 32x32 64x64"]
3026
+ }
3027
+ },
3028
+ map: { attrs: { name: null } },
3029
+ mark: u,
3030
+ menu: { attrs: { label: null, type: ["list", "context", "toolbar"] } },
3031
+ meta: {
3032
+ attrs: {
3033
+ content: null,
3034
+ charset: eO,
3035
+ name: ["viewport", "application-name", "author", "description", "generator", "keywords"],
3036
+ "http-equiv": ["content-language", "content-type", "default-style", "refresh"]
3037
+ }
3038
+ },
3039
+ meter: { attrs: { value: null, min: null, low: null, high: null, max: null, optimum: null } },
3040
+ nav: u,
3041
+ noscript: u,
3042
+ object: {
3043
+ attrs: {
3044
+ data: null,
3045
+ type: null,
3046
+ name: null,
3047
+ usemap: null,
3048
+ form: null,
3049
+ width: null,
3050
+ height: null,
3051
+ typemustmatch: ["typemustmatch"]
3052
+ }
3053
+ },
3054
+ ol: {
3055
+ attrs: { reversed: ["reversed"], start: null, type: ["1", "a", "A", "i", "I"] },
3056
+ children: ["li", "script", "template", "ul", "ol"]
3057
+ },
3058
+ optgroup: { attrs: { disabled: ["disabled"], label: null } },
3059
+ option: { attrs: { disabled: ["disabled"], label: null, selected: ["selected"], value: null } },
3060
+ output: { attrs: { for: null, form: null, name: null } },
3061
+ p: u,
3062
+ param: { attrs: { name: null, value: null } },
3063
+ pre: u,
3064
+ progress: { attrs: { value: null, max: null } },
3065
+ q: { attrs: { cite: null } },
3066
+ rp: u,
3067
+ rt: u,
3068
+ ruby: u,
3069
+ samp: u,
3070
+ script: {
3071
+ attrs: {
3072
+ type: ["text/javascript"],
3073
+ src: null,
3074
+ async: ["async"],
3075
+ defer: ["defer"],
3076
+ charset: eO
3077
+ }
3078
+ },
3079
+ section: u,
3080
+ select: {
3081
+ attrs: {
3082
+ form: null,
3083
+ name: null,
3084
+ size: null,
3085
+ autofocus: ["autofocus"],
3086
+ disabled: ["disabled"],
3087
+ multiple: ["multiple"]
3088
+ }
3089
+ },
3090
+ slot: { attrs: { name: null } },
3091
+ small: u,
3092
+ source: { attrs: { src: null, type: null, media: null } },
3093
+ span: u,
3094
+ strong: u,
3095
+ style: {
3096
+ attrs: {
3097
+ type: ["text/css"],
3098
+ media: null,
3099
+ scoped: null
3100
+ }
3101
+ },
3102
+ sub: u,
3103
+ summary: u,
3104
+ sup: u,
3105
+ table: u,
3106
+ tbody: u,
3107
+ td: { attrs: { colspan: null, rowspan: null, headers: null } },
3108
+ template: u,
3109
+ textarea: {
3110
+ attrs: {
3111
+ dirname: null,
3112
+ form: null,
3113
+ maxlength: null,
3114
+ name: null,
3115
+ placeholder: null,
3116
+ rows: null,
3117
+ cols: null,
3118
+ autofocus: ["autofocus"],
3119
+ disabled: ["disabled"],
3120
+ readonly: ["readonly"],
3121
+ required: ["required"],
3122
+ wrap: ["soft", "hard"]
3123
+ }
3124
+ },
3125
+ tfoot: u,
3126
+ th: { attrs: { colspan: null, rowspan: null, headers: null, scope: ["row", "col", "rowgroup", "colgroup"] } },
3127
+ thead: u,
3128
+ time: { attrs: { datetime: null } },
3129
+ title: u,
3130
+ tr: u,
3131
+ track: {
3132
+ attrs: {
3133
+ src: null,
3134
+ label: null,
3135
+ default: null,
3136
+ kind: ["subtitles", "captions", "descriptions", "chapters", "metadata"],
3137
+ srclang: null
3138
+ }
3139
+ },
3140
+ ul: { children: ["li", "script", "template", "ul", "ol"] },
3141
+ var: u,
3142
+ video: {
3143
+ attrs: {
3144
+ src: null,
3145
+ poster: null,
3146
+ width: null,
3147
+ height: null,
3148
+ crossorigin: ["anonymous", "use-credentials"],
3149
+ preload: ["auto", "metadata", "none"],
3150
+ autoplay: ["autoplay"],
3151
+ mediagroup: ["movie"],
3152
+ muted: ["muted"],
3153
+ controls: ["controls"]
3154
+ }
3155
+ },
3156
+ wbr: u
3157
+ }, Pe = {
3158
+ accesskey: null,
3159
+ class: null,
3160
+ contenteditable: d,
3161
+ contextmenu: null,
3162
+ dir: ["ltr", "rtl", "auto"],
3163
+ draggable: ["true", "false", "auto"],
3164
+ dropzone: ["copy", "move", "link", "string:", "file:"],
3165
+ hidden: ["hidden"],
3166
+ id: null,
3167
+ inert: ["inert"],
3168
+ itemid: null,
3169
+ itemprop: null,
3170
+ itemref: null,
3171
+ itemscope: ["itemscope"],
3172
+ itemtype: null,
3173
+ lang: ["ar", "bn", "de", "en-GB", "en-US", "es", "fr", "hi", "id", "ja", "pa", "pt", "ru", "tr", "zh"],
3174
+ spellcheck: d,
3175
+ autocorrect: d,
3176
+ autocapitalize: d,
3177
+ style: null,
3178
+ tabindex: null,
3179
+ title: null,
3180
+ translate: ["yes", "no"],
3181
+ rel: ["stylesheet", "alternate", "author", "bookmark", "help", "license", "next", "nofollow", "noreferrer", "prefetch", "prev", "search", "tag"],
3182
+ role: /* @__PURE__ */ "alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),
3183
+ "aria-activedescendant": null,
3184
+ "aria-atomic": d,
3185
+ "aria-autocomplete": ["inline", "list", "both", "none"],
3186
+ "aria-busy": d,
3187
+ "aria-checked": ["true", "false", "mixed", "undefined"],
3188
+ "aria-controls": null,
3189
+ "aria-describedby": null,
3190
+ "aria-disabled": d,
3191
+ "aria-dropeffect": null,
3192
+ "aria-expanded": ["true", "false", "undefined"],
3193
+ "aria-flowto": null,
3194
+ "aria-grabbed": ["true", "false", "undefined"],
3195
+ "aria-haspopup": d,
3196
+ "aria-hidden": d,
3197
+ "aria-invalid": ["true", "false", "grammar", "spelling"],
3198
+ "aria-label": null,
3199
+ "aria-labelledby": null,
3200
+ "aria-level": null,
3201
+ "aria-live": ["off", "polite", "assertive"],
3202
+ "aria-multiline": d,
3203
+ "aria-multiselectable": d,
3204
+ "aria-owns": null,
3205
+ "aria-posinset": null,
3206
+ "aria-pressed": ["true", "false", "mixed", "undefined"],
3207
+ "aria-readonly": d,
3208
+ "aria-relevant": null,
3209
+ "aria-required": d,
3210
+ "aria-selected": ["true", "false", "undefined"],
3211
+ "aria-setsize": null,
3212
+ "aria-sort": ["ascending", "descending", "none", "other"],
3213
+ "aria-valuemax": null,
3214
+ "aria-valuemin": null,
3215
+ "aria-valuenow": null,
3216
+ "aria-valuetext": null
3217
+ }, me = /* @__PURE__ */ "beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map((e) => "on" + e);
3218
+ for (let e of me)
3219
+ Pe[e] = null;
3220
+ class v {
3221
+ constructor(O, t) {
3222
+ this.tags = Object.assign(Object.assign({}, va), O), this.globalAttrs = Object.assign(Object.assign({}, Pe), t), this.allTags = Object.keys(this.tags), this.globalAttrNames = Object.keys(this.globalAttrs);
3223
+ }
3224
+ }
3225
+ v.default = /* @__PURE__ */ new v();
3226
+ function Y(e, O, t = e.length) {
3227
+ if (!O)
3228
+ return "";
3229
+ let a = O.firstChild, i = a && a.getChild("TagName");
3230
+ return i ? e.sliceString(i.from, Math.min(i.to, t)) : "";
3231
+ }
3232
+ function T(e, O = !1) {
3233
+ for (; e; e = e.parent)
3234
+ if (e.name == "Element")
3235
+ if (O)
3236
+ O = !1;
3237
+ else
3238
+ return e;
3239
+ return null;
3240
+ }
3241
+ function Ze(e, O, t) {
3242
+ let a = t.tags[Y(e, T(O))];
3243
+ return (a == null ? void 0 : a.children) || t.allTags;
3244
+ }
3245
+ function $O(e, O) {
3246
+ let t = [];
3247
+ for (let a = T(O); a && !a.type.isTop; a = T(a.parent)) {
3248
+ let i = Y(e, a);
3249
+ if (i && a.lastChild.name == "CloseTag")
3250
+ break;
3251
+ i && t.indexOf(i) < 0 && (O.name == "EndTag" || O.from >= a.firstChild.to) && t.push(i);
3252
+ }
3253
+ return t;
3254
+ }
3255
+ const be = /^[:\-\.\w\u00b7-\uffff]*$/;
3256
+ function EO(e, O, t, a, i) {
3257
+ let s = /\s*>/.test(e.sliceDoc(i, i + 5)) ? "" : ">", r = T(t, !0);
3258
+ return {
3259
+ from: a,
3260
+ to: i,
3261
+ options: Ze(e.doc, r, O).map((l) => ({ label: l, type: "type" })).concat($O(e.doc, t).map((l, n) => ({
3262
+ label: "/" + l,
3263
+ apply: "/" + l + s,
3264
+ type: "type",
3265
+ boost: 99 - n
3266
+ }))),
3267
+ validFor: /^\/?[:\-\.\w\u00b7-\uffff]*$/
3268
+ };
3269
+ }
3270
+ function NO(e, O, t, a) {
3271
+ let i = /\s*>/.test(e.sliceDoc(a, a + 5)) ? "" : ">";
3272
+ return {
3273
+ from: t,
3274
+ to: a,
3275
+ options: $O(e.doc, O).map((s, r) => ({ label: s, apply: s + i, type: "type", boost: 99 - r })),
3276
+ validFor: be
3277
+ };
3278
+ }
3279
+ function _a(e, O, t, a) {
3280
+ let i = [], s = 0;
3281
+ for (let r of Ze(e.doc, t, O))
3282
+ i.push({ label: "<" + r, type: "type" });
3283
+ for (let r of $O(e.doc, t))
3284
+ i.push({ label: "</" + r + ">", type: "type", boost: 99 - s++ });
3285
+ return { from: a, to: a, options: i, validFor: /^<\/?[:\-\.\w\u00b7-\uffff]*$/ };
3286
+ }
3287
+ function Wa(e, O, t, a, i) {
3288
+ let s = T(t), r = s ? O.tags[Y(e.doc, s)] : null, l = r && r.attrs ? Object.keys(r.attrs) : [], n = r && r.globalAttrs === !1 ? l : l.length ? l.concat(O.globalAttrNames) : O.globalAttrNames;
3289
+ return {
3290
+ from: a,
3291
+ to: i,
3292
+ options: n.map((Q) => ({ label: Q, type: "property" })),
3293
+ validFor: be
3294
+ };
3295
+ }
3296
+ function qa(e, O, t, a, i) {
3297
+ var s;
3298
+ let r = (s = t.parent) === null || s === void 0 ? void 0 : s.getChild("AttributeName"), l = [], n;
3299
+ if (r) {
3300
+ let Q = e.sliceDoc(r.from, r.to), h = O.globalAttrs[Q];
3301
+ if (!h) {
3302
+ let c = T(t), $ = c ? O.tags[Y(e.doc, c)] : null;
3303
+ h = ($ == null ? void 0 : $.attrs) && $.attrs[Q];
3304
+ }
3305
+ if (h) {
3306
+ let c = e.sliceDoc(a, i).toLowerCase(), $ = '"', p = '"';
3307
+ /^['"]/.test(c) ? (n = c[0] == '"' ? /^[^"]*$/ : /^[^']*$/, $ = "", p = e.sliceDoc(i, i + 1) == c[0] ? "" : c[0], c = c.slice(1), a++) : n = /^[^\s<>='"]*$/;
3308
+ for (let f of h)
3309
+ l.push({ label: f, apply: $ + f + p, type: "constant" });
3310
+ }
3311
+ }
3312
+ return { from: a, to: i, options: l, validFor: n };
3313
+ }
3314
+ function xe(e, O) {
3315
+ let { state: t, pos: a } = O, i = _(t).resolveInner(a, -1), s = i.resolve(a);
3316
+ for (let r = a, l; s == i && (l = i.childBefore(r)); ) {
3317
+ let n = l.lastChild;
3318
+ if (!n || !n.type.isError || n.from < n.to)
3319
+ break;
3320
+ s = i = l, r = n.from;
3321
+ }
3322
+ return i.name == "TagName" ? i.parent && /CloseTag$/.test(i.parent.name) ? NO(t, i, i.from, a) : EO(t, e, i, i.from, a) : i.name == "StartTag" ? EO(t, e, i, a, a) : i.name == "StartCloseTag" || i.name == "IncompleteCloseTag" ? NO(t, i, a, a) : O.explicit && (i.name == "OpenTag" || i.name == "SelfClosingTag") || i.name == "AttributeName" ? Wa(t, e, i, i.name == "AttributeName" ? i.from : a, a) : i.name == "Is" || i.name == "AttributeValue" || i.name == "UnquotedAttributeValue" ? qa(t, e, i, i.name == "Is" ? a : i.from, a) : O.explicit && (s.name == "Element" || s.name == "Text" || s.name == "Document") ? _a(t, e, i, a) : null;
3323
+ }
3324
+ function Ia(e) {
3325
+ return xe(v.default, e);
3326
+ }
3327
+ function Ca(e) {
3328
+ let { extraTags: O, extraGlobalAttributes: t } = e, a = t || O ? new v(O, t) : v.default;
3329
+ return (i) => xe(a, i);
3330
+ }
3331
+ const ja = /* @__PURE__ */ P.parser.configure({ top: "SingleExpression" }), ke = [
3332
+ {
3333
+ tag: "script",
3334
+ attrs: (e) => e.type == "text/typescript" || e.lang == "ts",
3335
+ parser: de.parser
3336
+ },
3337
+ {
3338
+ tag: "script",
3339
+ attrs: (e) => e.type == "text/babel" || e.type == "text/jsx",
3340
+ parser: ge.parser
3341
+ },
3342
+ {
3343
+ tag: "script",
3344
+ attrs: (e) => e.type == "text/typescript-jsx",
3345
+ parser: Xe.parser
3346
+ },
3347
+ {
3348
+ tag: "script",
3349
+ attrs: (e) => e.type == "importmap" || e.type == "speculationrules",
3350
+ parser: ja
3351
+ },
3352
+ {
3353
+ tag: "script",
3354
+ attrs(e) {
3355
+ return !e.type || /^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type);
3356
+ },
3357
+ parser: P.parser
3358
+ },
3359
+ {
3360
+ tag: "style",
3361
+ attrs(e) {
3362
+ return (!e.lang || e.lang == "css") && (!e.type || /^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type));
3363
+ },
3364
+ parser: J.parser
3365
+ }
3366
+ ], we = /* @__PURE__ */ [
3367
+ {
3368
+ name: "style",
3369
+ parser: /* @__PURE__ */ J.parser.configure({ top: "Styles" })
3370
+ }
3371
+ ].concat(/* @__PURE__ */ me.map((e) => ({ name: e, parser: P.parser }))), ye = /* @__PURE__ */ oO.define({
3372
+ name: "html",
3373
+ parser: /* @__PURE__ */ Tt.configure({
3374
+ props: [
3375
+ /* @__PURE__ */ QO.add({
3376
+ Element(e) {
3377
+ let O = /^(\s*)(<\/)?/.exec(e.textAfter);
3378
+ return e.node.to <= e.pos + O[0].length ? e.continue() : e.lineIndent(e.node.from) + (O[2] ? 0 : e.unit);
3379
+ },
3380
+ "OpenTag CloseTag SelfClosingTag"(e) {
3381
+ return e.column(e.node.from) + e.unit;
3382
+ },
3383
+ Document(e) {
3384
+ if (e.pos + /\s*/.exec(e.textAfter)[0].length < e.node.to)
3385
+ return e.continue();
3386
+ let O = null, t;
3387
+ for (let a = e.node; ; ) {
3388
+ let i = a.lastChild;
3389
+ if (!i || i.name != "Element" || i.to != a.to)
3390
+ break;
3391
+ O = a = i;
3392
+ }
3393
+ return O && !((t = O.lastChild) && (t.name == "CloseTag" || t.name == "SelfClosingTag")) ? e.lineIndent(O.from) + e.unit : null;
3394
+ }
3395
+ }),
3396
+ /* @__PURE__ */ cO.add({
3397
+ Element(e) {
3398
+ let O = e.firstChild, t = e.lastChild;
3399
+ return !O || O.name != "OpenTag" ? null : { from: O.to, to: t.name == "CloseTag" ? t.from : e.to };
3400
+ }
3401
+ }),
3402
+ /* @__PURE__ */ je.add({
3403
+ "OpenTag CloseTag": (e) => e.getChild("TagName")
3404
+ })
3405
+ ]
3406
+ }),
3407
+ languageData: {
3408
+ commentTokens: { block: { open: "<!--", close: "-->" } },
3409
+ indentOnInput: /^\s*<\/\w+\W$/,
3410
+ wordChars: "-._"
3411
+ }
3412
+ }), G = /* @__PURE__ */ ye.configure({
3413
+ wrap: /* @__PURE__ */ oe(ke, we)
3414
+ });
3415
+ function Aa(e = {}) {
3416
+ let O = "", t;
3417
+ e.matchClosingTags === !1 && (O = "noMatch"), e.selfClosingTags === !0 && (O = (O ? O + " " : "") + "selfClosing"), (e.nestedLanguages && e.nestedLanguages.length || e.nestedAttributes && e.nestedAttributes.length) && (t = oe((e.nestedLanguages || []).concat(ke), (e.nestedAttributes || []).concat(we)));
3418
+ let a = t ? ye.configure({ wrap: t, dialect: O }) : O ? G.configure({ dialect: O }) : G;
3419
+ return new uO(a, [
3420
+ G.data.of({ autocomplete: Ca(e) }),
3421
+ e.autoCloseTags !== !1 ? za : [],
3422
+ Ya().support,
3423
+ ta().support
3424
+ ]);
3425
+ }
3426
+ const BO = /* @__PURE__ */ new Set(/* @__PURE__ */ "area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")), za = /* @__PURE__ */ LO.inputHandler.of((e, O, t, a, i) => {
3427
+ if (e.composing || e.state.readOnly || O != t || a != ">" && a != "/" || !G.isActiveAt(e.state, O, -1))
3428
+ return !1;
3429
+ let s = i(), { state: r } = s, l = r.changeByRange((n) => {
3430
+ var Q, h, c;
3431
+ let $ = r.doc.sliceString(n.from - 1, n.to) == a, { head: p } = n, f = _(r).resolveInner(p - 1, -1), S;
3432
+ if ((f.name == "TagName" || f.name == "StartTag") && (f = f.parent), $ && a == ">" && f.name == "OpenTag") {
3433
+ if (((h = (Q = f.parent) === null || Q === void 0 ? void 0 : Q.lastChild) === null || h === void 0 ? void 0 : h.name) != "CloseTag" && (S = Y(r.doc, f.parent, p)) && !BO.has(S)) {
3434
+ let Z = p + (r.doc.sliceString(p, p + 1) === ">" ? 1 : 0), k = `</${S}>`;
3435
+ return { range: n, changes: { from: p, to: Z, insert: k } };
3436
+ }
3437
+ } else if ($ && a == "/" && f.name == "IncompleteCloseTag") {
3438
+ let Z = f.parent;
3439
+ if (f.from == p - 2 && ((c = Z.lastChild) === null || c === void 0 ? void 0 : c.name) != "CloseTag" && (S = Y(r.doc, Z, p)) && !BO.has(S)) {
3440
+ let k = p + (r.doc.sliceString(p, p + 1) === ">" ? 1 : 0), fO = `${S}>`;
3441
+ return {
3442
+ range: C.cursor(p + fO.length, -1),
3443
+ changes: { from: p, to: k, insert: fO }
3444
+ };
3445
+ }
3446
+ }
3447
+ return { range: n };
3448
+ });
3449
+ return l.changes.empty ? !1 : (e.dispatch([
3450
+ s,
3451
+ r.update(l, {
3452
+ userEvent: "input.complete",
3453
+ scrollIntoView: !0
3454
+ })
3455
+ ]), !0);
3456
+ });
3457
+ export {
3458
+ za as autoCloseTags,
3459
+ Aa as html,
3460
+ Ia as htmlCompletionSource,
3461
+ Ca as htmlCompletionSourceWith,
3462
+ G as htmlLanguage,
3463
+ ye as htmlPlain
3464
+ };
3465
+ //# sourceMappingURL=index-b8cc4f2e.mjs.map