chaffjs 0.36.0 → 0.37.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 (257) hide show
  1. package/dist/detectors/acronym-expansion.d.ts.map +1 -1
  2. package/dist/detectors/acronym-expansion.js +10 -3
  3. package/dist/detectors/acronym-expansion.js.map +1 -1
  4. package/dist/detectors/acronym-link.d.ts +5 -0
  5. package/dist/detectors/acronym-link.d.ts.map +1 -1
  6. package/dist/detectors/acronym-link.js +33 -0
  7. package/dist/detectors/acronym-link.js.map +1 -1
  8. package/dist/detectors/acronym-mention.d.ts +5 -0
  9. package/dist/detectors/acronym-mention.d.ts.map +1 -0
  10. package/dist/detectors/acronym-mention.js +34 -0
  11. package/dist/detectors/acronym-mention.js.map +1 -0
  12. package/dist/detectors/acronym-name.js +2 -2
  13. package/dist/detectors/acronym-name.js.map +1 -1
  14. package/dist/detectors/addressee-title-edge.d.ts +21 -0
  15. package/dist/detectors/addressee-title-edge.d.ts.map +1 -0
  16. package/dist/detectors/addressee-title-edge.js +22 -0
  17. package/dist/detectors/addressee-title-edge.js.map +1 -0
  18. package/dist/detectors/capitalised-term.d.ts +4 -0
  19. package/dist/detectors/capitalised-term.d.ts.map +1 -1
  20. package/dist/detectors/capitalised-term.js +18 -1
  21. package/dist/detectors/capitalised-term.js.map +1 -1
  22. package/dist/detectors/caps-caption.d.ts +14 -4
  23. package/dist/detectors/caps-caption.d.ts.map +1 -1
  24. package/dist/detectors/caps-caption.js +36 -9
  25. package/dist/detectors/caps-caption.js.map +1 -1
  26. package/dist/detectors/char-shape.d.ts.map +1 -1
  27. package/dist/detectors/char-shape.js +37 -14
  28. package/dist/detectors/char-shape.js.map +1 -1
  29. package/dist/detectors/citation-sentence.d.ts +8 -0
  30. package/dist/detectors/citation-sentence.d.ts.map +1 -0
  31. package/dist/detectors/citation-sentence.js +40 -0
  32. package/dist/detectors/citation-sentence.js.map +1 -0
  33. package/dist/detectors/contraction-mention.d.ts +3 -0
  34. package/dist/detectors/contraction-mention.d.ts.map +1 -0
  35. package/dist/detectors/contraction-mention.js +22 -0
  36. package/dist/detectors/contraction-mention.js.map +1 -0
  37. package/dist/detectors/dash-break.d.ts +7 -0
  38. package/dist/detectors/dash-break.d.ts.map +1 -0
  39. package/dist/detectors/dash-break.js +30 -0
  40. package/dist/detectors/dash-break.js.map +1 -0
  41. package/dist/detectors/date-any-year.d.ts.map +1 -1
  42. package/dist/detectors/date-any-year.js +5 -3
  43. package/dist/detectors/date-any-year.js.map +1 -1
  44. package/dist/detectors/definition-use.d.ts.map +1 -1
  45. package/dist/detectors/definition-use.js +9 -4
  46. package/dist/detectors/definition-use.js.map +1 -1
  47. package/dist/detectors/document-shape.d.ts +5 -0
  48. package/dist/detectors/document-shape.d.ts.map +1 -1
  49. package/dist/detectors/document-shape.js +15 -1
  50. package/dist/detectors/document-shape.js.map +1 -1
  51. package/dist/detectors/duplicate-heading.d.ts +1 -0
  52. package/dist/detectors/duplicate-heading.d.ts.map +1 -1
  53. package/dist/detectors/duplicate-heading.js +25 -3
  54. package/dist/detectors/duplicate-heading.js.map +1 -1
  55. package/dist/detectors/email-letter.d.ts +9 -2
  56. package/dist/detectors/email-letter.d.ts.map +1 -1
  57. package/dist/detectors/email-letter.js +39 -8
  58. package/dist/detectors/email-letter.js.map +1 -1
  59. package/dist/detectors/fullwidth-alnum.d.ts.map +1 -1
  60. package/dist/detectors/fullwidth-alnum.js +7 -1
  61. package/dist/detectors/fullwidth-alnum.js.map +1 -1
  62. package/dist/detectors/gram-openers.d.ts +4 -3
  63. package/dist/detectors/gram-openers.d.ts.map +1 -1
  64. package/dist/detectors/gram-openers.js +26 -2
  65. package/dist/detectors/gram-openers.js.map +1 -1
  66. package/dist/detectors/heading-record-rhythm.d.ts +9 -0
  67. package/dist/detectors/heading-record-rhythm.d.ts.map +1 -0
  68. package/dist/detectors/heading-record-rhythm.js +57 -0
  69. package/dist/detectors/heading-record-rhythm.js.map +1 -0
  70. package/dist/detectors/kutoten-consistency.d.ts.map +1 -1
  71. package/dist/detectors/kutoten-consistency.js +7 -0
  72. package/dist/detectors/kutoten-consistency.js.map +1 -1
  73. package/dist/detectors/lexicon.d.ts.map +1 -1
  74. package/dist/detectors/lexicon.js +5 -2
  75. package/dist/detectors/lexicon.js.map +1 -1
  76. package/dist/detectors/mark-shape.d.ts +3 -1
  77. package/dist/detectors/mark-shape.d.ts.map +1 -1
  78. package/dist/detectors/mark-shape.js +20 -5
  79. package/dist/detectors/mark-shape.js.map +1 -1
  80. package/dist/detectors/name-variant.d.ts.map +1 -1
  81. package/dist/detectors/name-variant.js +6 -0
  82. package/dist/detectors/name-variant.js.map +1 -1
  83. package/dist/detectors/organisation-run.d.ts +0 -6
  84. package/dist/detectors/organisation-run.d.ts.map +1 -1
  85. package/dist/detectors/organisation-run.js +4 -1
  86. package/dist/detectors/organisation-run.js.map +1 -1
  87. package/dist/detectors/orthographic-variant.d.ts.map +1 -1
  88. package/dist/detectors/orthographic-variant.js +33 -4
  89. package/dist/detectors/orthographic-variant.js.map +1 -1
  90. package/dist/detectors/orthography.d.ts.map +1 -1
  91. package/dist/detectors/orthography.js +4 -2
  92. package/dist/detectors/orthography.js.map +1 -1
  93. package/dist/detectors/oxford-comma.d.ts.map +1 -1
  94. package/dist/detectors/oxford-comma.js +33 -3
  95. package/dist/detectors/oxford-comma.js.map +1 -1
  96. package/dist/detectors/range-notation.d.ts +2 -2
  97. package/dist/detectors/range-notation.d.ts.map +1 -1
  98. package/dist/detectors/range-notation.js +18 -7
  99. package/dist/detectors/range-notation.js.map +1 -1
  100. package/dist/detectors/requirement-smell.d.ts.map +1 -1
  101. package/dist/detectors/requirement-smell.js +10 -6
  102. package/dist/detectors/requirement-smell.js.map +1 -1
  103. package/dist/detectors/sentence-counts.d.ts +10 -2
  104. package/dist/detectors/sentence-counts.d.ts.map +1 -1
  105. package/dist/detectors/sentence-counts.js +34 -4
  106. package/dist/detectors/sentence-counts.js.map +1 -1
  107. package/dist/detectors/sentence-length.d.ts.map +1 -1
  108. package/dist/detectors/sentence-length.js +13 -4
  109. package/dist/detectors/sentence-length.js.map +1 -1
  110. package/dist/detectors/signals.d.ts.map +1 -1
  111. package/dist/detectors/signals.js +15 -3
  112. package/dist/detectors/signals.js.map +1 -1
  113. package/dist/detectors/superlative-name.d.ts +5 -0
  114. package/dist/detectors/superlative-name.d.ts.map +1 -1
  115. package/dist/detectors/superlative-name.js +9 -0
  116. package/dist/detectors/superlative-name.js.map +1 -1
  117. package/dist/detectors/token-shape.d.ts.map +1 -1
  118. package/dist/detectors/token-shape.js +3 -1
  119. package/dist/detectors/token-shape.js.map +1 -1
  120. package/dist/detectors/undefined-term.d.ts.map +1 -1
  121. package/dist/detectors/undefined-term.js +5 -0
  122. package/dist/detectors/undefined-term.js.map +1 -1
  123. package/dist/detectors/unknown-word.d.ts +4 -1
  124. package/dist/detectors/unknown-word.d.ts.map +1 -1
  125. package/dist/detectors/unknown-word.js +1 -1
  126. package/dist/detectors/unknown-word.js.map +1 -1
  127. package/dist/html/html-site-chrome.d.ts.map +1 -1
  128. package/dist/html/html-site-chrome.js +35 -12
  129. package/dist/html/html-site-chrome.js.map +1 -1
  130. package/dist/latin-word-boundary.d.ts +5 -0
  131. package/dist/latin-word-boundary.d.ts.map +1 -1
  132. package/dist/latin-word-boundary.js +17 -0
  133. package/dist/latin-word-boundary.js.map +1 -1
  134. package/dist/leading-label.d.ts +4 -0
  135. package/dist/leading-label.d.ts.map +1 -0
  136. package/dist/leading-label.js +14 -0
  137. package/dist/leading-label.js.map +1 -0
  138. package/dist/link-shape.d.ts +3 -2
  139. package/dist/link-shape.d.ts.map +1 -1
  140. package/dist/link-shape.js +12 -3
  141. package/dist/link-shape.js.map +1 -1
  142. package/dist/name-misspelt-usual.d.ts +5 -0
  143. package/dist/name-misspelt-usual.d.ts.map +1 -0
  144. package/dist/name-misspelt-usual.js +19 -0
  145. package/dist/name-misspelt-usual.js.map +1 -0
  146. package/dist/notice-header.d.ts +19 -0
  147. package/dist/notice-header.d.ts.map +1 -0
  148. package/dist/notice-header.js +31 -0
  149. package/dist/notice-header.js.map +1 -0
  150. package/dist/sentence-load.d.ts +2 -1
  151. package/dist/sentence-load.d.ts.map +1 -1
  152. package/dist/sentence-load.js +11 -3
  153. package/dist/sentence-load.js.map +1 -1
  154. package/dist/structure/attached-parts.d.ts +2 -1
  155. package/dist/structure/attached-parts.d.ts.map +1 -1
  156. package/dist/structure/attached-parts.js +22 -9
  157. package/dist/structure/attached-parts.js.map +1 -1
  158. package/dist/structure/definition-use.d.ts +5 -2
  159. package/dist/structure/definition-use.d.ts.map +1 -1
  160. package/dist/structure/definition-use.js +24 -7
  161. package/dist/structure/definition-use.js.map +1 -1
  162. package/dist/structure/gerund-phrase.d.ts +8 -0
  163. package/dist/structure/gerund-phrase.d.ts.map +1 -0
  164. package/dist/structure/gerund-phrase.js +30 -0
  165. package/dist/structure/gerund-phrase.js.map +1 -0
  166. package/dist/structure/universal.d.ts +7 -3
  167. package/dist/structure/universal.d.ts.map +1 -1
  168. package/dist/structure/universal.js +17 -5
  169. package/dist/structure/universal.js.map +1 -1
  170. package/dist/title-line.d.ts +2 -0
  171. package/dist/title-line.d.ts.map +1 -1
  172. package/dist/title-line.js +2 -1
  173. package/dist/title-line.js.map +1 -1
  174. package/dist/topic-clause.d.ts +7 -0
  175. package/dist/topic-clause.d.ts.map +1 -0
  176. package/dist/topic-clause.js +87 -0
  177. package/dist/topic-clause.js.map +1 -0
  178. package/dist/uncounted-particles.d.ts +18 -0
  179. package/dist/uncounted-particles.d.ts.map +1 -0
  180. package/dist/uncounted-particles.js +47 -0
  181. package/dist/uncounted-particles.js.map +1 -0
  182. package/package.json +3 -3
  183. package/rules/adversative-ga-repeat.yaml +1 -0
  184. package/rules/all-caps-shouting.yaml +2 -2
  185. package/rules/bare-url-mix.yaml +2 -2
  186. package/rules/concrete-evidence-density.yaml +1 -0
  187. package/rules/contraction-consistency.yaml +2 -2
  188. package/rules/duplicate-definition.yaml +2 -2
  189. package/rules/duplicate-heading.yaml +2 -2
  190. package/rules/fullwidth-alnum-consistency.yaml +2 -2
  191. package/rules/kutoten-consistency.yaml +2 -2
  192. package/rules/latin-spacing.yaml +2 -2
  193. package/rules/max-kanji-continuous.yaml +1 -1
  194. package/rules/max-sentence-length.yaml +2 -2
  195. package/rules/ngram-repetition.yaml +2 -2
  196. package/rules/orthographic-variant.yaml +2 -2
  197. package/rules/oxford-comma-consistency.yaml +2 -2
  198. package/rules/preamble-length.yaml +3 -2
  199. package/rules/range-notation-consistency.yaml +2 -2
  200. package/rules/requirement-smell.yaml +2 -2
  201. package/rules/title-length.yaml +2 -2
  202. package/rules/topic-predicate-distance.yaml +2 -2
  203. package/rules/undefined-acronym.yaml +3 -2
  204. package/rules/undefined-term.yaml +2 -2
  205. package/rules/unqualified-superlative.yaml +1 -1
  206. package/rules/unused-definition.yaml +2 -2
  207. package/rules/use-before-definition.yaml +2 -2
  208. package/src/detectors/acronym-expansion.ts +10 -3
  209. package/src/detectors/acronym-link.ts +38 -0
  210. package/src/detectors/acronym-mention.ts +44 -0
  211. package/src/detectors/acronym-name.ts +2 -2
  212. package/src/detectors/addressee-title-edge.ts +39 -0
  213. package/src/detectors/capitalised-term.ts +26 -2
  214. package/src/detectors/caps-caption.ts +43 -9
  215. package/src/detectors/char-shape.ts +55 -17
  216. package/src/detectors/citation-sentence.ts +44 -0
  217. package/src/detectors/contraction-mention.ts +24 -0
  218. package/src/detectors/dash-break.ts +45 -0
  219. package/src/detectors/date-any-year.ts +7 -3
  220. package/src/detectors/definition-use.ts +12 -8
  221. package/src/detectors/document-shape.ts +20 -1
  222. package/src/detectors/duplicate-heading.ts +26 -3
  223. package/src/detectors/email-letter.ts +50 -7
  224. package/src/detectors/fullwidth-alnum.ts +9 -1
  225. package/src/detectors/gram-openers.ts +36 -7
  226. package/src/detectors/heading-record-rhythm.ts +57 -0
  227. package/src/detectors/kutoten-consistency.ts +9 -0
  228. package/src/detectors/lexicon.ts +6 -2
  229. package/src/detectors/mark-shape.ts +30 -5
  230. package/src/detectors/name-variant.ts +6 -0
  231. package/src/detectors/organisation-run.ts +6 -1
  232. package/src/detectors/orthographic-variant.ts +45 -6
  233. package/src/detectors/orthography.ts +6 -2
  234. package/src/detectors/oxford-comma.ts +35 -3
  235. package/src/detectors/range-notation.ts +26 -6
  236. package/src/detectors/requirement-smell.ts +12 -8
  237. package/src/detectors/sentence-counts.ts +40 -4
  238. package/src/detectors/sentence-length.ts +17 -4
  239. package/src/detectors/signals.ts +18 -3
  240. package/src/detectors/superlative-name.ts +10 -0
  241. package/src/detectors/token-shape.ts +3 -1
  242. package/src/detectors/undefined-term.ts +8 -0
  243. package/src/detectors/unknown-word.ts +1 -1
  244. package/src/html/html-site-chrome.ts +70 -13
  245. package/src/latin-word-boundary.ts +18 -0
  246. package/src/leading-label.ts +15 -0
  247. package/src/link-shape.ts +15 -3
  248. package/src/name-misspelt-usual.ts +25 -0
  249. package/src/notice-header.ts +57 -0
  250. package/src/sentence-load.ts +14 -3
  251. package/src/structure/attached-parts.ts +24 -9
  252. package/src/structure/definition-use.ts +33 -7
  253. package/src/structure/gerund-phrase.ts +31 -0
  254. package/src/structure/universal.ts +22 -7
  255. package/src/title-line.ts +2 -1
  256. package/src/topic-clause.ts +109 -0
  257. package/src/uncounted-particles.ts +72 -0
