@finbheara/names 0.14.0 → 0.16.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.
- package/README.md +12 -6
- package/data/bloom/MANIFEST.json +59 -13
- package/dist/chunks/{index-7vvt5hhy.js → index-0wpvbdgh.js} +2631 -1395
- package/dist/chunks/{index-7vvt5hhy.js.map → index-0wpvbdgh.js.map} +4 -4
- package/dist/chunks/{index-kw69ry3j.js → index-74fyytnh.js} +1333 -20
- package/dist/chunks/{index-kw69ry3j.js.map → index-74fyytnh.js.map} +5 -4
- package/dist/chunks/{index-pncn9y2r.js → index-a6f2y4aa.js} +2 -2
- package/dist/chunks/{index-r5fp3znj.js → index-ky754nsf.js} +7 -7
- package/dist/chunks/{index-r5fp3znj.js.map → index-ky754nsf.js.map} +3 -3
- package/dist/chunks/{index-ka8nzreg.js → index-tk01chxw.js} +2 -2
- package/dist/chunks/{index-kw6gbrnq.js → index-tqdbxd92.js} +2 -2
- package/dist/chunks/{index-a15g2gp6.js → index-ye6j60jn.js} +3 -3
- package/dist/chunks/phrase-2hj26asc.js +11 -0
- package/dist/classifier/index.js +3 -3
- package/dist/cli/census.js +4 -4
- package/dist/index.js +14 -8
- package/dist/index.js.map +1 -1
- package/dist/lexicon/index.js +4 -2
- package/dist/lexicon/index.js.map +1 -1
- package/dist/measure/index.js +4 -4
- package/dist/normalize/index.js +9 -5
- package/dist/normalize/index.js.map +1 -1
- package/dist/types/classifier/bf/filters.d.ts +8 -3
- package/dist/types/lexicon/flags.d.ts +13 -5
- package/dist/types/normalize/given-families.d.ts +48 -0
- package/dist/types/normalize/index.d.ts +1 -0
- package/dist/types/normalize/name-kinship.d.ts +12 -8
- package/docs/NAME-NORMALIZATION.md +36 -7
- package/names.txt +2624 -1389
- package/package.json +4 -2
- package/src/normalize/given-families.MANIFEST.json +46 -0
- package/dist/chunks/phrase-672g18kw.js +0 -11
- /package/dist/chunks/{index-pncn9y2r.js.map → index-a6f2y4aa.js.map} +0 -0
- /package/dist/chunks/{index-ka8nzreg.js.map → index-tk01chxw.js.map} +0 -0
- /package/dist/chunks/{index-kw6gbrnq.js.map → index-tqdbxd92.js.map} +0 -0
- /package/dist/chunks/{index-a15g2gp6.js.map → index-ye6j60jn.js.map} +0 -0
- /package/dist/chunks/{phrase-672g18kw.js.map → phrase-2hj26asc.js.map} +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/classifier/bf/filters.ts", "../src/classifier/bf/locations.ts", "../src/classifier/bf/schools.ts", "../src/classifier/bf/us-locations.ts", "../src/classifier/constants.ts", "../src/classifier/seg/tokenize.ts", "../src/classifier/weights-v4.ts", "../src/classifier/features.ts", "../src/classifier/seg/features.ts", "../src/classifier/seg/model.ts", "../src/classifier/seg-library.ts", "../src/classifier/library-v4.ts", "../src/classifier/weights-v4-given-first.ts", "../src/classifier/weights-v4-surname-first.ts", "../src/classifier/phrase.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"/**\n * Bloom filters for name classification\n *
|
|
5
|
+
"/**\n * Bloom filters for name classification\n * Built by scripts/build-blooms.ts from the source lists recorded in\n * data/bloom/MANIFEST.json, which also holds each table's item count.\n * Target FPP: 0.01\n */\n\n// A DEFAULT IMPORT, because `bloom-filters` is CommonJS: Node's ESM loader\n// cannot name-import from it, and Bun and bundlers accept this form too.\nimport bloomFilters from \"bloom-filters\";\n\nconst { BloomFilter } = bloomFilters;\ntype BloomFilter = InstanceType<typeof BloomFilter>;\n\n// Compact: s=size, h=hashes, d=seed, c=content (base64), n=item count\nimport firstNames from \"../../../data/bloom/first-names.json\" with { type: \"json\" };\nimport humanNames from \"../../../data/bloom/human-names.json\" with { type: \"json\" };\nimport irishSurnames from \"../../../data/bloom/irish-surnames.json\" with { type: \"json\" };\nimport surnames from \"../../../data/bloom/surnames.json\" with { type: \"json\" };\n\n// Compact: s=size, h=hashes, d=seed, c=content (base64), n=item count.\n// The tables are data (data/bloom/, provenance in data/bloom/MANIFEST.json).\nconst DATA: Record<\n\t\"surnames\" | \"humanNames\" | \"firstNames\" | \"irishSurnames\",\n\t{ s: number; h: number; d: number; c: string; n: number }\n> = { surnames, humanNames, firstNames, irishSurnames };\n\n// Lazy-loaded filter instances\nconst filters: Record<string, BloomFilter> = {};\n\nfunction getFilter(name: keyof typeof DATA): BloomFilter {\n\tconst cached = filters[name];\n\tif (cached) return cached;\n\tconst d = DATA[name];\n\tconst filter: BloomFilter = BloomFilter.fromJSON({\n\t\ttype: \"BloomFilter\",\n\t\t_size: d.s,\n\t\t_nbHashes: d.h,\n\t\t_seed: d.d,\n\t\t_filter: { size: d.s, content: d.c },\n\t} as any);\n\tfilters[name] = filter;\n\treturn filter;\n}\n\n/**\n * The key a name table holds and is asked: lower-cased, NFD, combining marks dropped,\n * the ASCII apostrophe dropped. `scripts/build-blooms.ts` builds the tables with it, so\n * a lookup and a build cannot disagree.\n */\nexport function normalize(s: string): string {\n\treturn s\n\t\t.toLowerCase()\n\t\t.normalize(\"NFD\")\n\t\t.replace(/[\\u0300-\\u036f]/g, \"\")\n\t\t.replace(/['']/g, \"\");\n}\n\n/** Check if word is a known surname (151k entries) */\nexport function isSurname(word: string): boolean {\n\treturn getFilter(\"surnames\").has(normalize(word));\n}\n\n/** Check if word is in the human names list (197k first+last names) */\nexport function isHumanName(word: string): boolean {\n\treturn getFilter(\"humanNames\").has(normalize(word));\n}\n\n/** Check if word is a known first name (134k entries) */\nexport function isFirstName(word: string): boolean {\n\treturn getFilter(\"firstNames\").has(normalize(word));\n}\n\n/** Check if word is a known Irish surname (1.6k entries) */\nexport function isIrishSurname(word: string): boolean {\n\treturn getFilter(\"irishSurnames\").has(normalize(word));\n}\n\n/** Check any name type */\nexport function isName(word: string): boolean {\n\tconst w = normalize(word);\n\treturn getFilter(\"humanNames\").has(w) || getFilter(\"surnames\").has(w);\n}\n\n/** Filter stats */\nexport const stats = {\n\tsurnames: { items: DATA.surnames.n, bits: DATA.surnames.s },\n\thumanNames: { items: DATA.humanNames.n, bits: DATA.humanNames.s },\n\tfirstNames: { items: DATA.firstNames.n, bits: DATA.firstNames.s },\n\tirishSurnames: { items: DATA.irishSurnames.n, bits: DATA.irishSurnames.s },\n} as const;\n",
|
|
6
6
|
"/**\n * Bloom filter for location detection\n * Generated: 2026-01-03T01:48:55.239Z\n * Target FPP: 0.01\n * Total locations: 8,527\n * Bits: 81,732 (10.0 KB)\n *\n * Sources:\n * - ISO 3166-1 countries + codes\n * - ISO 3166-2 subdivisions (states, provinces)\n * - UN population centers (1800+ cities)\n * - US cities from Wikipedia\n * - Urban areas worldwide\n * - names.txt G-flagged entries\n * - FIPS country/continent data\n * - Common Irish/UK/AU/NZ terms\n *\n * Supports ngrams for multi-word locations (e.g., \"new york\" matches \"new york city\")\n */\n\n// A DEFAULT IMPORT, because `bloom-filters` is CommonJS: Node's ESM loader\n// cannot name-import from it, and Bun and bundlers accept this form too.\nimport bloomFilters from \"bloom-filters\";\n\nconst { BloomFilter } = bloomFilters;\ntype BloomFilter = InstanceType<typeof BloomFilter>;\n\n// The table is data: data/bloom/locations.json, provenance in data/bloom/MANIFEST.json.\nimport DATA from \"../../../data/bloom/locations.json\" with { type: \"json\" };\n\nlet filter: BloomFilter | null = null;\n\nfunction getFilter(): BloomFilter {\n\tif (!filter) {\n\t\tfilter = BloomFilter.fromJSON({\n\t\t\ttype: \"BloomFilter\",\n\t\t\t_size: DATA.s,\n\t\t\t_nbHashes: DATA.h,\n\t\t\t_seed: DATA.d,\n\t\t\t_filter: { size: DATA.s, content: DATA.c },\n\t\t} as any);\n\t}\n\treturn filter!;\n}\n\nfunction normalize(s: string): string {\n\treturn s\n\t\t.toLowerCase()\n\t\t.normalize(\"NFD\")\n\t\t.replace(/[\\u0300-\\u036f]/g, \"\")\n\t\t.replace(/[''ʻ]/g, \"\")\n\t\t.trim();\n}\n\n/**\n * Check if a word/phrase is a known location\n * Normalizes input (lowercase, strips diacritics)\n */\nexport function isLocation(word: string): boolean {\n\treturn getFilter().has(normalize(word));\n}\n\n/**\n * Check if any ngram of the input is a location\n * For \"New York City\" checks: \"new york city\", \"new york\", \"york city\", \"new\", \"york\", \"city\"\n */\nexport function hasLocationNgram(phrase: string, minWords = 1): boolean {\n\tconst normalized = normalize(phrase);\n\tconst words = normalized.split(/\\s+/).filter(Boolean);\n\n\t// Check full phrase first\n\tif (getFilter().has(normalized)) return true;\n\n\t// Check all ngrams from size=words.length-1 down to minWords\n\tfor (let size = words.length; size >= minWords; size--) {\n\t\tfor (let i = 0; i <= words.length - size; i++) {\n\t\t\tconst ngram = words.slice(i, i + size).join(\" \");\n\t\t\tif (getFilter().has(ngram)) return true;\n\t\t}\n\t}\n\n\treturn false;\n}\n\n/**\n * Find all location ngrams in a phrase\n * Returns array of matched ngrams, longest first\n */\nexport function findLocationNgrams(phrase: string, minWords = 1): string[] {\n\tconst normalized = normalize(phrase);\n\tconst words = normalized.split(/\\s+/).filter(Boolean);\n\tconst matches: string[] = [];\n\n\t// Check all ngrams from largest to smallest\n\tfor (let size = words.length; size >= minWords; size--) {\n\t\tfor (let i = 0; i <= words.length - size; i++) {\n\t\t\tconst ngram = words.slice(i, i + size).join(\" \");\n\t\t\tif (getFilter().has(ngram)) {\n\t\t\t\tmatches.push(ngram);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn matches;\n}\n\n/** Filter stats */\nexport const stats = {\n\titems: DATA.n,\n\tbits: DATA.s,\n\tfpp: 0.01,\n} as const;\n",
|
|
7
7
|
"/**\n * Bloom filter for Irish dance school detection\n * Generated: 2026-01-03T02:10:52.431Z\n * Target FPP: 0.01\n * Total entries: 17,342\n * Bits: 166,225 (20.3 KB)\n *\n * Sources:\n * - a curated school database\n * - a manually curated school list\n * - the school cells of a results corpus\n *\n * Contains:\n * - Full school names (\"Quorrish Academy of Irish Dance\")\n * - Core names without suffixes (\"Quorrish\")\n * - Ngrams for partial matching\n */\n\n// A DEFAULT IMPORT, because `bloom-filters` is CommonJS: Node's ESM loader\n// cannot name-import from it, and Bun and bundlers accept this form too.\nimport bloomFilters from \"bloom-filters\";\n\nconst { BloomFilter } = bloomFilters;\ntype BloomFilter = InstanceType<typeof BloomFilter>;\n\n// The table is data: data/bloom/schools.json, provenance in data/bloom/MANIFEST.json.\nimport DATA from \"../../../data/bloom/schools.json\" with { type: \"json\" };\n\nlet filter: BloomFilter | null = null;\n\nfunction getFilter(): BloomFilter {\n\tif (!filter) {\n\t\tfilter = BloomFilter.fromJSON({\n\t\t\ttype: \"BloomFilter\",\n\t\t\t_size: DATA.s,\n\t\t\t_nbHashes: DATA.h,\n\t\t\t_seed: DATA.d,\n\t\t\t_filter: { size: DATA.s, content: DATA.c },\n\t\t} as any);\n\t}\n\treturn filter!;\n}\n\nfunction normalize(s: string): string {\n\treturn s\n\t\t.toLowerCase()\n\t\t.normalize(\"NFD\")\n\t\t.replace(/[\\u0300-\\u036f]/g, \"\")\n\t\t.replace(/[''ʻ`]/g, \"'\")\n\t\t.replace(/[\"\"]/g, '\"')\n\t\t.trim();\n}\n\n/** Check if a word/phrase is a known school name */\nexport function isSchool(word: string): boolean {\n\treturn getFilter().has(normalize(word));\n}\n\n/** Check if any ngram of the input is a school */\nexport function hasSchoolNgram(phrase: string, minWords = 1): boolean {\n\tconst normalized = normalize(phrase);\n\tconst words = normalized.split(/\\s+/).filter(Boolean);\n\tif (getFilter().has(normalized)) return true;\n\tfor (let size = words.length; size >= minWords; size--) {\n\t\tfor (let i = 0; i <= words.length - size; i++) {\n\t\t\tconst ngram = words.slice(i, i + size).join(\" \");\n\t\t\tif (getFilter().has(ngram)) return true;\n\t\t}\n\t}\n\treturn false;\n}\n\n/** Find all school ngrams in a phrase, longest first */\nexport function findSchoolNgrams(phrase: string, minWords = 1): string[] {\n\tconst normalized = normalize(phrase);\n\tconst words = normalized.split(/\\s+/).filter(Boolean);\n\tconst matches: string[] = [];\n\tfor (let size = words.length; size >= minWords; size--) {\n\t\tfor (let i = 0; i <= words.length - size; i++) {\n\t\t\tconst ngram = words.slice(i, i + size).join(\" \");\n\t\t\tif (getFilter().has(ngram)) matches.push(ngram);\n\t\t}\n\t}\n\treturn matches;\n}\n\n/**\n * Score how likely a phrase is a school name (0-1)\n * Higher = more likely to be a school\n */\nexport function schoolScore(phrase: string): number {\n\tconst normalized = normalize(phrase);\n\tconst words = normalized.split(/\\s+/).filter(Boolean);\n\n\t// Check for school-indicating suffixes\n\tconst hasSchoolSuffix = /\\b(academy|school|dancers?|dancing)\\b/i.test(phrase);\n\n\t// Check if full phrase matches\n\tif (getFilter().has(normalized)) {\n\t\treturn hasSchoolSuffix ? 1.0 : 0.9;\n\t}\n\n\t// Check for partial matches\n\tconst matches = findSchoolNgrams(phrase, 1);\n\tif (matches.length > 0) {\n\t\t// Longer matches = higher confidence\n\t\tconst longestMatch = matches[0]!.split(\" \").length;\n\t\tconst coverage = longestMatch / words.length;\n\t\treturn Math.min(0.8, coverage * 0.8 + (hasSchoolSuffix ? 0.2 : 0));\n\t}\n\n\treturn hasSchoolSuffix ? 0.3 : 0;\n}\n\nexport const stats = {\n\titems: DATA.n,\n\tbits: DATA.s,\n\tfpp: 0.01,\n} as const;\n",
|
|
8
8
|
"/**\n * Bloom filter for US location detection\n * Generated: 2026-01-03T01:56:40.718Z\n * Target FPP: 0.01\n * Total locations: 23,922\n * Bits: 229,294 (28.0 KB)\n *\n * Sources:\n * - CDC PLACES County Data (3,142 counties)\n * - CDC PLACES Place Data (29,923 cities/towns)\n * - US States + territories with abbreviations\n * - Common US regions\n */\n\n// A DEFAULT IMPORT, because `bloom-filters` is CommonJS: Node's ESM loader\n// cannot name-import from it, and Bun and bundlers accept this form too.\nimport bloomFilters from \"bloom-filters\";\n\nconst { BloomFilter } = bloomFilters;\ntype BloomFilter = InstanceType<typeof BloomFilter>;\n\n// The table is data: data/bloom/us-locations.json, provenance in data/bloom/MANIFEST.json.\nimport DATA from \"../../../data/bloom/us-locations.json\" with { type: \"json\" };\n\nlet filter: BloomFilter | null = null;\n\nfunction getFilter(): BloomFilter {\n\tif (!filter) {\n\t\tfilter = BloomFilter.fromJSON({\n\t\t\ttype: \"BloomFilter\",\n\t\t\t_size: DATA.s,\n\t\t\t_nbHashes: DATA.h,\n\t\t\t_seed: DATA.d,\n\t\t\t_filter: { size: DATA.s, content: DATA.c },\n\t\t} as any);\n\t}\n\treturn filter!;\n}\n\nfunction normalize(s: string): string {\n\treturn s\n\t\t.toLowerCase()\n\t\t.normalize(\"NFD\")\n\t\t.replace(/[\\u0300-\\u036f]/g, \"\")\n\t\t.replace(/[''ʻ]/g, \"\")\n\t\t.trim();\n}\n\n/** Check if a word/phrase is a known US location */\nexport function isUSLocation(word: string): boolean {\n\treturn getFilter().has(normalize(word));\n}\n\n/** Check if any ngram of the input is a US location */\nexport function hasUSLocationNgram(phrase: string, minWords = 1): boolean {\n\tconst normalized = normalize(phrase);\n\tconst words = normalized.split(/\\s+/).filter(Boolean);\n\tif (getFilter().has(normalized)) return true;\n\tfor (let size = words.length; size >= minWords; size--) {\n\t\tfor (let i = 0; i <= words.length - size; i++) {\n\t\t\tconst ngram = words.slice(i, i + size).join(\" \");\n\t\t\tif (getFilter().has(ngram)) return true;\n\t\t}\n\t}\n\treturn false;\n}\n\n/** Find all US location ngrams in a phrase */\nexport function findUSLocationNgrams(phrase: string, minWords = 1): string[] {\n\tconst normalized = normalize(phrase);\n\tconst words = normalized.split(/\\s+/).filter(Boolean);\n\tconst matches: string[] = [];\n\tfor (let size = words.length; size >= minWords; size--) {\n\t\tfor (let i = 0; i <= words.length - size; i++) {\n\t\t\tconst ngram = words.slice(i, i + size).join(\" \");\n\t\t\tif (getFilter().has(ngram)) matches.push(ngram);\n\t\t}\n\t}\n\treturn matches;\n}\n\nexport const stats = {\n\titems: DATA.n,\n\tbits: DATA.s,\n\tfpp: 0.01,\n} as const;\n",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"/**\n * Trained weights for name classifier v4, surname-first: only the examples from documents that\n * declare surname-first (`nameFormat`); undeclared documents' examples are not in them.\n * Trained by `training/train-phrase.ts --fit all --order surname-first` on corpus-v3.0.0-188,\n * solo competitions, seed 1, generated 2026-10-02T02:59:25.628Z. Category examples\n * 57586, boundary examples 129843. Never edited by hand: retrain to change.\n */\n\nexport const weights = {\n \"person\": {\n \"weights\": [\n -0.6802641337932245,\n 0.8548619672277231,\n 0.044691633048926406,\n 0.8841856128949623,\n -0.32249172486468675,\n 1.5218962119958412,\n 0.713179998821169,\n 0.13750906453159664,\n -0.3188430096747399,\n 1.390181166042834,\n 0.1421800006933851,\n -0.052312729745749964,\n -0.37781354246287424,\n 0.6176463499527647,\n 0.27197703568546044,\n 0.08333797974989691,\n 0.5192201985627591,\n -0.057607236098493386,\n 0.9632960343429329,\n 0.13719710885016814,\n 0.6030512052935172,\n 0.9136476295652554,\n 0.3923694018053142,\n 0.5058616329224156,\n 0.2060303218107819,\n -0.24090301319117946,\n 0.5408998705006768,\n 0.05805780260756167,\n -0.40461655144764935,\n -0.042402998532671404,\n 0.14552630297014668,\n 0.3121455155755663,\n -0.8081826454788347,\n 1.1106107610690084,\n -1.2910724625760666,\n -0.07881563743612562,\n -0.8214787552311315,\n 1.6634029142427427,\n -0.997712400401828,\n -0.29032357440451567,\n -1.7129279563041666,\n 1.039984628471868,\n 1.3544887615896468,\n 0.593369594198337,\n -0.8914555083027907,\n -1.5541167135274176,\n -0.15186185715206718,\n -0.3940736493271397,\n 1.239114049603093,\n -0.10371896572656196,\n -1.6252238568922885,\n 1.171347325988512,\n 0.3753633175617233,\n -0.25492106492792277,\n -0.04313903933237184,\n -0.014865465486615142,\n -0.35401916919641213,\n 0.2667532042592745,\n -1.2943830299514483,\n 0.7085420431552465,\n -3.926876419544795,\n -2.2542160329218954,\n 0.11738873315987168,\n 0.03724677725521601,\n 0.5497863025520175,\n 0.22912319138123838,\n -0.38748179749416695,\n 0.1372697297072374,\n -1.8037691383256322,\n -0.35259830215106513,\n -0.474332456499799,\n -0.3293270205171453,\n -0.24426691630054073\n ],\n \"bias\": -0.42574548703913623\n },\n \"school\": {\n \"weights\": [\n 0.6734632085324743,\n -0.7841107472500497,\n -0.01267738081847338,\n -0.8862698595622077,\n 0.36221436728394857,\n -1.4577856507349694,\n -0.6945546550007351,\n -0.11813142128245196,\n 0.35051098099164807,\n -1.4077104981129338,\n -0.15275782415431216,\n 0.07070068570978344,\n 0.3272724804850709,\n -0.5899042778216348,\n -0.23707822847655724,\n -0.08722175736947903,\n -0.5464868875902426,\n 0.0997585722324736,\n -1.0233703453932128,\n -0.1697629444953638,\n -0.5566421571932044,\n -0.8858448580130073,\n -0.37411226587566976,\n -0.4929689582607377,\n -0.2335115945490377,\n 0.2197586207430141,\n -0.5976580450856182,\n -0.09955947440053337,\n 0.4191855892218139,\n 0.02191624744050281,\n -0.13012065519757537,\n -0.3215575392808165,\n 0.8306722196488964,\n -1.1557329140813581,\n 1.280734056441089,\n -0.024998289358161774,\n 0.7958066190139574,\n -1.7008519635201507,\n 0.9598610072284148,\n 0.29551241133234324,\n 1.669033859140968,\n -1.088407155811417,\n -1.3370535096761935,\n -0.5684804181895554,\n 0.8608379877804008,\n 1.5781630825900745,\n 0.16226712467807178,\n 0.39208836459018437,\n -1.234804745241182,\n 0.12514548569712441,\n 1.690953261920599,\n -1.175716692076952,\n -0.35663839010641923,\n 0.25131086680736164,\n 0.14429460663394394,\n -0.0074620297221686,\n 0.30194708702994333,\n -0.25946592935733825,\n 1.2637618252658394,\n -0.6994377410264787,\n 3.91098951666482,\n 2.2046857212088553,\n -0.1391083349244567,\n -0.026019448384588972,\n -0.5739164762880925,\n -0.25185766273846827,\n 0.4343185306769878,\n -0.13152993608985242,\n 1.8127187241134113,\n 0.31575437315371585,\n 0.44101972544773754,\n 0.21386962048633798,\n 0.2615852383508134\n ],\n \"bias\": 0.4028567945600977\n },\n \"location\": {\n \"weights\": [\n -0.21765902811290552,\n -0.42645181205944593,\n -0.13946453149036686,\n -0.06899857365436717,\n -0.35231317249339855,\n -0.6819659590778303,\n -0.6011104932149923,\n -0.29261000570241924,\n -0.07433798455212268,\n -0.6543018622070438,\n -0.30298846056479467,\n -0.06590790012772062,\n -0.13030902368968983,\n -0.25550489418489,\n -0.5430646921863658,\n -0.09803925796143194,\n -0.2860127626943099,\n -0.6877138795108211,\n -0.5693826128465518,\n -0.11538766296698072,\n -0.19478602503135137,\n -0.3224752895736741,\n -0.8401735397923357,\n -0.7507956548919091,\n -0.2406861285480076,\n -0.46208283622915336,\n -0.3495187695591757,\n -0.08308934782242736,\n -0.2928286245020677,\n -0.1135948344095418,\n 0.0018437118935128096,\n 0.003404689434481628,\n -0.04662414819855964,\n -0.5487279978076887,\n -0.08448603521801377,\n -0.015288622885394645,\n -0.8134615168720808,\n -0.5683816137188481,\n 0.014732692947835684,\n -0.10896756582312958,\n 0.03761353663496375,\n -0.7298163464821324,\n -0.5584231138457028,\n -0.6186196414356776,\n -0.174131971738788,\n -0.04227620383204951,\n -0.11305130197314238,\n -0.08863551103678415,\n -0.5415464290208888,\n -0.570837427782285,\n -0.2240555361312711,\n -1.079826973511573,\n -0.08123348827984528,\n -0.027057914928536795,\n -0.005122941970121867,\n -0.010690400650978843,\n -0.04822560443570033,\n -0.027852871366763784,\n -0.1494883718346695,\n -0.3275828265103096,\n -0.518190137683569,\n -0.11268347796918961,\n -0.025825747351262158,\n -0.12404774477759929,\n -0.27967526056120917,\n -0.27082065845891856,\n -0.328667743662517,\n -0.2954661276869428,\n -0.09371477092329639,\n -0.13987662918421095,\n -0.14050228446892457,\n -0.030088324313229706,\n -0.035478999289307894\n ],\n \"bias\": -1.414561918205175\n },\n \"onlyPerson\": {\n \"weights\": [\n 0.2248254096049931,\n 1.217585324842893,\n -0.3073282020091678,\n 0.3198562444746799,\n 0.7663924330438184,\n 2.1511213252284302,\n -0.10973780442750451,\n -0.11019182204932611,\n -0.21671761300333436,\n 3.2435067463139173,\n 0.6057336785319238,\n 0.45092018376380866,\n 0.26600506823596937,\n -0.6769327138476003,\n 0.8569557818143896,\n 0.29954560428787447,\n -0.13880812732906034,\n -0.07268263641661278,\n 1.5823214003636075,\n 0.2136890599116029,\n 0.6351978738867924,\n 0.2112484854726797,\n -0.7150568870139336,\n 0.19557052538763137,\n -0.06876194929151791,\n -0.6076058050632626,\n -0.14288153726932218,\n 0.035105058334635,\n 0.33954729846751713,\n 0.2610330386959275,\n 0.2883807120891806,\n 0.09778758320147643,\n -0.18763308678650184,\n -0.16638398963219095,\n -0.6705328510749619,\n 0.4315658279686732,\n -0.7251352654902212,\n 4.574597511320742,\n -2.642735920065974,\n -1.4636922267015018,\n -3.148881592746076,\n 0.4536429938381194,\n 0.026250955669666412,\n 1.0476085222024605,\n -0.29958090280533206,\n -1.353860467977709,\n 1.8166904752226256,\n -1.256954441217474,\n -0.020698274317048695,\n -0.44891197500982327,\n -1.5111022263915628,\n 1.6809529762714368,\n -0.701551842105741,\n -0.8133703377901855,\n 0.11666082828615477,\n 0.05794963315515925,\n -0.23368395891020116,\n 0.9458979910878481,\n -1.9142140176726736,\n 0.45640742861295613,\n -2.785360713572069,\n -2.4519544564138833,\n 0.2825453871574616,\n -0.420843213097721,\n -0.10780236122610767,\n 0.12695557289795295,\n 1.0707650060165224,\n 0.5610825538589519,\n -2.0844548888812393,\n 0.19689195175740237,\n -1.5647324719281273,\n -0.2739005209307571,\n -0.13860792858753523\n ],\n \"bias\": -1.0210557404964498\n },\n \"personConcat\": {\n \"weights\": [\n -1.331228759474304,\n 0.9178038799000076,\n 0.421670811111696,\n 1.1294964663746134,\n -1.6246572777011679,\n 1.3148470404285397,\n 0.2832518117587816,\n -0.6285104047385536,\n 0.23951945437202846,\n -3.009066192527357,\n -0.3064010251173732,\n -0.6962616130478719,\n -0.0006103311682060597,\n 0.8865109274294649,\n -1.6413737585388817,\n -0.2380966551419231,\n 0.8406155360984569,\n -2.24277747743974,\n -1.222685185307904,\n 0.009327292918820047,\n -0.6399791668443053,\n 1.6047871204607216,\n 1.5119550058839448,\n -0.08726298667237668,\n -0.3936948664474824,\n 0.3947026239285945,\n 0.514144366227117,\n 0.9818625042975008,\n -0.0012631118860073397,\n -0.7920051478184,\n -0.09338824951471096,\n 0.24552496300099733,\n -2.122166654730588,\n 0.6873317733452251,\n -1.5774102779421042,\n -0.8507355037952126,\n 0.6642384954114076,\n -3.3414453446781818,\n 2.6801199748122704,\n 1.8480434476219738,\n 0.1619378038249343,\n 1.1358552068099441,\n 1.2755049996095402,\n -0.6987814316879185,\n 1.2555569345373698,\n 0.5080347391557241,\n -1.584329452912894,\n -1.674618431362743,\n 1.6244410693445963,\n 1.9267853986195633,\n -1.4833605705475903,\n -3.3222767613381063,\n -0.7380863853703215,\n 1.2497676211618842,\n 0.28278739203497355,\n -1.6452913605869461,\n -0.04770503697929005,\n -0.4589511017520741,\n 0.414290549507874,\n 2.2868860910796895,\n -1.737279846729174,\n -2.1419358003113422,\n -0.24675047863777372,\n 0.1031454858861457,\n 0.8018685572669799,\n -2.3818703533292145,\n -2.1170566185154263,\n -0.3657234190590508,\n -1.2546015374725163,\n 0.016812404941957664,\n 2.7178879063105423,\n 0.3639211261795243,\n -0.24614284108144613\n ],\n \"bias\": -5.627642503232043\n }\n} as const;\n",
|
|
19
19
|
"/**\n * The phrase classifier: the runtime classifier and segmenter bound to a lexicon.\n *\n * The classifier is designed for MULTI-TOKEN phrases. For a single token, ask the\n * lexicon (`Lexicon.getNameFlags`) directly.\n *\n * @example\n * ```ts\n * import { phraseClassifier } from \"@finbheara/names/classifier\";\n *\n * const pc = phraseClassifier(); // over the committed names.txt\n * pc.classifyName(\"Quorrish Kearenn\"); // { person: 0.00, school: 0.99, location: 0.00 }\n * pc.classifyNameNormalized(\"Quorrish Kearenn\");\n * // { scores: { person: 0.00, school: 1.00, location: 0.00 }, confidence: 0.99, category: \"school\" }\n * ```\n */\n\nimport { Lexicon } from \"../lexicon/index.ts\";\nimport { lexiconKey } from \"../lexicon/keys.ts\";\nimport type { NameOrder } from \"../normalize/name-split.ts\";\nimport { isTeamDesignationFragment, partitionTeamSuffix } from \"../normalize/team-name.ts\";\nimport { isPlacePhrase } from \"./features.ts\";\nimport {\n\ttype BoundaryResult,\n\ttype ClassifierWeights,\n\ttype ClassifyResult,\n\ttype NameCategory,\n\ttype NameClassifier,\n\ttype NamesData,\n\ttype NormalizedResult,\n\ttype SegmentResult,\n\ttype Segmenter,\n\ttype SegmenterWeights,\n\tcreateClassifier,\n\tcreateSegmenter,\n} from \"./library-v4.ts\";\nimport { splitWords } from \"./seg/tokenize.ts\";\nimport { weights as GIVEN_FIRST } from \"./weights-v4-given-first.ts\";\nimport { weights as SURNAME_FIRST } from \"./weights-v4-surname-first.ts\";\nimport { weights as UNKNOWN } from \"./weights-v4.ts\";\n\n/**\n * Every method that takes an `order` takes the name order the phrase's DOCUMENT declares\n * (a sheet's `nameFormat`), and defaults to `unknown`. A declared order selects the\n * weights fitted only on documents declaring it; `unknown` (or no order) selects the\n * weights fitted on every document with its order withheld. Pass a declaration, never a\n * guess: an order read off the phrase itself (`inferNameOrder`) is not one. The\n * overrides (a declared garbage phrase, a one-word place, a place phrase) answer first\n * under every order.\n */\nexport interface PhraseClassifier {\n\t/** Raw classification scores (independent sigmoids, don't sum to 1). */\n\tclassifyName(phrase: string, order?: NameOrder): ClassifyResult;\n\t/** Category with the highest raw score. */\n\tgetNameCategory(phrase: string, order?: NameOrder): NameCategory;\n\tisPerson(phrase: string, threshold?: number, order?: NameOrder): boolean;\n\tisSchool(phrase: string, threshold?: number, order?: NameOrder): boolean;\n\tisLocation(phrase: string, threshold?: number, order?: NameOrder): boolean;\n\t/** Scores that sum to 1, the margin between the top two, and the winner. */\n\tclassifyNameNormalized(phrase: string, order?: NameOrder): NormalizedResult;\n\t/** Is this only a person, or person + school/location? */\n\tclassifyBoundary(phrase: string, order?: NameOrder): BoundaryResult;\n\tisOnlyPerson(phrase: string, threshold?: number, order?: NameOrder): boolean;\n\tisPersonConcat(phrase: string, threshold?: number, order?: NameOrder): boolean;\n\t/**\n\t * Segment a combined name string into Person/School/Location spans.\n\t *\n\t * segment(\"Mary Kate O'Trurane Quorrish Dance Academy\")\n\t * // { type: 'PS', person: ['Mary', 'Kate', \"O'Trurane\"],\n\t * // school: ['Quorrish', 'Dance', 'Academy'], boundary: 3, ... }\n\t */\n\tsegment(input: string): SegmentResult;\n\tsegmentTokens(tokens: string[]): SegmentResult;\n\t/** \"Team X <school>\" forces boundary=2, and \"<school> - X\" all-school, with full confidence. */\n\tisTeamPattern(input: string): boolean;\n\t/** Concept word positions (Academy, School, Dance, ...), which must be labelled 'S'. */\n\tfindConceptAnchors(tokens: string[]): number[];\n\t/** The `unknown`-order classifier. */\n\treadonly classifier: NameClassifier;\n\treadonly segmenter: Segmenter;\n}\n\nexport interface PhraseClassifierOptions {\n\t/**\n\t * Phrases that are not names: page furniture, footers, headings (\"Results are\n\t * provisional\", \"Dance Drama\"). A phrase whose `lexiconKey` equals one of these\n\t * scores zero for every category, is categorised `none`, and segments to nothing.\n\t * The match is the WHOLE phrase, ignoring case, spacing and punctuation; a phrase\n\t * that merely contains one is classified as usual.\n\t *\n\t * A team designation fragment (`- A`, `-A`; not a bare letter) is refused the same way\n\t * without being listed: it names nothing. A school printed with its designation after\n\t * it (`St. Rerkaskby - B`) is classified, and bounded, as its school part.\n\t */\n\tgarbageVocab?: Iterable<string>;\n\t/**\n\t * Weights other than the shipped ones (a trainer evaluating its own). `classifier` is\n\t * the `unknown` set; `ordered` the declared-order sets. Given `classifier` and no\n\t * `ordered`, that one set answers every order.\n\t */\n\tweights?: {\n\t\tclassifier?: ClassifierWeights;\n\t\tordered?: Partial<Record<Exclude<NameOrder, \"unknown\">, ClassifierWeights>>;\n\t\tsegmenter?: SegmenterWeights;\n\t};\n}\n\n/**\n * The declared orders whose `location` regression is taken from the `unknown` set. A\n * declared fit learns only from its own documents, and surname-first documents print\n * almost no place column (their place rides in the school cell), so that fit's location\n * regression saw next to no place and is untrained. Its person and school regressions,\n * and its boundary regressions, are its own. The regressions are independent sigmoids\n * over the same features, so one can come from another fit; the normalised scores then\n * sum to 1 as before.\n */\nconst LOCATION_FROM_UNKNOWN: ReadonlySet<NameOrder> = new Set([\"surname-first\"]);\n\nconst ZERO: ClassifyResult = { person: 0, school: 0, location: 0 };\n\n/**\n * Normalize scores to sum to 1 (simple division, not softmax).\n * Softmax doesn't apply here since inputs are already probabilities.\n */\nfunction normalize(raw: ClassifyResult): ClassifyResult {\n\tconst { person, school, location } = raw;\n\tconst sum = person + school + location;\n\n\tif (sum === 0) {\n\t\treturn { person: 1 / 3, school: 1 / 3, location: 1 / 3 };\n\t}\n\n\treturn {\n\t\tperson: person / sum,\n\t\tschool: school / sum,\n\t\tlocation: location / sum,\n\t};\n}\n\n/**\n * Compute confidence as margin between top 2 scores\n */\nfunction computeConfidence(scores: ClassifyResult): number {\n\tconst sorted = [scores.person, scores.school, scores.location].sort((a, b) => b - a);\n\treturn (sorted[0] ?? 0) - (sorted[1] ?? 0); // margin between 1st and 2nd\n}\n\n/**\n * A phrase classifier over `names` (default: the committed lexicon), with the\n * shipped weights unless `weights` names others (a trainer evaluating its own).\n */\nexport function phraseClassifier(\n\tnames: NamesData = Lexicon.default(),\n\toptions: PhraseClassifierOptions = {},\n): PhraseClassifier {\n\tconst garbage = new Set<string>();\n\tfor (const phrase of options.garbageVocab ?? []) {\n\t\tconst key = lexiconKey(phrase);\n\t\tif (key) garbage.add(key);\n\t}\n\t/** the phrase a question is asked of: the school part of `<school> - B`, else the phrase */\n\tconst subject = (phrase: string): string => partitionTeamSuffix(phrase)?.school ?? phrase;\n\t/** declared garbage, as printed or as the school part of `<garbage> - B`; or a bare `- A` */\n\tconst isGarbage = (phrase: string): boolean =>\n\t\tisTeamDesignationFragment(phrase) ||\n\t\t(garbage.size > 0 &&\n\t\t\t(garbage.has(lexiconKey(phrase)) || garbage.has(lexiconKey(subject(phrase)))));\n\tconst refused = (): SegmentResult => ({\n\t\ttype: \"none\",\n\t\tperson: [],\n\t\tschool: [],\n\t\tlocation: [],\n\t\tboundary: 0,\n\t\tconfidence: 0,\n\t\tisTeam: false,\n\t});\n\n\tconst namesData: NamesData = {\n\t\tgetNameFlags: (n) => names.getNameFlags(n),\n\t\tmatchBigramContinuations: (w) => names.matchBigramContinuations?.(w) ?? null,\n\t};\n\tconst w = options.weights;\n\tconst classifier = createClassifier(namesData, w?.classifier);\n\tconst declared = (o: Exclude<NameOrder, \"unknown\">, shipped: ClassifierWeights) => {\n\t\tconst set = w?.ordered?.[o] ?? (w?.classifier ? undefined : shipped);\n\t\tif (!set) return classifier;\n\t\tconst location = LOCATION_FROM_UNKNOWN.has(o)\n\t\t\t? (w?.classifier ?? UNKNOWN).location\n\t\t\t: set.location;\n\t\treturn createClassifier(namesData, { ...set, location });\n\t};\n\tconst byOrder: Record<NameOrder, NameClassifier> = {\n\t\tunknown: classifier,\n\t\t\"given-first\": declared(\"given-first\", GIVEN_FIRST),\n\t\t\"surname-first\": declared(\"surname-first\", SURNAME_FIRST),\n\t};\n\tconst model = (order: NameOrder = \"unknown\"): NameClassifier => byOrder[order] ?? classifier;\n\tconst segmenter = createSegmenter(namesData, options.weights?.segmenter);\n\n\tconst PLACE: ClassifyResult = { person: 0.05, school: 0.05, location: 0.9 };\n\n\t/**\n\t * A place the lexicon names outright is a location, without the regression:\n\t * - a single word with the G flag is almost certainly a location (\"Virginia\",\n\t * \"Texas\", \"Maryland\"), not a person's first name;\n\t * - a phrase of place words, none a given name or a school's name\n\t * (`isPlacePhrase`: \"Hilton Baltimore\").\n\t */\n\tfunction placeOverride(phrase: string): ClassifyResult | null {\n\t\tconst trimmed = phrase.trim();\n\t\tif (splitWords(trimmed).length !== 1)\n\t\t\treturn isPlacePhrase(trimmed, (n) => names.getNameFlags(n)) ? { ...PLACE } : null;\n\t\tconst flags = names.getNameFlags(trimmed);\n\t\tif (!flags) return null;\n\t\tif (flags.includes(\"G\")) return { ...PLACE };\n\t\treturn null;\n\t}\n\n\tfunction classifyName(phrase: string, order?: NameOrder): ClassifyResult {\n\t\tif (isGarbage(phrase)) return { ...ZERO };\n\t\tconst s = subject(phrase);\n\t\treturn placeOverride(s) ?? model(order).classifyName(s);\n\t}\n\n\tfunction category(scores: ClassifyResult): NameCategory {\n\t\tconst max = Math.max(scores.person, scores.school, scores.location);\n\t\tif (max === 0) return \"none\";\n\t\tif (scores.person === max) return \"person\";\n\t\tif (scores.school === max) return \"school\";\n\t\treturn \"location\";\n\t}\n\n\treturn {\n\t\tclassifyName,\n\t\tgetNameCategory: (phrase, order) => category(classifyName(phrase, order)),\n\t\tisPerson: (phrase, threshold = 0.5, order?: NameOrder) =>\n\t\t\tclassifyName(phrase, order).person >= threshold,\n\t\tisSchool: (phrase, threshold = 0.5, order?: NameOrder) =>\n\t\t\tclassifyName(phrase, order).school >= threshold,\n\t\tisLocation: (phrase, threshold = 0.5, order?: NameOrder) =>\n\t\t\tclassifyName(phrase, order).location >= threshold,\n\t\tclassifyNameNormalized(phrase, order) {\n\t\t\tif (isGarbage(phrase)) return { scores: { ...ZERO }, confidence: 0, category: \"none\" };\n\t\t\tconst scores = normalize(classifyName(phrase, order));\n\t\t\treturn { scores, confidence: computeConfidence(scores), category: category(scores) };\n\t\t},\n\t\tclassifyBoundary: (phrase, order) =>\n\t\t\tisGarbage(phrase)\n\t\t\t\t? { onlyPerson: 0, personConcat: 0 }\n\t\t\t\t: model(order).classifyBoundary(subject(phrase)),\n\t\tisOnlyPerson: (phrase, threshold = 0.5, order?: NameOrder) =>\n\t\t\t!isGarbage(phrase) && model(order).isOnlyPerson(subject(phrase), threshold),\n\t\tisPersonConcat: (phrase, threshold = 0.5, order?: NameOrder) =>\n\t\t\t!isGarbage(phrase) && model(order).isPersonConcat(subject(phrase), threshold),\n\t\tsegment: (input) => (isGarbage(input) ? refused() : segmenter.segment(input)),\n\t\tsegmentTokens: (tokens) =>\n\t\t\tisGarbage(tokens.join(\" \")) ? refused() : segmenter.segmentTokens(tokens),\n\t\tisTeamPattern: (input) => segmenter.isTeamPattern(input),\n\t\tfindConceptAnchors: (tokens) => segmenter.findConceptAnchors(tokens),\n\t\tclassifier,\n\t\tsegmenter,\n\t};\n}\n"
|
|
20
20
|
],
|
|
21
|
-
"mappings": "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,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEO,IAAM,UAAU;AAAA,EACtB,QAAU;AAAA,IACT,SAAW;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,MAAQ;AAAA,EACT;AAAA,EACA,QAAU;AAAA,IACT,SAAW;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,MAAQ;AAAA,EACT;AAAA,EACA,UAAY;AAAA,IACX,SAAW;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,MAAQ;AAAA,EACT;AAAA,EACA,YAAc;AAAA,IACb,SAAW;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,MAAQ;AAAA,EACT;AAAA,EACA,cAAgB;AAAA,IACf,SAAW;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AA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A,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,MAAQ;AAAA,EACT;AAAA,EACA,UAAY;AAAA,IACX,SAAW;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,MAAQ;AAAA,EACT;AAAA,EACA,YAAc;AAAA,IACb,SAAW;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,MAAQ;AAAA,EACT;AAAA,EACA,cAAgB;AAAA,IACf,SAAW;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,MAAQ;AAAA,EACT;AACD;;;ACvYO,IAAM,WAAU;AAAA,EACtB,QAAU;AAAA,IACT,SAAW;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,MAAQ;AAAA,EACT;AAAA,EACA,QAAU;AAAA,IACT,SAAW;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,MAAQ;AAAA,EACT;AAAA,EACA,UAAY;AAAA,IACX,SAAW;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,MAAQ;AAAA,EACT;AAAA,EACA,YAAc;AAAA,IACb,SAAW;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,MAAQ;AAAA,EACT;AAAA,EACA,cAAgB;AAAA,IACf,SAAW;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,MAAQ;AAAA,EACT;AACD;;;AC3RA,IAAM,wBAAgD,IAAI,IAAI,CAAC,eAAe,CAAC;AAE/E,IAAM,OAAuB,EAAE,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",
|
|
22
|
-
"debugId": "
|
|
21
|
+
"mappings": "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,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEO,IAAM,UAAU;AAAA,EACtB,QAAU;AAAA,IACT,SAAW;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,MAAQ;AAAA,EACT;AAAA,EACA,QAAU;AAAA,IACT,SAAW;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,MAAQ;AAAA,EACT;AAAA,EACA,UAAY;AAAA,IACX,SAAW;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,MAAQ;AAAA,EACT;AAAA,EACA,YAAc;AAAA,IACb,SAAW;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,MAAQ;AAAA,EACT;AAAA,EACA,cAAgB;AAAA,IACf,SAAW;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,MAAQ;AAAA,EACT;AACD;;;ACzbO,SAAS,UAAU,CACzB,QACA,UACwB;AAAA,EACxB,MAAM,QAAQ,SAAS,MAAM;AAAA,EAC7B,IAAI,CAAC;AAAA,IAAO,OAAO;AAAA,EAGnB,IAAI,MAAM,SAAS,GAAG,GAAG;AAAA,IACxB,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,EAAE;AAAA,EAC5C;AAAA,EAEA,IAAI,MAAM,SAAS,GAAG,GAAG;AAAA,IACxB,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,EAAE;AAAA,EAC5C;AAAA,EAEA,IAAI,SAAS,KAAK,KAAK,KAAK,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,SAAS,GAAG,GAAG;AAAA,IACzE,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,EAAE;AAAA,EAC5C;AAAA,EAEA,OAAO;AAAA;AAOR,SAAS,cAAc,CAAC,QAA0B;AAAA,EACjD,OAAO,WAAW,OAAO,QAAQ,cAAc,GAAG,CAAC;AAAA;AAQpD,SAAS,eAAe,CAAC,MAA6B;AAAA,EACrD,OAAO,UAAU,KAAK,IAAI,IAAI,OAAO,WAAU,IAAI;AAAA;AAWpD,SAAS,UAAU,CAAC,QAA0B;AAAA,EAC7C,MAAM,MAAkB,CAAC,CAAC,CAAC;AAAA,EAC3B,WAAW,QAAQ,WAAW,MAAM,GAAG;AAAA,IACtC,MAAM,OAAO,KAAK,QAAQ,OAAO,EAAE;AAAA,IACnC,IAAI;AAAA,MAAM,IAAI,IAAI,SAAS,GAAI,KAAK,IAAI;AAAA,IACxC,IAAI,SAAS;AAAA,MAAM,IAAI,KAAK,CAAC,CAAC;AAAA,EAC/B;AAAA,EACA,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC;AAAA;AAQvD,SAAS,SAAQ,CACvB,QACA,0BACW;AAAA,EACX,MAAM,YAAY,eAAe,MAAM;AAAA,EACvC,IAAI,CAAC,4BAA4B,UAAU,SAAS;AAAA,IAAG,OAAO;AAAA,EAE9D,MAAM,SAAmB,CAAC;AAAA,EAC1B,IAAI,IAAI;AAAA,EAER,OAAO,IAAI,UAAU,QAAQ;AAAA,IAC5B,MAAM,OAAO,UAAU;AAAA,IAEvB,MAAM,gBAAgB,UAAU,KAAK,IAAI,IAAI,OAAO,yBAAyB,IAAI;AAAA,IAEjF,IAAI,iBAAiB,IAAI,IAAI,UAAU,QAAQ;AAAA,MAC9C,IAAI,UAAU;AAAA,MACd,WAAW,QAAQ,eAAe;AAAA,QACjC,IAAI,IAAI,KAAK,SAAS,UAAU,QAAQ;AAAA,UACvC,IAAI,UAAU;AAAA,UACd,SAAS,IAAI,EAAG,IAAI,KAAK,QAAQ,KAAK;AAAA,YACrC,IAAI,gBAAgB,UAAU,IAAI,IAAI,EAAG,MAAM,KAAK,IAAI;AAAA,cACvD,UAAU;AAAA,cACV;AAAA,YACD;AAAA,UACD;AAAA,UACA,IAAI,SAAS;AAAA,YACZ,MAAM,SAAS,CAAC,MAAM,GAAG,UAAU,MAAM,IAAI,GAAG,IAAI,IAAI,KAAK,MAAM,CAAC,EAAE,KAAK,GAAG;AAAA,YAC9E,OAAO,KAAK,MAAM;AAAA,YAClB,KAAK,IAAI,KAAK;AAAA,YACd,UAAU;AAAA,YACV;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,MACA,IAAI,CAAC,SAAS;AAAA,QACb,OAAO,KAAK,IAAI;AAAA,QAChB;AAAA,MACD;AAAA,IACD,EAAO;AAAA,MACN,OAAO,KAAK,IAAI;AAAA,MAChB;AAAA;AAAA,EAEF;AAAA,EAEA,OAAO;AAAA;AAGR,SAAS,gBAAgB,CAAC,QAAyB;AAAA,EAClD,OAAO,YAAY,KAAK,MAAM;AAAA;AA0B/B,SAAS,YAAY,CAAC,MAAc,UAAsD;AAAA,EAEzF,MAAM,QAAQ,SAAS,IAAI,KAAK;AAAA,EAMhC,MAAM,OAAO,KAAK,QAAQ,WAAW,EAAE;AAAA,EACvC,MAAM,KAAK,KAAK,SAAS,GAAG,KAAK,CAAC,MAAM,SAAS,GAAG,IAAI,KAAK,QAAQ,QAAQ,EAAE,IAAI;AAAA,EACnF,MAAM,eAAe,YAAY,EAAE;AAAA,EACnC,MAAM,aAAa,UAAU,EAAE;AAAA,EAC/B,MAAM,kBAAkB,eAAe,EAAE;AAAA,EACzC,MAAM,cAAc,WAAW,EAAE,KAAK,aAAa,EAAE;AAAA,EACrD,MAAM,YAAY,SAAS,EAAE;AAAA,EAC7B,MAAM,WAAW,YAAY,EAAE;AAAA,EAC/B,MAAM,cAAc,UAAU;AAAA,EAE9B,OAAO;AAAA,IACN;AAAA,IACA,gBAAgB;AAAA,IAChB,cAAc;AAAA,IACd,mBAAmB;AAAA,IACnB,eAAe;AAAA,IACf,aAAa;AAAA,IACb,gBAAgB;AAAA,IAChB,cAAc,CAAC,gBAAgB,CAAC,cAAc,CAAC,eAAe,CAAC;AAAA,IAC/D,kBAAkB,QAAQ,KAAK,KAAK;AAAA,IACpC,gBAAgB,MAAM,SAAS,GAAG;AAAA,IAClC,eAAe,MAAM,SAAS,GAAG;AAAA,IACjC,YAAY,MAAM,SAAS,GAAG;AAAA,IAC9B,eAAe,CAAC;AAAA,IAChB,aAAa,YAAW,IAAI,KAAK,YAAY,CAAC;AAAA,EAC/C;AAAA;AAOM,SAAS,eAAe,CAC9B,QACA,UACA,0BACW;AAAA,EACX,MAAM,SAAS,UAAS,QAAQ,wBAAwB;AAAA,EACxD,IAAI,OAAO,WAAW,GAAG;AAAA,IACxB,OAAO,IAAI,MAAM,cAAc,MAAM,EAAE,KAAK,CAAC;AAAA,EAC9C;AAAA,EAEA,MAAM,QAAQ,OAAO,IAAI,CAAC,MAAM,aAAa,GAAG,QAAQ,CAAC;AAAA,EACzD,MAAM,QAAQ,MAAM;AAAA,EACpB,MAAM,SAAS,MAAM,SAAS,IAAI,MAAM,KAAK;AAAA,EAC7C,MAAM,OAAO,MAAM,MAAM,SAAS;AAAA,EAGlC,IAAI,oBAAoB;AAAA,EACxB,IAAI,kBAAkB;AAAA,EACtB,IAAI,mBAAmB;AAAA,EACvB,IAAI,oBAAoB;AAAA,EACxB,IAAI,oBAAoB;AAAA,EAExB,WAAW,QAAQ,OAAO;AAAA,IACzB,IAAI,KAAK;AAAA,MAAgB;AAAA,IACzB,IAAI,KAAK;AAAA,MAAc;AAAA,IACvB,IAAI,KAAK;AAAA,MAAe;AAAA,IACxB,qBAAqB,KAAK;AAAA,IAC1B,oBAAoB,KAAK,IAAI,mBAAmB,KAAK,cAAc;AAAA,EACpE;AAAA,EAEA,MAAM,iBAAiB,MAAM,MAAM,CAAC,MAAM,EAAE,YAAY;AAAA,EACxD,MAAM,eAAe,MAAM,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,iBAAiB,GAAG;AAAA,EAC/E,MAAM,6BAA6B,MAAM,kBAAkB,QAAQ;AAAA,EACnE,MAAM,6BAA6B,MAAM,gBAAgB,QAAQ;AAAA,EAEjE,IAAI,qBAAqB;AAAA,EACzB,SAAS,IAAI,EAAG,IAAI,MAAM,SAAS,GAAG,KAAK;AAAA,IAC1C,IAAI,MAAM,GAAI,gBAAgB,MAAM,IAAI,GAAI,cAAc;AAAA,MACzD,qBAAqB;AAAA,MACrB;AAAA,IACD;AAAA,EACD;AAAA,EAEA,IAAI,uBAAuB;AAAA,EAC3B,IAAI,0BAA0B;AAAA,EAC9B,IAAI,qBAAqB;AAAA,EACzB,WAAW,QAAQ,OAAO;AAAA,IACzB,IAAI,KAAK,eAAe;AAAA,MACvB;AAAA,MACA,IAAI,sBAAsB,GAAG;AAAA,QAC5B,uBAAuB;AAAA,QACvB,0BAA0B,KAAK,IAAI,yBAAyB,kBAAkB;AAAA,MAC/E;AAAA,IACD,EAAO;AAAA,MACN,qBAAqB;AAAA;AAAA,EAEvB;AAAA,EAGA,IAAI,qBAAqB;AAAA,EACzB,IAAI,mBAAmB;AAAA,EAEvB,WAAW,QAAQ,OAAO;AAAA,IACzB,IAAI,KAAK;AAAA,MAAkB;AAAA,IAC3B,IAAI,KAAK;AAAA,MAAgB;AAAA,EAC1B;AAAA,EAEA,MAAM,yBAAyB,MAAM,MACpC,CAAC,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,WACjD;AAAA,EACA,MAAM,gBAAgB,MAAM,MAAM,CAAC,MAAM,EAAE,aAAa;AAAA,EAGxD,MAAM,eAAe,MAAM,KAAK,CAAC,MAAM,EAAE,WAAW;AAAA,EACpD,MAAM,gBAAgB,OAAO,KAAK,CAAC,MAAM,QAAQ,KAAK,CAAC,CAAC;AAAA,EACxD,MAAM,SAAS,WAAW,MAAM,EAAE,QAAQ,CAAC,MAAM,iBAAiB,CAAC,CAAC;AAAA,EACpE,MAAM,eACL,OAAO,SAAS,IACb,OAAO,OAAO,CAAC,GAAG,MAAO,EAAE,MAAM,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,EAAE,SAAS,IAAI,CAAE,IAC3E;AAAA,EACJ,MAAM,eAAe,OAAO,KAAK,CAAC,MAAM,iBAAgB,IAAI,EAAE,YAAY,CAAC,CAAC;AAAA,EAE5E,OAAO;AAAA,IAEN,MAAM,iBAAiB,IAAI;AAAA,IAC3B,MAAM,eAAe,IAAI;AAAA,IACzB,MAAM,oBAAoB,IAAI;AAAA,IAC9B,MAAM,gBAAgB,IAAI;AAAA,IAC1B,MAAM,cAAc,IAAI;AAAA,IACxB,MAAM,eAAe,IAAI;AAAA,IAEzB,QAAQ,iBAAiB,IAAI;AAAA,IAC7B,QAAQ,eAAe,IAAI;AAAA,IAC3B,QAAQ,gBAAgB,IAAI;AAAA,IAE5B,KAAK,iBAAiB,IAAI;AAAA,IAC1B,KAAK,eAAe,IAAI;AAAA,IACxB,KAAK,oBAAoB,IAAI;AAAA,IAC7B,KAAK,gBAAgB,IAAI;AAAA,IACzB,KAAK,cAAc,IAAI;AAAA,IACvB,KAAK,eAAe,IAAI;AAAA,IAExB,6BAA6B,IAAI;AAAA,IACjC,6BAA6B,IAAI;AAAA,IAEjC,oBAAoB,IAAI,IAAI;AAAA,IAC5B,kBAAkB,IAAI,IAAI;AAAA,IAC1B,MAAM,KAAK,CAAC,MAAM,EAAE,iBAAiB,IAAI,IAAI;AAAA,IAC7C,mBAAmB,IAAI,IAAI;AAAA,IAC3B,MAAM,KAAK,CAAC,MAAM,EAAE,WAAW,IAAI,IAAI;AAAA,IAEvC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA,iBAAiB,IAAI;AAAA,IACrB,eAAe,IAAI;AAAA,IACnB,qBAAqB,IAAI;AAAA,IACzB,uBAAuB,IAAI;AAAA,IAC3B;AAAA,IAGA,MAAM,mBAAmB,IAAI;AAAA,IAC7B,MAAM,kBAAkB,CAAC,MAAM,mBAAmB,IAAI;AAAA,IACtD,MAAM,gBAAgB,IAAI;AAAA,IAC1B,MAAM,aAAa,IAAI;AAAA,IACvB,MAAM,gBAAgB,IAAI;AAAA,IAE1B,KAAK,mBAAmB,IAAI;AAAA,IAC5B,KAAK,kBAAkB,CAAC,KAAK,mBAAmB,IAAI;AAAA,IACpD,KAAK,gBAAgB,IAAI;AAAA,IACzB,KAAK,aAAa,IAAI;AAAA,IACtB,KAAK,gBAAgB,IAAI;AAAA,IAEzB,MAAM,KAAK,CAAC,MAAM,EAAE,gBAAgB,IAAI,IAAI;AAAA,IAC5C,MAAM,KAAK,CAAC,MAAM,EAAE,cAAc,IAAI,IAAI;AAAA,IAC1C,MAAM,KAAK,CAAC,MAAM,EAAE,aAAa,IAAI,IAAI;AAAA,IACzC,MAAM,KAAK,CAAC,MAAM,EAAE,UAAU,IAAI,IAAI;AAAA,IAEtC,yBAAyB,IAAI;AAAA,IAC7B,gBAAgB,IAAI;AAAA,IACpB;AAAA,IACA;AAAA,IAGA,OAAO,WAAW,IAAI,IAAI;AAAA,IAC1B,OAAO,WAAW,IAAI,IAAI;AAAA,IAC1B,OAAO,WAAW,IAAI,IAAI;AAAA,IAC1B,OAAO,WAAW,IAAI,IAAI;AAAA,IAC1B,OAAO,WAAW,IAAI,IAAI;AAAA,IAC1B,OAAO,UAAU,IAAI,IAAI;AAAA,IACzB,iBAAiB,MAAM,IAAI,IAAI;AAAA,IAC/B,eAAe,IAAI;AAAA,IACnB,gBAAgB,IAAI;AAAA,IAEpB,OAAO,SAAS,IAAI,IAAI;AAAA,IACxB,eAAe,aAAa,MAAM,GAAG,EAAE,SAAS;AAAA,IAChD,eAAe,IAAI;AAAA,IAInB,MAAM,kBAAkB,QAAQ,eAAe,IAAI;AAAA,IACnD,MAAM,gBAAgB,QAAQ,eAAe,IAAI;AAAA,IACjD,MAAM,gBAAgB,QAAQ,iBAAiB,IAAI;AAAA,IAGnD,MAAM,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,WAAW,IAAI,IAAI;AAAA,IAClF,MAAM,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,WAAW,IAAI,IAAI;AAAA,IAG9E,KAAK,eAAe,IAAI;AAAA,IACxB,iBAAgB,IAAI,OAAO,OAAO,SAAS,GAAI,YAAY,CAAC,IAAI,IAAI;AAAA,IACpE,KAAK,gBAAgB,IAAI;AAAA,IAGzB,KAAK,IAAI,GAAG,OAAO,SAAS,CAAC;AAAA,IAC7B,OAAO,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,iBAAgB,IAAI,EAAE,YAAY,CAAC,CAAC,IAAI,IAAI;AAAA,IACxE,MAAM,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,aAAa,IAAI,IAAI;AAAA,EACnD;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3WM,SAAS,eAAe,CAAC,QAAkB,GAAoB;AAAA,EACrE,IAAI,IAAI,KAAK,OAAO;AAAA,IAAQ,OAAO;AAAA,EACnC,MAAM,KAAK,OAAO,GAAI,YAAY;AAAA,EAClC,MAAM,KAAK,OAAO,IAAI;AAAA,EACtB,OAAO,OAAO,UAAU,aAAa,KAAK,EAAE;AAAA;AAGtC,SAAS,eAAe,CAAC,QAAiC;AAAA,EAChE,IAAI,OAAO,UAAU,KAAK,gBAAgB,QAAQ,CAAC,GAAG;AAAA,IACrD,OAAO;AAAA,EACR;AAAA,EACA,OAAO;AAAA;AA6BD,SAAS,oBAAoB,CACnC,OACA,UACgB;AAAA,EAChB,MAAM,OAAO,WAAU,KAAK;AAAA,EAC5B,MAAM,QAAQ,SAAS,KAAK,KAAK;AAAA,EAEjC,OAAO;AAAA,IACN,MAAM;AAAA,IACN;AAAA,IACA,WAAW,UAAU,KAAK;AAAA,IAC1B,aAAa,YAAY,KAAK;AAAA,IAC9B,gBAAgB,eAAe,KAAK;AAAA,IACpC,WAAW,MAAM,SAAS,GAAG;AAAA,IAC7B,eAAe,QAAQ,KAAK,KAAK;AAAA,IACjC,WAAW,UAAU,KAAK;AAAA,IAC1B,aAAa,YAAY,KAAK;AAAA,IAC9B,WAAW,UAAU,KAAK;AAAA,IAC1B,aAAa,YAAY,KAAK;AAAA,IAC9B,YAAY,YAAW,KAAK;AAAA,IAC5B,WAAW,KAAK,KAAK,KAAK;AAAA,IAC1B,UAAU;AAAA,IACV,eAAe,OAAO,SAAS,GAAG,KAAK;AAAA,IACvC,YAAY,WAAW,KAAK,KAAK,aAAa,KAAK;AAAA,IACnD,cAAc,aAAa,KAAK;AAAA,IAChC,UAAU,SAAS,KAAK;AAAA,IACxB,aAAa,YAAY,KAAK;AAAA,EAC/B;AAAA;AAGM,IAAM,oBAAoB;AAE1B,SAAS,qBAAqB,CAAC,GAA4B;AAAA,EACjE,MAAM,QAAQ,EAAE,YAAY;AAAA,EAC5B,OAAO;AAAA,IACN,EAAE,YAAY,IAAI;AAAA,IAClB,EAAE,cAAc,IAAI;AAAA,IACpB,EAAE,aAAa,EAAE,eAAe,EAAE,iBAAiB,IAAI;AAAA,IACvD,EAAE,iBAAiB,IAAI;AAAA,IACvB,EAAE,YAAY,IAAI;AAAA,IAClB,EAAE,gBAAgB,IAAI;AAAA,IACtB,EAAE,YAAY,IAAI;AAAA,IAClB,EAAE,cAAc,IAAI;AAAA,IACpB,EAAE,YAAY,IAAI;AAAA,IAClB,EAAE,cAAc,IAAI;AAAA,IACpB,EAAE,aAAa,IAAI;AAAA,IACnB,EAAE,YAAY,IAAI;AAAA,IAClB,MAAM,SAAS,GAAG,IAAI,IAAI;AAAA,IAC1B,MAAM,SAAS,GAAG,IAAI,IAAI;AAAA,IAC1B,MAAM,SAAS,GAAG,IAAI,IAAI;AAAA,IAC1B,MAAM,SAAS,GAAG,IAAI,IAAI;AAAA,IAC1B,MAAM,SAAS,GAAG,IAAI,IAAI;AAAA,IAC1B,MAAM,SAAS,GAAG,IAAI,IAAI;AAAA,IAC1B,EAAE,aAAa,IAAI;AAAA,IACnB,EAAE,eAAe,IAAI;AAAA,IACrB,EAAE,WAAW,IAAI;AAAA,IACjB,EAAE;AAAA,EACH;AAAA;AAGM,SAAS,2BAA2B,CAAC,aAA8B,GAAqB;AAAA,EAC9F,MAAM,OAAO,sBAAsB,YAAY,EAAG;AAAA,EAClD,MAAM,OACL,IAAI,IAAI,sBAAsB,YAAY,IAAI,EAAG,IAAI,IAAI,MAAM,iBAAiB,EAAE,KAAK,CAAC;AAAA,EACzF,MAAM,QACL,IAAI,YAAY,SAAS,IACtB,sBAAsB,YAAY,IAAI,EAAG,IACzC,IAAI,MAAM,iBAAiB,EAAE,KAAK,CAAC;AAAA,EACvC,OAAO,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK;AAAA;AAuB5B,SAAS,mBAAmB,CAClC,aACA,OACA,KACe;AAAA,EACf,MAAM,OAAO,YAAY,MAAM,OAAO,GAAG;AAAA,EACzC,MAAM,MAAM,KAAK;AAAA,EAEjB,IAAI,QAAQ,GAAG;AAAA,IACd,OAAO;AAAA,MACN,QAAQ;AAAA,MACR,gBAAgB;AAAA,MAChB,kBAAkB;AAAA,MAClB,iBAAiB;AAAA,MACjB,gBAAgB;AAAA,MAChB,qBAAqB;AAAA,MACrB,mBAAmB;AAAA,MACnB,iBAAiB;AAAA,MACjB,qBAAqB;AAAA,MACrB,gBAAgB;AAAA,MAChB,gBAAgB;AAAA,MAChB,mBAAmB;AAAA,MACnB,qBAAqB;AAAA,IACtB;AAAA,EACD;AAAA,EAEA,MAAM,eAAe,KAAK,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE;AAAA,EACrD,MAAM,iBAAiB,KAAK,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE;AAAA,EACzD,MAAM,gBAAgB,KAAK,OAAO,CAAC,MAAM,EAAE,UAAU,SAAS,GAAG,CAAC,EAAE;AAAA,EAEpE,IAAI,aAAa;AAAA,EACjB,SAAS,IAAI,EAAG,IAAI,KAAK,QAAQ,KAAK;AAAA,IACrC,IAAI,cAAc,KAAK,GAAI,IAAI,GAAG;AAAA,MACjC,aAAa;AAAA,MACb;AAAA,IACD;AAAA,EACD;AAAA,EAEA,MAAM,WAAW,KAAK,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG;AAAA,EACjD,MAAM,eAAe,iBAAiB,QAAQ;AAAA,EAC9C,MAAM,eACL,aAAa,SAAS,IACnB,aAAa,OAAO,CAAC,GAAG,MAAO,EAAE,MAAM,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,EAAE,SAAS,IAAI,CAAE,IACjF;AAAA,EACJ,MAAM,wBAAwB,eAAe,aAAa,MAAM,GAAG,EAAE,SAAS;AAAA,EAE9E,OAAO;AAAA,IACN,QAAQ;AAAA,IACR,gBAAgB,eAAe;AAAA,IAC/B,kBAAkB,iBAAiB;AAAA,IACnC,iBAAiB,gBAAgB;AAAA,IACjC,gBAAgB,cAAc;AAAA,IAC9B,qBAAqB;AAAA,IACrB,mBAAmB,KAAK,GAAI;AAAA,IAC5B,iBAAiB,KAAK,MAAM,GAAI;AAAA,IAChC,qBAAqB,KAAK,GAAI;AAAA,IAC9B,gBAAgB,KAAK,MAAM,CAAC,MAAM,EAAE,SAAS;AAAA,IAC7C,gBAAgB,aAAa,SAAS;AAAA,IACtC,mBAAmB;AAAA,IACnB,qBAAqB,wBAAwB;AAAA,EAC9C;AAAA;AAGM,SAAS,oBAAoB,CAAC,GAA2B;AAAA,EAC/D,OAAO;AAAA,IACN,EAAE;AAAA,IACF,EAAE,WAAW,IAAI,IAAI;AAAA,IACrB,EAAE,WAAW,IAAI,IAAI;AAAA,IACrB,EAAE,UAAU,IAAI,IAAI;AAAA,IACpB,EAAE;AAAA,IACF,EAAE;AAAA,IACF,EAAE;AAAA,IACF,EAAE,iBAAiB,IAAI;AAAA,IACvB,EAAE,uBAAuB,IAAI,EAAE,sBAAsB,EAAE,SAAS;AAAA,IAChE,EAAE,oBAAoB,IAAI;AAAA,IAC1B,EAAE,kBAAkB,IAAI;AAAA,IACxB,EAAE,sBAAsB,IAAI;AAAA,IAC5B,EAAE,iBAAiB,IAAI;AAAA,IACvB,EAAE,iBAAiB,IAAI;AAAA,IACvB,EAAE;AAAA,IACF,EAAE;AAAA,EACH;AAAA;AAqBM,SAAS,KAAK,CAAC,GAA2B;AAAA,EAChD,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,eAAe,CAAC,EAAE;AAAA;AAGtC,SAAS,WAAW,CAAC,GAA2B;AAAA,EACtD,QAAQ,EAAE,aAAa,EAAE,gBAAgB,EAAE;AAAA;AAGrC,SAAS,uBAAuB,CAAC,aAA8B,GAA6B;AAAA,EAClG,MAAM,KAAK,YAAY;AAAA,EACvB,MAAM,OAAO,YAAY,IAAI;AAAA,EAE7B,IAAI,CAAC,MAAM,CAAC,MAAM;AAAA,IACjB,OAAO;AAAA,MACN,iBAAiB;AAAA,MACjB,oBAAoB;AAAA,MACpB,eAAe;AAAA,MACf,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,eAAe;AAAA,MACf,aAAa;AAAA,MACb,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,gBAAgB;AAAA,MAChB,eAAe;AAAA,IAChB;AAAA,EACD;AAAA,EAEA,OAAO;AAAA,IACN,iBAAiB,GAAG,aAAa,KAAK;AAAA,IACtC,oBAAoB,GAAG,eAAe,cAAc,KAAK,IAAI;AAAA,IAC7D,eAAe,YAAY,EAAE,KAAK,YAAY,IAAI;AAAA,IAClD,WAAW,GAAG,aAAa,KAAK;AAAA,IAChC,QAAQ,MAAM,EAAE,KAAK,MAAM,IAAI;AAAA,IAC/B,eAAe,GAAG;AAAA,IAClB,aAAa,GAAG;AAAA,IAChB,kBAAkB,KAAK;AAAA,IACvB,kBAAkB,cAAc,KAAK,IAAI;AAAA,IACzC,gBAAgB,GAAG;AAAA,IACnB,eAAe,KAAK;AAAA,EACrB;AAAA;AAGM,SAAS,wBAAwB,CAAC,GAA+B;AAAA,EACvE,OAAO;AAAA,IACN,EAAE,kBAAkB,IAAI;AAAA,IACxB,EAAE,qBAAqB,IAAI;AAAA,IAC3B,EAAE,gBAAgB,IAAI;AAAA,IACtB,EAAE,YAAY,IAAI;AAAA,IAClB,EAAE,SAAS,IAAI;AAAA,IACf,EAAE,gBAAgB,IAAI;AAAA,IACtB,EAAE,cAAc,IAAI;AAAA,IACpB,EAAE,mBAAmB,IAAI;AAAA,IACzB,EAAE,mBAAmB,IAAI;AAAA,IACzB,EAAE,iBAAiB,IAAI;AAAA,IACvB,EAAE,gBAAgB,IAAI;AAAA,EACvB;AAAA;;;AClRM,SAAS,GAAG,CAAC,GAAsB,GAA8B;AAAA,EACvE,IAAI,MAAM;AAAA,EACV,SAAS,IAAI,EAAG,IAAI,EAAE,QAAQ,KAAK;AAAA,IAClC,OAAO,EAAE,KAAM,EAAE;AAAA,EAClB;AAAA,EACA,OAAO;AAAA;AAGD,SAAS,OAAO,CAAC,QAA4B;AAAA,EACnD,MAAM,MAAM,KAAK,IAAI,GAAG,MAAM;AAAA,EAC9B,MAAM,OAAO,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,GAAG,CAAC;AAAA,EAChD,MAAM,MAAM,KAAK,OAAO,CAAC,GAAG,MAAM,IAAI,GAAG,CAAC;AAAA,EAC1C,OAAO,KAAK,IAAI,CAAC,MAAM,IAAI,GAAG;AAAA;AAGxB,SAAS,sBAAsB,CAAC,GAA2B;AAAA,EACjE,MAAM,UAA0B,CAAC;AAAA,EAEjC,MAAM,aAAa,CAAC,MAAc,MAAc,UAAgC;AAAA,IAC/E,MAAM,SAAuB,CAAC;AAAA,IAC9B,SAAS,IAAI,EAAG,IAAI,MAAM;AAAA,MAAK,OAAO,KAAK,GAAG;AAAA,IAC9C,SAAS,IAAI,KAAM,IAAI,MAAM;AAAA,MAAK,OAAO,KAAK,GAAG;AAAA,IACjD,SAAS,IAAI,KAAM,IAAI,OAAO;AAAA,MAAK,OAAO,KAAK,GAAG;AAAA,IAClD,OAAO;AAAA;AAAA,EAIR,IAAI,KAAK,GAAG;AAAA,IACX,QAAQ,KAAK,EAAE,MAAM,KAAK,YAAY,CAAC,CAAC,GAAG,QAAQ,IAAI,MAAM,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC;AAAA,EAC5E;AAAA,EAGA,QAAQ,KAAK,EAAE,MAAM,KAAK,YAAY,CAAC,GAAG,CAAC,GAAG,QAAQ,IAAI,MAAM,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC;AAAA,EAG9E,SAAS,IAAI,EAAG,IAAI,GAAG,KAAK;AAAA,IAC3B,QAAQ,KAAK,EAAE,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,QAAQ,WAAW,GAAG,GAAG,CAAC,EAAE,CAAC;AAAA,EAC1E;AAAA,EAGA,SAAS,IAAI,EAAG,IAAI,GAAG,KAAK;AAAA,IAC3B,QAAQ,KAAK,EAAE,MAAM,MAAM,YAAY,CAAC,GAAG,CAAC,GAAG,QAAQ,WAAW,GAAG,GAAG,CAAC,EAAE,CAAC;AAAA,EAC7E;AAAA,EAGA,SAAS,IAAI,EAAG,IAAI,GAAG,KAAK;AAAA,IAC3B,QAAQ,KAAK,EAAE,MAAM,MAAM,YAAY,CAAC,GAAG,CAAC,GAAG,QAAQ,WAAW,GAAG,GAAG,CAAC,EAAE,CAAC;AAAA,EAC7E;AAAA,EAGA,SAAS,IAAI,EAAG,IAAI,IAAI,GAAG,KAAK;AAAA,IAC/B,SAAS,IAAI,IAAI,EAAG,IAAI,GAAG,KAAK;AAAA,MAC/B,QAAQ,KAAK,EAAE,MAAM,OAAO,YAAY,CAAC,GAAG,CAAC,GAAG,QAAQ,WAAW,GAAG,GAAG,CAAC,EAAE,CAAC;AAAA,IAC9E;AAAA,EACD;AAAA,EAEA,OAAO;AAAA;AAGD,SAAS,0BAA0B,CAAC,QAA4B;AAAA,EACtE,MAAM,UAAoB,CAAC;AAAA,EAC3B,SAAS,IAAI,EAAG,IAAI,OAAO,QAAQ,KAAK;AAAA,IACvC,IAAI,cAAc,OAAO,EAAG,GAAG;AAAA,MAC9B,QAAQ,KAAK,CAAC;AAAA,IACf;AAAA,EACD;AAAA,EACA,OAAO;AAAA;AAGD,SAAS,sBAAsB,CAAC,KAAmB,SAA4B;AAAA,EACrF,WAAW,OAAO,SAAS;AAAA,IAC1B,IAAI,IAAI,OAAO,SAAS;AAAA,MAAK,OAAO;AAAA,EACrC;AAAA,EACA,OAAO;AAAA;AAQD,SAAS,UAAU,CAAC,OAA2B;AAAA,EACrD,OAAO,UAAU,MAAM,IAAI,UAAU,MAAM,IAAI;AAAA;AAQzC,SAAS,iBAAiB,CAChC,KACA,GAC8D;AAAA,EAC9D,IAAI,IAAI,SAAS;AAAA,IAAK,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,EAAE;AAAA,EAClE,IAAI,IAAI,SAAS;AAAA,IAAK,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,EAAE;AAAA,EAClE,IAAI,IAAI,SAAS,MAAM;AAAA,IACtB,MAAM,IAAI,IAAI,WAAW;AAAA,IACzB,OAAO;AAAA,MACN,OAAO;AAAA,QACN,CAAC,GAAG,GAAG,CAAC;AAAA,QACR,CAAC,GAAG,GAAG,CAAC;AAAA,MACT;AAAA,MACA,YAAY,CAAC,IAAI,CAAC;AAAA,IACnB;AAAA,EACD;AAAA,EACA,IAAI,IAAI,SAAS,MAAM;AAAA,IACtB,MAAM,IAAI,IAAI,WAAW;AAAA,IACzB,OAAO;AAAA,MACN,OAAO;AAAA,QACN,CAAC,GAAG,GAAG,CAAC;AAAA,QACR,CAAC,GAAG,GAAG,CAAC;AAAA,MACT;AAAA,MACA,YAAY,CAAC,IAAI,CAAC;AAAA,IACnB;AAAA,EACD;AAAA,EACA,IAAI,IAAI,SAAS,MAAM;AAAA,IACtB,MAAM,IAAI,IAAI,WAAW;AAAA,IACzB,OAAO;AAAA,MACN,OAAO;AAAA,QACN,CAAC,GAAG,GAAG,CAAC;AAAA,QACR,CAAC,GAAG,GAAG,CAAC;AAAA,MACT;AAAA,MACA,YAAY,CAAC,IAAI,CAAC;AAAA,IACnB;AAAA,EACD;AAAA,EACA,IAAI,IAAI,SAAS,OAAO;AAAA,IACvB,MAAM,IAAI,IAAI,WAAW;AAAA,IACzB,MAAM,IAAI,IAAI,WAAW;AAAA,IACzB,OAAO;AAAA,MACN,OAAO;AAAA,QACN,CAAC,GAAG,GAAG,CAAC;AAAA,QACR,CAAC,GAAG,GAAG,CAAC;AAAA,QACR,CAAC,GAAG,GAAG,CAAC;AAAA,MACT;AAAA,MACA,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;AAAA,IAC1B;AAAA,EACD;AAAA,EACA,OAAO,EAAE,OAAO,CAAC,GAAG,YAAY,CAAC,EAAE;AAAA;AAG7B,SAAS,qBAAqB,CACpC,eACA,SACa;AAAA,EACb,MAAM,IAAI,cAAc;AAAA,EACxB,MAAM,YAAwB,CAAC;AAAA,EAE/B,SAAS,IAAI,EAAG,IAAI,GAAG,KAAK;AAAA,IAC3B,MAAM,WAAW,4BAA4B,eAAe,CAAC;AAAA,IAC7D,MAAM,SAAS;AAAA,MACd,IAAI,UAAU,QAAQ,aAAa,EAAG,IAAI,QAAQ,YAAY;AAAA,MAC9D,IAAI,UAAU,QAAQ,aAAa,EAAG,IAAI,QAAQ,YAAY;AAAA,MAC9D,IAAI,UAAU,QAAQ,aAAa,EAAG,IAAI,QAAQ,YAAY;AAAA,IAC/D;AAAA,IACA,UAAU,KAAK,MAAM;AAAA,EACtB;AAAA,EAEA,OAAO;AAAA;AAGD,SAAS,gBAAgB,CAC/B,eACA,OACA,KACA,UACA,SACS;AAAA,EACT,MAAM,eAAe,oBAAoB,eAAe,OAAO,GAAG;AAAA,EAClE,MAAM,WAAW,qBAAqB,YAAY;AAAA,EAClD,OAAO,IAAI,UAAU,QAAQ,YAAY,SAAU,IAAI,QAAQ,WAAW;AAAA;AAGpE,SAAS,oBAAoB,CACnC,eACA,GACA,SACS;AAAA,EACT,IAAI,CAAC,QAAQ;AAAA,IAAiB,OAAO;AAAA,EACrC,MAAM,KAAK,wBAAwB,eAAe,CAAC;AAAA,EACnD,MAAM,WAAW,yBAAyB,EAAE;AAAA,EAC5C,OAAO,IAAI,UAAU,QAAQ,eAAe,KAAK,QAAQ,gBAAgB;AAAA;AAGnE,SAAS,iBAAiB,CAChC,eACA,WACA,KACA,SACS;AAAA,EACT,IAAI,QAAQ;AAAA,EACZ,MAAM,IAAI,cAAc;AAAA,EAGxB,SAAS,IAAI,EAAG,IAAI,GAAG,KAAK;AAAA,IAC3B,SAAS,UAAU,GAAI,WAAW,IAAI,OAAO,EAAG;AAAA,EACjD;AAAA,EAGA,QAAQ,OAAO,eAAe,kBAAkB,KAAK,CAAC;AAAA,EACtD,YAAY,OAAO,KAAK,aAAa;AAAA,IACpC,SAAS,iBAAiB,eAAe,OAAO,KAAK,UAAU,OAAO;AAAA,EACvE,WAAW,KAAK;AAAA,IAAY,SAAS,qBAAqB,eAAe,GAAG,OAAO;AAAA,EAEnF,OAAO;AAAA;;;ACpNR,IAAM,QAAQ,IAAI,IAAI,wBAAuB,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAqDjE,SAAS,gBAAe,CAC9B,MACA,UAA4B,+BAChB;AAAA,EACZ,MAAM,WAAW,CAAC,SAAiB,KAAK,aAAa,IAAI;AAAA,EAEzD,SAAS,kBAAkB,CAAC,QAAmC;AAAA,IAC9D,OAAO,OAAO,IAAI,CAAC,MAAM,qBAAqB,GAAG,QAAQ,CAAC;AAAA;AAAA,EAS3D,SAAS,gBAAgB,CAAC,QAA0B;AAAA,IACnD,IAAI,IAAI,OAAO;AAAA,IACf,MAAM,YAAY,MAAY;AAAA,MAC7B,OAAO,IAAI,KAAK,OAAO,IAAI,GAAI,KAAK,MAAM;AAAA,QAAI;AAAA;AAAA,IAE/C,UAAU;AAAA,IACV;AAAA,IACA,UAAU;AAAA,IACV,MAAM,OAAO,OAAO,IAAI,IAAI,KAAK,EAAE,YAAY;AAAA,IAC/C,IAAI,SAAS,aAAa,MAAM,IAAI,IAAI;AAAA,MAAG;AAAA,IAC3C,UAAU;AAAA,IACV,IAAI,IAAI,KAAK,eAAe,KAAK,OAAO,IAAI,GAAI,KAAK,CAAC;AAAA,MAAG;AAAA,IACzD,UAAU;AAAA,IACV,OAAO;AAAA;AAAA,EAQR,SAAS,WAAW,CAAC,QAAkB,QAAmD;AAAA,IACzF,MAAM,IAAI,OAAO;AAAA,IAGjB,IAAI,IAAI,GAAG;AAAA,MACV,OAAO;AAAA,QACN,MAAM;AAAA,QACN,QAAQ,CAAC;AAAA,QACT,QAAQ;AAAA,QACR,UAAU,CAAC;AAAA,QACX,UAAU;AAAA,QACV,YAAY;AAAA,QACZ,QAAQ;AAAA,MACT;AAAA,IACD;AAAA,IAGA,MAAM,eAAe,gBAAgB,MAAM;AAAA,IAC3C,IAAI,iBAAiB,MAAM;AAAA,MAC1B,OAAO;AAAA,QACN,MAAM;AAAA,QACN,QAAQ,OAAO,MAAM,GAAG,YAAY;AAAA,QACpC,QAAQ,OAAO,MAAM,YAAY;AAAA,QACjC,UAAU,CAAC;AAAA,QACX,UAAU;AAAA,QACV,YAAY;AAAA,QACZ,QAAQ;AAAA,MACT;AAAA,IACD;AAAA,IAIA,IAAI,WAAW,MAAM;AAAA,MACpB,MAAM,SAAS,OAAO,MAAM,GAAG,iBAAiB,MAAM,CAAC;AAAA,MACvD,OAAO;AAAA,QACN,MAAM;AAAA,QACN,QAAQ,CAAC;AAAA,QACT;AAAA,QACA,UAAU,CAAC;AAAA,QACX,UAAU;AAAA,QACV,YAAY;AAAA,QACZ,QAAQ;AAAA,MACT;AAAA,IACD;AAAA,IAEA,MAAM,gBAAgB,mBAAmB,MAAM;AAAA,IAC/C,MAAM,YAAY,sBAAsB,eAAe,OAAO;AAAA,IAC9D,IAAI,aAAa,uBAAuB,CAAC;AAAA,IAGzC,MAAM,iBAAiB,2BAA2B,MAAM;AAAA,IACxD,IAAI,eAAe,SAAS,GAAG;AAAA,MAC9B,aAAa,WAAW,OAAO,CAAC,QAAQ,CAAC,uBAAuB,KAAK,cAAc,CAAC;AAAA,MACpF,IAAI,WAAW,WAAW,GAAG;AAAA,QAE5B,OAAO;AAAA,UACN,MAAM;AAAA,UACN,QAAQ,CAAC;AAAA,UACT,QAAQ;AAAA,UACR,UAAU,CAAC;AAAA,UACX,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,QAAQ;AAAA,QACT;AAAA,MACD;AAAA,IACD;AAAA,IAGA,MAAM,SAAS,WAAW,IAAI,CAAC,QAC9B,kBAAkB,eAAe,WAAW,KAAK,OAAO,CACzD;AAAA,IAGA,MAAM,OAAO,QAAQ,eAAe;AAAA,IACpC,MAAM,eAAe,SAAS,IAAM,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI;AAAA,IAClE,MAAM,QAAQ,QAAQ,YAAY;AAAA,IAGlC,IAAI,UAAU;AAAA,IACd,SAAS,IAAI,EAAG,IAAI,MAAM,QAAQ,KAAK;AAAA,MACtC,IAAI,MAAM,KAAM,MAAM;AAAA,QAAW,UAAU;AAAA,IAC5C;AAAA,IAEA,MAAM,OAAO,WAAW;AAAA,IACxB,MAAM,WAAW,KAAK,SAAS,MAAM,IAAI,KAAK,WAAW;AAAA,IACzD,MAAM,YAAY,KAAK,SAAS,SAAS,KAAK,SAAS,OAAO,KAAK,WAAW,KAAM;AAAA,IAEpF,OAAO;AAAA,MACN,MAAM,KAAK;AAAA,MACX,QAAQ,OAAO,MAAM,GAAG,QAAQ;AAAA,MAChC,QAAQ,OAAO,MAAM,UAAU,SAAS;AAAA,MACxC,UAAU,OAAO,MAAM,SAAS;AAAA,MAChC;AAAA,MACA,YAAY,MAAM;AAAA,MAClB,QAAQ;AAAA,IACT;AAAA;AAAA,EAGD,SAAS,aAAa,CAAC,QAAiC;AAAA,IACvD,OAAO,YAAY,QAAQ,qBAAoB,OAAO,KAAK,GAAG,CAAC,CAAC;AAAA;AAAA,EAGjE,SAAS,OAAO,CAAC,OAA8B;AAAA,IAC9C,OAAO,YAAY,SAAS,KAAK,GAAG,qBAAoB,KAAK,CAAC;AAAA;AAAA,EAG/D,SAAS,aAAa,CAAC,OAAwB;AAAA,IAC9C,OAAO,gBAAgB,SAAS,KAAK,CAAC,MAAM,QAAQ,qBAAoB,KAAK,MAAM;AAAA;AAAA,EAGpF,SAAS,kBAAkB,CAAC,QAA4B;AAAA,IACvD,OAAO,2BAA2B,MAAM;AAAA;AAAA,EAGzC,OAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA;;;AC7JD,SAAS,OAAO,CAAC,GAAmB;AAAA,EACnC,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC,KAAK,IAAI,MAAM,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;AAAA;AAG3D,SAAS,OAAO,CAAC,OAAqD,UAA4B;AAAA,EACjG,IAAI,MAAM,MAAM;AAAA,EAChB,SAAS,IAAI,EAAG,IAAI,SAAS,QAAQ,KAAK;AAAA,IACzC,OAAO,MAAM,QAAQ,KAAM,SAAS;AAAA,EACrC;AAAA,EACA,OAAO,QAAQ,GAAG;AAAA;AAOZ,SAAS,iBAAgB,CAC/B,MACA,WAA6B,SACZ;AAAA,EACjB,WAAW,KAAK,CAAC,UAAU,UAAU,YAAY,cAAc,cAAc;AAAA,IAC5E,IAAI,SAAQ,GAAG,QAAQ,WAAW,cAAc;AAAA,MAC/C,MAAM,IAAI,MACT,uBAAuB,SAAS,SAAQ,GAAG,QAAQ,oCAAoC,cAAc,QACtG;AAAA,EACF,MAAM,WAAW,CAAC,SAAiB,KAAK,aAAa,IAAI;AAAA,EACzD,MAAM,eAAe,KAAK,2BACvB,CAAC,SAAiB,KAAK,yBAA0B,IAAI,IACrD;AAAA,EAEH,SAAS,aAAa,CAAC,QAAuC;AAAA,IAC7D,OAAO,WAAW,QAAQ,QAAQ;AAAA;AAAA,EAGnC,SAAS,YAAY,CAAC,QAAgC;AAAA,IAErD,MAAM,aAAa,cAAc,MAAM;AAAA,IACvC,IAAI;AAAA,MAAY,OAAO;AAAA,IAEvB,MAAM,WAAW,gBAAgB,QAAQ,UAAU,YAAY;AAAA,IAC/D,OAAO;AAAA,MACN,QAAQ,QAAQ,SAAQ,QAAQ,QAAQ;AAAA,MACxC,QAAQ,QAAQ,SAAQ,QAAQ,QAAQ;AAAA,MACxC,UAAU,QAAQ,SAAQ,UAAU,QAAQ;AAAA,IAC7C;AAAA;AAAA,EAGD,SAAS,gBAAgB,CAAC,QAAgC;AAAA,IAEzD,MAAM,aAAa,cAAc,MAAM;AAAA,IACvC,IAAI,YAAY;AAAA,MACf,IAAI,WAAW,WAAW,KAAK,WAAW,aAAa,GAAG;AAAA,QACzD,OAAO,EAAE,YAAY,GAAG,cAAc,EAAE;AAAA,MACzC;AAAA,MACA,IAAI,WAAW,WAAW,GAAG;AAAA,QAC5B,OAAO,EAAE,YAAY,GAAG,cAAc,EAAE;AAAA,MACzC;AAAA,IACD;AAAA,IAEA,MAAM,WAAW,gBAAgB,QAAQ,UAAU,YAAY;AAAA,IAC/D,OAAO;AAAA,MACN,YAAY,QAAQ,SAAQ,YAAY,QAAQ;AAAA,MAChD,cAAc,QAAQ,SAAQ,cAAc,QAAQ;AAAA,IACrD;AAAA;AAAA,EAGD,SAAS,SAAS,CAAC,KAAqC;AAAA,IACvD,QAAQ,QAAQ,QAAQ,aAAa;AAAA,IACrC,MAAM,MAAM,SAAS,SAAS;AAAA,IAC9B,IAAI,QAAQ;AAAA,MAAG,OAAO,EAAE,QAAQ,IAAI,GAAG,QAAQ,IAAI,GAAG,UAAU,IAAI,EAAE;AAAA,IACtE,OAAO,EAAE,QAAQ,SAAS,KAAK,QAAQ,SAAS,KAAK,UAAU,WAAW,IAAI;AAAA;AAAA,EAG/E,SAAS,sBAAsB,CAAC,QAAkC;AAAA,IACjE,MAAM,MAAM,aAAa,MAAM;AAAA,IAC/B,MAAM,SAAS,UAAU,GAAG;AAAA,IAC5B,MAAM,SAAS,CAAC,OAAO,QAAQ,OAAO,QAAQ,OAAO,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC;AAAA,IACnF,MAAM,aAAa,OAAO,KAAM,OAAO;AAAA,IACvC,MAAM,MAAM,KAAK,IAAI,OAAO,QAAQ,OAAO,QAAQ,OAAO,QAAQ;AAAA,IAClE,MAAM,WACL,OAAO,WAAW,MAAM,WAAW,OAAO,WAAW,MAAM,WAAW;AAAA,IACvE,OAAO,EAAE,QAAQ,YAAY,SAAS;AAAA;AAAA,EAGvC,SAAS,eAAe,CAAC,QAA8B;AAAA,IACtD,MAAM,SAAS,aAAa,MAAM;AAAA,IAClC,MAAM,MAAM,KAAK,IAAI,OAAO,QAAQ,OAAO,QAAQ,OAAO,QAAQ;AAAA,IAClE,IAAI,OAAO,WAAW;AAAA,MAAK,OAAO;AAAA,IAClC,IAAI,OAAO,WAAW;AAAA,MAAK,OAAO;AAAA,IAClC,OAAO;AAAA;AAAA,EAGR,SAAS,QAAQ,CAAC,QAAgB,YAAY,KAAc;AAAA,IAC3D,OAAO,aAAa,MAAM,EAAE,UAAU;AAAA;AAAA,EAGvC,SAAS,QAAQ,CAAC,QAAgB,YAAY,KAAc;AAAA,IAC3D,OAAO,aAAa,MAAM,EAAE,UAAU;AAAA;AAAA,EAGvC,SAAS,UAAU,CAAC,QAAgB,YAAY,KAAc;AAAA,IAC7D,OAAO,aAAa,MAAM,EAAE,YAAY;AAAA;AAAA,EAGzC,SAAS,YAAY,CAAC,QAAgB,YAAY,KAAc;AAAA,IAC/D,OAAO,iBAAiB,MAAM,EAAE,cAAc;AAAA;AAAA,EAG/C,SAAS,cAAc,CAAC,QAAgB,YAAY,KAAc;AAAA,IACjE,OAAO,iBAAiB,MAAM,EAAE,gBAAgB;AAAA;AAAA,EAGjD,OAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA;;;ACzMM,IAAM,WAAU;AAAA,EACtB,QAAU;AAAA,IACT,SAAW;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,MAAQ;AAAA,EACT;AAAA,EACA,QAAU;AAAA,IACT,SAAW;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,MAAQ;AAAA,EACT;AAAA,EACA,UAAY;AAAA,IACX,SAAW;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,MAAQ;AAAA,EACT;AAAA,EACA,YAAc;AAAA,IACb,SAAW;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,MAAQ;AAAA,EACT;AAAA,EACA,cAAgB;AAAA,IACf,SAAW;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,MAAQ;AAAA,EACT;AACD;;;ACvYO,IAAM,WAAU;AAAA,EACtB,QAAU;AAAA,IACT,SAAW;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,MAAQ;AAAA,EACT;AAAA,EACA,QAAU;AAAA,IACT,SAAW;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,MAAQ;AAAA,EACT;AAAA,EACA,UAAY;AAAA,IACX,SAAW;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,MAAQ;AAAA,EACT;AAAA,EACA,YAAc;AAAA,IACb,SAAW;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,MAAQ;AAAA,EACT;AAAA,EACA,cAAgB;AAAA,IACf,SAAW;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,MAAQ;AAAA,EACT;AACD;;;AC3RA,IAAM,wBAAgD,IAAI,IAAI,CAAC,eAAe,CAAC;AAE/E,IAAM,OAAuB,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,EAAE;AAMjE,SAAS,UAAS,CAAC,KAAqC;AAAA,EACvD,QAAQ,QAAQ,QAAQ,aAAa;AAAA,EACrC,MAAM,MAAM,SAAS,SAAS;AAAA,EAE9B,IAAI,QAAQ,GAAG;AAAA,IACd,OAAO,EAAE,QAAQ,IAAI,GAAG,QAAQ,IAAI,GAAG,UAAU,IAAI,EAAE;AAAA,EACxD;AAAA,EAEA,OAAO;AAAA,IACN,QAAQ,SAAS;AAAA,IACjB,QAAQ,SAAS;AAAA,IACjB,UAAU,WAAW;AAAA,EACtB;AAAA;AAMD,SAAS,iBAAiB,CAAC,QAAgC;AAAA,EAC1D,MAAM,SAAS,CAAC,OAAO,QAAQ,OAAO,QAAQ,OAAO,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC;AAAA,EACnF,QAAQ,OAAO,MAAM,MAAM,OAAO,MAAM;AAAA;AAOlC,SAAS,iBAAgB,CAC/B,QAAmB,SAAQ,QAAQ,GACnC,UAAmC,CAAC,GACjB;AAAA,EACnB,MAAM,UAAU,IAAI;AAAA,EACpB,WAAW,UAAU,QAAQ,gBAAgB,CAAC,GAAG;AAAA,IAChD,MAAM,MAAM,YAAW,MAAM;AAAA,IAC7B,IAAI;AAAA,MAAK,QAAQ,IAAI,GAAG;AAAA,EACzB;AAAA,EAEA,MAAM,UAAU,CAAC,WAA2B,qBAAoB,MAAM,GAAG,UAAU;AAAA,EAEnF,MAAM,YAAY,CAAC,WAClB,0BAA0B,MAAM,KAC/B,QAAQ,OAAO,MACd,QAAQ,IAAI,YAAW,MAAM,CAAC,KAAK,QAAQ,IAAI,YAAW,QAAQ,MAAM,CAAC,CAAC;AAAA,EAC7E,MAAM,UAAU,OAAsB;AAAA,IACrC,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,QAAQ,CAAC;AAAA,IACT,UAAU,CAAC;AAAA,IACX,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,QAAQ;AAAA,EACT;AAAA,EAEA,MAAM,YAAuB;AAAA,IAC5B,cAAc,CAAC,MAAM,MAAM,aAAa,CAAC;AAAA,IACzC,0BAA0B,CAAC,MAAM,MAAM,2BAA2B,CAAC,KAAK;AAAA,EACzE;AAAA,EACA,MAAM,IAAI,QAAQ;AAAA,EAClB,MAAM,aAAa,kBAAiB,WAAW,GAAG,UAAU;AAAA,EAC5D,MAAM,WAAW,CAAC,GAAkC,YAA+B;AAAA,IAClF,MAAM,MAAM,GAAG,UAAU,OAAO,GAAG,aAAa,YAAY;AAAA,IAC5D,IAAI,CAAC;AAAA,MAAK,OAAO;AAAA,IACjB,MAAM,WAAW,sBAAsB,IAAI,CAAC,KACxC,GAAG,cAAc,SAAS,WAC3B,IAAI;AAAA,IACP,OAAO,kBAAiB,WAAW,KAAK,KAAK,SAAS,CAAC;AAAA;AAAA,EAExD,MAAM,UAA6C;AAAA,IAClD,SAAS;AAAA,IACT,eAAe,SAAS,eAAe,QAAW;AAAA,IAClD,iBAAiB,SAAS,iBAAiB,QAAa;AAAA,EACzD;AAAA,EACA,MAAM,QAAQ,CAAC,QAAmB,cAA8B,QAAQ,UAAU;AAAA,EAClF,MAAM,YAAY,iBAAgB,WAAW,QAAQ,SAAS,SAAS;AAAA,EAEvE,MAAM,QAAwB,EAAE,QAAQ,MAAM,QAAQ,MAAM,UAAU,IAAI;AAAA,EAS1E,SAAS,aAAa,CAAC,QAAuC;AAAA,IAC7D,MAAM,UAAU,OAAO,KAAK;AAAA,IAC5B,IAAI,WAAW,OAAO,EAAE,WAAW;AAAA,MAClC,OAAO,cAAc,SAAS,CAAC,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI;AAAA,IAC9E,MAAM,QAAQ,MAAM,aAAa,OAAO;AAAA,IACxC,IAAI,CAAC;AAAA,MAAO,OAAO;AAAA,IACnB,IAAI,MAAM,SAAS,GAAG;AAAA,MAAG,OAAO,KAAK,MAAM;AAAA,IAC3C,OAAO;AAAA;AAAA,EAGR,SAAS,YAAY,CAAC,QAAgB,OAAmC;AAAA,IACxE,IAAI,UAAU,MAAM;AAAA,MAAG,OAAO,KAAK,KAAK;AAAA,IACxC,MAAM,IAAI,QAAQ,MAAM;AAAA,IACxB,OAAO,cAAc,CAAC,KAAK,MAAM,KAAK,EAAE,aAAa,CAAC;AAAA;AAAA,EAGvD,SAAS,QAAQ,CAAC,QAAsC;AAAA,IACvD,MAAM,MAAM,KAAK,IAAI,OAAO,QAAQ,OAAO,QAAQ,OAAO,QAAQ;AAAA,IAClE,IAAI,QAAQ;AAAA,MAAG,OAAO;AAAA,IACtB,IAAI,OAAO,WAAW;AAAA,MAAK,OAAO;AAAA,IAClC,IAAI,OAAO,WAAW;AAAA,MAAK,OAAO;AAAA,IAClC,OAAO;AAAA;AAAA,EAGR,OAAO;AAAA,IACN;AAAA,IACA,iBAAiB,CAAC,QAAQ,UAAU,SAAS,aAAa,QAAQ,KAAK,CAAC;AAAA,IACxE,UAAU,CAAC,QAAQ,YAAY,KAAK,UACnC,aAAa,QAAQ,KAAK,EAAE,UAAU;AAAA,IACvC,UAAU,CAAC,QAAQ,YAAY,KAAK,UACnC,aAAa,QAAQ,KAAK,EAAE,UAAU;AAAA,IACvC,YAAY,CAAC,QAAQ,YAAY,KAAK,UACrC,aAAa,QAAQ,KAAK,EAAE,YAAY;AAAA,IACzC,sBAAsB,CAAC,QAAQ,OAAO;AAAA,MACrC,IAAI,UAAU,MAAM;AAAA,QAAG,OAAO,EAAE,QAAQ,KAAK,KAAK,GAAG,YAAY,GAAG,UAAU,OAAO;AAAA,MACrF,MAAM,SAAS,WAAU,aAAa,QAAQ,KAAK,CAAC;AAAA,MACpD,OAAO,EAAE,QAAQ,YAAY,kBAAkB,MAAM,GAAG,UAAU,SAAS,MAAM,EAAE;AAAA;AAAA,IAEpF,kBAAkB,CAAC,QAAQ,UAC1B,UAAU,MAAM,IACb,EAAE,YAAY,GAAG,cAAc,EAAE,IACjC,MAAM,KAAK,EAAE,iBAAiB,QAAQ,MAAM,CAAC;AAAA,IACjD,cAAc,CAAC,QAAQ,YAAY,KAAK,UACvC,CAAC,UAAU,MAAM,KAAK,MAAM,KAAK,EAAE,aAAa,QAAQ,MAAM,GAAG,SAAS;AAAA,IAC3E,gBAAgB,CAAC,QAAQ,YAAY,KAAK,UACzC,CAAC,UAAU,MAAM,KAAK,MAAM,KAAK,EAAE,eAAe,QAAQ,MAAM,GAAG,SAAS;AAAA,IAC7E,SAAS,CAAC,UAAW,UAAU,KAAK,IAAI,QAAQ,IAAI,UAAU,QAAQ,KAAK;AAAA,IAC3E,eAAe,CAAC,WACf,UAAU,OAAO,KAAK,GAAG,CAAC,IAAI,QAAQ,IAAI,UAAU,cAAc,MAAM;AAAA,IACzE,eAAe,CAAC,UAAU,UAAU,cAAc,KAAK;AAAA,IACvD,oBAAoB,CAAC,WAAW,UAAU,mBAAmB,MAAM;AAAA,IACnE;AAAA,IACA;AAAA,EACD;AAAA;",
|
|
22
|
+
"debugId": "C5025FBA3439B68D64756E2164756E21",
|
|
23
23
|
"names": []
|
|
24
24
|
}
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
normalizeApostrophes2,
|
|
4
4
|
lexiconKey2,
|
|
5
5
|
Lexicon2
|
|
6
|
-
} from "./index-
|
|
6
|
+
} from "./index-0wpvbdgh.js";
|
|
7
7
|
import {
|
|
8
8
|
canonicalTeamName2,
|
|
9
9
|
isTeamPrint2
|
|
@@ -1130,4 +1130,4 @@ function personNameFromIcao2(icao, print) {
|
|
|
1130
1130
|
export { NAME_REFUSED2, stripEveryAside2, stripTrailingCredentials2, scrubNameDetail2, scrubName2, foldNameKey2, nameFold2, PLATFORM_PLACEHOLDERS2, NAME_PLACEHOLDERS2, placeholderOf2, isPlaceholderPrint2, isNoNamePrint2, COMPOUND_SURNAMES2, isCompoundSurname2, spaceAfterComma2, isNameSuffix, tokenize, inferNameOrder2, commaReading2, lexiconNameOrder, resolveNameOrder2, splitPersonName2, classifyCell2, capitalise2, nameCase2, SURNAME_SEPARATOR2, GIVEN_SEPARATOR2, titleCaseNamePart2, spellingLookup2, parsePersonName2, formatPersonDisplay2, personDisplayName2, NAME_TRADITIONS2, traditionFromIndex2, isIcaoName2, levelOf2, givenKeyAbbreviates2, givenAbbreviates2, PersonName2, DEFAULT_PERSON_NAME_CAPACITY2, traditionLookupOf2, createPersonNameFactory2, createCachingPersonNameFactory2, defaultPersonNameFactory2, personName2, personNameFromIcao2 };
|
|
1131
1131
|
|
|
1132
1132
|
//# debugId=2B32B66D0F08008A64756E2164756E21
|
|
1133
|
-
//# sourceMappingURL=index-
|
|
1133
|
+
//# sourceMappingURL=index-tk01chxw.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
isAmbiguous2,
|
|
4
4
|
isPlace2,
|
|
5
5
|
isTradename2
|
|
6
|
-
} from "./index-
|
|
6
|
+
} from "./index-0wpvbdgh.js";
|
|
7
7
|
|
|
8
8
|
// src/lexicon/place.ts
|
|
9
9
|
var JOINING_COMMA = /(?<=[^\s,]),(?=[^\s,])/g;
|
|
@@ -24,4 +24,4 @@ function isPlacePhrase(phrase, getFlags) {
|
|
|
24
24
|
export { splitWords, FIELD_END, isPlaceWordFlags, isPlacePhrase };
|
|
25
25
|
|
|
26
26
|
//# debugId=A9815F8EF12D8D4964756E2164756E21
|
|
27
|
-
//# sourceMappingURL=index-
|
|
27
|
+
//# sourceMappingURL=index-tqdbxd92.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
lookupKey2,
|
|
3
3
|
Lexicon2
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-0wpvbdgh.js";
|
|
5
5
|
import {
|
|
6
6
|
lexiconNameOrder,
|
|
7
7
|
defaultPersonNameFactory2
|
|
8
|
-
} from "./index-
|
|
8
|
+
} from "./index-tk01chxw.js";
|
|
9
9
|
import {
|
|
10
10
|
isNameParticle2
|
|
11
11
|
} from "./index-23rzmwe2.js";
|
|
@@ -134,4 +134,4 @@ function createNameCensus2(options = {}) {
|
|
|
134
134
|
export { createNameCensus2 };
|
|
135
135
|
|
|
136
136
|
//# debugId=42B6EBFD51EC241764756E2164756E21
|
|
137
|
-
//# sourceMappingURL=index-
|
|
137
|
+
//# sourceMappingURL=index-ye6j60jn.js.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
phraseClassifier2
|
|
3
|
+
} from "./index-ky754nsf.js";
|
|
4
|
+
import"./index-tqdbxd92.js";
|
|
5
|
+
import"./index-0wpvbdgh.js";
|
|
6
|
+
export {
|
|
7
|
+
phraseClassifier2 as phraseClassifier
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
//# debugId=BD8F5B3E6DE1DCF664756E2164756E21
|
|
11
|
+
//# sourceMappingURL=phrase-2hj26asc.js.map
|
package/dist/classifier/index.js
CHANGED
|
@@ -6,9 +6,9 @@ import {
|
|
|
6
6
|
createSegmenter2,
|
|
7
7
|
createClassifier2,
|
|
8
8
|
phraseClassifier2
|
|
9
|
-
} from "../chunks/index-
|
|
10
|
-
import"../chunks/index-
|
|
11
|
-
import"../chunks/index-
|
|
9
|
+
} from "../chunks/index-ky754nsf.js";
|
|
10
|
+
import"../chunks/index-tqdbxd92.js";
|
|
11
|
+
import"../chunks/index-0wpvbdgh.js";
|
|
12
12
|
export {
|
|
13
13
|
CONNECTORS2 as CONNECTORS,
|
|
14
14
|
SCHOOL_KEYWORDS2 as SCHOOL_KEYWORDS,
|
package/dist/cli/census.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import"../chunks/index-
|
|
2
|
+
import"../chunks/index-0wpvbdgh.js";
|
|
3
3
|
import {
|
|
4
4
|
createNameCensus2
|
|
5
|
-
} from "../chunks/index-
|
|
6
|
-
import"../chunks/index-
|
|
5
|
+
} from "../chunks/index-ye6j60jn.js";
|
|
6
|
+
import"../chunks/index-tk01chxw.js";
|
|
7
7
|
import { createRequire } from "node:module";
|
|
8
8
|
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
9
9
|
|
|
@@ -20,7 +20,7 @@ async function main(argv) {
|
|
|
20
20
|
const limit = Number(value("limit") ?? 25);
|
|
21
21
|
const field = value("field") ?? "name";
|
|
22
22
|
const orderField = value("order-field") ?? "order";
|
|
23
|
-
const classifier = flag("classify") ? (await import("../chunks/phrase-
|
|
23
|
+
const classifier = flag("classify") ? (await import("../chunks/phrase-2hj26asc.js")).phraseClassifier() : undefined;
|
|
24
24
|
const census = createNameCensus2(classifier === undefined ? {} : { classifier });
|
|
25
25
|
for await (const line of createInterface({
|
|
26
26
|
input: process.stdin,
|
package/dist/index.js
CHANGED
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
isMultiWord2,
|
|
18
18
|
isSuspicious2,
|
|
19
19
|
isRoundTripException2,
|
|
20
|
+
isInDiminutiveTable2,
|
|
20
21
|
isPerson2,
|
|
21
22
|
traditionOf2,
|
|
22
23
|
toAscii2,
|
|
@@ -29,7 +30,7 @@ import {
|
|
|
29
30
|
NAMES_TXT2,
|
|
30
31
|
parseEntries2,
|
|
31
32
|
Lexicon2
|
|
32
|
-
} from "./chunks/index-
|
|
33
|
+
} from "./chunks/index-0wpvbdgh.js";
|
|
33
34
|
import {
|
|
34
35
|
CONNECTORS2,
|
|
35
36
|
SCHOOL_KEYWORDS2,
|
|
@@ -37,12 +38,14 @@ import {
|
|
|
37
38
|
createSegmenter2,
|
|
38
39
|
createClassifier2,
|
|
39
40
|
phraseClassifier2
|
|
40
|
-
} from "./chunks/index-
|
|
41
|
+
} from "./chunks/index-ky754nsf.js";
|
|
41
42
|
import"./chunks/index-jwx1mm4k.js";
|
|
42
43
|
import {
|
|
43
44
|
repairMojibake2,
|
|
44
45
|
sameGivenFamily2,
|
|
45
46
|
givenFamilyTable2,
|
|
47
|
+
createGivenFamilyList2,
|
|
48
|
+
givenFamilyList2,
|
|
46
49
|
comparePosition2,
|
|
47
50
|
nameRelation2,
|
|
48
51
|
MAX_READINGS2,
|
|
@@ -90,19 +93,19 @@ import {
|
|
|
90
93
|
readNameCell2,
|
|
91
94
|
DEFAULT_NAME_FORMAT_THRESHOLD2,
|
|
92
95
|
deriveNameFormat2
|
|
93
|
-
} from "./chunks/index-
|
|
96
|
+
} from "./chunks/index-74fyytnh.js";
|
|
94
97
|
import"./chunks/index-qsznkk4s.js";
|
|
95
98
|
import {
|
|
96
99
|
composeEvalSet2,
|
|
97
100
|
evaluateClassifier2
|
|
98
|
-
} from "./chunks/index-
|
|
99
|
-
import"./chunks/index-
|
|
101
|
+
} from "./chunks/index-a6f2y4aa.js";
|
|
102
|
+
import"./chunks/index-tqdbxd92.js";
|
|
100
103
|
import {
|
|
101
104
|
doubleMetaphone2
|
|
102
105
|
} from "./chunks/index-ebebeamh.js";
|
|
103
106
|
import {
|
|
104
107
|
createNameCensus2
|
|
105
|
-
} from "./chunks/index-
|
|
108
|
+
} from "./chunks/index-ye6j60jn.js";
|
|
106
109
|
import {
|
|
107
110
|
NAME_REFUSED2,
|
|
108
111
|
stripEveryAside2,
|
|
@@ -147,7 +150,7 @@ import {
|
|
|
147
150
|
defaultPersonNameFactory2,
|
|
148
151
|
personName2,
|
|
149
152
|
personNameFromIcao2
|
|
150
|
-
} from "./chunks/index-
|
|
153
|
+
} from "./chunks/index-tk01chxw.js";
|
|
151
154
|
import {
|
|
152
155
|
TEAM_WORD2,
|
|
153
156
|
TEAM_DESIGNATION_WORDS2,
|
|
@@ -215,6 +218,7 @@ export {
|
|
|
215
218
|
compoundGiven2 as compoundGiven,
|
|
216
219
|
createCachingPersonNameFactory2 as createCachingPersonNameFactory,
|
|
217
220
|
createClassifier2 as createClassifier,
|
|
221
|
+
createGivenFamilyList2 as createGivenFamilyList,
|
|
218
222
|
createNameCensus2 as createNameCensus,
|
|
219
223
|
createNameClusters2 as createNameClusters,
|
|
220
224
|
createNameIndex2 as createNameIndex,
|
|
@@ -232,6 +236,7 @@ export {
|
|
|
232
236
|
foldNameKey2 as foldNameKey,
|
|
233
237
|
formatPersonDisplay2 as formatPersonDisplay,
|
|
234
238
|
givenAbbreviates2 as givenAbbreviates,
|
|
239
|
+
givenFamilyList2 as givenFamilyList,
|
|
235
240
|
givenFamilyTable2 as givenFamilyTable,
|
|
236
241
|
givenKeyAbbreviates2 as givenKeyAbbreviates,
|
|
237
242
|
infeasibleClass2 as infeasibleClass,
|
|
@@ -245,6 +250,7 @@ export {
|
|
|
245
250
|
isFemale2 as isFemale,
|
|
246
251
|
isGiven2 as isGiven,
|
|
247
252
|
isIcaoName2 as isIcaoName,
|
|
253
|
+
isInDiminutiveTable2 as isInDiminutiveTable,
|
|
248
254
|
isListJoiner2 as isListJoiner,
|
|
249
255
|
isMale2 as isMale,
|
|
250
256
|
isMultiWord2 as isMultiWord,
|
|
@@ -320,5 +326,5 @@ export {
|
|
|
320
326
|
traditionOf2 as traditionOf
|
|
321
327
|
};
|
|
322
328
|
|
|
323
|
-
//# debugId=
|
|
329
|
+
//# debugId=C060D5DD49C57FA364756E2164756E21
|
|
324
330
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
package/dist/lexicon/index.js
CHANGED
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
isMultiWord2,
|
|
18
18
|
isSuspicious2,
|
|
19
19
|
isRoundTripException2,
|
|
20
|
+
isInDiminutiveTable2,
|
|
20
21
|
isPerson2,
|
|
21
22
|
traditionOf2,
|
|
22
23
|
toAscii2,
|
|
@@ -29,7 +30,7 @@ import {
|
|
|
29
30
|
NAMES_TXT2,
|
|
30
31
|
parseEntries2,
|
|
31
32
|
Lexicon2
|
|
32
|
-
} from "../chunks/index-
|
|
33
|
+
} from "../chunks/index-0wpvbdgh.js";
|
|
33
34
|
export {
|
|
34
35
|
APOSTROPHE_CHARS2 as APOSTROPHE_CHARS,
|
|
35
36
|
CLASSIFICATION_FLAGS2 as CLASSIFICATION_FLAGS,
|
|
@@ -46,6 +47,7 @@ export {
|
|
|
46
47
|
isConcept2 as isConcept,
|
|
47
48
|
isFemale2 as isFemale,
|
|
48
49
|
isGiven2 as isGiven,
|
|
50
|
+
isInDiminutiveTable2 as isInDiminutiveTable,
|
|
49
51
|
isMale2 as isMale,
|
|
50
52
|
isMultiWord2 as isMultiWord,
|
|
51
53
|
isNeutral2 as isNeutral,
|
|
@@ -63,5 +65,5 @@ export {
|
|
|
63
65
|
traditionOf2 as traditionOf
|
|
64
66
|
};
|
|
65
67
|
|
|
66
|
-
//# debugId=
|
|
68
|
+
//# debugId=365105A6760E523C64756E2164756E21
|
|
67
69
|
//# sourceMappingURL=index.js.map
|
package/dist/measure/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
composeEvalSet2,
|
|
3
3
|
evaluateClassifier2
|
|
4
|
-
} from "../chunks/index-
|
|
4
|
+
} from "../chunks/index-a6f2y4aa.js";
|
|
5
5
|
import {
|
|
6
6
|
createNameCensus2
|
|
7
|
-
} from "../chunks/index-
|
|
8
|
-
import"../chunks/index-
|
|
9
|
-
import"../chunks/index-
|
|
7
|
+
} from "../chunks/index-ye6j60jn.js";
|
|
8
|
+
import"../chunks/index-tk01chxw.js";
|
|
9
|
+
import"../chunks/index-0wpvbdgh.js";
|
|
10
10
|
export {
|
|
11
11
|
composeEvalSet2 as composeEvalSet,
|
|
12
12
|
createNameCensus2 as createNameCensus,
|