@@ -1,10 +1,11 @@
1
1
  import { joinWords } from "./word-list.js";
2
2
  import { pairMinority } from "./contraction-minority.js";
3
+ import { withoutMentions } from "./contraction-mention.js";
3
4
  import { straightApostrophes } from "../orthography.js";
4
5
  import { wordsOf } from "./structure.js";
5
6
  import { entryIn, entryOpens, entryRanges } from "./lexicon-match.js";
6
7
  import { scoped, scopeMarkersOf } from "./superlative-scope.js";
7
- import { namesQuantity } from "./superlative-name.js";
8
+ import { makesWord, namesQuantity } from "./superlative-name.js";
8
9
  import { namesAmount } from "./superlative-amount.js";
9
10
  import { restricted } from "./superlative-clause.js";
10
11
  import { stackedHedges } from "./stacked-hedge.js";
@@ -91,6 +92,7 @@ const qualifiersOf = (doc) => ({
91
92
  comparison: comparisonMarkersOf(doc.lexicons["comparison-marker"] ?? []),
92
93
  scope: scopeMarkersOf(doc.lexicons["superlative-scope"] ?? []),
93
94
  quantityNouns: doc.lexicons["quantity-noun"] ?? [],
95
+ suffixes: doc.lexicons["superlative-suffix"] ?? [],
94
96
  amounts: doc.lexicons["superlative-amount"] ?? [],
95
97
  restrictors: {
96
98
  relatives: doc.lexicons["relative-word"] ?? [],
@@ -103,6 +105,7 @@ const qualifiedAt = (tokens, range, qualifiers) => counterpartBefore(tokens, ran
103
105
  scoped(tokens, range, qualifiers.scope) ||
104
106
  restricted(tokens, range, qualifiers.restrictors) ||
105
107
  namesQuantity(tokens, range, qualifiers.quantityNouns) ||
108
+ makesWord(tokens, range, qualifiers.suffixes) ||
106
109
  namesAmount(tokens, range, qualifiers.amounts);
107
110
  /** どの出現も引いた言葉か、限られているか、量を言うときだけ。1 つでもそうでない出現があれば、その文には限定の無い最上級がある。 */
108
111
  const everyQualified = (sentence, entry, qualifiers) => {
@@ -224,7 +227,7 @@ const containsWord = (text, word) => wordUses(text, word) > 0;
224
227
  * アポストロフィの形(don’t と don't)は短縮形かどうかを変えない。違うのは印刷の形で、文体ではない。
225
228
  * 折り返した行(「do」で改行して「not」)も、空白 1 つと同じに読む。
226
229
  */
227
- const comparableText = (sentence) => straightApostrophes(sentence.text).replace(/\s+/gu, " ").toLowerCase();
230
+ const comparableText = (sentence) => withoutMentions(straightApostrophes(sentence.text)).replace(/\s+/gu, " ").toLowerCase();
228
231
  const mixedPair = (body, short, long) => {
229
232
  const uses = { short: wordUses(body, short), long: wordUses(body, long) };
230
233
  const side = pairMinority(uses);
@@ -1 +1 @@
1
- {"version":3,"file":"lexicon.js","sourceRoot":"","sources":["../../src/detectors/lexicon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lexicon.js","sourceRoot":"","sources":["../../src/detectors/lexicon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAmB,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAE,MAAM,EAAE,cAAc,EAAqB,MAAM,wBAAwB,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAoB,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAqB,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAA0B,MAAM,6BAA6B,CAAC;AAEtI,MAAM,GAAG,GAAG,IAAI,CAAC;AAEjB,6CAA6C;AAC7C,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAIvC,MAAM,OAAO,GAAG,CAAC,GAAkB,EAAE,OAAgB,EAAS,EAAE,CAC9D,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CACjC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAC/H,CAAC;AAEJ;;;GAGG;AACH,MAAM,aAAa,GAAG,SAAS,CAAC;AAChC,MAAM,WAAW,GAAG,CAAC,IAAoB,EAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC;AAQxG,4EAA4E;AAC5E,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAE9C,4BAA4B;AAC5B,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAE7B,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,MAAc,EAAU,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AAEvH;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAkB,EAAE,KAAa,EAAE,KAAa,EAAsB,EAAE;IAC/F,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3F,CAAC,CAAC;AAEF,mFAAmF;AACnF,MAAM,WAAW,GACf,CAAC,IAAY,EAAE,QAAwB,MAAM,EAAY,EAAE,CAC3D,CAAC,GAAG,EAAE,OAAO,EAAa,EAAE;IAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC/C,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IACxG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IAC1G,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACxB,IAAI;QACJ,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;QAC/B,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE;KACrH,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AAEJ,MAAM,cAAc,GAAG,WAAW,CAAC,mBAAmB,CAAC,CAAC;AACxD,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC,wBAAwB,EAAE,UAAU,CAAC,CAAC;AAChF,oDAAoD;AACpD,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;AAE7C,sCAAsC;AACtC,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,IAAU,EAAU,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAE1H,MAAM,cAAc,GAAG,CAAC,GAAkB,EAAE,OAAqB,EAAW,EAAE,CAAC,CAAC;IAC9E,IAAI,EAAE,mBAAmB;IACzB,QAAQ,EAAE,SAAS;IACnB,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;IACnC,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE;QACN,OAAO,EAAE,SAAS,CAChB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EACxD,GAAG,CAAC,QAAQ,CACb;QACD,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;QAC3B,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;KAC/D;CACF,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAa,CAAC,GAAG,EAAE,OAAO,EAAa,EAAE;IAC3D,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE;QAC3C,MAAM,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;QAC7B,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE;QACzC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE;KACzC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAClH,OAAO,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF,qFAAqF;AACrF,MAAM,KAAK,GAAG,KAAK,CAAC;AAWpB,MAAM,YAAY,GAAG,CAAC,GAAkB,EAAc,EAAE,CAAC,CAAC;IACxD,UAAU,EAAE,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;IACxE,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;IAC9D,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE;IAClD,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,EAAE;IAClD,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,EAAE;IACjD,WAAW,EAAE;QACX,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE;QAC9C,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE;QAC/C,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE;KAChD;CACF,CAAC,CAAC;AAEH,yDAAyD;AACzD,MAAM,WAAW,GAAG,CAAC,MAAwB,EAAE,KAAiB,EAAE,UAAsB,EAAW,EAAE,CACnG,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;IAC9D,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC;IACvC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC;IACjD,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC;IACtD,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC;IAC7C,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;AAEjD,sEAAsE;AACtE,MAAM,cAAc,GAAG,CAAC,QAAkB,EAAE,KAAmB,EAAE,UAAsB,EAAW,EAAE;IAClG,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5C,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;AAC9H,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,QAAkB,EAAE,KAAmB,EAAE,UAAsB,EAAW,EAAE,CAC7F,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IACzB,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC;IAC3B,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC1E,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;AAE9C,MAAM,QAAQ,GAAG,CAAC,GAAkB,EAAE,OAAgB,EAAS,EAAE;IAC/D,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACrC,OAAO,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CACxC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CACtJ,CAAC;AACJ,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAa,CAAC,GAAG,EAAE,OAAO,EAAa,EAAE;IAC1E,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAClD,IAAI,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACxB,IAAI,EAAE,yBAAyB;QAC/B,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;QAC/B,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE;KAC5G,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,GAAkB,EAAE,OAAgB,EAA0B,EAAE,CAChF,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;IAC/B,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACpC,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC;AACpG,CAAC,CAAC,CAAC;AAEL;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAa,CAAC,GAAG,EAAE,OAAO,EAAa,EAAE;IACvE,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CACzB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;QACrB,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACnF,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;IAC9D,CAAC,EACD,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAC1B,CAAC;IACF,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;SAChC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;SAC3C,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,MAAM,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,OAAO,EAAE,KAAK,SAAS;YACrB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE;oBACE,IAAI,EAAE,sBAAsB;oBAC5B,QAAQ,EAAE,SAAkB;oBAC5B,IAAI,EAAE,CAAC;oBACP,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE;oBACzC,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE;iBAC3E;aACF,CAAC;IACR,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,SAAS,GAAG,CAAC,QAAkB,EAAE,KAAmB,EAAW,EAAE,CACrE,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;IACtF,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC;IAC1D,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAElF;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAa,CAAC,GAAG,EAAE,OAAO,EAAa,EAAE;IAC1D,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACpH,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACtG,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1F,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAClG,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,IAAI,OAAO,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IAC7D,OAAO;QACL;YACE,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;YACxB,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS,CACb,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EACjD,GAAG,CAAC,QAAQ,CACb;gBACD,KAAK,EAAE,KAAK,CAAC,MAAM;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK;aACzB;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH;;;GAGG;AACH,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,IAAY,EAAU,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAE9J,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,IAAY,EAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AAEvF;;;GAGG;AACH,MAAM,cAAc,GAAG,CAAC,QAAkB,EAAU,EAAE,CAAC,eAAe,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AAI/I,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,IAAY,EAAyB,EAAE;IACrF,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;IAC1E,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;AAC3I,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAa,CAAC,GAAG,EAAE,OAAO,EAAa,EAAE;IAClE,sEAAsE;IACtE,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACtD,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;QACvI,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC9C,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/E,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,EAAE,yBAAyB;QAC/B,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;QAC3B,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE;KAClI,CAAC,CAAC,CAAC;AACN,CAAC,CAAC"}
@@ -31,6 +31,8 @@ type Sided = {
31
31
  };
32
32
  /** The offsets in `source` of each line's item number's opening and closing bracket. */
33
33
  export declare const enumeratorBracketOffsets: (source: string) => ReadonlySet<number>;
34
+ /** The offsets in `source` of every character of a doubled parenthesis. */
35
+ export declare const doubledParenOffsets: (source: string) => ReadonlySet<number>;
34
36
  /**
35
37
  * A mark written two ways in one document (( and (, “ and "), the less common way reported. The two ways come from the
36
38
  * lexicon; neither is called right. Only marks next to a letter of the document's script count, so a bracket in code-like
@@ -56,7 +58,7 @@ export declare const lowerCaseWords: (source: string) => ReadonlySet<string>;
56
58
  export declare const isShouting: (run: string, known: ReadonlySet<string>, conventional: ReadonlySet<string>) => boolean;
57
59
  /**
58
60
  * Runs of three or more all-capital words that are ordinary words, not acronyms ("DO NOT DELETE THIS"), and not a
59
- * caption, a mention of one, or a letterhead.
61
+ * caption, a mention of one, a paragraph of capital lines that ends no sentence (a letterhead, a heading), or a roster name.
60
62
  */
61
63
  export declare const capsShouting: Detector;
62
64
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"mark-shape.d.ts","sourceRoot":"","sources":["../../src/detectors/mark-shape.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAW,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAgBxF,gHAAgH;AAChH,KAAK,IAAI,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtF;;;GAGG;AACH,eAAO,MAAM,OAAO,GAAI,SAAS,OAAO,KAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAUlE,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAalJ;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,QAAQ,MAAM,EAAE,UAAU,QAAQ,EAAE,OAAO,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,MAAM,KAAG,IAAI,EASlH,CAAC;AAEF,qFAAqF;AACrF,KAAK,KAAK,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAiDhG,wFAAwF;AACxF,eAAO,MAAM,wBAAwB,GAAI,QAAQ,MAAM,KAAG,WAAW,CAAC,MAAM,CAG3E,CAAC;AASF;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,QAgB7B,CAAC;AAYF,0IAA0I;AAC1I,eAAO,MAAM,YAAY,GAAI,KAAK,aAAa,KAAG,KAAK,EAOnD,CAAC;AAEL,+FAA+F;AAC/F,eAAO,MAAM,eAAe,EAAE,QAIzB,CAAC;AAiCN,eAAO,MAAM,UAAU,EAAE,QAOxB,CAAC;AAEF,2GAA2G;AAC3G,eAAO,MAAM,YAAY,GAAI,cAAc,MAAM,KAAG,MAAM,EAMzD,CAAC;AAMF,4GAA4G;AAC5G,eAAO,MAAM,iBAAiB,EAAE,QAK/B,CAAC;AAUF,mHAAmH;AACnH,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,WAAW,CAAC,MAAM,CACyD,CAAC;AAE5H;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,EAAE,OAAO,WAAW,CAAC,MAAM,CAAC,EAAE,cAAc,WAAW,CAAC,MAAM,CAAC,KAAG,OAMvG,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,QAW1B,CAAC"}
1
+ {"version":3,"file":"mark-shape.d.ts","sourceRoot":"","sources":["../../src/detectors/mark-shape.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAW,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAgBxF,gHAAgH;AAChH,KAAK,IAAI,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtF;;;GAGG;AACH,eAAO,MAAM,OAAO,GAAI,SAAS,OAAO,KAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAUlE,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAalJ;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,QAAQ,MAAM,EAAE,UAAU,QAAQ,EAAE,OAAO,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,MAAM,KAAG,IAAI,EASlH,CAAC;AAEF,qFAAqF;AACrF,KAAK,KAAK,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAiDhG,wFAAwF;AACxF,eAAO,MAAM,wBAAwB,GAAI,QAAQ,MAAM,KAAG,WAAW,CAAC,MAAM,CAG3E,CAAC;AAgBF,2EAA2E;AAC3E,eAAO,MAAM,mBAAmB,GAAI,QAAQ,MAAM,KAAG,WAAW,CAAC,MAAM,CAMpE,CAAC;AAQJ;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,QAmB7B,CAAC;AAYF,0IAA0I;AAC1I,eAAO,MAAM,YAAY,GAAI,KAAK,aAAa,KAAG,KAAK,EAOnD,CAAC;AAEL,+FAA+F;AAC/F,eAAO,MAAM,eAAe,EAAE,QAIzB,CAAC;AAiCN,eAAO,MAAM,UAAU,EAAE,QAOxB,CAAC;AAEF,2GAA2G;AAC3G,eAAO,MAAM,YAAY,GAAI,cAAc,MAAM,KAAG,MAAM,EAMzD,CAAC;AAMF,4GAA4G;AAC5G,eAAO,MAAM,iBAAiB,EAAE,QAK/B,CAAC;AAUF,mHAAmH;AACnH,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,WAAW,CAAC,MAAM,CACyD,CAAC;AAE5H;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,EAAE,OAAO,WAAW,CAAC,MAAM,CAAC,EAAE,cAAc,WAAW,CAAC,MAAM,CAAC,KAAG,OAMvG,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,QAW1B,CAAC"}
@@ -4,7 +4,7 @@ import { minorityReport } from "../spacing-minority.js";
4
4
  import { externalLinkTitleSpans } from "../link-title.js";
5
5
  import { formulaBracketSpans } from "../formula-brackets.js";
6
6
  import { isWithinAny, quotedSpans } from "../quoted-span.js";
7
- import { captionsOf, isCaptionAt, letterheadSpans } from "./caps-caption.js";
7
+ import { capitalLineSpans, captionsOf, isCaptionAt, isWithinSorted } from "./caps-caption.js";
8
8
  import { lineStarts } from "../position.js";
9
9
  /** The letters a mark must touch to count as part of the document's text, by language. */
10
10
  const SCRIPT = {
@@ -103,6 +103,20 @@ export const enumeratorBracketOffsets = (source) => {
103
103
  const ENUMERATOR_KIND = "\u0000enumerator";
104
104
  /** A line's item number's bracket is a kind of its own, compared only with the other item numbers' brackets. */
105
105
  const withEnumeratorKind = (mark, enumerators) => enumerators.has(mark.offset) ? { ...mark, form: { ...mark.form, kind: `${mark.form.kind}${ENUMERATOR_KIND}` } } : mark;
106
+ /**
107
+ * A doubled parenthesis around text with no parenthesis inside, such as ((居住の用に供したとき等)) or ((注)): one mark written
108
+ * with two characters, as a directive sets an article's caption. Its width is that notation's, not the prose's.
109
+ */
110
+ const DOUBLED_PAREN = /\(\([^()()\n]*\)\)|(([^()()\n]*))/gu;
111
+ const PAIR_LENGTH = 2;
112
+ /** The offsets in `source` of every character of a doubled parenthesis. */
113
+ export const doubledParenOffsets = (source) => new Set([...source.matchAll(DOUBLED_PAREN)].flatMap((match) => {
114
+ const end = match.index + match[0].length;
115
+ return [match.index, match.index + 1, end - PAIR_LENGTH, end - 1];
116
+ }));
117
+ const DOUBLED_KIND = "\u0000doubled";
118
+ /** A doubled parenthesis is a kind of its own, compared only with the other doubled parentheses. */
119
+ const withDoubledKind = (mark, doubled) => doubled.has(mark.offset) ? { ...mark, form: { ...mark.form, kind: `${mark.form.kind}${DOUBLED_KIND}` } } : mark;
106
120
  /**
107
121
  * A mark written two ways in one document (( and (, “ and "), the less common way reported. The two ways come from the
108
122
  * lexicon; neither is called right. Only marks next to a letter of the document's script count, so a bracket in code-like
@@ -116,7 +130,8 @@ export const markConsistency = (doc, options) => {
116
130
  const titles = externalLinkTitleSpans(doc.source, doc.links);
117
131
  const forms = formsOf(options.lexicon ?? []);
118
132
  const enumerators = enumeratorBracketOffsets(doc.source);
119
- const marks = ownSentences(doc).flatMap((sentence) => marksIn(doc.source, sentence, forms, script).map((mark) => withEnumeratorKind(mark, enumerators)));
133
+ const doubled = doubledParenOffsets(doc.source);
134
+ const marks = ownSentences(doc).flatMap((sentence) => marksIn(doc.source, sentence, forms, script).map((mark) => withDoubledKind(withEnumeratorKind(mark, enumerators), doubled)));
120
135
  const kinds = [...new Set(marks.map((mark) => mark.form.kind))];
121
136
  return kinds.flatMap((kind) => minorityFindings(marks.filter((mark) => mark.form.kind === kind && !isWithinAny(titles, { start: mark.offset, end: mark.offset + 1 })), options.limit, (mark) => ({ mark: mark.char, usual: mark.form.other })));
122
137
  };
@@ -210,16 +225,16 @@ export const isShouting = (run, known, conventional) => {
210
225
  };
211
226
  /**
212
227
  * Runs of three or more all-capital words that are ordinary words, not acronyms ("DO NOT DELETE THIS"), and not a
213
- * caption, a mention of one, or a letterhead.
228
+ * caption, a mention of one, a paragraph of capital lines that ends no sentence (a letterhead, a heading), or a roster name.
214
229
  */
215
230
  export const capsShouting = (doc, options) => {
216
231
  const known = lowerCaseWords(doc.prose ?? doc.source);
217
232
  const conventional = new Set((options.lexicon ?? []).map((entry) => entry.pattern));
218
233
  const captions = captionsOf(doc.source);
219
- const letterheads = letterheadSpans(doc.source);
234
+ const capitalLines = capitalLineSpans(doc.source);
220
235
  const isCaptionOrLetterhead = (hit) => captions.has(hit.matched) ||
221
236
  isCaptionAt(doc.source, hit.offset, hit.offset + hit.matched.length) ||
222
- isWithinAny(letterheads, { start: hit.offset, end: hit.offset + hit.matched.length });
237
+ isWithinSorted(capitalLines, { start: hit.offset, end: hit.offset + hit.matched.length });
223
238
  const hits = hitsOf(ownSentences(doc), CAPS_RUN).filter((hit) => isShouting(hit.matched, known, conventional) && !isCaptionOrLetterhead(hit));
224
239
  return reportFrom(hits, options.limit);
225
240
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mark-shape.js","sourceRoot":"","sources":["../../src/detectors/mark-shape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mark-shape.js","sourceRoot":"","sources":["../../src/detectors/mark-shape.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC9F,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,0FAA0F;AAC1F,MAAM,MAAM,GAAqC;IAC/C,EAAE,EAAE,2DAA2D;IAC/D,EAAE,EAAE,mBAAmB;CACxB,CAAC;AAKF;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAAgB,EAA6B,EAAE;IACrE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAgB,CAAC;IACtC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC;QAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC;QACtC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACjH,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAIF,uHAAuH;AACvH,MAAM,OAAO,GAAG,aAAa,CAAC;AAE9B,sFAAsF;AACtF,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAU,EAAE,IAAY,EAAE,MAAc,EAAW,EAAE;IACvF,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9F,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAU,EAAE,MAAc,EAAW,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;AAErJ;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,QAAkB,EAAE,KAAgC,EAAE,MAAc,EAAU,EAAE;IACtH,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE;QAClD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QAC9F,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;YAAE,OAAO,EAAE,CAAC;QAChH,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAKF,MAAM,YAAY,GAAG,CAAC,IAAW,EAAE,MAAyB,EAAE,OAAgB,EAAW,EAAE,CAAC,CAAC;IAC3F,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;IAChC,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;IAC7C,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;CAC3C,CAAC,CAAC;AAEH,oHAAoH;AACpH,MAAM,gBAAgB,GAAG,CAAkB,KAAmB,EAAE,KAAa,EAAE,QAAwC,EAAa,EAAE;IACpI,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5C,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACpC,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QAChD,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IACvH,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAChI,CAAC,CAAC;AAEF,qHAAqH;AACrH,MAAM,YAAY,GAAG,CAAC,GAAkB,EAAuB,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC;AAE9I;;;;;GAKG;AACH,MAAM,SAAS,GAAG,mBAAmB,CAAC;AACtC,MAAM,SAAS,GAAG,oCAAoC,CAAC;AACvD,MAAM,SAAS,GAAG,gEAAgE,CAAC;AACnF,0CAA0C;AAC1C,MAAM,KAAK,GAAG,kDAAkD,CAAC;AACjE,MAAM,SAAS,GAAqC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAE/F,MAAM,YAAY,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEzF,uFAAuF;AACvF,MAAM,YAAY,GAAG,CAAC,IAAY,EAAqB,EAAE;IACvD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,IAAI,KAAK,KAAK,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAAE,OAAO,EAAE,CAAC;IACzG,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,wFAAwF;AACxF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,MAAc,EAAuB,EAAE;IAC9E,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AACzH,CAAC,CAAC;AAEF,sHAAsH;AACtH,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAE3C,gHAAgH;AAChH,MAAM,kBAAkB,GAAG,CAAC,IAAU,EAAE,WAAgC,EAAQ,EAAE,CAChF,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAEzH;;;GAGG;AACH,MAAM,aAAa,GAAG,qCAAqC,CAAC;AAC5D,MAAM,WAAW,GAAG,CAAC,CAAC;AAEtB,2EAA2E;AAC3E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAuB,EAAE,CACzE,IAAI,GAAG,CACL,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;IACpD,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1C,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,WAAW,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC,CACH,CAAC;AAEJ,MAAM,YAAY,GAAG,eAAe,CAAC;AAErC,oGAAoG;AACpG,MAAM,eAAe,GAAG,CAAC,IAAU,EAAE,OAA4B,EAAQ,EAAE,CACzE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAElH;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAa,CAAC,GAAG,EAAE,OAAO,EAAa,EAAE;IACnE,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACpC,kGAAkG;IAClG,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,wBAAwB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CACnD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC,CAC5H,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5B,gBAAgB,CACd,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,EACrH,OAAO,CAAC,KAAK,EACb,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CACxD,CACF,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,YAAY,GAAG,4CAA4C,CAAC;AAClE,0HAA0H;AAC1H,MAAM,cAAc,GAAG,iBAAiB,CAAC;AACzC,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,0IAA0I;AAC1I,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAkB,EAAW,EAAE,CAC1D,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE;IACpD,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/B,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAC1G,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjE,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,UAAU;QAAE,OAAO,EAAE,CAAC;IACvD,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AACrF,CAAC,CAAC,CAAC;AAEL,+FAA+F;AAC/F,MAAM,CAAC,MAAM,eAAe,GAAa,CAAC,GAAG,EAAE,OAAO,EAAa,EAAE,CACnE,gBAAgB,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC3D,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM;IACzD,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM;CACzD,CAAC,CAAC,CAAC;AAIN,MAAM,UAAU,GAAG,CAAC,GAAQ,EAAE,KAAa,EAAE,KAAa,EAAW,EAAE,CAAC,CAAC;IACvE,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;IAC/B,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;CACnE,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,CAAC,SAA8B,EAAE,OAAe,EAAS,EAAE,CACxE,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC7B,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CACzI,CAAC;AAEJ,MAAM,UAAU,GAAG,CAAC,IAAoB,EAAE,KAAa,EAAa,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAE3J,qHAAqH;AACrH,MAAM,WAAW,GAAG,6DAA6D,CAAC;AAElF,0DAA0D;AAC1D,MAAM,SAAS,GAAG,OAAO,CAAC;AAC1B,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B;;;GAGG;AACH,MAAM,WAAW,GAAG,CAAC,GAAQ,EAAE,UAAmB,EAAW,EAAE,CAAC,CAAC,UAAU,IAAI,GAAG,CAAC,OAAO,KAAK,aAAa,CAAC;AAE7G,MAAM,CAAC,MAAM,UAAU,GAAa,CAAC,GAAG,EAAE,OAAO,EAAa,EAAE;IAC9D,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/E,OAAO,UAAU,CACf,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,EAC7E,OAAO,CAAC,KAAK,CACd,CAAC;AACJ,CAAC,CAAC;AAEF,2GAA2G;AAC3G,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,YAAoB,EAAY,EAAE;IAC7D,MAAM,IAAI,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjF,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjI,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;SACvE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/F,CAAC,CAAC;AAEF,6HAA6H;AAC7H,MAAM,cAAc,GAAG,CAAC,IAAY,EAAU,EAAE,CAC9C,kBAAkB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;AAE9H,4GAA4G;AAC5G,MAAM,CAAC,MAAM,iBAAiB,GAAa,CAAC,GAAG,EAAE,OAAO,EAAa,EAAE;IACrE,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACtF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;IACtE,OAAO,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC,CAAC;AAEF,0FAA0F;AAC1F,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,sCAAsC,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACxG,uGAAuG;AACvG,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB,MAAM,UAAU,GAAG,sBAAsB,CAAC;AAE1C,mHAAmH;AACnH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAc,EAAuB,EAAE,CACpE,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAE5H;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,KAA0B,EAAE,YAAiC,EAAW,EAAE;IAChH,IAAI,oBAAoB,CAAC,GAAG,EAAE,YAAY,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1D,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAClG,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrD,OAAO,IAAI,CAAC,MAAM,IAAI,cAAc,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;AAC7E,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAa,CAAC,GAAG,EAAE,OAAO,EAAa,EAAE;IAChE,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACpF,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,qBAAqB,GAAG,CAAC,GAAQ,EAAW,EAAE,CAClD,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;QACzB,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;QACpE,cAAc,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5F,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9I,OAAO,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"name-variant.d.ts","sourceRoot":"","sources":["../../src/detectors/name-variant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAA0B,MAAM,cAAc,CAAC;AA2WrE,qEAAqE;AACrE,eAAO,MAAM,WAAW,EAAE,QAoCzB,CAAC"}
1
+ {"version":3,"file":"name-variant.d.ts","sourceRoot":"","sources":["../../src/detectors/name-variant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAA0B,MAAM,cAAc,CAAC;AA8WrE,qEAAqE;AACrE,eAAO,MAAM,WAAW,EAAE,QAuCzB,CAAC"}
@@ -20,6 +20,9 @@ import { isOrdinaryToken, withOrdinaryWords } from "../name-ordinary-word.js";
20
20
  import { isInPersonField } from "../person-field.js";
21
21
  import { labelledSpans, orderNamesOf, quotedSpans, stemOf, titleCaseSpans, wordOrderVariants } from "../name-word-order.js";
22
22
  import { isGroupPairOf, notDefinedTerms, outsideCapitals, sentenceIndexOf, withGivenNames } from "./name-variant-apart.js";
23
+ import { usualIsMisspelt } from "../name-misspelt-usual.js";
24
+ import { spellerOf } from "./unknown-word.js";
25
+ import { isKnownWord } from "../spelling.js";
23
26
  // 人の名前と読ませる敬称(様、さん)は語彙表 person-suffix、人を指す前置き(担当の)は person-lead、名前のすぐ後ろに来る語
24
27
  // (です、まで)は name-particle、字体の違う同じ字(斎・斉・齋)は name-variant-char が組(group)ごとに言う。
25
28
  const variantCharsOf = (doc) => new Map((doc.lexicons["name-variant-char"] ?? []).flatMap((entry) => (entry.group === undefined ? [] : [[entry.pattern, entry.group]])));
@@ -296,7 +299,10 @@ export const nameVariant = (doc) => {
296
299
  const withProducts = [...withPlaces, ...productFindings(doc, prose, withPlaces)];
297
300
  const withOrder = [...withProducts, ...orderFindings(doc, prose, withProducts)];
298
301
  const codes = modelCodeFindings(doc, prose).filter((code) => !overlapsAny(withOrder, code.offset, code.name.length));
302
+ const dictionary = doc.dictionary?.();
303
+ const speller = dictionary === undefined ? undefined : spellerOf(doc, dictionary);
299
304
  return [...withOrder, ...codes]
305
+ .filter(({ name, usual }) => speller === undefined || !usualIsMisspelt(name, usual, (word) => isKnownWord(word, speller)))
300
306
  .toSorted((left, right) => left.offset - right.offset)
301
307
  .map(({ offset, name, usual, kind }) => ({
302
308
  rule: "",
@@ -1 +1 @@
1
- {"version":3,"file":"name-variant.js","sourceRoot":"","sources":["../../src/detectors/name-variant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"name-variant.js","sourceRoot":"","sources":["../../src/detectors/name-variant.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAuC,MAAM,qBAAqB,CAAC;AAElI,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAuB,MAAM,4BAA4B,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAC;AAChG,OAAO,EAAE,SAAS,EAAiB,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAA4E,MAAM,qBAAqB,CAAC;AACnJ,OAAO,EAAE,oBAAoB,EAAiB,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,aAAa,EAAqD,MAAM,mBAAmB,CAAC;AACtH,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAoB,MAAM,qBAAqB,CAAC;AAE3F,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAkB,MAAM,uBAAuB,CAAC;AAC5I,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC3H,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,4EAA4E;AAC5E,4EAA4E;AAE5E,MAAM,cAAc,GAAG,CAAC,GAAkB,EAAgB,EAAE,CAC1D,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAsB,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/J,8DAA8D;AAC9D,MAAM,cAAc,GAAG,CAAC,GAAkB,EAAgB,EAAE,CAC1D,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAsB,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/J;;;GAGG;AACH,MAAM,mBAAmB,GAAG,CAAC,GAAkB,EAAE,KAAmB,EAAgB,EAAE,CACpF,IAAI,GAAG,CAAC;IACN,GAAG,KAAK;IACR,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAsB,EAAE,CACvF,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAChE;CACF,CAAC,CAAC;AAEL,MAAM,UAAU,GAAG,CAAC,GAAkB,EAAE,EAAU,EAAY,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAExH,oFAAoF;AACpF,MAAM,cAAc,GAAG,CAAC,GAAkB,EAAiB,EAAE,CAC3D,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAEnJ,iFAAiF;AACjF,MAAM,cAAc,GAAG,CAAC,GAAkB,EAAiB,EAAE;IAC3D,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;IAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9F,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC;SACzC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/G,CAAC,CAAC;AAEF,yCAAyC;AACzC,MAAM,QAAQ,GAAG,CAAC,GAAkB,EAAY,EAAE;IAChD,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/I,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;AACpF,CAAC,CAAC;AAEF,+EAA+E;AAC/E,MAAM,YAAY,GAAG,CAAC,GAAkB,EAAe,EAAE,CACvD,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAEvH;;;GAGG;AACH,MAAM,YAAY,GAAG,CAAC,GAAkB,EAAE,KAAmB,EAAc,EAAE,CAAC,CAAC;IAC7E,UAAU,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IACvD,WAAW,EAAE,IAAI,GAAG,CAAC;QACnB,GAAG,KAAK;QACR,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAsB,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACrJ,CAAC;CACH,CAAC,CAAC;AAEH,iCAAiC;AACjC,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAE3G,4CAA4C;AAC5C,MAAM,OAAO,GAAG,CAAC,GAAkB,EAAwB,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,IAAI,cAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1H,wBAAwB;AACxB,MAAM,QAAQ,GAAG,CAAC,GAAkB,EAAW,EAAE,CAC/C,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAC5H,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CACpD,CAAC;AAEJ,+BAA+B;AAC/B,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B,wDAAwD;AACxD,MAAM,SAAS,GAAG,CAAC,MAAwB,EAAE,OAAoC,EAAE,KAAa,EAAE,GAAW,EAAsB,EAAE;IACnI,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,gBAAgB,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACzF,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,KAAK,GAAG;QAAE,OAAO,SAAS,CAAC;IACxD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjG,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9G,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,GAAkB,EAAe,EAAE;IACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACjF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACvH,OAAO;QACL,WAAW,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACjC,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,gBAAgB,CAAC,CAAC;YACxF,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9G,CAAC;QACD,OAAO,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;QACtD,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;QACpD,SAAS,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC;KAClE,CAAC;AACJ,CAAC,CAAC;AAIF,MAAM,WAAW,GAAG,CAAC,QAA6B,EAAE,MAAc,EAAE,MAAc,EAAW,EAAE,CAC7F,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAExG,+EAA+E;AAC/E,MAAM,WAAW,GAAG,CAAC,GAAkB,EAA2C,EAAE;IAClF,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;IACxD,MAAM,OAAO,GAAG,CAAC,KAAa,EAAY,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5H,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;AAC9F,CAAC,CAAC;AAEF,iEAAiE;AACjE,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3E,MAAM,eAAe,GAAG,CAAC,GAAkB,EAAiB,EAAE,CAC5D,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEpG,MAAM,WAAW,GAAG,CAAC,GAAkB,EAAc,EAAE,CACrD,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAEnI,kCAAkC;AAClC,MAAM,iBAAiB,GAAG,CAAC,GAAkB,EAAE,KAAa,EAAoB,EAAE,CAChF,eAAe,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAAE,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAE5J;;;GAGG;AACH,MAAM,eAAe,GAAG,CAAC,GAAkB,EAAE,KAAa,EAAE,QAAmC,EAAE,QAA6B,EAAc,EAAE;IAC5I,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5E,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,OAAO,CAAC,OAAO;QACrB,KAAK;QACL,IAAI,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE;KACrD,CAAC,CAAC,CAAC;IACJ,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;SAC7F,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;SAC7F,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1G,CAAC,CAAC;AAEF,yEAAyE;AACzE,MAAM,aAAa,GAAG,CAAC,GAAkB,EAAE,KAAa,EAAE,QAA6B,EAAE,KAAmB,EAAc,EAAE,CAC1H,aAAa,CAAC,eAAe,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;KACjI,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;KACvF,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAEzG,uEAAuE;AACvE,MAAM,cAAc,GAAG,CAAC,GAAkB,EAAiB,EAAE,CAC3D,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAEzH,kCAAkC;AAClC,MAAM,cAAc,GAAG,CAAC,GAAkB,EAAwC,EAAE,CAClF,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;IAC/C,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9D,OAAO,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AACzI,CAAC,CAAC,CAAC;AAEL,2EAA2E;AAC3E,MAAM,eAAe,GAAG,CAAC,GAAkB,EAAE,KAAa,EAAE,QAA6B,EAAc,EAAE,CACvG,eAAe,CAAC,iBAAiB,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;KACtH,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;KACvF,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAEzG,yCAAyC;AACzC,MAAM,WAAW,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAE1F,8CAA8C;AAC9C,MAAM,YAAY,GAAG,CAAC,GAAkB,EAAY,EAAE;IACpD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC9D,OAAO,QAAQ,CAAC,GAAG,CAAC;SACjB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;SAC3F,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,GAAkB,EAAuB,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;AAE3J,MAAM,YAAY,GAAG,CAAC,GAAkB,EAAe,EAAE;IACvD,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IACrD,OAAO,QAAQ,CAAC,GAAG,CAAC;SACjB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAC7C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9G,CAAC,CAAC;AAEF,oDAAoD;AACpD,MAAM,OAAO,GAAG,SAAS,CAAC;AAE1B;;;;GAIG;AACH,MAAM,aAAa,GAAG,CAAC,GAAkB,EAAE,KAAa,EAAE,QAA6B,EAAc,EAAE;IACrG,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;IACxD,MAAM,KAAK,GAAG;QACZ,GAAG,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACpD,GAAG,cAAc,CACf,KAAK,EACL,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAChF,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAC9B,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CACjF;QACD,GAAG,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;KACvD,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7F,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1G,OAAO,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;SACzD,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAC9E,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;AACnG,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,QAAQ,CAAC;AAEvB,sCAAsC;AACtC,MAAM,aAAa,GAAG,CAAC,MAAwB,EAAE,OAAoC,EAAE,IAAU,EAAuB,EAAE;IACxH,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,gBAAgB,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9F,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACrH,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,CAAC,GAAkB,EAAE,KAAa,EAAE,YAA0B,EAAiB,EAAE;IAC5G,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,CAAC;IAC9I,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACjF,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC1D,OAAO,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAiB,EAAE;QACpF,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACzD,IAAI,YAAY,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACtE,MAAM,KAAK,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,UAAU,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACpG,MAAM,cAAc,GAAG,cAAc,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAC9E,MAAM,gBAAgB,GAAG,cAAc,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,GAAG,YAAY,CAAC;QAChI,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACpD,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,+DAA+D;AAC/D,MAAM,WAAW,GAAG,CAAC,QAAkB,EAAiC,EAAE;IACxE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;IACrC,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAC1G,CAAC,CAAC;AAEF,qEAAqE;AACrE,MAAM,cAAc,GAAG,CAAC,GAAkB,EAAE,KAAa,EAAE,KAAmB,EAAiB,EAAE;IAC/F,MAAM,IAAI,GAAa,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,CAAC;IAC1J,MAAM,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACtJ,MAAM,gBAAgB,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9F,MAAM,IAAI,GAAG,CAAC,GAAG,gBAAgB,EAAE,GAAG,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAe,EAAE;QACpH,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACnF,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/E,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAC3B,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CACjJ,CAAC;IACF,OAAO,eAAe,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AAC3I,CAAC,CAAC;AAEF,kEAAkE;AAClE,MAAM,gBAAgB,GAAG,CAAC,GAAkB,EAAkB,EAAE,CAC9D,IAAI,GAAG,CACL,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAsB,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACtJ,CAAC;AAEJ,oEAAoE;AACpE,MAAM,eAAe,GAAG,CAAC,GAAkB,EAAgB,EAAE,CAC3D,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAsB,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEhK,wDAAwD;AACxD,MAAM,eAAe,GAAG,CAAC,GAAkB,EAAiB,EAAE;IAC5D,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAClD,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;AAC3I,CAAC,CAAC;AAEF,iEAAiE;AACjE,MAAM,aAAa,GAAG,CAAC,GAAkB,EAAE,KAAa,EAAE,QAAgC,EAAE,QAA6B,EAAc,EAAE,CACvI,gBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;KAC5F,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACnJ,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAEhG,2DAA2D;AAC3D,MAAM,cAAc,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAY,EAAW,EAAE,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAErH;;;GAGG;AACH,MAAM,eAAe,GAAG,CAAC,GAAkB,EAAE,QAAgC,EAAiB,EAAE;IAC9F,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACrH,OAAO,iBAAiB,CACtB,QAAQ,EACR,cAAc,EACd,GAAG,CAAC,MAAM,EACV,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,EACnE,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC,CAChC,CAAC;AACJ,CAAC,CAAC;AAEF,sEAAsE;AACtE,MAAM,eAAe,GAAG,CAAC,GAAkB,EAAE,QAAgC,EAAiB,EAAE;IAC9F,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAClD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC9B,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CACjI,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,cAAc,CAAC;AAClC,MAAM,cAAc,GAAG,WAAW,CAAC;AAEnC,kDAAkD;AAClD,MAAM,aAAa,GAAG,CAAC,KAAY,EAAW,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAEhJ,wDAAwD;AACxD,MAAM,SAAS,GAAG,CAAC,GAAkB,EAAW,EAAE;IAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO;QACL,QAAQ,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3G,MAAM,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACxG,CAAC;AACJ,CAAC,CAAC;AAEF,qEAAqE;AACrE,MAAM,CAAC,MAAM,WAAW,GAAa,CAAC,GAAG,EAAa,EAAE;IACtD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC;IACtC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,EAAE,eAAe,CAAC,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1I,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,aAAa,CAC3B,SAAS,EACT,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAChD,CAAC;IACF,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;SACjF,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAY,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;SAC7G,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAChG,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,OAAO,CAAC,OAAO;QACrB,KAAK;QACL,IAAI,EAAE,WAAW;KAClB,CAAC,CAAC,CAAC;IACJ,MAAM,KAAK,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtH,MAAM,iBAAiB,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IACvF,MAAM,UAAU,GAAG,CAAC,GAAG,iBAAiB,EAAE,GAAG,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;IAC5H,MAAM,UAAU,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IACpF,MAAM,YAAY,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IACjF,MAAM,SAAS,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;IAChF,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACrH,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAClF,OAAO,CAAC,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;SAC5B,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;SACzH,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;SACrD,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;QAClC,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;QAC/B,OAAO,EAAE,IAAI;KACd,CAAC,CAAC,CAAC;AACR,CAAC,CAAC"}
@@ -8,11 +8,5 @@ export type OrganisationWords = {
8
8
  readonly closingForms: readonly string[];
9
9
  readonly units: readonly string[];
10
10
  };
11
- /**
12
- * 漢字の連なりの語(covering: tokens の添字)が 1 つの組織の名前か。名前は書き手が変えられない。
13
- * 法人格か地名・固有名詞で始まって組織の語で閉じるもの(国立研究開発法人産業技術総合研究所、紀美野町青少年育成町民会議)、
14
- * または組織の語で閉じる区切りが 2 つ以上続くもの(国土交通省鉄道局総務課)。
15
- * 組織の語で閉じない連なり(情報処理推進機構認定試験、総務課長)や、頭に名前の無い 1 区切り(個人情報保護法施行規則改正案検討会)は名前ではない。
16
- */
17
11
  export declare const isOrganisationRun: (tokens: readonly Token[], covering: readonly number[], words: OrganisationWords) => boolean;
18
12
  //# sourceMappingURL=organisation-run.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"organisation-run.d.ts","sourceRoot":"","sources":["../../src/detectors/organisation-run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AA4EnJ;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ,SAAS,KAAK,EAAE,EAAE,UAAU,SAAS,MAAM,EAAE,EAAE,OAAO,iBAAiB,KAAG,OAQnH,CAAC"}
1
+ {"version":3,"file":"organisation-run.d.ts","sourceRoot":"","sources":["../../src/detectors/organisation-run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAsFnJ,eAAO,MAAM,iBAAiB,GAAI,QAAQ,SAAS,KAAK,EAAE,EAAE,UAAU,SAAS,MAAM,EAAE,EAAE,OAAO,iBAAiB,KAAG,OASnH,CAAC"}
@@ -66,11 +66,14 @@ const endsInForm = (text, closingForms) => !/[0-90-9]/u.test(text) && closin
66
66
  * または組織の語で閉じる区切りが 2 つ以上続くもの(国土交通省鉄道局総務課)。
67
67
  * 組織の語で閉じない連なり(情報処理推進機構認定試験、総務課長)や、頭に名前の無い 1 区切り(個人情報保護法施行規則改正案検討会)は名前ではない。
68
68
  */
69
+ /** 尻の法人格(独立行政法人)の前が、組織の語で閉じる区切りだけに割れるか(文部科学省独立行政法人: 所管の組織と法人の種類)。 */
70
+ const segmentsBeforeForm = (run, words) => run.some((_, at) => at > 0 && words.closingForms.includes(surfaceOf(run.slice(at))) && segmentCount(run.slice(0, at), words.units) >= 1);
69
71
  export const isOrganisationRun = (tokens, covering, words) => {
70
72
  const run = contiguous(tokens, withClosingUnit(tokens, covering, words.units));
71
73
  if (run === undefined || run.length === 0)
72
74
  return false;
73
- if (endsInForm(surfaceOf(run), words.closingForms) && run.some(isProperPiece) && !run.some(isNumber))
75
+ const named = run.some(isProperPiece) || segmentsBeforeForm(run, words);
76
+ if (endsInForm(surfaceOf(run), words.closingForms) && named && !run.some(isNumber))
74
77
  return true;
75
78
  const form = formLength(run, new Set(words.forms));
76
79
  const head = form > 0 ? form : properLength(run);
@@ -1 +1 @@
1
- {"version":3,"file":"organisation-run.js","sourceRoot":"","sources":["../../src/detectors/organisation-run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"organisation-run.js","sourceRoot":"","sources":["../../src/detectors/organisation-run.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"orthographic-variant.d.ts","sourceRoot":"","sources":["../../src/detectors/orthographic-variant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAA4D,MAAM,cAAc,CAAC;AAsWvG;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAmCjC,CAAC"}
1
+ {"version":3,"file":"orthographic-variant.d.ts","sourceRoot":"","sources":["../../src/detectors/orthographic-variant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAA4D,MAAM,cAAc,CAAC;AA2YvG;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAqCjC,CAAC"}
@@ -16,6 +16,7 @@ import { wholeWordRuns } from "../whole-word-runs.js";
16
16
  import { entriesForGenre } from "../lexicon-genres.js";
17
17
  import { asNounWhereNominal, documentNounKeys } from "../nominal-stem.js";
18
18
  import { isCompoundHead } from "../compound-head.js";
19
+ import { leadingLabelSpans } from "../leading-label.js";
19
20
  /** Parts of speech that carry a word of their own. Particles and endings are written one way by the grammar. */
20
21
  const CONTENT = new Set(["NOUN", "VERB", "ADJ", "ADV", "PRON", "CCONJ", "DET"]);
21
22
  const JAPANESE_WORD = /^[\p{Script=Han}々ぁ-ゖァ-ヺー]+$/u;
@@ -31,6 +32,14 @@ const FUKUSHI = "hiragana-fukushi";
31
32
  const IDIOM = "orthographic-variant-idiom";
32
33
  /** Lexicon: verbs whose て-form opening a sentence before a comma is a conjunction (あわせて、). */
33
34
  const CONJUNCTION = "orthographic-variant-conjunction";
35
+ /** Lexicon: verbs whose judging use (〜とみられる, 増加がみられる) is written in kana while the verb (資料を見る) keeps its kanji. */
36
+ const JUDGING = "orthographic-variant-judging";
37
+ /**
38
+ * Lexicon: words whose kanji is also a person (方 as かた): compared only before が or で (早いほうが, 資料のほうで), where the
39
+ * person is rare; before に, の or は (担当の方に) the kanji is mostly the person.
40
+ */
41
+ const COMPARATIVE = "orthographic-variant-comparative";
42
+ const COMPARATIVE_PARTICLES = new Set(["が", "で"]);
34
43
  /** Lexicon: words the tokenizer cuts in one spelling and not the other (お客様, お客 and さま). Each is read whole, keyed by its group. */
35
44
  const WHOLE_WORD = "orthographic-variant-whole-word";
36
45
  /** Lexicon: suffixes written onto a word that do not make a compound of it (割当て等, 引受け後): the word keeps its okurigana there. */
@@ -39,8 +48,9 @@ const patternsOf = (doc, id, genre) => entriesForGenre(doc.lexicons[id] ?? [], g
39
48
  /** Spans placed in the source, placed in a sentence's text instead. */
40
49
  const inSentence = (sentence, spans) => spans.map((span) => ({ start: span.start - sentence.span.start, end: span.end - sentence.span.start }));
41
50
  /**
42
- * Whether a stretch of the sentence is outside a quotation, the team's names, a company's name (関東珪曹硝子㈱) and a reading in
43
- * brackets (HTTP(えいちてぃーてぃーぴー)): the first three keep their own spelling, and a reading is not a spelling at all.
51
+ * Whether a stretch of the sentence is outside a quotation, the team's names, a company's name (関東珪曹硝子㈱), a reading in
52
+ * brackets (HTTP(えいちてぃーてぃーぴー)) and a label opening the sentence ((答)): the first three keep their own spelling,
53
+ * a reading is not a spelling at all, and a label is a fixed short form.
44
54
  */
45
55
  const isOpenIn = (sentence, names) => {
46
56
  const closed = [
@@ -48,6 +58,7 @@ const isOpenIn = (sentence, names) => {
48
58
  ...furiganaSpans(sentence.text),
49
59
  ...japaneseCompanyNameSpans(sentence.text, names.companyForms),
50
60
  ...inSentence(sentence, names.linkTitles),
61
+ ...leadingLabelSpans(sentence.text),
51
62
  ];
52
63
  const named = nameSpans(sentence.text, names.team);
53
64
  return (start, end) => !isWithinAny(closed, { start, end }) && !touchesAny(named, start, end);
@@ -83,17 +94,29 @@ const isConjunctionUse = ({ token, previous, following }, conjunctions) => token
83
94
  (previous === undefined || previous.pos === "PUNCT") &&
84
95
  TE.has(following?.[0]?.surface ?? "") &&
85
96
  COMMA.has(following?.[1]?.surface ?? "");
97
+ /** と, or と and は or も (〜ともみられる): the quotative particle before a verb of judging. */
98
+ const QUOTATIVE = "と";
99
+ const QUOTATIVE_TOPIC = new Set(["は", "も"]);
100
+ const PASSIVE = new Set(["られる", "れる"]);
101
+ const followsQuotative = (previous, before) => previous?.pos === "ADP" && (previous.surface === QUOTATIVE || (QUOTATIVE_TOPIC.has(previous.surface) && before?.surface === QUOTATIVE));
102
+ /** The particles of the subject before an observing られる (増加がみられる, 発生はみられない); after を it is looking (映画を見られる). */
103
+ const OBSERVED_SUBJECT = new Set(["が", "は", "も"]);
104
+ const isObserved = (previous, following) => previous?.pos === "ADP" && OBSERVED_SUBJECT.has(previous.surface) && PASSIVE.has(following?.[0]?.lemma ?? "");
105
+ /** A listed verb after the quotative と (〜とみる) or observing with られる (増加がみられる): judging what is seen, not looking. */
106
+ const isJudgingUse = ({ token, previous, before, following }, judging) => token.pos === "VERB" && judging.has(token.lemma ?? "") && (followsQuotative(previous, before) || isObserved(previous, following));
86
107
  /**
87
108
  * A helper verb or a dependent noun (見て下さい, その事) is written kana by many guides while the full word keeps its kanji (資料を下さい).
88
109
  * The two uses are compared apart, so a document that follows that convention is consistent. A suffix (業務用, 全員ぶん) is a third use:
89
110
  * it is not the dependent noun of the same reading (このように). The verb of an idiom (気をつける) is a fourth, and a
90
- * て-form used as a conjunction (あわせて、) a fifth.
111
+ * て-form used as a conjunction (あわせて、) a fifth, and a verb of judging (〜とみられる) a sixth.
91
112
  */
92
- const useOf = (word, { idioms, conjunctions }) => {
113
+ const useOf = (word, { idioms, conjunctions, judging }) => {
93
114
  if (isIdiomVerb(word, idioms))
94
115
  return "idiom";
95
116
  if (isConjunctionUse(word, conjunctions))
96
117
  return "conjunction";
118
+ if (isJudgingUse(word, judging))
119
+ return "judging";
97
120
  if (isKanaSuffix(word))
98
121
  return "suffix";
99
122
  if (!isHelper(word))
@@ -110,12 +133,16 @@ const isCutFromKatakana = ({ token, previous }) => ONE_KATAKANA_HEAD.test(token.
110
133
  * misreads after a space or a name. 出る after a particle (結果がでない) or at the head of a sentence (でない音) is the verb.
111
134
  */
112
135
  const isCopulaReadAsVerb = ({ token, previous }) => token.pos === "VERB" && token.surface === "で" && previous !== undefined && previous.pos !== "ADP";
136
+ /** A listed word outside the comparative frame (担当の方に): the kanji there may be the person of the same reading. */
137
+ const isOutsideComparative = ({ token, following }, comparative) => comparative.has(token.lemma ?? "") && !COMPARATIVE_PARTICLES.has(following?.[0]?.surface ?? "");
113
138
  const readingKeyOf = (word, skips) => {
114
139
  const { skip } = skips;
115
140
  const { token } = word;
116
141
  const lemma = token.lemma;
117
142
  if (!CONTENT.has(token.pos) || token.reading === undefined || lemma === undefined || !JAPANESE_WORD.test(lemma) || skip.has(lemma))
118
143
  return undefined;
144
+ if (isOutsideComparative(word, skips.comparative))
145
+ return undefined;
119
146
  const reading = lemmaReading(token.surface, lemma, token.reading);
120
147
  if (reading === undefined || [...reading].length < MIN_READING || skip.has(reading) || isCutFromKatakana(word) || isCopulaReadAsVerb(word))
121
148
  return undefined;
@@ -286,6 +313,8 @@ export const orthographicVariant = (doc, options) => {
286
313
  skip: new Set([...patternsOf(doc, DISTINCT, options.genre), ...patternsOf(doc, FUKUSHI, options.genre)]),
287
314
  idioms: new Set(patternsOf(doc, IDIOM, options.genre)),
288
315
  conjunctions: new Set(patternsOf(doc, CONJUNCTION, options.genre)),
316
+ judging: new Set(patternsOf(doc, JUDGING, options.genre)),
317
+ comparative: new Set(patternsOf(doc, COMPARATIVE, options.genre)),
289
318
  wholeWords: new Map((doc.lexicons[WHOLE_WORD] ?? []).map((entry) => [entry.pattern, entry.group ?? entry.pattern])),
290
319
  phraseSuffixes,
291
320
  nouns: documentNounKeys(placed.map(({ sentence }) => sentence.tokens ?? []), phraseSuffixes),