@lokascript/i18n 1.2.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.cjs +3625 -3581
- package/dist/browser.cjs.map +1 -1
- package/dist/browser.d.cts +9 -3
- package/dist/browser.d.ts +9 -3
- package/dist/browser.js +3595 -3582
- package/dist/browser.js.map +1 -1
- package/dist/dictionaries/index.cjs +0 -44
- package/dist/dictionaries/index.cjs.map +1 -1
- package/dist/dictionaries/index.d.cts +29 -80
- package/dist/dictionaries/index.d.ts +29 -80
- package/dist/dictionaries/index.js +0 -44
- package/dist/dictionaries/index.js.map +1 -1
- package/dist/index.cjs +7605 -7544
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +36 -36
- package/dist/index.d.ts +36 -36
- package/dist/index.js +7576 -7545
- package/dist/index.js.map +1 -1
- package/dist/lokascript-i18n.min.js +1 -1
- package/dist/lokascript-i18n.min.js.map +1 -1
- package/dist/lokascript-i18n.mjs +3792 -3813
- package/dist/lokascript-i18n.mjs.map +1 -1
- package/dist/plugins/vite.cjs +0 -42
- package/dist/plugins/vite.cjs.map +1 -1
- package/dist/plugins/vite.js +0 -42
- package/dist/plugins/vite.js.map +1 -1
- package/dist/plugins/webpack.cjs +0 -42
- package/dist/plugins/webpack.cjs.map +1 -1
- package/dist/plugins/webpack.js +0 -42
- package/dist/plugins/webpack.js.map +1 -1
- package/dist/{transformer-BBKJJ2vd.d.ts → transformer-DN_HqdDB.d.ts} +107 -14
- package/dist/{transformer-D8MM2_rz.d.cts → transformer-kXwlqa5b.d.cts} +107 -14
- package/package.json +7 -6
- package/src/browser.ts +22 -1
- package/src/dictionaries/ar.ts +0 -2
- package/src/dictionaries/de.ts +0 -2
- package/src/dictionaries/derive.ts +0 -2
- package/src/dictionaries/en.ts +0 -2
- package/src/dictionaries/es.ts +0 -2
- package/src/dictionaries/fr.ts +0 -2
- package/src/dictionaries/hi.ts +0 -2
- package/src/dictionaries/id.ts +0 -2
- package/src/dictionaries/index.ts +79 -163
- package/src/dictionaries/it.ts +0 -2
- package/src/dictionaries/ja.ts +0 -2
- package/src/dictionaries/ko.ts +0 -2
- package/src/dictionaries/ms.ts +0 -2
- package/src/dictionaries/pl.ts +0 -2
- package/src/dictionaries/pt.ts +0 -2
- package/src/dictionaries/qu.ts +0 -2
- package/src/dictionaries/ru.ts +0 -2
- package/src/dictionaries/sw.ts +0 -2
- package/src/dictionaries/tl.ts +0 -2
- package/src/dictionaries/tr.ts +0 -2
- package/src/dictionaries/uk.ts +0 -2
- package/src/dictionaries/vi.ts +0 -2
- package/src/dictionaries/zh.ts +0 -2
- package/src/grammar/direct-mappings.ts +0 -2
- package/src/grammar/grammar.test.ts +98 -0
- package/src/grammar/index.ts +9 -0
- package/src/grammar/transformer.ts +125 -73
- package/src/index.ts +30 -0
- package/src/parser/ar.ts +1 -1
- package/src/parser/bn.ts +9 -0
- package/src/parser/de.ts +1 -1
- package/src/parser/es.ts +1 -1
- package/src/parser/fr.ts +1 -1
- package/src/parser/hi.ts +9 -0
- package/src/parser/id.ts +1 -1
- package/src/parser/index.ts +10 -0
- package/src/parser/it.ts +9 -0
- package/src/parser/ja.ts +1 -1
- package/src/parser/ko.ts +1 -1
- package/src/parser/locale-manager.ts +1 -1
- package/src/parser/ms.ts +9 -0
- package/src/parser/pl.ts +9 -0
- package/src/parser/pt.ts +1 -1
- package/src/parser/qu.ts +1 -1
- package/src/parser/ru.ts +9 -0
- package/src/parser/sw.ts +1 -1
- package/src/parser/th.ts +9 -0
- package/src/parser/tl.ts +9 -0
- package/src/parser/tr.ts +1 -1
- package/src/parser/uk.ts +9 -0
- package/src/parser/vi.ts +9 -0
- package/src/parser/zh.ts +1 -1
- package/src/runtime.test.ts +152 -0
- package/src/runtime.ts +32 -13
- package/src/utils/locale.test.ts +108 -0
- package/src/utils/locale.ts +19 -25
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/types.ts","../../src/dictionaries/en.ts","../../src/dictionaries/es.ts","../../src/dictionaries/ko.ts","../../src/dictionaries/zh.ts","../../src/dictionaries/fr.ts","../../src/dictionaries/de.ts","../../src/dictionaries/ja.ts","../../src/dictionaries/ar.ts","../../src/dictionaries/tr.ts","../../src/dictionaries/id.ts","../../src/dictionaries/qu.ts","../../src/dictionaries/sw.ts","../../src/dictionaries/pt.ts","../../src/dictionaries/it.ts","../../src/dictionaries/vi.ts","../../src/dictionaries/pl.ts","../../src/dictionaries/ru.ts","../../src/dictionaries/uk.ts","../../src/dictionaries/hi.ts","../../src/dictionaries/bn.ts","../../src/dictionaries/th.ts","../../src/dictionaries/ms.ts","../../src/dictionaries/tl.ts","../../src/dictionaries/index.ts","../../src/utils/locale.ts","../../src/utils/tokenizer-adapter.ts","../../src/validators/schema.ts","../../src/validators/index.ts","../../src/translator.ts","../../src/plugins/vite.ts"],"names":["en","es","ja","ko","zh","fr","de","ar","tr","id","pt","qu","sw","it","vi","pl","supportedLocales","translator"],"mappings":";;;;;;;;;;AAkBO,IAAM,qBAAA,GAAuD;AAAA,EAClE,UAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF,CAAA;;;ACnBO,IAAM,EAAA,GAAiB;AAAA,EAC5B,QAAA,EAAU;AAAA;AAAA,IAER,EAAA,EAAI,IAAA;AAAA,IACJ,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,SAAA;AAAA,IACT,IAAA,EAAM,MAAA;AAAA;AAAA,IAGN,IAAA,EAAM,MAAA;AAAA,IACN,GAAA,EAAK,KAAA;AAAA,IACL,GAAA,EAAK,KAAA;AAAA,IACL,GAAA,EAAK,KAAA;AAAA,IACL,GAAA,EAAK,KAAA;AAAA,IACL,MAAA,EAAQ,QAAA;AAAA,IACR,MAAA,EAAQ,QAAA;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA;AAAA,IAGN,EAAA,EAAI,IAAA;AAAA,IACJ,MAAA,EAAQ,QAAA;AAAA,IACR,MAAA,EAAQ,QAAA;AAAA,IACR,GAAA,EAAK,KAAA;AAAA,IACL,KAAA,EAAO,OAAA;AAAA,IACP,KAAA,EAAO,OAAA;AAAA,IACP,QAAA,EAAU,UAAA;AAAA,IACV,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA;AAAA,IAGN,IAAA,EAAM,MAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,MAAA,EAAQ,QAAA;AAAA;AAAA,IAGR,IAAA,EAAM,MAAA;AAAA,IACN,GAAA,EAAK,KAAA;AAAA,IACL,KAAA,EAAO,OAAA;AAAA,IACP,KAAA,EAAO,OAAA;AAAA,IACP,OAAA,EAAS,SAAA;AAAA,IACT,UAAA,EAAY,YAAA;AAAA;AAAA,IAGZ,SAAA,EAAW,WAAA;AAAA,IACX,SAAA,EAAW,WAAA;AAAA,IACX,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS,SAAA;AAAA;AAAA,IAGT,EAAA,EAAI,IAAA;AAAA,IACJ,OAAA,EAAS,SAAA;AAAA,IACT,UAAA,EAAY,YAAA;AAAA;AAAA,IAGZ,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA;AAAA,IAGN,EAAA,EAAI,IAAA;AAAA,IACJ,KAAA,EAAO,OAAA;AAAA,IACP,MAAA,EAAQ,QAAA;AAAA;AAAA,IAGR,IAAA,EAAM,MAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,MAAA,EAAQ,QAAA;AAAA;AAAA,IAGR,MAAA,EAAQ,QAAA;AAAA;AAAA,IAGR,IAAA,EAAM,MAAA;AAAA;AAAA,IAGN,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,EAAA,EAAI,IAAA;AAAA,IACJ,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,EAAA,EAAI,IAAA;AAAA,IACJ,EAAA,EAAI,IAAA;AAAA,IACJ,EAAA,EAAI,IAAA;AAAA,IACJ,EAAA,EAAI,IAAA;AAAA,IACJ,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,QAAA,EAAU,UAAA;AAAA,IACV,SAAA,EAAW,WAAA;AAAA,IACX,OAAA,EAAS,SAAA;AAAA,IACT,UAAA,EAAY,YAAA;AAAA,IACZ,UAAA,EAAY,YAAA;AAAA,IACZ,SAAA,EAAW,WAAA;AAAA,IACX,QAAA,EAAU,UAAA;AAAA,IACV,SAAA,EAAW,WAAA;AAAA,IAEX,OAAA,EAAS,SAAA;AAAA,IACT,KAAA,EAAO,OAAA;AAAA,IACP,QAAA,EAAU,UAAA;AAAA,IAEV,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,OAAA;AAAA,IACP,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,OAAA;AAAA,IAEP,IAAA,EAAM,MAAA;AAAA,IACN,MAAA,EAAQ,QAAA;AAAA,IACR,MAAA,EAAQ,QAAA;AAAA,IACR,MAAA,EAAQ,QAAA;AAAA,IAER,UAAA,EAAY,YAAA;AAAA,IACZ,QAAA,EAAU,UAAA;AAAA,IACV,SAAA,EAAW,WAAA;AAAA,IACX,WAAA,EAAa;AAAA,GACf;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,GAAA,EAAK,KAAA;AAAA,IACL,EAAA,EAAI,IAAA;AAAA,IACJ,GAAA,EAAK,KAAA;AAAA,IACL,EAAA,EAAI,IAAA;AAAA,IACJ,MAAA,EAAQ,QAAA;AAAA,IACR,OAAA,EAAS,SAAA;AAAA,IACT,QAAA,EAAU,UAAA;AAAA,IACV,QAAA,EAAU,UAAA;AAAA,IACV,MAAA,EAAQ,QAAA;AAAA,IACR,GAAA,EAAK,KAAA;AAAA;AAAA,IACL,IAAA,EAAM,MAAA;AAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,SAAA,EAAW,WAAA;AAAA,IACX,GAAA,EAAK;AAAA,GACP;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS,SAAA;AAAA,IACT,MAAA,EAAQ,QAAA;AAAA,IACR,YAAA,EAAc,cAAA;AAAA,IACd,WAAA,EAAa,aAAA;AAAA,IACb,OAAA,EAAS,SAAA;AAAA,IACT,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,CAAA,EAAG,GAAA;AAAA,IACH,GAAA,EAAK,KAAA;AAAA,IACL,CAAA,EAAG;AAAA,GACL;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,SAAA,EAAW,WAAA;AAAA,IACX,EAAA,EAAI,IAAA;AAAA,IACJ,GAAA,EAAK,KAAA;AAAA,IACL,EAAA,EAAI,IAAA;AAAA,IACJ,EAAA,EAAI,IAAA;AAAA,IACJ,MAAA,EAAQ,QAAA;AAAA,IACR,GAAA,EAAK,KAAA;AAAA,IACL,IAAA,EAAM,MAAA;AAAA,IACN,QAAA,EAAU,UAAA;AAAA,IACV,OAAA,EAAS,SAAA;AAAA,IACT,MAAA,EAAQ,QAAA;AAAA,IACR,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,OAAA;AAAA,IACP,MAAA,EAAQ,QAAA;AAAA,IACR,QAAA,EAAU,UAAA;AAAA,IACV,IAAA,EAAM,MAAA;AAAA,IACN,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,OAAA;AAAA,IACP,OAAA,EAAS,SAAA;AAAA,IACT,KAAA,EAAO,OAAA;AAAA,IACP,MAAA,EAAQ,QAAA;AAAA,IACR,SAAA,EAAW,WAAA;AAAA,IACX,UAAA,EAAY,YAAA;AAAA,IACZ,QAAA,EAAU,UAAA;AAAA,IACV,UAAA,EAAY;AAAA,GACd;AAAA,EAEA,WAAA,EAAa;AAAA;AAAA,IAEX,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,QAAA,EAAU,UAAA;AAAA,IACV,IAAA,EAAM,MAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,MAAA,EAAQ,QAAA;AAAA;AAAA,IAGR,OAAA,EAAS,SAAA;AAAA,IACT,MAAA,EAAQ,QAAA;AAAA,IACR,QAAA,EAAU,UAAA;AAAA,IACV,MAAA,EAAQ,QAAA;AAAA;AAAA,IAGR,EAAA,EAAI,IAAA;AAAA,IACJ,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA;AAAA,IAGN,aAAA,EAAe,aAAA;AAAA,IACf,WAAA,EAAa;AAAA;AAEjB,CAAA;;;ACxOO,IAAM,EAAA,GAAiB;AAAA,EAC5B,QAAA,EAAU;AAAA;AAAA,IAER,EAAA,EAAI,IAAA;AAAA,IACJ,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS,UAAA;AAAA,IACT,IAAA,EAAM,QAAA;AAAA;AAAA,IAGN,IAAA,EAAM,OAAA;AAAA,IACN,GAAA,EAAK,OAAA;AAAA,IACL,GAAA,EAAK,YAAA;AAAA,IACL,GAAA,EAAK,SAAA;AAAA,IACL,GAAA,EAAK,SAAA;AAAA,IACL,MAAA,EAAQ,QAAA;AAAA,IACR,MAAA,EAAQ,UAAA;AAAA,IACR,IAAA,EAAM,SAAA;AAAA,IACN,IAAA,EAAM,SAAA;AAAA;AAAA,IAGN,EAAA,EAAI,IAAA;AAAA,IACJ,MAAA,EAAQ,OAAA;AAAA,IACR,MAAA,EAAQ,SAAA;AAAA,IACR,GAAA,EAAK,MAAA;AAAA,IACL,KAAA,EAAO,UAAA;AAAA,IACP,KAAA,EAAO,OAAA;AAAA,IACP,QAAA,EAAU,WAAA;AAAA,IACV,KAAA,EAAO,QAAA;AAAA,IACP,IAAA,EAAM,SAAA;AAAA;AAAA,IAGN,IAAA,EAAM,SAAA;AAAA,IACN,KAAA,EAAO,QAAA;AAAA,IACP,IAAA,EAAM,QAAA;AAAA,IACN,MAAA,EAAQ,UAAA;AAAA;AAAA,IAGR,IAAA,EAAM,OAAA;AAAA,IACN,GAAA,EAAK,WAAA;AAAA,IACL,KAAA,EAAO,QAAA;AAAA,IACP,KAAA,EAAO,SAAA;AAAA,IACP,OAAA,EAAS,OAAA;AAAA,IACT,UAAA,EAAY,eAAA;AAAA;AAAA,IAGZ,SAAA,EAAW,aAAA;AAAA,IACX,SAAA,EAAW,aAAA;AAAA,IACX,IAAA,EAAM,UAAA;AAAA,IACN,OAAA,EAAS,eAAA;AAAA,IACT,OAAA,EAAS,WAAA;AAAA;AAAA,IAGT,EAAA,EAAI,IAAA;AAAA,IACJ,OAAA,EAAS,SAAA;AAAA,IACT,UAAA,EAAY,eAAA;AAAA;AAAA,IAGZ,IAAA,EAAM,QAAA;AAAA,IACN,IAAA,EAAM,SAAA;AAAA,IACN,IAAA,EAAM,QAAA;AAAA;AAAA,IAGN,EAAA,EAAI,IAAA;AAAA,IACJ,KAAA,EAAO,cAAA;AAAA,IACP,MAAA,EAAQ,YAAA;AAAA;AAAA,IAGR,IAAA,EAAM,cAAA;AAAA,IACN,KAAA,EAAO,aAAA;AAAA,IACP,MAAA,EAAQ,aAAA;AAAA;AAAA,IAGR,MAAA,EAAQ,WAAA;AAAA;AAAA,IAGR,IAAA,EAAM,OAAA;AAAA;AAAA,IAGN,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,EAAA,EAAI,GAAA;AAAA,IACJ,IAAA,EAAM,IAAA;AAAA,IACN,IAAA,EAAM,IAAA;AAAA,IACN,IAAA,EAAM,KAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,EAAA,EAAI,IAAA;AAAA,IACJ,EAAA,EAAI,IAAA;AAAA,IACJ,EAAA,EAAI,MAAA;AAAA,IACJ,EAAA,EAAI,KAAA;AAAA,IACJ,MAAA,EAAQ,OAAA;AAAA,IACR,KAAA,EAAO,YAAA;AAAA,IACP,IAAA,EAAM,OAAA;AAAA,IACN,KAAA,EAAO,MAAA;AAAA,IACP,OAAA,EAAS,OAAA;AAAA,IACT,OAAA,EAAS,WAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,MAAA;AAAA,IACP,QAAA,EAAU,WAAA;AAAA,IACV,SAAA,EAAW,eAAA;AAAA,IACX,OAAA,EAAS,gBAAA;AAAA,IACT,UAAA,EAAY,gBAAA;AAAA,IACZ,UAAA,EAAY,eAAA;AAAA,IACZ,SAAA,EAAW,gBAAA;AAAA,IACX,QAAA,EAAU,eAAA;AAAA,IACV,SAAA,EAAW,eAAA;AAAA,IAEX,OAAA,EAAS,YAAA;AAAA,IACT,KAAA,EAAO,aAAA;AAAA,IACP,QAAA,EAAU,aAAA;AAAA,IAEV,KAAA,EAAO,SAAA;AAAA,IACP,IAAA,EAAM,YAAA;AAAA,IACN,MAAA,EAAQ,SAAA;AAAA,IACR,KAAA,EAAO,SAAA;AAAA,IACP,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,WAAA;AAAA,IAEP,IAAA,EAAM,QAAA;AAAA,IACN,MAAA,EAAQ,WAAA;AAAA,IACR,MAAA,EAAQ,eAAA;AAAA,IACR,MAAA,EAAQ,WAAA;AAAA,IAER,UAAA,EAAY,cAAA;AAAA,IACZ,QAAA,EAAU,eAAA;AAAA,IACV,SAAA,EAAW,YAAA;AAAA,IACX,WAAA,EAAa;AAAA,GACf;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,QAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,GAAA,EAAK,GAAA;AAAA,IACL,EAAA,EAAI,GAAA;AAAA,IACJ,GAAA,EAAK,IAAA;AAAA,IACL,EAAA,EAAI,IAAA;AAAA,IACJ,MAAA,EAAQ,QAAA;AAAA,IACR,OAAA,EAAS,UAAA;AAAA,IACT,QAAA,EAAU,UAAA;AAAA,IACV,QAAA,EAAU,SAAA;AAAA,IACV,MAAA,EAAQ,QAAA;AAAA,IACR,GAAA,EAAK,OAAA;AAAA;AAAA,IACL,IAAA,EAAM,OAAA;AAAA;AAAA,IACN,IAAA,EAAM,UAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,SAAA,EAAW,eAAA;AAAA,IACX,GAAA,EAAK;AAAA,GACP;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS,UAAA;AAAA,IACT,MAAA,EAAQ,SAAA;AAAA,IACR,YAAA,EAAc,cAAA;AAAA,IACd,WAAA,EAAa,aAAA;AAAA,IACb,OAAA,EAAS,SAAA;AAAA,IACT,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,CAAA,EAAG,GAAA;AAAA,IACH,GAAA,EAAK,KAAA;AAAA,IACL,CAAA,EAAG;AAAA,GACL;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,WAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,SAAA,EAAW,YAAA;AAAA,IACX,EAAA,EAAI,MAAA;AAAA,IACJ,GAAA,EAAK,IAAA;AAAA,IACL,EAAA,EAAI,IAAA;AAAA,IACJ,EAAA,EAAI,IAAA;AAAA,IACJ,GAAA,EAAK,IAAA;AAAA,IACL,IAAA,EAAM,IAAA;AAAA,IACN,QAAA,EAAU,UAAA;AAAA;AAAA,IACV,MAAA,EAAQ,UAAA;AAAA,IACR,OAAA,EAAS,UAAA;AAAA,IACT,MAAA,EAAQ,UAAA;AAAA,IACR,MAAA,EAAQ,SAAA;AAAA,IACR,KAAA,EAAO,QAAA;AAAA,IACP,MAAA,EAAQ,SAAA;AAAA,IACR,QAAA,EAAU,WAAA;AAAA,IACV,IAAA,EAAM,QAAA;AAAA,IACN,MAAA,EAAQ,WAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,OAAA;AAAA,IACP,OAAA,EAAS,QAAA;AAAA,IACT,KAAA,EAAO,QAAA;AAAA,IACP,MAAA,EAAQ,SAAA;AAAA,IACR,SAAA,EAAW,UAAA;AAAA,IACX,UAAA,EAAY,WAAA;AAAA,IACZ,QAAA,EAAU,WAAA;AAAA,IACV,UAAA,EAAY;AAAA,GACd;AAAA,EAEA,WAAA,EAAa;AAAA;AAAA,IAEX,KAAA,EAAO,SAAA;AAAA,IACP,IAAA,EAAM,WAAA;AAAA,IACN,IAAA,EAAM,WAAA;AAAA,IACN,QAAA,EAAU,UAAA;AAAA,IACV,IAAA,EAAM,KAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,MAAA,EAAQ,WAAA;AAAA;AAAA,IAGR,OAAA,EAAS,eAAA;AAAA,IACT,MAAA,EAAQ,OAAA;AAAA,IACR,QAAA,EAAU,OAAA;AAAA,IACV,MAAA,EAAQ,QAAA;AAAA;AAAA,IAGR,EAAA,EAAI,WAAA;AAAA,IACJ,KAAA,EAAO,UAAA;AAAA,IACP,IAAA,EAAM,UAAA;AAAA;AAAA,IAGN,aAAA,EAAe,aAAA;AAAA,IACf,WAAA,EAAa;AAAA;AAEjB,CAAA;;;ACpOO,IAAM,EAAA,GAAiB;AAAA,EAC5B,QAAA,EAAU;AAAA;AAAA,IAER,EAAA,EAAI,QAAA;AAAA,IACJ,IAAA,EAAM,oBAAA;AAAA,IACN,OAAA,EAAS,oBAAA;AAAA,IACT,IAAA,EAAM,oBAAA;AAAA;AAAA,IAGN,IAAA,EAAM,0BAAA;AAAA,IACN,GAAA,EAAK,cAAA;AAAA,IACL,GAAA,EAAK,cAAA;AAAA,IACL,GAAA,EAAK,cAAA;AAAA,IACL,GAAA,EAAK,cAAA;AAAA,IACL,MAAA,EAAQ,cAAA;AAAA,IACR,MAAA,EAAQ,cAAA;AAAA,IACR,IAAA,EAAM,oBAAA;AAAA,IACN,IAAA,EAAM,oBAAA;AAAA;AAAA,IAGN,EAAA,EAAI,cAAA;AAAA,IACJ,MAAA,EAAQ,oBAAA;AAAA,IACR,MAAA,EAAQ,cAAA;AAAA,IACR,GAAA,EAAK,cAAA;AAAA,IACL,KAAA,EAAO,cAAA;AAAA,IACP,KAAA,EAAO,cAAA;AAAA,IACP,QAAA,EAAU,cAAA;AAAA,IACV,KAAA,EAAO,cAAA;AAAA,IACP,IAAA,EAAM,cAAA;AAAA;AAAA,IAGN,IAAA,EAAM,cAAA;AAAA,IACN,KAAA,EAAO,0BAAA;AAAA,IACP,IAAA,EAAM,cAAA;AAAA,IACN,MAAA,EAAQ,cAAA;AAAA;AAAA,IAGR,IAAA,EAAM,oBAAA;AAAA,IACN,GAAA,EAAK,cAAA;AAAA,IACL,KAAA,EAAO,oBAAA;AAAA,IACP,KAAA,EAAO,cAAA;AAAA,IACP,OAAA,EAAS,cAAA;AAAA,IACT,UAAA,EAAY,cAAA;AAAA;AAAA,IAGZ,SAAA,EAAW,cAAA;AAAA,IACX,SAAA,EAAW,cAAA;AAAA,IACX,IAAA,EAAM,oBAAA;AAAA,IACN,OAAA,EAAS,oBAAA;AAAA,IACT,OAAA,EAAS,cAAA;AAAA;AAAA,IAGT,EAAA,EAAI,cAAA;AAAA,IACJ,OAAA,EAAS,iBAAA;AAAA,IACT,UAAA,EAAY,iBAAA;AAAA;AAAA,IAGZ,IAAA,EAAM,cAAA;AAAA,IACN,IAAA,EAAM,cAAA;AAAA,IACN,IAAA,EAAM,cAAA;AAAA;AAAA,IAGN,EAAA,EAAI,gBAAA;AAAA,IACJ,KAAA,EAAO,oBAAA;AAAA,IACP,MAAA,EAAQ,oBAAA;AAAA;AAAA,IAGR,IAAA,EAAM,cAAA;AAAA,IACN,KAAA,EAAO,cAAA;AAAA,IACP,MAAA,EAAQ,cAAA;AAAA;AAAA,IAGR,MAAA,EAAQ,cAAA;AAAA;AAAA,IAGR,IAAA,EAAM,cAAA;AAAA;AAAA,IAGN,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,EAAA,EAAI,QAAA;AAAA,IACJ,IAAA,EAAM,cAAA;AAAA,IACN,IAAA,EAAM,cAAA;AAAA,IACN,IAAA,EAAM,QAAA;AAAA,IACN,EAAA,EAAI,QAAA;AAAA,IACJ,EAAA,EAAI,cAAA;AAAA,IACJ,EAAA,EAAI,QAAA;AAAA,IACJ,EAAA,EAAI,QAAA;AAAA,IACJ,EAAA,EAAI,oBAAA;AAAA,IACJ,MAAA,EAAQ,cAAA;AAAA,IACR,KAAA,EAAO,cAAA;AAAA,IACP,IAAA,EAAM,cAAA;AAAA,IACN,KAAA,EAAO,cAAA;AAAA,IACP,OAAA,EAAS,cAAA;AAAA,IACT,OAAA,EAAS,cAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,cAAA;AAAA,IACP,QAAA,EAAU,0BAAA;AAAA,IACV,SAAA,EAAW,gCAAA;AAAA,IACX,OAAA,EAAS,0BAAA;AAAA,IACT,UAAA,EAAY,gCAAA;AAAA,IACZ,UAAA,EAAY,gCAAA;AAAA,IACZ,SAAA,EAAW,gCAAA;AAAA,IACX,QAAA,EAAU,gCAAA;AAAA,IACV,SAAA,EAAW,gCAAA;AAAA,IAEX,OAAA,EAAS,oBAAA;AAAA,IACT,KAAA,EAAO,cAAA;AAAA,IACP,QAAA,EAAU,0BAAA;AAAA,IAEV,KAAA,EAAO,oBAAA;AAAA,IACP,IAAA,EAAM,cAAA;AAAA,IACN,MAAA,EAAQ,cAAA;AAAA,IACR,KAAA,EAAO,cAAA;AAAA,IACP,MAAA,EAAQ,cAAA;AAAA,IACR,KAAA,EAAO,cAAA;AAAA,IAEP,IAAA,EAAM,cAAA;AAAA,IACN,MAAA,EAAQ,oBAAA;AAAA,IACR,MAAA,EAAQ,0BAAA;AAAA,IACR,MAAA,EAAQ,oBAAA;AAAA,IAER,UAAA,EAAY,0BAAA;AAAA,IACZ,QAAA,EAAU,0BAAA;AAAA,IACV,SAAA,EAAW,0BAAA;AAAA,IACX,WAAA,EAAa;AAAA,GACf;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,QAAA;AAAA,IACN,KAAA,EAAO,cAAA;AAAA,IACP,GAAA,EAAK,oBAAA;AAAA,IACL,EAAA,EAAI,cAAA;AAAA,IACJ,GAAA,EAAK,cAAA;AAAA,IACL,EAAA,EAAI,cAAA;AAAA,IACJ,MAAA,EAAQ,cAAA;AAAA,IACR,OAAA,EAAS,cAAA;AAAA,IACT,QAAA,EAAU,cAAA;AAAA,IACV,QAAA,EAAU,0BAAA;AAAA,IACV,MAAA,EAAQ,cAAA;AAAA,IACR,GAAA,EAAK,cAAA;AAAA;AAAA,IACL,IAAA,EAAM,cAAA;AAAA;AAAA,IACN,IAAA,EAAM,oBAAA;AAAA,IACN,IAAA,EAAM,oBAAA;AAAA,IACN,SAAA,EAAW,sCAAA;AAAA,IACX,GAAA,EAAK;AAAA,GACP;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS,QAAA;AAAA,IACT,MAAA,EAAQ,QAAA;AAAA,IACR,YAAA,EAAc,oBAAA;AAAA,IACd,WAAA,EAAa,oBAAA;AAAA,IACb,OAAA,EAAS,QAAA;AAAA,IACT,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,cAAA;AAAA,IACP,IAAA,EAAM,cAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,CAAA,EAAG,QAAA;AAAA,IACH,GAAA,EAAK,QAAA;AAAA,IACL,CAAA,EAAG;AAAA,GACL;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,QAAA;AAAA,IACN,KAAA,EAAO,cAAA;AAAA,IACP,IAAA,EAAM,QAAA;AAAA,IACN,SAAA,EAAW,0BAAA;AAAA,IACX,EAAA,EAAI,cAAA;AAAA,IACJ,GAAA,EAAK,oBAAA;AAAA;AAAA,IACL,EAAA,EAAI,QAAA;AAAA,IACJ,EAAA,EAAI,QAAA;AAAA,IACJ,MAAA,EAAQ,oBAAA;AAAA,IACR,GAAA,EAAK,QAAA;AAAA;AAAA,IACL,IAAA,EAAM,QAAA;AAAA;AAAA,IACN,QAAA,EAAU,oBAAA;AAAA;AAAA,IACV,OAAA,EAAS,cAAA;AAAA,IACT,MAAA,EAAQ,cAAA;AAAA,IACR,MAAA,EAAQ,cAAA;AAAA,IACR,KAAA,EAAO,oBAAA;AAAA,IACP,MAAA,EAAQ,QAAA;AAAA,IACR,QAAA,EAAU,cAAA;AAAA,IACV,IAAA,EAAM,cAAA;AAAA,IACN,MAAA,EAAQ,cAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,oBAAA;AAAA,IACP,OAAA,EAAS,0BAAA;AAAA,IACT,KAAA,EAAO,oBAAA;AAAA,IACP,MAAA,EAAQ,0BAAA;AAAA,IACR,SAAA,EAAW,cAAA;AAAA,IACX,UAAA,EAAY,oBAAA;AAAA,IACZ,QAAA,EAAU,0BAAA;AAAA,IACV,UAAA,EAAY;AAAA,GACd;AAAA,EAEA,WAAA,EAAa;AAAA;AAAA,IAEX,KAAA,EAAO,oBAAA;AAAA,IACP,IAAA,EAAM,oBAAA;AAAA,IACN,IAAA,EAAM,cAAA;AAAA,IACN,QAAA,EAAU,cAAA;AAAA,IACV,IAAA,EAAM,cAAA;AAAA,IACN,EAAA,EAAI,cAAA;AAAA,IACJ,MAAA,EAAQ,oBAAA;AAAA;AAAA,IAGR,OAAA,EAAS,gCAAA;AAAA,IACT,MAAA,EAAQ,cAAA;AAAA,IACR,QAAA,EAAU,cAAA;AAAA,IACV,MAAA,EAAQ,cAAA;AAAA;AAAA,IAGR,EAAA,EAAI,cAAA;AAAA,IACJ,KAAA,EAAO,0BAAA;AAAA,IACP,IAAA,EAAM,cAAA;AAAA;AAAA,IAGN,aAAA,EAAe,oBAAA;AAAA,IACf,WAAA,EAAa;AAAA;AAEjB,CAAA;;;ACpOO,IAAM,EAAA,GAAiB;AAAA,EAC5B,QAAA,EAAU;AAAA;AAAA,IAER,EAAA,EAAI,QAAA;AAAA,IACJ,IAAA,EAAM,cAAA;AAAA,IACN,OAAA,EAAS,cAAA;AAAA,IACT,IAAA,EAAM,cAAA;AAAA;AAAA,IAGN,IAAA,EAAM,cAAA;AAAA,IACN,GAAA,EAAK,cAAA;AAAA,IACL,GAAA,EAAK,cAAA;AAAA,IACL,GAAA,EAAK,cAAA;AAAA,IACL,GAAA,EAAK,cAAA;AAAA,IACL,MAAA,EAAQ,cAAA;AAAA,IACR,MAAA,EAAQ,cAAA;AAAA,IACR,IAAA,EAAM,cAAA;AAAA,IACN,IAAA,EAAM,cAAA;AAAA;AAAA,IAGN,EAAA,EAAI,cAAA;AAAA,IACJ,MAAA,EAAQ,cAAA;AAAA,IACR,MAAA,EAAQ,cAAA;AAAA,IACR,GAAA,EAAK,QAAA;AAAA,IACL,KAAA,EAAO,QAAA;AAAA,IACP,KAAA,EAAO,cAAA;AAAA,IACP,QAAA,EAAU,cAAA;AAAA,IACV,KAAA,EAAO,cAAA;AAAA,IACP,IAAA,EAAM,cAAA;AAAA;AAAA,IAGN,IAAA,EAAM,cAAA;AAAA,IACN,KAAA,EAAO,cAAA;AAAA,IACP,IAAA,EAAM,cAAA;AAAA,IACN,MAAA,EAAQ,cAAA;AAAA;AAAA,IAGR,IAAA,EAAM,cAAA;AAAA,IACN,GAAA,EAAK,cAAA;AAAA,IACL,KAAA,EAAO,cAAA;AAAA,IACP,KAAA,EAAO,cAAA;AAAA,IACP,OAAA,EAAS,cAAA;AAAA,IACT,UAAA,EAAY,cAAA;AAAA;AAAA,IAGZ,SAAA,EAAW,cAAA;AAAA,IACX,SAAA,EAAW,cAAA;AAAA,IACX,IAAA,EAAM,cAAA;AAAA,IACN,OAAA,EAAS,cAAA;AAAA,IACT,OAAA,EAAS,oBAAA;AAAA;AAAA,IAGT,EAAA,EAAI,cAAA;AAAA,IACJ,OAAA,EAAS,0BAAA;AAAA,IACT,UAAA,EAAY,0BAAA;AAAA;AAAA,IAGZ,IAAA,EAAM,cAAA;AAAA,IACN,IAAA,EAAM,cAAA;AAAA,IACN,IAAA,EAAM,cAAA;AAAA;AAAA,IAGN,EAAA,EAAI,gBAAA;AAAA,IACJ,KAAA,EAAO,cAAA;AAAA,IACP,MAAA,EAAQ,cAAA;AAAA;AAAA,IAGR,IAAA,EAAM,cAAA;AAAA,IACN,KAAA,EAAO,cAAA;AAAA,IACP,MAAA,EAAQ,cAAA;AAAA;AAAA,IAGR,MAAA,EAAQ,cAAA;AAAA;AAAA,IAGR,IAAA,EAAM,cAAA;AAAA;AAAA,IAGN,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,EAAA,EAAI,QAAA;AAAA,IACJ,IAAA,EAAM,QAAA;AAAA,IACN,IAAA,EAAM,cAAA;AAAA,IACN,IAAA,EAAM,QAAA;AAAA,IACN,EAAA,EAAI,QAAA;AAAA,IACJ,EAAA,EAAI,QAAA;AAAA,IACJ,EAAA,EAAI,QAAA;AAAA,IACJ,EAAA,EAAI,cAAA;AAAA,IACJ,EAAA,EAAI,cAAA;AAAA,IACJ,MAAA,EAAQ,cAAA;AAAA,IACR,KAAA,EAAO,cAAA;AAAA,IACP,IAAA,EAAM,cAAA;AAAA,IACN,KAAA,EAAO,cAAA;AAAA,IACP,OAAA,EAAS,cAAA;AAAA,IACT,OAAA,EAAS,cAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,cAAA;AAAA,IACP,QAAA,EAAU,cAAA;AAAA,IACV,SAAA,EAAW,0BAAA;AAAA,IACX,OAAA,EAAS,0BAAA;AAAA,IACT,UAAA,EAAY,0BAAA;AAAA,IACZ,UAAA,EAAY,0BAAA;AAAA,IACZ,SAAA,EAAW,0BAAA;AAAA,IACX,QAAA,EAAU,0BAAA;AAAA,IACV,SAAA,EAAW,0BAAA;AAAA,IAEX,OAAA,EAAS,0BAAA;AAAA,IACT,KAAA,EAAO,0BAAA;AAAA,IACP,QAAA,EAAU,cAAA;AAAA,IAEV,KAAA,EAAO,cAAA;AAAA,IACP,IAAA,EAAM,cAAA;AAAA,IACN,MAAA,EAAQ,cAAA;AAAA,IACR,KAAA,EAAO,cAAA;AAAA,IACP,MAAA,EAAQ,cAAA;AAAA,IACR,KAAA,EAAO,cAAA;AAAA,IAEP,IAAA,EAAM,cAAA;AAAA,IACN,MAAA,EAAQ,cAAA;AAAA,IACR,MAAA,EAAQ,0BAAA;AAAA,IACR,MAAA,EAAQ,cAAA;AAAA,IAER,UAAA,EAAY,0BAAA;AAAA,IACZ,QAAA,EAAU,0BAAA;AAAA,IACV,SAAA,EAAW,0BAAA;AAAA,IACX,WAAA,EAAa;AAAA,GACf;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,QAAA;AAAA,IACN,KAAA,EAAO,cAAA;AAAA,IACP,GAAA,EAAK,QAAA;AAAA,IACL,EAAA,EAAI,QAAA;AAAA,IACJ,GAAA,EAAK,QAAA;AAAA,IACL,EAAA,EAAI,QAAA;AAAA,IACJ,MAAA,EAAQ,cAAA;AAAA,IACR,OAAA,EAAS,cAAA;AAAA,IACT,QAAA,EAAU,cAAA;AAAA,IACV,QAAA,EAAU,cAAA;AAAA,IACV,MAAA,EAAQ,cAAA;AAAA,IACR,GAAA,EAAK,QAAA;AAAA;AAAA,IACL,IAAA,EAAM,QAAA;AAAA;AAAA,IACN,IAAA,EAAM,cAAA;AAAA,IACN,IAAA,EAAM,cAAA;AAAA,IACN,SAAA,EAAW,oBAAA;AAAA,IACX,GAAA,EAAK;AAAA,GACP;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS,QAAA;AAAA,IACT,MAAA,EAAQ,QAAA;AAAA,IACR,YAAA,EAAc,cAAA;AAAA,IACd,WAAA,EAAa,cAAA;AAAA,IACb,OAAA,EAAS,cAAA;AAAA,IACT,MAAA,EAAQ,cAAA;AAAA,IACR,KAAA,EAAO,cAAA;AAAA,IACP,IAAA,EAAM,cAAA;AAAA,IACN,EAAA,EAAI,cAAA;AAAA,IACJ,CAAA,EAAG,QAAA;AAAA,IACH,GAAA,EAAK,QAAA;AAAA,IACL,CAAA,EAAG;AAAA,GACL;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,QAAA;AAAA,IACN,KAAA,EAAO,QAAA;AAAA,IACP,IAAA,EAAM,QAAA;AAAA,IACN,SAAA,EAAW,oBAAA;AAAA,IACX,EAAA,EAAI,QAAA;AAAA,IACJ,GAAA,EAAK,cAAA;AAAA;AAAA,IACL,EAAA,EAAI,QAAA;AAAA,IACJ,EAAA,EAAI,cAAA;AAAA,IACJ,MAAA,EAAQ,oBAAA;AAAA,IACR,GAAA,EAAK,QAAA;AAAA;AAAA,IACL,IAAA,EAAM,cAAA;AAAA;AAAA,IACN,QAAA,EAAU,oBAAA;AAAA;AAAA,IACV,OAAA,EAAS,cAAA;AAAA,IACT,MAAA,EAAQ,cAAA;AAAA,IACR,MAAA,EAAQ,cAAA;AAAA,IACR,KAAA,EAAO,cAAA;AAAA,IACP,MAAA,EAAQ,cAAA;AAAA,IACR,QAAA,EAAU,cAAA;AAAA,IACV,IAAA,EAAM,cAAA;AAAA,IACN,MAAA,EAAQ,cAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,QAAA;AAAA,IACP,OAAA,EAAS,cAAA;AAAA,IACT,KAAA,EAAO,cAAA;AAAA,IACP,MAAA,EAAQ,oBAAA;AAAA,IACR,SAAA,EAAW,cAAA;AAAA,IACX,UAAA,EAAY,oBAAA;AAAA,IACZ,QAAA,EAAU,cAAA;AAAA,IACV,UAAA,EAAY;AAAA,GACd;AAAA,EAEA,WAAA,EAAa;AAAA;AAAA,IAEX,KAAA,EAAO,oBAAA;AAAA,IACP,IAAA,EAAM,0BAAA;AAAA,IACN,IAAA,EAAM,oBAAA;AAAA,IACN,QAAA,EAAU,oBAAA;AAAA,IACV,IAAA,EAAM,cAAA;AAAA,IACN,EAAA,EAAI,QAAA;AAAA,IACJ,MAAA,EAAQ,cAAA;AAAA;AAAA,IAGR,OAAA,EAAS,oBAAA;AAAA,IACT,MAAA,EAAQ,cAAA;AAAA,IACR,QAAA,EAAU,cAAA;AAAA,IACV,MAAA,EAAQ,cAAA;AAAA;AAAA,IAGR,EAAA,EAAI,cAAA;AAAA,IACJ,KAAA,EAAO,cAAA;AAAA,IACP,IAAA,EAAM,cAAA;AAAA;AAAA,IAGN,aAAA,EAAe,oBAAA;AAAA,IACf,WAAA,EAAa;AAAA;AAEjB,CAAA;;;ACpOO,IAAM,EAAA,GAAiB;AAAA,EAC5B,QAAA,EAAU;AAAA;AAAA,IAER,EAAA,EAAI,KAAA;AAAA,IACJ,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,eAAA;AAAA,IACT,IAAA,EAAM,SAAA;AAAA;AAAA,IAGN,IAAA,EAAM,SAAA;AAAA,IACN,GAAA,EAAK,QAAA;AAAA,IACL,GAAA,EAAK,YAAA;AAAA,IACL,GAAA,EAAK,SAAA;AAAA,IACL,GAAA,EAAK,SAAA;AAAA,IACL,MAAA,EAAQ,WAAA;AAAA,IACR,MAAA,EAAQ,UAAA;AAAA,IACR,IAAA,EAAM,QAAA;AAAA,IACN,IAAA,EAAM,SAAA;AAAA;AAAA,IAGN,EAAA,EAAI,IAAA;AAAA,IACJ,MAAA,EAAQ,QAAA;AAAA,IACR,MAAA,EAAQ,eAAA;AAAA,IACR,GAAA,EAAK,MAAA;AAAA,IACL,KAAA,EAAO,SAAA;AAAA,IACP,KAAA,EAAO,WAAA;AAAA,IACP,QAAA,EAAU,WAAA;AAAA,IACV,KAAA,EAAO,YAAA;AAAA,IACP,IAAA,EAAM,SAAA;AAAA;AAAA,IAGN,IAAA,EAAM,UAAA;AAAA,IACN,KAAA,EAAO,iBAAA;AAAA,IACP,IAAA,EAAM,SAAA;AAAA,IACN,MAAA,EAAQ,WAAA;AAAA;AAAA,IAGR,IAAA,EAAM,UAAA;AAAA,IACN,GAAA,EAAK,aAAA;AAAA,IACL,KAAA,EAAO,QAAA;AAAA,IACP,KAAA,EAAO,UAAA;AAAA,IACP,OAAA,EAAS,SAAA;AAAA,IACT,UAAA,EAAY,YAAA;AAAA;AAAA,IAGZ,SAAA,EAAW,gBAAA;AAAA,IACX,SAAA,EAAW,mBAAA;AAAA,IACX,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,WAAA;AAAA,IACT,OAAA,EAAS,WAAA;AAAA;AAAA,IAGT,EAAA,EAAI,OAAA;AAAA,IACJ,OAAA,EAAS,YAAA;AAAA,IACT,UAAA,EAAY,cAAA;AAAA;AAAA,IAGZ,IAAA,EAAM,QAAA;AAAA,IACN,IAAA,EAAM,SAAA;AAAA,IACN,IAAA,EAAM,KAAA;AAAA;AAAA,IAGN,EAAA,EAAI,IAAA;AAAA,IACJ,KAAA,EAAO,YAAA;AAAA,IACP,MAAA,EAAQ,OAAA;AAAA;AAAA,IAGR,IAAA,EAAM,aAAA;AAAA,IACN,KAAA,EAAO,aAAA;AAAA,IACP,MAAA,EAAQ,YAAA;AAAA;AAAA,IAGR,MAAA,EAAQ,SAAA;AAAA;AAAA,IAGR,IAAA,EAAM,QAAA;AAAA;AAAA,IAGN,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,EAAA,EAAI,MAAA;AAAA,IACJ,IAAA,EAAM,IAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,EAAA,EAAI,MAAA;AAAA,IACJ,EAAA,EAAI,IAAA;AAAA,IACJ,EAAA,EAAI,IAAA;AAAA,IACJ,EAAA,EAAI,OAAA;AAAA,IACJ,EAAA,EAAI,KAAA;AAAA,IACJ,MAAA,EAAQ,OAAA;AAAA,IACR,KAAA,EAAO,UAAA;AAAA,IACP,IAAA,EAAM,KAAA;AAAA,IACN,KAAA,EAAO,MAAA;AAAA,IACP,OAAA,EAAS,OAAA;AAAA,IACT,OAAA,EAAS,cAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,MAAA;AAAA,IACP,QAAA,EAAU,YAAA;AAAA,IACV,SAAA,EAAW,kBAAA;AAAA,IACX,OAAA,EAAS,sBAAA;AAAA,IACT,UAAA,EAAY,cAAA;AAAA,IACZ,UAAA,EAAY,cAAA;AAAA,IACZ,SAAA,EAAW,WAAA;AAAA,IACX,QAAA,EAAU,cAAA;AAAA,IACV,SAAA,EAAW,cAAA;AAAA,IAEX,OAAA,EAAS,kBAAA;AAAA,IACT,KAAA,EAAO,sBAAA;AAAA,IACP,QAAA,EAAU,kBAAA;AAAA,IAEV,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,MAAA,EAAQ,SAAA;AAAA,IACR,KAAA,EAAO,QAAA;AAAA,IACP,MAAA,EAAQ,WAAA;AAAA,IACR,KAAA,EAAO,kBAAA;AAAA,IAEP,IAAA,EAAM,SAAA;AAAA,IACN,MAAA,EAAQ,cAAA;AAAA,IACR,MAAA,EAAQ,gBAAA;AAAA,IACR,MAAA,EAAQ,YAAA;AAAA,IAER,UAAA,EAAY,kBAAA;AAAA,IACZ,QAAA,EAAU,YAAA;AAAA,IACV,SAAA,EAAW,eAAA;AAAA,IACX,WAAA,EAAa;AAAA,GACf;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,OAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,GAAA,EAAK,IAAA;AAAA,IACL,EAAA,EAAI,IAAA;AAAA,IACJ,GAAA,EAAK,KAAA;AAAA,IACL,EAAA,EAAI,KAAA;AAAA,IACJ,MAAA,EAAQ,QAAA;AAAA,IACR,OAAA,EAAS,YAAA;AAAA,IACT,QAAA,EAAU,UAAA;AAAA,IACV,QAAA,EAAU,QAAA;AAAA,IACV,MAAA,EAAQ,UAAA;AAAA,IACR,GAAA,EAAK,GAAA;AAAA;AAAA,IACL,IAAA,EAAM,IAAA;AAAA;AAAA,IACN,IAAA,EAAM,OAAA;AAAA,IACN,IAAA,EAAM,OAAA;AAAA,IACN,SAAA,EAAW,WAAA;AAAA,IACX,GAAA,EAAK;AAAA,GACP;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS,UAAA;AAAA,IACT,MAAA,EAAQ,SAAA;AAAA,IACR,YAAA,EAAc,eAAA;AAAA,IACd,WAAA,EAAa,cAAA;AAAA,IACb,OAAA,EAAS,SAAA;AAAA,IACT,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,QAAA;AAAA,IACP,IAAA,EAAM,OAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,CAAA,EAAG,GAAA;AAAA,IACH,GAAA,EAAK,KAAA;AAAA,IACL,CAAA,EAAG;AAAA,GACL;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,KAAA,EAAO,MAAA;AAAA,IACP,IAAA,EAAM,KAAA;AAAA,IACN,SAAA,EAAW,aAAA;AAAA,IACX,EAAA,EAAI,OAAA;AAAA,IACJ,GAAA,EAAK,KAAA;AAAA,IACL,EAAA,EAAI,KAAA;AAAA,IACJ,EAAA,EAAI,KAAA;AAAA,IACJ,GAAA,EAAK,IAAA;AAAA,IACL,IAAA,EAAM,KAAA;AAAA,IACN,QAAA,EAAU,aAAA;AAAA;AAAA,IACV,MAAA,EAAQ,aAAA;AAAA,IACR,OAAA,EAAS,eAAA;AAAA,IACT,MAAA,EAAQ,OAAA;AAAA,IACR,MAAA,EAAQ,WAAA;AAAA,IACR,KAAA,EAAO,iBAAA;AAAA,IACP,MAAA,EAAQ,YAAA;AAAA,IACR,QAAA,EAAU,UAAA;AAAA,IACV,IAAA,EAAM,OAAA;AAAA,IACN,MAAA,EAAQ,aAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,QAAA;AAAA,IACP,OAAA,EAAS,SAAA;AAAA,IACT,KAAA,EAAO,OAAA;AAAA,IACP,MAAA,EAAQ,QAAA;AAAA,IACR,SAAA,EAAW,UAAA;AAAA,IACX,UAAA,EAAY,WAAA;AAAA,IACZ,QAAA,EAAU,iBAAA;AAAA,IACV,UAAA,EAAY;AAAA,GACd;AAAA,EAEA,WAAA,EAAa;AAAA;AAAA,IAEX,KAAA,EAAO,SAAA;AAAA,IACP,IAAA,EAAM,SAAA;AAAA,IACN,IAAA,EAAM,SAAA;AAAA,IACN,QAAA,EAAU,iBAAA;AAAA,IACV,IAAA,EAAM,SAAA;AAAA,IACN,EAAA,EAAI,MAAA;AAAA,IACJ,MAAA,EAAQ,cAAA;AAAA;AAAA,IAGR,OAAA,EAAS,YAAA;AAAA,IACT,MAAA,EAAQ,QAAA;AAAA,IACR,QAAA,EAAU,SAAA;AAAA,IACV,MAAA,EAAQ,MAAA;AAAA;AAAA,IAGR,EAAA,EAAI,OAAA;AAAA,IACJ,KAAA,EAAO,MAAA;AAAA,IACP,IAAA,EAAM,UAAA;AAAA;AAAA,IAGN,aAAA,EAAe,cAAA;AAAA,IACf,WAAA,EAAa;AAAA;AAEjB,CAAA;;;ACpOO,IAAM,EAAA,GAAiB;AAAA,EAC5B,QAAA,EAAU;AAAA;AAAA,IAER,EAAA,EAAI,KAAA;AAAA,IACJ,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS,aAAA;AAAA,IACT,IAAA,EAAM,QAAA;AAAA;AAAA,IAGN,IAAA,EAAM,QAAA;AAAA,IACN,GAAA,EAAK,QAAA;AAAA,IACL,GAAA,EAAK,WAAA;AAAA,IACL,GAAA,EAAK,UAAA;AAAA,IACL,GAAA,EAAK,eAAA;AAAA,IACL,MAAA,EAAQ,WAAA;AAAA,IACR,MAAA,EAAQ,YAAA;AAAA,IACR,IAAA,EAAM,YAAA;AAAA,IACN,IAAA,EAAM,QAAA;AAAA;AAAA,IAGN,EAAA,EAAI,MAAA;AAAA,IACJ,MAAA,EAAQ,WAAA;AAAA,IACR,MAAA,EAAQ,aAAA;AAAA,IACR,GAAA,EAAK,QAAA;AAAA,IACL,KAAA,EAAO,YAAA;AAAA,IACP,KAAA,EAAO,KAAA;AAAA,IACP,QAAA,EAAU,QAAA;AAAA,IACV,KAAA,EAAO,cAAA;AAAA,IACP,IAAA,EAAM,UAAA;AAAA;AAAA,IAGN,IAAA,EAAM,QAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,UAAA;AAAA,IACN,MAAA,EAAQ,gBAAA;AAAA;AAAA,IAGR,IAAA,EAAM,WAAA;AAAA,IACN,GAAA,EAAK,gBAAA;AAAA,IACL,KAAA,EAAO,QAAA;AAAA,IACP,KAAA,EAAO,QAAA;AAAA,IACP,OAAA,EAAS,QAAA;AAAA,IACT,UAAA,EAAY,aAAA;AAAA;AAAA,IAGZ,SAAA,EAAW,YAAA;AAAA,IACX,SAAA,EAAW,YAAA;AAAA,IACX,IAAA,EAAM,QAAA;AAAA,IACN,OAAA,EAAS,UAAA;AAAA,IACT,OAAA,EAAS,WAAA;AAAA;AAAA,IAGT,EAAA,EAAI,OAAA;AAAA,IACJ,OAAA,EAAS,kBAAA;AAAA,IACT,UAAA,EAAY,aAAA;AAAA;AAAA,IAGZ,IAAA,EAAM,UAAA;AAAA,IACN,IAAA,EAAM,cAAA;AAAA,IACN,IAAA,EAAM,SAAA;AAAA;AAAA,IAGN,EAAA,EAAI,IAAA;AAAA,IACJ,KAAA,EAAO,WAAA;AAAA,IACP,MAAA,EAAQ,SAAA;AAAA;AAAA,IAGR,IAAA,EAAM,UAAA;AAAA,IACN,KAAA,EAAO,YAAA;AAAA,IACP,MAAA,EAAQ,eAAA;AAAA;AAAA,IAGR,MAAA,EAAQ,aAAA;AAAA;AAAA,IAGR,IAAA,EAAM,SAAA;AAAA;AAAA,IAGN,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,EAAA,EAAI,IAAA;AAAA,IACJ,IAAA,EAAM,KAAA;AAAA,IACN,IAAA,EAAM,IAAA;AAAA,IACN,IAAA,EAAM,KAAA;AAAA,IACN,EAAA,EAAI,KAAA;AAAA,IACJ,EAAA,EAAI,IAAA;AAAA,IACJ,EAAA,EAAI,KAAA;AAAA,IACJ,EAAA,EAAI,KAAA;AAAA,IACJ,EAAA,EAAI,OAAA;AAAA,IACJ,MAAA,EAAQ,KAAA;AAAA,IACR,KAAA,EAAO,MAAA;AAAA,IACP,IAAA,EAAM,SAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,OAAA,EAAS,UAAA;AAAA,IACT,OAAA,EAAS,OAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,QAAA,EAAU,aAAA;AAAA,IACV,SAAA,EAAW,WAAA;AAAA,IACX,OAAA,EAAS,UAAA;AAAA,IACT,UAAA,EAAY,eAAA;AAAA,IACZ,UAAA,EAAY,eAAA;AAAA,IACZ,SAAA,EAAW,aAAA;AAAA,IACX,QAAA,EAAU,YAAA;AAAA,IACV,SAAA,EAAW,aAAA;AAAA,IAEX,OAAA,EAAS,YAAA;AAAA,IACT,KAAA,EAAO,WAAA;AAAA,IACP,QAAA,EAAU,iBAAA;AAAA,IAEV,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,UAAA;AAAA,IACN,MAAA,EAAQ,WAAA;AAAA,IACR,KAAA,EAAO,SAAA;AAAA,IACP,MAAA,EAAQ,UAAA;AAAA,IACR,KAAA,EAAO,iBAAA;AAAA,IAEP,IAAA,EAAM,OAAA;AAAA,IACN,MAAA,EAAQ,UAAA;AAAA,IACR,MAAA,EAAQ,sBAAA;AAAA,IACR,MAAA,EAAQ,UAAA;AAAA,IAER,UAAA,EAAY,mBAAA;AAAA,IACZ,QAAA,EAAU,iBAAA;AAAA,IACV,SAAA,EAAW,qBAAA;AAAA,IACX,WAAA,EAAa;AAAA,GACf;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,KAAA,EAAO,IAAA;AAAA,IACP,GAAA,EAAK,KAAA;AAAA,IACL,EAAA,EAAI,MAAA;AAAA,IACJ,GAAA,EAAK,OAAA;AAAA,IACL,EAAA,EAAI,KAAA;AAAA,IACJ,MAAA,EAAQ,WAAA;AAAA,IACR,OAAA,EAAS,OAAA;AAAA,IACT,QAAA,EAAU,YAAA;AAAA,IACV,QAAA,EAAU,YAAA;AAAA,IACV,MAAA,EAAQ,SAAA;AAAA,IACR,GAAA,EAAK,KAAA;AAAA;AAAA,IACL,IAAA,EAAM,MAAA;AAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM,OAAA;AAAA,IACN,SAAA,EAAW,aAAA;AAAA,IACX,GAAA,EAAK;AAAA,GACP;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS,UAAA;AAAA,IACT,MAAA,EAAQ,SAAA;AAAA,IACR,YAAA,EAAc,eAAA;AAAA,IACd,WAAA,EAAa,cAAA;AAAA,IACb,OAAA,EAAS,SAAA;AAAA,IACT,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,SAAA;AAAA,IACP,IAAA,EAAM,QAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,CAAA,EAAG,GAAA;AAAA,IACH,GAAA,EAAK,KAAA;AAAA,IACL,CAAA,EAAG;AAAA,GACL;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,KAAA,EAAO,QAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,SAAA,EAAW,aAAA;AAAA,IACX,EAAA,EAAI,IAAA;AAAA,IACJ,GAAA,EAAK,MAAA;AAAA,IACL,EAAA,EAAI,KAAA;AAAA,IACJ,EAAA,EAAI,MAAA;AAAA,IACJ,GAAA,EAAK,IAAA;AAAA,IACL,IAAA,EAAM,MAAA;AAAA,IACN,QAAA,EAAU,aAAA;AAAA;AAAA,IACV,MAAA,EAAQ,YAAA;AAAA,IACR,OAAA,EAAS,SAAA;AAAA,IACT,MAAA,EAAQ,MAAA;AAAA,IACR,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,UAAA;AAAA,IACP,MAAA,EAAQ,SAAA;AAAA,IACR,QAAA,EAAU,UAAA;AAAA,IACV,IAAA,EAAM,WAAA;AAAA,IACN,MAAA,EAAQ,UAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,QAAA;AAAA,IACP,OAAA,EAAS,SAAA;AAAA,IACT,KAAA,EAAO,MAAA;AAAA,IACP,MAAA,EAAQ,OAAA;AAAA,IACR,SAAA,EAAW,UAAA;AAAA,IACX,UAAA,EAAY,WAAA;AAAA,IACZ,QAAA,EAAU,aAAA;AAAA,IACV,UAAA,EAAY;AAAA,GACd;AAAA,EAEA,WAAA,EAAa;AAAA;AAAA,IAEX,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,QAAA;AAAA,IACN,IAAA,EAAM,YAAA;AAAA,IACN,QAAA,EAAU,WAAA;AAAA,IACV,IAAA,EAAM,MAAA;AAAA,IACN,EAAA,EAAI,KAAA;AAAA,IACJ,MAAA,EAAQ,aAAA;AAAA;AAAA,IAGR,OAAA,EAAS,YAAA;AAAA,IACT,MAAA,EAAQ,YAAA;AAAA,IACR,QAAA,EAAU,QAAA;AAAA,IACV,MAAA,EAAQ,WAAA;AAAA;AAAA,IAGR,EAAA,EAAI,MAAA;AAAA,IACJ,KAAA,EAAO,MAAA;AAAA,IACP,IAAA,EAAM,QAAA;AAAA;AAAA,IAGN,aAAA,EAAe,aAAA;AAAA,IACf,WAAA,EAAa;AAAA;AAEjB,CAAA;;;ACpOO,IAAM,EAAA,GAAiB;AAAA,EAC5B,QAAA,EAAU;AAAA;AAAA,IAER,EAAA,EAAI,QAAA;AAAA,IACJ,IAAA,EAAM,oBAAA;AAAA,IACN,OAAA,EAAS,oBAAA;AAAA,IACT,IAAA,EAAM,cAAA;AAAA;AAAA,IAGN,IAAA,EAAM,cAAA;AAAA,IACN,GAAA,EAAK,cAAA;AAAA,IACL,GAAA,EAAK,cAAA;AAAA,IACL,GAAA,EAAK,cAAA;AAAA,IACL,GAAA,EAAK,cAAA;AAAA,IACL,MAAA,EAAQ,cAAA;AAAA,IACR,MAAA,EAAQ,0BAAA;AAAA,IACR,IAAA,EAAM,cAAA;AAAA,IACN,IAAA,EAAM,cAAA;AAAA;AAAA,IAGN,EAAA,EAAI,cAAA;AAAA,IACJ,MAAA,EAAQ,gCAAA;AAAA,IACR,MAAA,EAAQ,0BAAA;AAAA,IACR,GAAA,EAAK,oBAAA;AAAA,IACL,KAAA,EAAO,cAAA;AAAA,IACP,KAAA,EAAO,cAAA;AAAA,IACP,QAAA,EAAU,oBAAA;AAAA,IACV,KAAA,EAAO,cAAA;AAAA,IACP,IAAA,EAAM,cAAA;AAAA;AAAA,IAGN,IAAA,EAAM,cAAA;AAAA,IACN,KAAA,EAAO,cAAA;AAAA,IACP,IAAA,EAAM,0BAAA;AAAA,IACN,MAAA,EAAQ,cAAA;AAAA;AAAA,IAGR,IAAA,EAAM,cAAA;AAAA,IACN,GAAA,EAAK,cAAA;AAAA,IACL,KAAA,EAAO,oBAAA;AAAA,IACP,KAAA,EAAO,0BAAA;AAAA,IACP,OAAA,EAAS,cAAA;AAAA,IACT,UAAA,EAAY,cAAA;AAAA;AAAA,IAGZ,SAAA,EAAW,cAAA;AAAA,IACX,SAAA,EAAW,cAAA;AAAA,IACX,IAAA,EAAM,cAAA;AAAA,IACN,OAAA,EAAS,cAAA;AAAA,IACT,OAAA,EAAS,oBAAA;AAAA;AAAA,IAGT,EAAA,EAAI,cAAA;AAAA,IACJ,OAAA,EAAS,6BAAA;AAAA,IACT,UAAA,EAAY,iBAAA;AAAA;AAAA,IAGZ,IAAA,EAAM,oBAAA;AAAA,IACN,IAAA,EAAM,cAAA;AAAA,IACN,IAAA,EAAM,oBAAA;AAAA;AAAA,IAGN,EAAA,EAAI,gBAAA;AAAA,IACJ,KAAA,EAAO,oBAAA;AAAA,IACP,MAAA,EAAQ,cAAA;AAAA;AAAA,IAGR,IAAA,EAAM,cAAA;AAAA,IACN,KAAA,EAAO,cAAA;AAAA,IACP,MAAA,EAAQ,cAAA;AAAA;AAAA,IAGR,MAAA,EAAQ,0BAAA;AAAA;AAAA,IAGR,IAAA,EAAM,cAAA;AAAA;AAAA,IAGN,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,EAAA,EAAI,QAAA;AAAA,IACJ,IAAA,EAAM,cAAA;AAAA,IACN,IAAA,EAAM,QAAA;AAAA,IACN,IAAA,EAAM,QAAA;AAAA,IACN,EAAA,EAAI,QAAA;AAAA,IACJ,EAAA,EAAI,cAAA;AAAA,IACJ,EAAA,EAAI,QAAA;AAAA,IACJ,EAAA,EAAI,oBAAA;AAAA,IACJ,EAAA,EAAI,0BAAA;AAAA,IACJ,MAAA,EAAQ,cAAA;AAAA,IACR,KAAA,EAAO,cAAA;AAAA,IACP,IAAA,EAAM,cAAA;AAAA,IACN,KAAA,EAAO,cAAA;AAAA,IACP,OAAA,EAAS,cAAA;AAAA,IACT,OAAA,EAAS,oBAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,0BAAA;AAAA,IACP,QAAA,EAAU,4CAAA;AAAA,IACV,SAAA,EAAW,gCAAA;AAAA,IACX,OAAA,EAAS,gCAAA;AAAA,IACT,UAAA,EAAY,gCAAA;AAAA,IACZ,UAAA,EAAY,sCAAA;AAAA,IACZ,SAAA,EAAW,0BAAA;AAAA,IACX,QAAA,EAAU,0BAAA;AAAA,IACV,SAAA,EAAW,gCAAA;AAAA,IAEX,OAAA,EAAS,0BAAA;AAAA,IACT,KAAA,EAAO,0BAAA;AAAA,IACP,QAAA,EAAU,0BAAA;AAAA,IAEV,KAAA,EAAO,gCAAA;AAAA,IACP,IAAA,EAAM,oBAAA;AAAA,IACN,MAAA,EAAQ,cAAA;AAAA,IACR,KAAA,EAAO,cAAA;AAAA,IACP,MAAA,EAAQ,cAAA;AAAA,IACR,KAAA,EAAO,0BAAA;AAAA,IAEP,IAAA,EAAM,0BAAA;AAAA,IACN,MAAA,EAAQ,sCAAA;AAAA,IACR,MAAA,EAAQ,gCAAA;AAAA,IACR,MAAA,EAAQ,gCAAA;AAAA,IAER,UAAA,EAAY,gCAAA;AAAA,IACZ,QAAA,EAAU,gCAAA;AAAA,IACV,SAAA,EAAW,gCAAA;AAAA,IACX,WAAA,EAAa;AAAA,GACf;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,cAAA;AAAA,IACN,KAAA,EAAO,cAAA;AAAA,IACP,GAAA,EAAK,oBAAA;AAAA,IACL,EAAA,EAAI,oBAAA;AAAA,IACJ,GAAA,EAAK,0BAAA;AAAA,IACL,EAAA,EAAI,oBAAA;AAAA,IACJ,MAAA,EAAQ,0BAAA;AAAA,IACR,OAAA,EAAS,0BAAA;AAAA,IACT,QAAA,EAAU,cAAA;AAAA,IACV,QAAA,EAAU,oBAAA;AAAA,IACV,MAAA,EAAQ,oBAAA;AAAA,IACR,GAAA,EAAK,cAAA;AAAA;AAAA,IACL,IAAA,EAAM,cAAA;AAAA;AAAA,IACN,IAAA,EAAM,0BAAA;AAAA,IACN,IAAA,EAAM,4CAAA;AAAA,IACN,SAAA,EAAW,4CAAA;AAAA,IACX,GAAA,EAAK;AAAA,GACP;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS,QAAA;AAAA,IACT,MAAA,EAAQ,QAAA;AAAA,IACR,YAAA,EAAc,oBAAA;AAAA,IACd,WAAA,EAAa,oBAAA;AAAA,IACb,OAAA,EAAS,QAAA;AAAA,IACT,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,cAAA;AAAA,IACP,IAAA,EAAM,cAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,CAAA,EAAG,QAAA;AAAA,IACH,GAAA,EAAK,QAAA;AAAA,IACL,CAAA,EAAG;AAAA,GACL;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,QAAA;AAAA,IACN,KAAA,EAAO,QAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,SAAA,EAAW,oBAAA;AAAA,IACX,EAAA,EAAI,cAAA;AAAA,IACJ,GAAA,EAAK,cAAA;AAAA,IACL,EAAA,EAAI,QAAA;AAAA,IACJ,EAAA,EAAI,cAAA;AAAA,IACJ,GAAA,EAAK,oBAAA;AAAA,IACL,IAAA,EAAM,0BAAA;AAAA,IACN,QAAA,EAAU,gCAAA;AAAA,IACV,MAAA,EAAQ,oBAAA;AAAA,IACR,OAAA,EAAS,cAAA;AAAA,IACT,MAAA,EAAQ,cAAA;AAAA,IACR,MAAA,EAAQ,cAAA;AAAA,IACR,KAAA,EAAO,0BAAA;AAAA,IACP,MAAA,EAAQ,gCAAA;AAAA,IACR,QAAA,EAAU,sCAAA;AAAA,IACV,IAAA,EAAM,oBAAA;AAAA,IACN,MAAA,EAAQ,cAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,oBAAA;AAAA,IACP,OAAA,EAAS,0BAAA;AAAA,IACT,KAAA,EAAO,0BAAA;AAAA,IACP,MAAA,EAAQ,gCAAA;AAAA,IACR,SAAA,EAAW,cAAA;AAAA,IACX,UAAA,EAAY,oBAAA;AAAA,IACZ,QAAA,EAAU,gCAAA;AAAA,IACV,UAAA,EAAY;AAAA,GACd;AAAA,EAEA,WAAA,EAAa;AAAA;AAAA,IAEX,KAAA,EAAO,cAAA;AAAA,IACP,IAAA,EAAM,cAAA;AAAA,IACN,IAAA,EAAM,QAAA;AAAA,IACN,QAAA,EAAU,QAAA;AAAA,IACV,IAAA,EAAM,QAAA;AAAA,IACN,EAAA,EAAI,QAAA;AAAA,IACJ,MAAA,EAAQ,0BAAA;AAAA;AAAA,IAGR,OAAA,EAAS,0BAAA;AAAA,IACT,MAAA,EAAQ,QAAA;AAAA,IACR,QAAA,EAAU,QAAA;AAAA,IACV,MAAA,EAAQ,cAAA;AAAA;AAAA,IAGR,EAAA,EAAI,cAAA;AAAA,IACJ,KAAA,EAAO,QAAA;AAAA,IACP,IAAA,EAAM,0BAAA;AAAA;AAAA,IAGN,aAAA,EAAe,0BAAA;AAAA,IACf,WAAA,EAAa;AAAA;AAEjB,CAAA;;;ACpOO,IAAM,EAAA,GAAiB;AAAA,EAC5B,QAAA,EAAU;AAAA;AAAA,IAER,EAAA,EAAI,oBAAA;AAAA,IACJ,IAAA,EAAM,0BAAA;AAAA,IACN,OAAA,EAAS,gCAAA;AAAA,IACT,IAAA,EAAM,0BAAA;AAAA;AAAA,IAGN,IAAA,EAAM,cAAA;AAAA,IACN,GAAA,EAAK,cAAA;AAAA,IACL,GAAA,EAAK,0BAAA;AAAA,IACL,GAAA,EAAK,0BAAA;AAAA,IACL,GAAA,EAAK,oBAAA;AAAA,IACL,MAAA,EAAQ,0BAAA;AAAA,IACR,MAAA,EAAQ,oBAAA;AAAA,IACR,IAAA,EAAM,oBAAA;AAAA,IACN,IAAA,EAAM,0BAAA;AAAA;AAAA,IAGN,EAAA,EAAI,oBAAA;AAAA,IACJ,MAAA,EAAQ,uCAAA;AAAA,IACR,MAAA,EAAQ,oBAAA;AAAA,IACR,GAAA,EAAK,oBAAA;AAAA,IACL,KAAA,EAAO,gCAAA;AAAA,IACP,KAAA,EAAO,oBAAA;AAAA,IACP,QAAA,EAAU,0BAAA;AAAA,IACV,KAAA,EAAO,0BAAA;AAAA,IACP,IAAA,EAAM,0BAAA;AAAA;AAAA,IAGN,IAAA,EAAM,gCAAA;AAAA,IACN,KAAA,EAAO,0BAAA;AAAA,IACP,IAAA,EAAM,gCAAA;AAAA,IACN,MAAA,EAAQ,0BAAA;AAAA;AAAA,IAGR,IAAA,EAAM,0BAAA;AAAA,IACN,GAAA,EAAK,oBAAA;AAAA,IACL,KAAA,EAAO,oBAAA;AAAA,IACP,KAAA,EAAO,gCAAA;AAAA,IACP,OAAA,EAAS,cAAA;AAAA,IACT,UAAA,EAAY,sCAAA;AAAA;AAAA,IAGZ,SAAA,EAAW,oBAAA;AAAA,IACX,SAAA,EAAW,0BAAA;AAAA,IACX,IAAA,EAAM,0BAAA;AAAA,IACN,OAAA,EAAS,4CAAA;AAAA,IACT,OAAA,EAAS,0BAAA;AAAA;AAAA,IAGT,EAAA,EAAI,0BAAA;AAAA,IACJ,OAAA,EAAS,mDAAA;AAAA,IACT,UAAA,EAAY,+DAAA;AAAA;AAAA,IAGZ,IAAA,EAAM,0BAAA;AAAA,IACN,IAAA,EAAM,0BAAA;AAAA,IACN,IAAA,EAAM,0BAAA;AAAA;AAAA,IAGN,EAAA,EAAI,wDAAA;AAAA,IACJ,KAAA,EAAO,sCAAA;AAAA,IACP,MAAA,EAAQ,0BAAA;AAAA;AAAA,IAGR,IAAA,EAAM,0BAAA;AAAA,IACN,KAAA,EAAO,0BAAA;AAAA,IACP,MAAA,EAAQ,gCAAA;AAAA;AAAA,IAGR,MAAA,EAAQ,0BAAA;AAAA;AAAA,IAGR,IAAA,EAAM,0BAAA;AAAA;AAAA,IAGN,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,EAAA,EAAI,oBAAA;AAAA,IACJ,IAAA,EAAM,cAAA;AAAA,IACN,IAAA,EAAM,cAAA;AAAA,IACN,IAAA,EAAM,cAAA;AAAA,IACN,EAAA,EAAI,oBAAA;AAAA,IACJ,EAAA,EAAI,cAAA;AAAA,IACJ,EAAA,EAAI,cAAA;AAAA,IACJ,EAAA,EAAI,cAAA;AAAA,IACJ,EAAA,EAAI,sCAAA;AAAA,IACJ,MAAA,EAAQ,oBAAA;AAAA,IACR,KAAA,EAAO,oBAAA;AAAA,IACP,IAAA,EAAM,oBAAA;AAAA,IACN,KAAA,EAAO,oBAAA;AAAA,IACP,OAAA,EAAS,oBAAA;AAAA,IACT,OAAA,EAAS,oBAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,oBAAA;AAAA,IACP,QAAA,EAAU,mDAAA;AAAA,IACV,SAAA,EAAW,mDAAA;AAAA,IACX,OAAA,EAAS,mDAAA;AAAA,IACT,UAAA,EAAY,mDAAA;AAAA,IACZ,UAAA,EAAY,mDAAA;AAAA,IACZ,SAAA,EAAW,6CAAA;AAAA,IACX,QAAA,EAAU,mDAAA;AAAA,IACV,SAAA,EAAW,mDAAA;AAAA,IAEX,OAAA,EAAS,yDAAA;AAAA,IACT,KAAA,EAAO,yDAAA;AAAA,IACP,QAAA,EAAU,mDAAA;AAAA,IAEV,KAAA,EAAO,gCAAA;AAAA,IACP,IAAA,EAAM,sCAAA;AAAA,IACN,MAAA,EAAQ,gCAAA;AAAA,IACR,KAAA,EAAO,gCAAA;AAAA,IACP,MAAA,EAAQ,gCAAA;AAAA,IACR,KAAA,EAAO,+DAAA;AAAA,IAEP,IAAA,EAAM,gCAAA;AAAA,IACN,MAAA,EAAQ,+DAAA;AAAA,IACR,MAAA,EAAQ,mDAAA;AAAA,IACR,MAAA,EAAQ,gCAAA;AAAA,IAER,UAAA,EAAY,mDAAA;AAAA,IACZ,QAAA,EAAU,mDAAA;AAAA,IACV,SAAA,EAAW,6CAAA;AAAA,IACX,WAAA,EAAa;AAAA,GACf;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,gCAAA;AAAA,IACN,KAAA,EAAO,oBAAA;AAAA,IACP,GAAA,EAAK,QAAA;AAAA,IACL,EAAA,EAAI,cAAA;AAAA,IACJ,GAAA,EAAK,oBAAA;AAAA,IACL,EAAA,EAAI,cAAA;AAAA,IACJ,MAAA,EAAQ,gCAAA;AAAA,IACR,OAAA,EAAS,gCAAA;AAAA,IACT,QAAA,EAAU,gCAAA;AAAA,IACV,QAAA,EAAU,0BAAA;AAAA,IACV,MAAA,EAAQ,gCAAA;AAAA,IACR,GAAA,EAAK,0BAAA;AAAA;AAAA,IACL,IAAA,EAAM,oBAAA;AAAA;AAAA,IACN,IAAA,EAAM,cAAA;AAAA,IACN,IAAA,EAAM,0BAAA;AAAA,IACN,SAAA,EAAW,6CAAA;AAAA,IACX,GAAA,EAAK;AAAA,GACP;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS,gCAAA;AAAA,IACT,MAAA,EAAQ,gCAAA;AAAA,IACR,YAAA,EAAc,yDAAA;AAAA,IACd,WAAA,EAAa,yDAAA;AAAA,IACb,OAAA,EAAS,gCAAA;AAAA,IACT,MAAA,EAAQ,gCAAA;AAAA,IACR,KAAA,EAAO,gCAAA;AAAA,IACP,IAAA,EAAM,0BAAA;AAAA,IACN,EAAA,EAAI,eAAA;AAAA,IACJ,CAAA,EAAG,QAAA;AAAA,IACH,GAAA,EAAK,QAAA;AAAA,IACL,CAAA,EAAG;AAAA,GACL;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,0BAAA;AAAA,IACN,KAAA,EAAO,oBAAA;AAAA,IACP,IAAA,EAAM,0BAAA;AAAA,IACN,SAAA,EAAW,6CAAA;AAAA,IACX,EAAA,EAAI,cAAA;AAAA,IACJ,GAAA,EAAK,cAAA;AAAA;AAAA,IACL,EAAA,EAAI,oBAAA;AAAA,IACJ,EAAA,EAAI,cAAA;AAAA,IACJ,MAAA,EAAQ,0BAAA;AAAA,IACR,GAAA,EAAK,oBAAA;AAAA;AAAA,IACL,IAAA,EAAM,cAAA;AAAA;AAAA,IACN,QAAA,EAAU,0BAAA;AAAA;AAAA,IACV,OAAA,EAAS,0BAAA;AAAA,IACT,MAAA,EAAQ,oBAAA;AAAA,IACR,MAAA,EAAQ,sCAAA;AAAA,IACR,KAAA,EAAO,oBAAA;AAAA,IACP,MAAA,EAAQ,gCAAA;AAAA,IACR,QAAA,EAAU,gCAAA;AAAA,IACV,IAAA,EAAM,oBAAA;AAAA,IACN,MAAA,EAAQ,gCAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,oBAAA;AAAA,IACP,OAAA,EAAS,0BAAA;AAAA,IACT,KAAA,EAAO,gCAAA;AAAA,IACP,MAAA,EAAQ,sCAAA;AAAA,IACR,SAAA,EAAW,gCAAA;AAAA,IACX,UAAA,EAAY,gCAAA;AAAA,IACZ,QAAA,EAAU,gCAAA;AAAA,IACV,UAAA,EAAY;AAAA,GACd;AAAA,EAEA,WAAA,EAAa;AAAA;AAAA,IAEX,KAAA,EAAO,oBAAA;AAAA,IACP,IAAA,EAAM,oBAAA;AAAA,IACN,IAAA,EAAM,sCAAA;AAAA,IACN,QAAA,EAAU,sCAAA;AAAA,IACV,IAAA,EAAM,0BAAA;AAAA,IACN,EAAA,EAAI,oBAAA;AAAA,IACJ,MAAA,EAAQ,sCAAA;AAAA;AAAA,IAGR,OAAA,EAAS,sCAAA;AAAA,IACT,MAAA,EAAQ,0BAAA;AAAA,IACR,QAAA,EAAU,gCAAA;AAAA,IACV,MAAA,EAAQ,0BAAA;AAAA;AAAA,IAGR,EAAA,EAAI,uCAAA;AAAA,IACJ,KAAA,EAAO,0BAAA;AAAA,IACP,IAAA,EAAM,oBAAA;AAAA;AAAA,IAGN,aAAA,EAAe,uCAAA;AAAA,IACf,WAAA,EAAa;AAAA;AAEjB,CAAA;;;ACpOO,IAAM,EAAA,GAAiB;AAAA,EAC5B,QAAA,EAAU;AAAA;AAAA,IAER,EAAA,EAAI,aAAA;AAAA,IACJ,IAAA,EAAM,UAAA;AAAA,IACN,OAAA,EAAS,SAAA;AAAA,IACT,IAAA,EAAM,WAAA;AAAA;AAAA,IAGN,IAAA,EAAM,IAAA;AAAA,IACN,GAAA,EAAK,KAAA;AAAA,IACL,GAAA,EAAK,QAAA;AAAA,IACL,GAAA,EAAK,IAAA;AAAA,IACL,GAAA,EAAK,MAAA;AAAA,IACL,MAAA,EAAQ,aAAA;AAAA,IACR,MAAA,EAAQ,oBAAA;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,IAAA,EAAM,WAAA;AAAA;AAAA,IAGN,EAAA,EAAI,WAAA;AAAA,IACJ,MAAA,EAAQ,cAAA;AAAA,IACR,MAAA,EAAQ,UAAA;AAAA,IACR,GAAA,EAAK,SAAA;AAAA,IACL,KAAA,EAAO,MAAA;AAAA,IACP,KAAA,EAAO,OAAA;AAAA,IACP,QAAA,EAAU,OAAA;AAAA,IACV,KAAA,EAAO,KAAA;AAAA,IACP,IAAA,EAAM,QAAA;AAAA;AAAA,IAGN,IAAA,EAAM,OAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,oBAAA;AAAA,IACN,MAAA,EAAQ,QAAA;AAAA;AAAA,IAGR,IAAA,EAAM,KAAA;AAAA,IACN,GAAA,EAAK,QAAA;AAAA,IACL,KAAA,EAAO,aAAA;AAAA,IACP,KAAA,EAAO,QAAA;AAAA,IACP,OAAA,EAAS,WAAA;AAAA,IACT,UAAA,EAAY,eAAA;AAAA;AAAA,IAGZ,SAAA,EAAW,YAAA;AAAA,IACX,SAAA,EAAW,OAAA;AAAA,IACX,IAAA,EAAM,YAAA;AAAA,IACN,OAAA,EAAS,iBAAA;AAAA,IACT,OAAA,EAAS,kBAAA;AAAA;AAAA,IAGT,EAAA,EAAI,KAAA;AAAA,IACJ,OAAA,EAAS,SAAA;AAAA,IACT,UAAA,EAAY,uBAAA;AAAA;AAAA,IAGZ,IAAA,EAAM,SAAA;AAAA,IACN,IAAA,EAAM,QAAA;AAAA,IACN,IAAA,EAAM,KAAA;AAAA;AAAA,IAGN,EAAA,EAAI,IAAA;AAAA,IACJ,KAAA,EAAO,UAAA;AAAA,IACP,MAAA,EAAQ,QAAA;AAAA;AAAA,IAGR,IAAA,EAAM,OAAA;AAAA,IACN,KAAA,EAAO,wBAAA;AAAA,IACP,MAAA,EAAQ,UAAA;AAAA;AAAA,IAGR,MAAA,EAAQ,MAAA;AAAA;AAAA,IAGR,IAAA,EAAM,aAAA;AAAA;AAAA,IAGN,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,EAAA,EAAI,GAAA;AAAA,IACJ,IAAA,EAAM,KAAA;AAAA,IACN,IAAA,EAAM,UAAA;AAAA,IACN,IAAA,EAAM,KAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,EAAA,EAAI,WAAA;AAAA,IACJ,EAAA,EAAI,KAAA;AAAA,IACJ,EAAA,EAAI,QAAA;AAAA,IACJ,EAAA,EAAI,iBAAA;AAAA,IACJ,MAAA,EAAQ,SAAA;AAAA,IACR,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,aAAA;AAAA,IACN,KAAA,EAAO,cAAA;AAAA,IACP,OAAA,EAAS,eAAA;AAAA,IACT,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,cAAA;AAAA,IACP,QAAA,EAAU,sBAAA;AAAA,IACV,SAAA,EAAW,UAAA;AAAA,IACX,OAAA,EAAS,iBAAA;AAAA,IACT,UAAA,EAAY,UAAA;AAAA,IACZ,UAAA,EAAY,kBAAA;AAAA,IACZ,SAAA,EAAW,iBAAA;AAAA,IACX,QAAA,EAAU,0BAAA;AAAA,IACV,SAAA,EAAW,cAAA;AAAA,IAEX,OAAA,EAAS,cAAA;AAAA,IACT,KAAA,EAAO,qBAAA;AAAA,IACP,QAAA,EAAU,qBAAA;AAAA,IAEV,KAAA,EAAO,MAAA;AAAA,IACP,IAAA,EAAM,cAAA;AAAA,IACN,MAAA,EAAQ,mBAAA;AAAA,IACR,KAAA,EAAO,YAAA;AAAA,IACP,MAAA,EAAQ,WAAA;AAAA,IACR,KAAA,EAAO,mBAAA;AAAA,IAEP,IAAA,EAAM,UAAA;AAAA,IACN,MAAA,EAAQ,sBAAA;AAAA,IACR,MAAA,EAAQ,0BAAA;AAAA,IACR,MAAA,EAAQ,aAAA;AAAA,IAER,UAAA,EAAY,oBAAA;AAAA,IACZ,QAAA,EAAU,eAAA;AAAA,IACV,SAAA,EAAW,iBAAA;AAAA,IACX,WAAA,EAAa;AAAA,GACf;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,MAAA;AAAA;AAAA,IACN,KAAA,EAAO,QAAA;AAAA;AAAA,IACP,GAAA,EAAK,IAAA;AAAA,IACL,EAAA,EAAI,MAAA;AAAA,IACJ,GAAA,EAAK,YAAA;AAAA,IACL,EAAA,EAAI,KAAA;AAAA,IACJ,MAAA,EAAQ,KAAA;AAAA,IACR,OAAA,EAAS,mBAAA;AAAA,IACT,QAAA,EAAU,WAAA;AAAA,IACV,QAAA,EAAU,OAAA;AAAA,IACV,MAAA,EAAQ,cAAA;AAAA,IACR,GAAA,EAAK,KAAA;AAAA;AAAA,IACL,IAAA,EAAM,KAAA;AAAA;AAAA,IACN,IAAA,EAAM,OAAA;AAAA,IACN,IAAA,EAAM,OAAA;AAAA,IACN,SAAA,EAAW,YAAA;AAAA,IACX,GAAA,EAAK;AAAA,GACP;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS,QAAA;AAAA,IACT,MAAA,EAAQ,QAAA;AAAA,IACR,YAAA,EAAc,YAAA;AAAA,IACd,WAAA,EAAa,YAAA;AAAA,IACb,OAAA,EAAS,QAAA;AAAA,IACT,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,MAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,CAAA,EAAG,GAAA;AAAA,IACH,GAAA,EAAK,IAAA;AAAA,IACL,CAAA,EAAG;AAAA,GACL;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,YAAA;AAAA,IACN,KAAA,EAAO,kBAAA;AAAA,IACP,IAAA,EAAM,UAAA;AAAA,IACN,SAAA,EAAW,oBAAA;AAAA,IACX,EAAA,EAAI,GAAA;AAAA,IACJ,GAAA,EAAK,MAAA;AAAA;AAAA,IACL,EAAA,EAAI,KAAA;AAAA,IACJ,EAAA,EAAI,OAAA;AAAA,IACJ,MAAA,EAAQ,QAAA;AAAA,IACR,GAAA,EAAK,KAAA;AAAA;AAAA,IACL,IAAA,EAAM,OAAA;AAAA;AAAA,IACN,QAAA,EAAU,QAAA;AAAA;AAAA,IACV,OAAA,EAAS,aAAA;AAAA,IACT,MAAA,EAAQ,OAAA;AAAA,IACR,MAAA,EAAQ,OAAA;AAAA,IACR,KAAA,EAAO,MAAA;AAAA,IACP,MAAA,EAAQ,SAAA;AAAA,IACR,QAAA,EAAU,OAAA;AAAA,IACV,IAAA,EAAM,UAAA;AAAA,IACN,MAAA,EAAQ,UAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,iBAAA;AAAA,IACP,OAAA,EAAS,oBAAA;AAAA,IACT,KAAA,EAAO,MAAA;AAAA,IACP,MAAA,EAAQ,SAAA;AAAA,IACR,SAAA,EAAW,YAAA;AAAA,IACX,UAAA,EAAY,eAAA;AAAA,IACZ,QAAA,EAAU,YAAA;AAAA,IACV,UAAA,EAAY;AAAA,GACd;AAAA,EAEA,WAAA,EAAa;AAAA;AAAA,IAEX,KAAA,EAAO,KAAA;AAAA,IACP,IAAA,EAAM,KAAA;AAAA,IACN,IAAA,EAAM,SAAA;AAAA,IACN,QAAA,EAAU,WAAA;AAAA,IACV,IAAA,EAAM,QAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,MAAA,EAAQ,UAAA;AAAA;AAAA,IAGR,OAAA,EAAS,eAAA;AAAA,IACT,MAAA,EAAQ,SAAA;AAAA,IACR,QAAA,EAAU,aAAA;AAAA,IACV,MAAA,EAAQ,WAAA;AAAA;AAAA,IAGR,EAAA,EAAI,KAAA;AAAA,IACJ,KAAA,EAAO,UAAA;AAAA,IACP,IAAA,EAAM,WAAA;AAAA;AAAA,IAGN,aAAA,EAAe,iBAAA;AAAA,IACf,WAAA,EAAa;AAAA;AAEjB,CAAA;;;ACpOO,IAAM,EAAA,GAAiB;AAAA,EAC5B,QAAA,EAAU;AAAA;AAAA,IAER,EAAA,EAAI,MAAA;AAAA,IACJ,IAAA,EAAM,SAAA;AAAA,IACN,OAAA,EAAS,MAAA;AAAA,IACT,IAAA,EAAM,OAAA;AAAA;AAAA,IAGN,IAAA,EAAM,OAAA;AAAA,IACN,GAAA,EAAK,OAAA;AAAA,IACL,GAAA,EAAK,MAAA;AAAA,IACL,GAAA,EAAK,UAAA;AAAA,IACL,GAAA,EAAK,QAAA;AAAA,IACL,MAAA,EAAQ,OAAA;AAAA,IACR,MAAA,EAAQ,OAAA;AAAA,IACR,IAAA,EAAM,aAAA;AAAA,IACN,IAAA,EAAM,WAAA;AAAA;AAAA,IAGN,EAAA,EAAI,MAAA;AAAA,IACJ,MAAA,EAAQ,SAAA;AAAA,IACR,MAAA,EAAQ,QAAA;AAAA,IACR,GAAA,EAAK,OAAA;AAAA,IACL,KAAA,EAAO,QAAA;AAAA,IACP,KAAA,EAAO,QAAA;AAAA,IACP,QAAA,EAAU,WAAA;AAAA,IACV,KAAA,EAAO,UAAA;AAAA,IACP,IAAA,EAAM,UAAA;AAAA;AAAA,IAGN,IAAA,EAAM,QAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,SAAA;AAAA,IACN,MAAA,EAAQ,SAAA;AAAA;AAAA,IAGR,IAAA,EAAM,MAAA;AAAA,IACN,GAAA,EAAK,OAAA;AAAA,IACL,KAAA,EAAO,QAAA;AAAA,IACP,KAAA,EAAO,SAAA;AAAA,IACP,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY,UAAA;AAAA;AAAA,IAGZ,SAAA,EAAW,WAAA;AAAA,IACX,SAAA,EAAW,SAAA;AAAA,IACX,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,QAAA;AAAA,IACT,OAAA,EAAS,QAAA;AAAA;AAAA,IAGT,EAAA,EAAI,OAAA;AAAA,IACJ,OAAA,EAAS,WAAA;AAAA,IACT,UAAA,EAAY,UAAA;AAAA;AAAA,IAGZ,IAAA,EAAM,OAAA;AAAA,IACN,IAAA,EAAM,OAAA;AAAA,IACN,IAAA,EAAM,OAAA;AAAA;AAAA,IAGN,EAAA,EAAI,IAAA;AAAA,IACJ,KAAA,EAAO,UAAA;AAAA,IACP,MAAA,EAAQ,WAAA;AAAA;AAAA,IAGR,IAAA,EAAM,OAAA;AAAA,IACN,KAAA,EAAO,aAAA;AAAA,IACP,MAAA,EAAQ,QAAA;AAAA;AAAA,IAGR,MAAA,EAAQ,cAAA;AAAA;AAAA,IAGR,IAAA,EAAM,QAAA;AAAA;AAAA,IAGN,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,EAAA,EAAI,IAAA;AAAA,IACJ,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM,UAAA;AAAA,IACN,IAAA,EAAM,QAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,EAAA,EAAI,OAAA;AAAA,IACJ,EAAA,EAAI,MAAA;AAAA,IACJ,EAAA,EAAI,SAAA;AAAA,IACJ,EAAA,EAAI,MAAA;AAAA,IACJ,MAAA,EAAQ,SAAA;AAAA,IACR,KAAA,EAAO,SAAA;AAAA,IACP,IAAA,EAAM,SAAA;AAAA,IACN,KAAA,EAAO,UAAA;AAAA,IACP,OAAA,EAAS,QAAA;AAAA,IACT,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,MAAA;AAAA,IACP,QAAA,EAAU,YAAA;AAAA,IACV,SAAA,EAAW,aAAA;AAAA,IACX,OAAA,EAAS,aAAA;AAAA,IACT,UAAA,EAAY,aAAA;AAAA,IACZ,UAAA,EAAY,cAAA;AAAA,IACZ,SAAA,EAAW,YAAA;AAAA,IACX,QAAA,EAAU,YAAA;AAAA,IACV,SAAA,EAAW,aAAA;AAAA,IAEX,OAAA,EAAS,cAAA;AAAA,IACT,KAAA,EAAO,cAAA;AAAA,IACP,QAAA,EAAU,eAAA;AAAA,IAEV,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,MAAA,EAAQ,MAAA;AAAA,IACR,KAAA,EAAO,SAAA;AAAA,IACP,MAAA,EAAQ,OAAA;AAAA,IACR,KAAA,EAAO,OAAA;AAAA,IAEP,IAAA,EAAM,MAAA;AAAA,IACN,MAAA,EAAQ,SAAA;AAAA,IACR,MAAA,EAAQ,aAAA;AAAA,IACR,MAAA,EAAQ,OAAA;AAAA,IAER,UAAA,EAAY,cAAA;AAAA,IACZ,QAAA,EAAU,cAAA;AAAA,IACV,SAAA,EAAW,cAAA;AAAA,IACX,WAAA,EAAa;AAAA,GACf;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,QAAA;AAAA,IACN,KAAA,EAAO,SAAA;AAAA,IACP,GAAA,EAAK,KAAA;AAAA,IACL,EAAA,EAAI,MAAA;AAAA,IACJ,GAAA,EAAK,OAAA;AAAA,IACL,EAAA,EAAI,QAAA;AAAA,IACJ,MAAA,EAAQ,KAAA;AAAA,IACR,OAAA,EAAS,OAAA;AAAA,IACT,QAAA,EAAU,QAAA;AAAA,IACV,QAAA,EAAU,UAAA;AAAA,IACV,MAAA,EAAQ,MAAA;AAAA,IACR,GAAA,EAAK,OAAA;AAAA;AAAA,IACL,IAAA,EAAM,OAAA;AAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM,SAAA;AAAA,IACN,SAAA,EAAW,YAAA;AAAA,IACX,GAAA,EAAK;AAAA,GACP;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS,OAAA;AAAA,IACT,MAAA,EAAQ,OAAA;AAAA,IACR,YAAA,EAAc,WAAA;AAAA,IACd,WAAA,EAAa,WAAA;AAAA,IACb,OAAA,EAAS,OAAA;AAAA,IACT,MAAA,EAAQ,OAAA;AAAA,IACR,KAAA,EAAO,KAAA;AAAA,IACP,IAAA,EAAM,KAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,CAAA,EAAG,GAAA;AAAA,IACH,GAAA,EAAK,KAAA;AAAA,IACL,CAAA,EAAG;AAAA,GACL;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,OAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,QAAA;AAAA,IACN,SAAA,EAAW,mBAAA;AAAA,IACX,EAAA,EAAI,KAAA;AAAA,IACJ,GAAA,EAAK,UAAA;AAAA;AAAA,IACL,EAAA,EAAI,MAAA;AAAA,IACJ,EAAA,EAAI,YAAA;AAAA,IACJ,MAAA,EAAQ,cAAA;AAAA,IACR,GAAA,EAAK,MAAA;AAAA;AAAA,IACL,IAAA,EAAM,YAAA;AAAA;AAAA,IACN,QAAA,EAAU,cAAA;AAAA;AAAA,IACV,OAAA,EAAS,QAAA;AAAA,IACT,MAAA,EAAQ,QAAA;AAAA,IACR,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,WAAA;AAAA,IACP,MAAA,EAAQ,SAAA;AAAA,IACR,QAAA,EAAU,SAAA;AAAA,IACV,IAAA,EAAM,OAAA;AAAA,IACN,MAAA,EAAQ,OAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,OAAA;AAAA,IACP,OAAA,EAAS,aAAA;AAAA,IACT,KAAA,EAAO,MAAA;AAAA,IACP,MAAA,EAAQ,WAAA;AAAA,IACR,SAAA,EAAW,SAAA;AAAA,IACX,UAAA,EAAY,iBAAA;AAAA,IACZ,QAAA,EAAU,UAAA;AAAA,IACV,UAAA,EAAY;AAAA,GACd;AAAA,EAEA,WAAA,EAAa;AAAA;AAAA,IAEX,KAAA,EAAO,SAAA;AAAA,IACP,IAAA,EAAM,UAAA;AAAA,IACN,IAAA,EAAM,YAAA;AAAA,IACN,QAAA,EAAU,YAAA;AAAA,IACV,IAAA,EAAM,MAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,MAAA,EAAQ,MAAA;AAAA;AAAA,IAGR,OAAA,EAAS,UAAA;AAAA,IACT,MAAA,EAAQ,OAAA;AAAA,IACR,QAAA,EAAU,WAAA;AAAA,IACV,MAAA,EAAQ,OAAA;AAAA;AAAA,IAGR,EAAA,EAAI,WAAA;AAAA,IACJ,KAAA,EAAO,QAAA;AAAA,IACP,IAAA,EAAM,UAAA;AAAA;AAAA,IAGN,aAAA,EAAe,gBAAA;AAAA,IACf,WAAA,EAAa;AAAA;AAEjB,CAAA;;;ACpOO,IAAM,EAAA,GAAiB;AAAA,EAC5B,QAAA,EAAU;AAAA;AAAA,IAER,EAAA,EAAI,OAAA;AAAA,IACJ,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,QAAA;AAAA,IACT,IAAA,EAAM,QAAA;AAAA;AAAA,IAGN,IAAA,EAAM,QAAA;AAAA,IACN,GAAA,EAAK,QAAA;AAAA,IACL,GAAA,EAAK,QAAA;AAAA,IACL,GAAA,EAAK,SAAA;AAAA,IACL,GAAA,EAAK,OAAA;AAAA,IACL,MAAA,EAAQ,QAAA;AAAA,IACR,MAAA,EAAQ,QAAA;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,IAAA,EAAM,UAAA;AAAA;AAAA,IAGN,EAAA,EAAI,QAAA;AAAA,IACJ,MAAA,EAAQ,aAAA;AAAA,IACR,MAAA,EAAQ,UAAA;AAAA,IACR,GAAA,EAAK,OAAA;AAAA,IACL,KAAA,EAAO,SAAA;AAAA,IACP,KAAA,EAAO,YAAA;AAAA,IACP,QAAA,EAAU,UAAA;AAAA,IACV,KAAA,EAAO,QAAA;AAAA,IACP,IAAA,EAAM,OAAA;AAAA;AAAA,IAGN,IAAA,EAAM,OAAA;AAAA,IACN,KAAA,EAAO,QAAA;AAAA,IACP,IAAA,EAAM,OAAA;AAAA,IACN,MAAA,EAAQ,SAAA;AAAA;AAAA,IAGR,IAAA,EAAM,OAAA;AAAA,IACN,GAAA,EAAK,SAAA;AAAA,IACL,KAAA,EAAO,SAAA;AAAA,IACP,KAAA,EAAO,QAAA;AAAA,IACP,OAAA,EAAS,OAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA;AAAA,IAGZ,SAAA,EAAW,OAAA;AAAA,IACX,SAAA,EAAW,YAAA;AAAA,IACX,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS,eAAA;AAAA,IACT,OAAA,EAAS,WAAA;AAAA;AAAA,IAGT,EAAA,EAAI,KAAA;AAAA,IACJ,OAAA,EAAS,YAAA;AAAA,IACT,UAAA,EAAY,YAAA;AAAA;AAAA,IAGZ,IAAA,EAAM,SAAA;AAAA,IACN,IAAA,EAAM,QAAA;AAAA,IACN,IAAA,EAAM,OAAA;AAAA;AAAA,IAGN,EAAA,EAAI,IAAA;AAAA,IACJ,KAAA,EAAO,cAAA;AAAA,IACP,MAAA,EAAQ,UAAA;AAAA;AAAA,IAGR,IAAA,EAAM,eAAA;AAAA,IACN,KAAA,EAAO,WAAA;AAAA,IACP,MAAA,EAAQ,OAAA;AAAA;AAAA,IAGR,MAAA,EAAQ,gBAAA;AAAA;AAAA,IAGR,IAAA,EAAM,SAAA;AAAA;AAAA,IAGN,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,EAAA,EAAI,KAAA;AAAA,IACJ,IAAA,EAAM,OAAA;AAAA,IACN,IAAA,EAAM,OAAA;AAAA,IACN,IAAA,EAAM,KAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,EAAA,EAAI,OAAA;AAAA,IACJ,EAAA,EAAI,IAAA;AAAA,IACJ,EAAA,EAAI,MAAA;AAAA,IACJ,EAAA,EAAI,OAAA;AAAA,IACJ,MAAA,EAAQ,aAAA;AAAA,IACR,KAAA,EAAO,SAAA;AAAA,IACP,IAAA,EAAM,QAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,OAAA,EAAS,UAAA;AAAA,IACT,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,UAAA;AAAA,IACP,QAAA,EAAU,gBAAA;AAAA,IACV,SAAA,EAAW,cAAA;AAAA,IACX,OAAA,EAAS,aAAA;AAAA,IACT,UAAA,EAAY,YAAA;AAAA,IACZ,UAAA,EAAY,aAAA;AAAA,IACZ,SAAA,EAAW,YAAA;AAAA,IACX,QAAA,EAAU,eAAA;AAAA,IACV,SAAA,EAAW,WAAA;AAAA,IAEX,OAAA,EAAS,iBAAA;AAAA,IACT,KAAA,EAAO,gBAAA;AAAA,IACP,QAAA,EAAU,kBAAA;AAAA,IAEV,KAAA,EAAO,QAAA;AAAA,IACP,IAAA,EAAM,SAAA;AAAA,IACN,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,WAAA;AAAA,IACP,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,UAAA;AAAA,IAEP,IAAA,EAAM,QAAA;AAAA,IACN,MAAA,EAAQ,OAAA;AAAA,IACR,MAAA,EAAQ,WAAA;AAAA,IACR,MAAA,EAAQ,QAAA;AAAA,IAER,UAAA,EAAY,eAAA;AAAA,IACZ,QAAA,EAAU,cAAA;AAAA,IACV,SAAA,EAAW,cAAA;AAAA,IACX,WAAA,EAAa;AAAA,GACf;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,SAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,GAAA,EAAK,WAAA;AAAA,IACL,EAAA,EAAI,MAAA;AAAA,IACJ,GAAA,EAAK,MAAA;AAAA,IACL,EAAA,EAAI,OAAA;AAAA,IACJ,MAAA,EAAQ,OAAA;AAAA,IACR,OAAA,EAAS,OAAA;AAAA,IACT,QAAA,EAAU,WAAA;AAAA,IACV,QAAA,EAAU,UAAA;AAAA,IACV,MAAA,EAAQ,OAAA;AAAA,IACR,GAAA,EAAK,SAAA;AAAA;AAAA,IACL,IAAA,EAAM,UAAA;AAAA;AAAA,IACN,IAAA,EAAM,QAAA;AAAA,IACN,IAAA,EAAM,aAAA;AAAA,IACN,SAAA,EAAW,WAAA;AAAA,IACX,GAAA,EAAK;AAAA,GACP;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS,aAAA;AAAA,IACT,MAAA,EAAQ,SAAA;AAAA,IACR,YAAA,EAAc,yBAAA;AAAA,IACd,WAAA,EAAa,qBAAA;AAAA,IACb,OAAA,EAAS,YAAA;AAAA,IACT,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,UAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,CAAA,EAAG,GAAA;AAAA,IACH,GAAA,EAAK,GAAA;AAAA,IACL,CAAA,EAAG;AAAA,GACL;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,QAAA;AAAA,IACN,KAAA,EAAO,QAAA;AAAA,IACP,IAAA,EAAM,SAAA;AAAA,IACN,SAAA,EAAW,eAAA;AAAA,IACX,EAAA,EAAI,MAAA;AAAA,IACJ,GAAA,EAAK,SAAA;AAAA;AAAA,IACL,EAAA,EAAI,MAAA;AAAA,IACJ,EAAA,EAAI,OAAA;AAAA,IACJ,MAAA,EAAQ,YAAA;AAAA,IACR,GAAA,EAAK,KAAA;AAAA;AAAA,IACL,IAAA,EAAM,QAAA;AAAA;AAAA,IACN,QAAA,EAAU,WAAA;AAAA;AAAA,IACV,OAAA,EAAS,MAAA;AAAA,IACT,MAAA,EAAQ,OAAA;AAAA,IACR,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,OAAA;AAAA,IACP,MAAA,EAAQ,OAAA;AAAA,IACR,QAAA,EAAU,QAAA;AAAA,IACV,IAAA,EAAM,OAAA;AAAA,IACN,MAAA,EAAQ,SAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,OAAA;AAAA,IACP,OAAA,EAAS,WAAA;AAAA,IACT,KAAA,EAAO,MAAA;AAAA,IACP,MAAA,EAAQ,UAAA;AAAA,IACR,SAAA,EAAW,KAAA;AAAA,IACX,UAAA,EAAY,SAAA;AAAA,IACZ,QAAA,EAAU,OAAA;AAAA,IACV,UAAA,EAAY;AAAA,GACd;AAAA,EAEA,WAAA,EAAa;AAAA;AAAA,IAEX,KAAA,EAAO,WAAA;AAAA,IACP,IAAA,EAAM,OAAA;AAAA,IACN,IAAA,EAAM,WAAA;AAAA,IACN,QAAA,EAAU,cAAA;AAAA,IACV,IAAA,EAAM,WAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,MAAA,EAAQ,YAAA;AAAA;AAAA,IAGR,OAAA,EAAS,cAAA;AAAA,IACT,MAAA,EAAQ,YAAA;AAAA,IACR,QAAA,EAAU,UAAA;AAAA,IACV,MAAA,EAAQ,OAAA;AAAA;AAAA,IAGR,EAAA,EAAI,aAAA;AAAA,IACJ,KAAA,EAAO,SAAA;AAAA,IACP,IAAA,EAAM,OAAA;AAAA;AAAA,IAGN,aAAA,EAAe,gBAAA;AAAA,IACf,WAAA,EAAa;AAAA;AAEjB,CAAA;;;ACpOO,IAAM,EAAA,GAAiB;AAAA,EAC5B,QAAA,EAAU;AAAA;AAAA,IAER,EAAA,EAAI,QAAA;AAAA,IACJ,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS,SAAA;AAAA,IACT,IAAA,EAAM,MAAA;AAAA;AAAA,IAGN,IAAA,EAAM,QAAA;AAAA,IACN,GAAA,EAAK,MAAA;AAAA,IACL,GAAA,EAAK,MAAA;AAAA,IACL,GAAA,EAAK,MAAA;AAAA,IACL,GAAA,EAAK,QAAA;AAAA,IACL,MAAA,EAAQ,OAAA;AAAA,IACR,MAAA,EAAQ,WAAA;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,IAAA,EAAM,SAAA;AAAA;AAAA,IAGN,EAAA,EAAI,MAAA;AAAA,IACJ,MAAA,EAAQ,WAAA;AAAA,IACR,MAAA,EAAQ,OAAA;AAAA,IACR,GAAA,EAAK,KAAA;AAAA,IACL,KAAA,EAAO,QAAA;AAAA,IACP,KAAA,EAAO,MAAA;AAAA,IACP,QAAA,EAAU,SAAA;AAAA,IACV,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,QAAA;AAAA;AAAA,IAGN,IAAA,EAAM,OAAA;AAAA,IACN,KAAA,EAAO,MAAA;AAAA,IACP,IAAA,EAAM,KAAA;AAAA,IACN,MAAA,EAAQ,MAAA;AAAA;AAAA,IAGR,IAAA,EAAM,OAAA;AAAA,IACN,GAAA,EAAK,QAAA;AAAA,IACL,KAAA,EAAO,MAAA;AAAA,IACP,KAAA,EAAO,OAAA;AAAA,IACP,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY,OAAA;AAAA;AAAA,IAGZ,SAAA,EAAW,QAAA;AAAA,IACX,SAAA,EAAW,SAAA;AAAA,IACX,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS,QAAA;AAAA,IACT,OAAA,EAAS,SAAA;AAAA;AAAA,IAGT,EAAA,EAAI,OAAA;AAAA,IACJ,OAAA,EAAS,WAAA;AAAA,IACT,UAAA,EAAY,cAAA;AAAA;AAAA,IAGZ,IAAA,EAAM,QAAA;AAAA,IACN,IAAA,EAAM,QAAA;AAAA,IACN,IAAA,EAAM,KAAA;AAAA;AAAA,IAGN,EAAA,EAAI,IAAA;AAAA,IACJ,KAAA,EAAO,WAAA;AAAA,IACP,MAAA,EAAQ,OAAA;AAAA;AAAA,IAGR,IAAA,EAAM,aAAA;AAAA,IACN,KAAA,EAAO,eAAA;AAAA,IACP,MAAA,EAAQ,OAAA;AAAA;AAAA,IAGR,MAAA,EAAQ,cAAA;AAAA;AAAA,IAGR,IAAA,EAAM,MAAA;AAAA;AAAA,IAGN,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,EAAA,EAAI,KAAA;AAAA,IACJ,IAAA,EAAM,QAAA;AAAA,IACN,IAAA,EAAM,OAAA;AAAA,IACN,IAAA,EAAM,IAAA;AAAA,IACN,EAAA,EAAI,QAAA;AAAA,IACJ,EAAA,EAAI,OAAA;AAAA,IACJ,EAAA,EAAI,IAAA;AAAA,IACJ,EAAA,EAAI,MAAA;AAAA,IACJ,EAAA,EAAI,IAAA;AAAA,IACJ,MAAA,EAAQ,OAAA;AAAA,IACR,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,KAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,OAAA,EAAS,MAAA;AAAA,IACT,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,SAAA;AAAA,IACP,QAAA,EAAU,oBAAA;AAAA,IACV,SAAA,EAAW,aAAA;AAAA,IACX,OAAA,EAAS,WAAA;AAAA,IACT,UAAA,EAAY,aAAA;AAAA,IACZ,UAAA,EAAY,YAAA;AAAA,IACZ,SAAA,EAAW,WAAA;AAAA,IACX,QAAA,EAAU,WAAA;AAAA,IACV,SAAA,EAAW,aAAA;AAAA,IAEX,OAAA,EAAS,cAAA;AAAA,IACT,KAAA,EAAO,YAAA;AAAA,IACP,QAAA,EAAU,gBAAA;AAAA,IAEV,KAAA,EAAO,UAAA;AAAA,IACP,IAAA,EAAM,cAAA;AAAA,IACN,MAAA,EAAQ,WAAA;AAAA,IACR,KAAA,EAAO,QAAA;AAAA,IACP,MAAA,EAAQ,WAAA;AAAA,IACR,KAAA,EAAO,WAAA;AAAA,IAEP,IAAA,EAAM,OAAA;AAAA,IACN,MAAA,EAAQ,OAAA;AAAA,IACR,MAAA,EAAQ,kBAAA;AAAA,IACR,MAAA,EAAQ,QAAA;AAAA,IAER,UAAA,EAAY,WAAA;AAAA,IACZ,QAAA,EAAU,aAAA;AAAA,IACV,SAAA,EAAW,YAAA;AAAA,IACX,WAAA,EAAa;AAAA,GACf;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,QAAA;AAAA,IACN,KAAA,EAAO,MAAA;AAAA,IACP,GAAA,EAAK,IAAA;AAAA,IACL,EAAA,EAAI,IAAA;AAAA,IACJ,GAAA,EAAK,IAAA;AAAA,IACL,EAAA,EAAI,IAAA;AAAA,IACJ,MAAA,EAAQ,KAAA;AAAA,IACR,OAAA,EAAS,WAAA;AAAA,IACT,QAAA,EAAU,KAAA;AAAA,IACV,QAAA,EAAU,QAAA;AAAA,IACV,MAAA,EAAQ,MAAA;AAAA,IACR,GAAA,EAAK,KAAA;AAAA;AAAA,IACL,IAAA,EAAM,MAAA;AAAA;AAAA,IACN,IAAA,EAAM,OAAA;AAAA,IACN,IAAA,EAAM,OAAA;AAAA,IACN,SAAA,EAAW,YAAA;AAAA,IACX,GAAA,EAAK;AAAA,GACP;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS,SAAA;AAAA,IACT,MAAA,EAAQ,SAAA;AAAA,IACR,YAAA,EAAc,cAAA;AAAA,IACd,WAAA,EAAa,cAAA;AAAA,IACb,OAAA,EAAS,QAAA;AAAA,IACT,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,KAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,CAAA,EAAG,GAAA;AAAA,IACH,GAAA,EAAK,IAAA;AAAA,IACL,CAAA,EAAG;AAAA,GACL;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,OAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,SAAA,EAAW,iBAAA;AAAA,IACX,EAAA,EAAI,MAAA;AAAA,IACJ,GAAA,EAAK,MAAA;AAAA;AAAA,IACL,EAAA,EAAI,MAAA;AAAA,IACJ,EAAA,EAAI,OAAA;AAAA,IACJ,MAAA,EAAQ,eAAA;AAAA,IACR,GAAA,EAAK,MAAA;AAAA;AAAA,IACL,IAAA,EAAM,MAAA;AAAA;AAAA,IACN,QAAA,EAAU,eAAA;AAAA;AAAA,IACV,OAAA,EAAS,WAAA;AAAA,IACT,MAAA,EAAQ,OAAA;AAAA,IACR,MAAA,EAAQ,SAAA;AAAA,IACR,KAAA,EAAO,OAAA;AAAA,IACP,MAAA,EAAQ,SAAA;AAAA,IACR,QAAA,EAAU,MAAA;AAAA,IACV,IAAA,EAAM,OAAA;AAAA,IACN,MAAA,EAAQ,SAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,QAAA;AAAA,IACP,OAAA,EAAS,UAAA;AAAA,IACT,KAAA,EAAO,QAAA;AAAA,IACP,MAAA,EAAQ,SAAA;AAAA,IACR,SAAA,EAAW,MAAA;AAAA,IACX,UAAA,EAAY,MAAA;AAAA,IACZ,QAAA,EAAU,MAAA;AAAA,IACV,UAAA,EAAY;AAAA,GACd;AAAA,EAEA,WAAA,EAAa;AAAA;AAAA,IAEX,KAAA,EAAO,QAAA;AAAA,IACP,IAAA,EAAM,QAAA;AAAA,IACN,IAAA,EAAM,OAAA;AAAA,IACN,QAAA,EAAU,WAAA;AAAA,IACV,IAAA,EAAM,OAAA;AAAA,IACN,EAAA,EAAI,QAAA;AAAA,IACJ,MAAA,EAAQ,QAAA;AAAA;AAAA,IAGR,OAAA,EAAS,cAAA;AAAA,IACT,MAAA,EAAQ,OAAA;AAAA,IACR,QAAA,EAAU,QAAA;AAAA,IACV,MAAA,EAAQ,UAAA;AAAA;AAAA,IAGR,EAAA,EAAI,QAAA;AAAA,IACJ,KAAA,EAAO,MAAA;AAAA,IACP,IAAA,EAAM,QAAA;AAAA;AAAA,IAGN,aAAA,EAAe,WAAA;AAAA,IACf,WAAA,EAAa;AAAA;AAEjB,CAAA;;;AChOO,IAAM,EAAA,GAAiB;AAAA,EAC5B,QAAA,EAAU;AAAA;AAAA,IAER,EAAA,EAAI,IAAA;AAAA,IACJ,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS,UAAA;AAAA,IACT,IAAA,EAAM,QAAA;AAAA;AAAA,IAGN,IAAA,EAAM,OAAA;AAAA,IACN,GAAA,EAAK,SAAA;AAAA,IACL,GAAA,EAAK,SAAA;AAAA,IACL,GAAA,EAAK,OAAA;AAAA,IACL,GAAA,EAAK,WAAA;AAAA,IACL,MAAA,EAAQ,SAAA;AAAA,IACR,MAAA,EAAQ,UAAA;AAAA,IACR,IAAA,EAAM,UAAA;AAAA,IACN,IAAA,EAAM,SAAA;AAAA;AAAA,IAGN,EAAA,EAAI,IAAA;AAAA,IACJ,MAAA,EAAQ,SAAA;AAAA;AAAA,IACR,MAAA,EAAQ,SAAA;AAAA,IACR,GAAA,EAAK,MAAA;AAAA,IACL,KAAA,EAAO,UAAA;AAAA,IACP,KAAA,EAAO,QAAA;AAAA,IACP,QAAA,EAAU,WAAA;AAAA,IACV,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,aAAA;AAAA;AAAA,IAGN,IAAA,EAAM,SAAA;AAAA,IACN,KAAA,EAAO,QAAA;AAAA,IACP,IAAA,EAAM,QAAA;AAAA,IACN,MAAA,EAAQ,UAAA;AAAA;AAAA,IAGR,IAAA,EAAM,OAAA;AAAA,IACN,GAAA,EAAK,WAAA;AAAA,IACL,KAAA,EAAO,WAAA;AAAA,IACP,KAAA,EAAO,UAAA;AAAA,IACP,OAAA,EAAS,OAAA;AAAA,IACT,UAAA,EAAY,iBAAA;AAAA;AAAA,IAGZ,SAAA,EAAW,aAAA;AAAA,IACX,SAAA,EAAW,aAAA;AAAA,IACX,IAAA,EAAM,UAAA;AAAA,IACN,OAAA,EAAS,WAAA;AAAA,IACT,OAAA,EAAS,WAAA;AAAA;AAAA,IAGT,EAAA,EAAI,IAAA;AAAA,IACJ,OAAA,EAAS,SAAA;AAAA,IACT,UAAA,EAAY,eAAA;AAAA;AAAA,IAGZ,IAAA,EAAM,QAAA;AAAA,IACN,IAAA,EAAM,UAAA;AAAA,IACN,IAAA,EAAM,QAAA;AAAA;AAAA,IAGN,EAAA,EAAI,IAAA;AAAA,IACJ,KAAA,EAAO,eAAA;AAAA,IACP,MAAA,EAAQ,YAAA;AAAA;AAAA,IAGR,IAAA,EAAM,QAAA;AAAA,IACN,KAAA,EAAO,aAAA;AAAA,IACP,MAAA,EAAQ,aAAA;AAAA;AAAA,IAGR,MAAA,EAAQ,QAAA;AAAA;AAAA,IAGR,IAAA,EAAM,MAAA;AAAA;AAAA,IAGN,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,EAAA,EAAI,MAAA;AAAA,IACJ,IAAA,EAAM,IAAA;AAAA,IACN,IAAA,EAAM,IAAA;AAAA,IACN,IAAA,EAAM,KAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,EAAA,EAAI,QAAA;AAAA,IACJ,EAAA,EAAI,IAAA;AAAA,IACJ,EAAA,EAAI,MAAA;AAAA,IACJ,EAAA,EAAI,KAAA;AAAA,IACJ,MAAA,EAAQ,OAAA;AAAA,IACR,KAAA,EAAO,QAAA;AAAA,IACP,IAAA,EAAM,OAAA;AAAA,IACN,KAAA,EAAO,KAAA;AAAA,IACP,OAAA,EAAS,OAAA;AAAA,IACT,OAAA,EAAS,YAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,QAAA;AAAA,IACP,QAAA,EAAU,aAAA;AAAA,IACV,SAAA,EAAW,YAAA;AAAA,IACX,OAAA,EAAS,WAAA;AAAA,IACT,UAAA,EAAY,aAAA;AAAA,IACZ,UAAA,EAAY,WAAA;AAAA,IACZ,SAAA,EAAW,YAAA;AAAA,IACX,QAAA,EAAU,WAAA;AAAA,IACV,SAAA,EAAW,YAAA;AAAA,IAEX,OAAA,EAAS,YAAA;AAAA,IACT,KAAA,EAAO,WAAA;AAAA,IACP,QAAA,EAAU,iBAAA;AAAA,IAEV,KAAA,EAAO,MAAA;AAAA,IACP,IAAA,EAAM,UAAA;AAAA,IACN,MAAA,EAAQ,YAAA;AAAA,IACR,KAAA,EAAO,SAAA;AAAA,IACP,MAAA,EAAQ,OAAA;AAAA,IACR,KAAA,EAAO,WAAA;AAAA,IAEP,IAAA,EAAM,UAAA;AAAA,IACN,MAAA,EAAQ,aAAA;AAAA,IACR,MAAA,EAAQ,eAAA;AAAA,IACR,MAAA,EAAQ,OAAA;AAAA,IAER,UAAA,EAAY,gBAAA;AAAA,IACZ,QAAA,EAAU,UAAA;AAAA,IACV,SAAA,EAAW,YAAA;AAAA,IACX,WAAA,EAAa;AAAA,GACf;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,QAAA;AAAA,IACN,KAAA,EAAO,MAAA;AAAA,IACP,GAAA,EAAK,GAAA;AAAA,IACL,EAAA,EAAI,IAAA;AAAA,IACJ,GAAA,EAAK,QAAA;AAAA,IACL,EAAA,EAAI,MAAA;AAAA,IACJ,MAAA,EAAQ,QAAA;AAAA,IACR,OAAA,EAAS,aAAA;AAAA,IACT,QAAA,EAAU,WAAA;AAAA,IACV,QAAA,EAAU,QAAA;AAAA,IACV,MAAA,EAAQ,OAAA;AAAA,IACR,GAAA,EAAK,KAAA;AAAA;AAAA,IACL,IAAA,EAAM,OAAA;AAAA;AAAA,IACN,IAAA,EAAM,UAAA;AAAA,IACN,IAAA,EAAM,UAAA;AAAA,IACN,SAAA,EAAW,mBAAA;AAAA;AAAA,IACX,GAAA,EAAK;AAAA,GACP;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS,UAAA;AAAA,IACT,MAAA,EAAQ,SAAA;AAAA,IACR,YAAA,EAAc,eAAA;AAAA,IACd,WAAA,EAAa,cAAA;AAAA,IACb,OAAA,EAAS,SAAA;AAAA,IACT,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,CAAA,EAAG,GAAA;AAAA,IACH,GAAA,EAAK,KAAA;AAAA,IACL,CAAA,EAAG;AAAA,GACL;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,YAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,SAAA,EAAW,YAAA;AAAA,IACX,EAAA,EAAI,MAAA;AAAA,IACJ,GAAA,EAAK,KAAA;AAAA,IACL,EAAA,EAAI,IAAA;AAAA,IACJ,EAAA,EAAI,KAAA;AAAA,IACJ,MAAA,EAAQ,UAAA;AAAA;AAAA,IACR,GAAA,EAAK,SAAA;AAAA,IACL,IAAA,EAAM,KAAA;AAAA,IACN,QAAA,EAAU,eAAA;AAAA;AAAA,IACV,OAAA,EAAS,UAAA;AAAA,IACT,MAAA,EAAQ,MAAA;AAAA,IACR,MAAA,EAAQ,SAAA;AAAA,IACR,KAAA,EAAO,QAAA;AAAA,IACP,MAAA,EAAQ,QAAA;AAAA,IACR,QAAA,EAAU,WAAA;AAAA,IACV,IAAA,EAAM,OAAA;AAAA,IACN,MAAA,EAAQ,WAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,QAAA;AAAA,IACP,OAAA,EAAS,SAAA;AAAA,IACT,KAAA,EAAO,QAAA;AAAA,IACP,MAAA,EAAQ,SAAA;AAAA,IACR,SAAA,EAAW,UAAA;AAAA,IACX,UAAA,EAAY,WAAA;AAAA,IACZ,QAAA,EAAU,aAAA;AAAA,IACV,UAAA,EAAY;AAAA,GACd;AAAA,EAEA,WAAA,EAAa;AAAA;AAAA,IAEX,KAAA,EAAO,UAAA;AAAA,IACP,IAAA,EAAM,WAAA;AAAA,IACN,IAAA,EAAM,YAAA;AAAA,IACN,QAAA,EAAU,UAAA;AAAA,IACV,IAAA,EAAM,KAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,MAAA,EAAQ,cAAA;AAAA;AAAA,IAGR,OAAA,EAAS,iBAAA;AAAA;AAAA,IACT,MAAA,EAAQ,KAAA;AAAA,IACR,QAAA,EAAU,QAAA;AAAA,IACV,MAAA,EAAQ,QAAA;AAAA;AAAA,IAGR,EAAA,EAAI,QAAA;AAAA,IACJ,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,OAAA;AAAA;AAAA,IAGN,aAAA,EAAe,eAAA;AAAA,IACf,WAAA,EAAa;AAAA;AAEjB,CAAA;;;ACxOO,IAAM,EAAA,GAAiB;AAAA,EAC5B,QAAA,EAAU;AAAA;AAAA,IAER,EAAA,EAAI,IAAA;AAAA,IACJ,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,WAAA;AAAA,IACT,IAAA,EAAM,SAAA;AAAA;AAAA,IAGN,IAAA,EAAM,UAAA;AAAA,IACN,GAAA,EAAK,SAAA;AAAA,IACL,GAAA,EAAK,WAAA;AAAA,IACL,GAAA,EAAK,UAAA;AAAA,IACL,GAAA,EAAK,YAAA;AAAA,IACL,MAAA,EAAQ,WAAA;AAAA,IACR,MAAA,EAAQ,WAAA;AAAA,IACR,IAAA,EAAM,YAAA;AAAA,IACN,IAAA,EAAM,UAAA;AAAA;AAAA,IAGN,EAAA,EAAI,IAAA;AAAA,IACJ,MAAA,EAAQ,YAAA;AAAA,IACR,MAAA,EAAQ,UAAA;AAAA,IACR,GAAA,EAAK,KAAA;AAAA,IACL,KAAA,EAAO,QAAA;AAAA,IACP,KAAA,EAAO,MAAA;AAAA,IACP,QAAA,EAAU,YAAA;AAAA,IACV,KAAA,EAAO,cAAA;AAAA,IACP,IAAA,EAAM,SAAA;AAAA;AAAA,IAGN,IAAA,EAAM,WAAA;AAAA,IACN,KAAA,EAAO,YAAA;AAAA,IACP,IAAA,EAAM,UAAA;AAAA,IACN,MAAA,EAAQ,WAAA;AAAA;AAAA,IAGR,IAAA,EAAM,MAAA;AAAA,IACN,GAAA,EAAK,YAAA;AAAA,IACL,KAAA,EAAO,UAAA;AAAA,IACP,KAAA,EAAO,WAAA;AAAA,IACP,OAAA,EAAS,UAAA;AAAA,IACT,UAAA,EAAY,aAAA;AAAA;AAAA,IAGZ,SAAA,EAAW,cAAA;AAAA,IACX,SAAA,EAAW,cAAA;AAAA,IACX,IAAA,EAAM,WAAA;AAAA,IACN,OAAA,EAAS,aAAA;AAAA,IACT,OAAA,EAAS,YAAA;AAAA;AAAA,IAGT,EAAA,EAAI,QAAA;AAAA,IACJ,OAAA,EAAS,SAAA;AAAA,IACT,UAAA,EAAY,eAAA;AAAA;AAAA,IAGZ,IAAA,EAAM,SAAA;AAAA,IACN,IAAA,EAAM,WAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA;AAAA,IAGN,EAAA,EAAI,IAAA;AAAA,IACJ,KAAA,EAAO,WAAA;AAAA,IACP,MAAA,EAAQ,cAAA;AAAA;AAAA,IAGR,IAAA,EAAM,WAAA;AAAA,IACN,KAAA,EAAO,aAAA;AAAA,IACP,MAAA,EAAQ,cAAA;AAAA;AAAA,IAGR,MAAA,EAAQ,YAAA;AAAA;AAAA,IAGR,IAAA,EAAM,QAAA;AAAA;AAAA,IAGN,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,EAAA,EAAI,GAAA;AAAA,IACJ,IAAA,EAAM,IAAA;AAAA,IACN,IAAA,EAAM,IAAA;AAAA,IACN,IAAA,EAAM,KAAA;AAAA,IACN,EAAA,EAAI,GAAA;AAAA,IACJ,EAAA,EAAI,IAAA;AAAA,IACJ,EAAA,EAAI,IAAA;AAAA,IACJ,EAAA,EAAI,MAAA;AAAA,IACJ,EAAA,EAAI,KAAA;AAAA,IACJ,MAAA,EAAQ,OAAA;AAAA,IACR,KAAA,EAAO,MAAA;AAAA,IACP,IAAA,EAAM,OAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,OAAA,EAAS,KAAA;AAAA,IACT,OAAA,EAAS,YAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,MAAA;AAAA,IACP,QAAA,EAAU,YAAA;AAAA,IACV,SAAA,EAAW,aAAA;AAAA,IACX,OAAA,EAAS,SAAA;AAAA,IACT,UAAA,EAAY,YAAA;AAAA,IACZ,UAAA,EAAY,WAAA;AAAA,IACZ,SAAA,EAAW,YAAA;AAAA,IACX,QAAA,EAAU,YAAA;AAAA,IACV,SAAA,EAAW,YAAA;AAAA,IAEX,OAAA,EAAS,aAAA;AAAA,IACT,KAAA,EAAO,SAAA;AAAA,IACP,QAAA,EAAU,YAAA;AAAA,IAEV,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,YAAA;AAAA,IACN,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,OAAA;AAAA,IACP,MAAA,EAAQ,OAAA;AAAA,IACR,KAAA,EAAO,OAAA;AAAA,IAEP,IAAA,EAAM,QAAA;AAAA,IACN,MAAA,EAAQ,SAAA;AAAA,IACR,MAAA,EAAQ,cAAA;AAAA,IACR,MAAA,EAAQ,aAAA;AAAA,IAER,UAAA,EAAY,aAAA;AAAA,IACZ,QAAA,EAAU,WAAA;AAAA,IACV,SAAA,EAAW,YAAA;AAAA,IACX,WAAA,EAAa;AAAA,GACf;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,QAAA;AAAA,IACN,KAAA,EAAO,MAAA;AAAA,IACP,GAAA,EAAK,GAAA;AAAA,IACL,EAAA,EAAI,GAAA;AAAA,IACJ,GAAA,EAAK,KAAA;AAAA,IACL,EAAA,EAAI,MAAA;AAAA,IACJ,MAAA,EAAQ,QAAA;AAAA,IACR,OAAA,EAAS,aAAA;AAAA,IACT,QAAA,EAAU,UAAA;AAAA,IACV,QAAA,EAAU,SAAA;AAAA,IACV,MAAA,EAAQ,QAAA;AAAA,IACR,GAAA,EAAK,IAAA;AAAA;AAAA,IACL,IAAA,EAAM,IAAA;AAAA;AAAA,IACN,IAAA,EAAM,QAAA;AAAA,IACN,IAAA,EAAM,YAAA;AAAA,IACN,SAAA,EAAW,YAAA;AAAA,IACX,GAAA,EAAK;AAAA,GACP;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS,SAAA;AAAA,IACT,MAAA,EAAQ,SAAA;AAAA,IACR,YAAA,EAAc,cAAA;AAAA,IACd,WAAA,EAAa,cAAA;AAAA,IACb,OAAA,EAAS,QAAA;AAAA,IACT,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,KAAA;AAAA,IACP,IAAA,EAAM,KAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,CAAA,EAAG,GAAA;AAAA,IACH,GAAA,EAAK,KAAA;AAAA,IACL,CAAA,EAAG;AAAA,GACL;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,OAAA;AAAA,IACN,SAAA,EAAW,YAAA;AAAA,IACX,EAAA,EAAI,MAAA;AAAA,IACJ,GAAA,EAAK,KAAA;AAAA,IACL,EAAA,EAAI,IAAA;AAAA,IACJ,EAAA,EAAI,KAAA;AAAA,IACJ,GAAA,EAAK,IAAA;AAAA,IACL,IAAA,EAAM,KAAA;AAAA,IACN,QAAA,EAAU,WAAA;AAAA,IACV,MAAA,EAAQ,WAAA;AAAA,IACR,OAAA,EAAS,UAAA;AAAA,IACT,MAAA,EAAQ,WAAA;AAAA,IACR,MAAA,EAAQ,WAAA;AAAA,IACR,KAAA,EAAO,QAAA;AAAA,IACP,MAAA,EAAQ,UAAA;AAAA,IACR,QAAA,EAAU,WAAA;AAAA,IACV,IAAA,EAAM,OAAA;AAAA,IACN,MAAA,EAAQ,WAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,QAAA;AAAA,IACP,OAAA,EAAS,QAAA;AAAA,IACT,KAAA,EAAO,OAAA;AAAA,IACP,MAAA,EAAQ,OAAA;AAAA,IACR,SAAA,EAAW,WAAA;AAAA,IACX,UAAA,EAAY,WAAA;AAAA,IACZ,QAAA,EAAU,cAAA;AAAA,IACV,UAAA,EAAY;AAAA,GACd;AAAA,EAEA,WAAA,EAAa;AAAA;AAAA,IAEX,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,QAAA;AAAA,IACN,IAAA,EAAM,UAAA;AAAA,IACN,QAAA,EAAU,YAAA;AAAA,IACV,IAAA,EAAM,MAAA;AAAA,IACN,EAAA,EAAI,GAAA;AAAA,IACJ,MAAA,EAAQ,SAAA;AAAA;AAAA,IAGR,OAAA,EAAS,cAAA;AAAA,IACT,MAAA,EAAQ,UAAA;AAAA,IACR,QAAA,EAAU,OAAA;AAAA,IACV,MAAA,EAAQ,QAAA;AAAA;AAAA,IAGR,EAAA,EAAI,QAAA;AAAA,IACJ,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,SAAA;AAAA;AAAA,IAGN,aAAA,EAAe,YAAA;AAAA,IACf,WAAA,EAAa;AAAA;AAEjB,CAAA;;;ACpOO,IAAM,EAAA,GAAiB;AAAA,EAC5B,QAAA,EAAU;AAAA;AAAA,IAER,EAAA,EAAI,KAAA;AAAA,IACJ,IAAA,EAAM,iBAAA;AAAA,IACN,OAAA,EAAS,mBAAA;AAAA,IACT,IAAA,EAAM,UAAA;AAAA;AAAA,IAGN,IAAA,EAAM,UAAA;AAAA,IACN,GAAA,EAAK,eAAA;AAAA,IACL,GAAA,EAAK,QAAA;AAAA,IACL,GAAA,EAAK,0BAAA;AAAA,IACL,GAAA,EAAK,SAAA;AAAA,IACL,MAAA,EAAQ,QAAA;AAAA,IACR,MAAA,EAAQ,2BAAA;AAAA,IACR,IAAA,EAAM,SAAA;AAAA,IACN,IAAA,EAAM,oBAAA;AAAA;AAAA,IAGN,EAAA,EAAI,UAAA;AAAA,IACJ,MAAA,EAAQ,cAAA;AAAA,IACR,MAAA,EAAQ,mBAAA;AAAA,IACR,GAAA,EAAK,mBAAA;AAAA,IACL,KAAA,EAAO,WAAA;AAAA,IACP,KAAA,EAAO,uBAAA;AAAA,IACP,QAAA,EAAU,oBAAA;AAAA,IACV,KAAA,EAAO,WAAA;AAAA,IACP,IAAA,EAAM,oBAAA;AAAA;AAAA,IAGN,IAAA,EAAM,UAAA;AAAA,IACN,KAAA,EAAO,UAAA;AAAA,IACP,IAAA,EAAM,UAAA;AAAA,IACN,MAAA,EAAQ,kBAAA;AAAA;AAAA,IAGR,IAAA,EAAM,UAAA;AAAA,IACN,GAAA,EAAK,OAAA;AAAA,IACL,KAAA,EAAO,QAAA;AAAA,IACP,KAAA,EAAO,UAAA;AAAA,IACP,OAAA,EAAS,yBAAA;AAAA,IACT,UAAA,EAAY,uBAAA;AAAA;AAAA,IAGZ,SAAA,EAAW,WAAA;AAAA,IACX,SAAA,EAAW,WAAA;AAAA,IACX,IAAA,EAAM,mBAAA;AAAA,IACN,OAAA,EAAS,yBAAA;AAAA,IACT,OAAA,EAAS,YAAA;AAAA;AAAA,IAGT,EAAA,EAAI,uBAAA;AAAA,IACJ,OAAA,EAAS,SAAA;AAAA,IACT,UAAA,EAAY,iBAAA;AAAA;AAAA,IAGZ,IAAA,EAAM,aAAA;AAAA,IACN,IAAA,EAAM,WAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA;AAAA,IAGN,EAAA,EAAI,IAAA;AAAA,IACJ,KAAA,EAAO,iCAAA;AAAA,IACP,MAAA,EAAQ,oBAAA;AAAA;AAAA,IAGR,IAAA,EAAM,uBAAA;AAAA,IACN,KAAA,EAAO,yBAAA;AAAA,IACP,MAAA,EAAQ,wBAAA;AAAA;AAAA,IAGR,MAAA,EAAQ,UAAA;AAAA;AAAA,IAGR,IAAA,EAAM,UAAA;AAAA;AAAA,IAGN,KAAA,EAAO,gBAAA;AAAA,IACP,IAAA,EAAM,yBAAA;AAAA;AAAA,IAGN,IAAA,EAAM,oBAAA;AAAA,IACN,QAAA,EAAU,YAAA;AAAA,IACV,OAAA,EAAS,sBAAA;AAAA,IACT,KAAA,EAAO,aAAA;AAAA,IACP,OAAA,EAAS,uBAAA;AAAA,IACT,IAAA,EAAM;AAAA,GACR;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,QAAA;AAAA,IACN,MAAA,EAAQ,iBAAA;AAAA,IACR,KAAA,EAAO,KAAA;AAAA,IACP,IAAA,EAAM,UAAA;AAAA,IACN,GAAA,EAAK,kBAAA;AAAA,IACL,IAAA,EAAM,SAAA;AAAA,IACN,EAAA,EAAI,eAAA;AAAA,IACJ,IAAA,EAAM,UAAA;AAAA,IACN,EAAA,EAAI,UAAA;AAAA,IACJ,EAAA,EAAI,UAAA;AAAA,IACJ,EAAA,EAAI,SAAA;AAAA,IACJ,EAAA,EAAI,OAAA;AAAA,IACJ,EAAA,EAAI,UAAA;AAAA,IACJ,EAAA,EAAI,UAAA;AAAA,IACJ,GAAA,EAAK,EAAA;AAAA,IACL,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,WAAA;AAAA,IACP,QAAA,EAAU,uBAAA;AAAA,IACV,KAAA,EAAO,WAAA;AAAA,IACP,MAAA,EAAQ,oBAAA;AAAA,IACR,MAAA,EAAQ,UAAA;AAAA,IACR,OAAA,EAAS,oBAAA;AAAA,IACT,KAAA,EAAO,gBAAA;AAAA,IACP,QAAA,EAAU,mBAAA;AAAA,IACV,SAAA,EAAW,mBAAA;AAAA,IACX,QAAA,EAAU,eAAA;AAAA,IACV,UAAA,EAAY,mBAAA;AAAA,IACZ,UAAA,EAAY,qBAAA;AAAA,IACZ,KAAA,EAAO,gBAAA;AAAA,IACP,IAAA,EAAM,yBAAA;AAAA,IACN,IAAA,EAAM,UAAA;AAAA,IACN,MAAA,EAAQ,WAAA;AAAA,IACR,MAAA,EAAQ;AAAA,GACV;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,KAAA;AAAA,IACN,KAAA,EAAO,oBAAA;AAAA,IACP,GAAA,EAAK,OAAA;AAAA,IACL,EAAA,EAAI,WAAA;AAAA,IACJ,GAAA,EAAK,UAAA;AAAA,IACL,EAAA,EAAI,OAAA;AAAA,IACJ,MAAA,EAAQ,WAAA;AAAA,IACR,QAAA,EAAU,WAAA;AAAA,IACV,OAAA,EAAS,WAAA;AAAA,IACT,MAAA,EAAQ,mBAAA;AAAA,IACR,GAAA,EAAK,OAAA;AAAA;AAAA,IACL,IAAA,EAAM,OAAA;AAAA;AAAA,IACN,KAAA,EAAO,YAAA;AAAA,IACP,IAAA,EAAM,cAAA;AAAA,IACN,KAAA,EAAO,KAAA;AAAA,IACP,IAAA,EAAM;AAAA,GACR;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,GAAA,EAAK,iBAAA;AAAA,IACL,KAAA,EAAO,YAAA;AAAA,IACP,QAAA,EAAU,aAAA;AAAA,IACV,SAAA,EAAW,YAAA;AAAA,IACX,MAAA,EAAQ,iBAAA;AAAA,IACR,KAAA,EAAO,uBAAA;AAAA,IACP,SAAA,EAAW,iBAAA;AAAA,IACX,IAAA,EAAM,mBAAA;AAAA,IACN,KAAA,EAAO,cAAA;AAAA,IACP,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,cAAA;AAAA,IACN,KAAA,EAAO,KAAA;AAAA,IACP,IAAA,EAAM,WAAA;AAAA,IACN,SAAA,EAAW,gCAAA;AAAA,IACX,IAAA,EAAM,gBAAA;AAAA,IACN,GAAA,EAAK,kBAAA;AAAA,IACL,GAAA,EAAK,kBAAA;AAAA,IACL,IAAA,EAAM,kBAAA;AAAA,IACN,IAAA,EAAM,UAAA;AAAA,IACN,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,EAAA,EAAI,IAAA;AAAA,IACJ,KAAA,EAAO,UAAA;AAAA,IACP,KAAA,EAAO,WAAA;AAAA,IACP,KAAA,EAAO,iBAAA;AAAA,IACP,IAAA,EAAM,mBAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,GAAA,EAAK,YAAA;AAAA,IACL,IAAA,EAAM,kBAAA;AAAA,IACN,QAAA,EAAU,iBAAA;AAAA,IACV,MAAA,EAAQ,SAAA;AAAA,IACR,OAAA,EAAS,+BAAA;AAAA,IACT,QAAA,EAAU;AAAA,GACZ;AAAA,EAEA,WAAA,EAAa;AAAA,IACX,EAAA,EAAI,QAAA;AAAA,IACJ,EAAA,EAAI,iBAAA;AAAA,IACJ,EAAA,EAAI,OAAA;AAAA,IACJ,GAAA,EAAK,gBAAA;AAAA,IACL,MAAA,EAAQ,mBAAA;AAAA,IACR,KAAA,EAAO,mBAAA;AAAA,IACP,MAAA,EAAQ,kBAAA;AAAA,IACR,KAAA,EAAO,uBAAA;AAAA,IACP,IAAA,EAAM,mBAAA;AAAA,IACN,IAAA,EAAM,gBAAA;AAAA,IACN,QAAA,EAAU,4BAAA;AAAA,IACV,MAAA,EAAQ,KAAA;AAAA,IACR,QAAA,EAAU,KAAA;AAAA,IACV,OAAA,EAAS;AAAA;AAEb,CAAA;;;ACvMO,IAAM,EAAA,GAAiB;AAAA,EAC5B,QAAA,EAAU;AAAA;AAAA,IAER,EAAA,EAAI,KAAA;AAAA,IACJ,IAAA,EAAM,SAAA;AAAA,IACN,OAAA,EAAS,cAAA;AAAA,IACT,IAAA,EAAM,aAAA;AAAA;AAAA,IAGN,IAAA,EAAM,UAAA;AAAA,IACN,GAAA,EAAK,kBAAA;AAAA,IACL,GAAA,EAAK,OAAA;AAAA,IACL,GAAA,EAAK,SAAA;AAAA,IACL,GAAA,EAAK,OAAA;AAAA,IACL,MAAA,EAAQ,WAAA;AAAA,IACR,MAAA,EAAQ,oBAAA;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,IAAA,EAAM,YAAA;AAAA;AAAA,IAGN,EAAA,EAAI,YAAA;AAAA,IACJ,MAAA,EAAQ,OAAA;AAAA,IACR,MAAA,EAAQ,YAAA;AAAA,IACR,GAAA,EAAK,KAAA;AAAA,IACL,KAAA,EAAO,WAAA;AAAA,IACP,KAAA,EAAO,SAAA;AAAA,IACP,QAAA,EAAU,WAAA;AAAA,IACV,KAAA,EAAO,UAAA;AAAA,IACP,IAAA,EAAM,WAAA;AAAA;AAAA,IAGN,IAAA,EAAM,QAAA;AAAA,IACN,KAAA,EAAO,SAAA;AAAA,IACP,IAAA,EAAM,cAAA;AAAA,IACN,MAAA,EAAQ,eAAA;AAAA;AAAA,IAGR,IAAA,EAAM,WAAA;AAAA,IACN,GAAA,EAAK,OAAA;AAAA,IACL,KAAA,EAAO,WAAA;AAAA,IACP,KAAA,EAAO,WAAA;AAAA,IACP,OAAA,EAAS,QAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA;AAAA,IAGZ,SAAA,EAAW,cAAA;AAAA,IACX,SAAA,EAAW,UAAA;AAAA,IACX,IAAA,EAAM,kBAAA;AAAA,IACN,OAAA,EAAS,gBAAA;AAAA,IACT,OAAA,EAAS,UAAA;AAAA;AAAA,IAGT,EAAA,EAAI,UAAA;AAAA,IACJ,OAAA,EAAS,UAAA;AAAA,IACT,UAAA,EAAY,gBAAA;AAAA;AAAA,IAGZ,IAAA,EAAM,QAAA;AAAA,IACN,IAAA,EAAM,SAAA;AAAA,IACN,IAAA,EAAM,aAAA;AAAA;AAAA,IAGN,EAAA,EAAI,IAAA;AAAA,IACJ,KAAA,EAAO,OAAA;AAAA,IACP,MAAA,EAAQ,UAAA;AAAA;AAAA,IAGR,IAAA,EAAM,aAAA;AAAA,IACN,KAAA,EAAO,uBAAA;AAAA,IACP,MAAA,EAAQ,aAAA;AAAA;AAAA,IAGR,MAAA,EAAQ,kBAAA;AAAA;AAAA,IAGR,IAAA,EAAM,YAAA;AAAA;AAAA,IAGN,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,EAAA,EAAI,IAAA;AAAA,IACJ,IAAA,EAAM,GAAA;AAAA,IACN,IAAA,EAAM,IAAA;AAAA,IACN,IAAA,EAAM,GAAA;AAAA,IACN,EAAA,EAAI,MAAA;AAAA,IACJ,EAAA,EAAI,GAAA;AAAA,IACJ,EAAA,EAAI,GAAA;AAAA,IACJ,EAAA,EAAI,MAAA;AAAA,IACJ,EAAA,EAAI,OAAA;AAAA,IACJ,MAAA,EAAQ,OAAA;AAAA,IACR,KAAA,EAAO,IAAA;AAAA,IACP,IAAA,EAAM,KAAA;AAAA,IACN,KAAA,EAAO,KAAA;AAAA,IACP,OAAA,EAAS,aAAA;AAAA,IACT,OAAA,EAAS,OAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,iBAAA;AAAA,IACP,QAAA,EAAU,4BAAA;AAAA,IACV,SAAA,EAAW,iBAAA;AAAA,IACX,OAAA,EAAS,aAAA;AAAA,IACT,UAAA,EAAY,kBAAA;AAAA,IACZ,UAAA,EAAY,kBAAA;AAAA,IACZ,SAAA,EAAW,SAAA;AAAA,IACX,QAAA,EAAU,UAAA;AAAA,IACV,SAAA,EAAW,UAAA;AAAA,IAEX,OAAA,EAAS,oBAAA;AAAA,IACT,KAAA,EAAO,gBAAA;AAAA,IACP,QAAA,EAAU,8BAAA;AAAA,IAEV,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,UAAA;AAAA,IACN,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,cAAA;AAAA,IACP,MAAA,EAAQ,aAAA;AAAA,IACR,KAAA,EAAO,SAAA;AAAA,IAEP,IAAA,EAAM,cAAA;AAAA,IACN,MAAA,EAAQ,cAAA;AAAA,IACR,MAAA,EAAQ,mBAAA;AAAA,IACR,MAAA,EAAQ,cAAA;AAAA,IAER,UAAA,EAAY,YAAA;AAAA,IACZ,QAAA,EAAU,aAAA;AAAA,IACV,SAAA,EAAW,WAAA;AAAA,IACX,WAAA,EAAa;AAAA,GACf;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,OAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,GAAA,EAAK,GAAA;AAAA,IACL,EAAA,EAAI,KAAA;AAAA,IACJ,GAAA,EAAK,KAAA;AAAA,IACL,EAAA,EAAI,MAAA;AAAA,IACJ,MAAA,EAAQ,UAAA;AAAA,IACR,OAAA,EAAS,QAAA;AAAA,IACT,QAAA,EAAU,SAAA;AAAA,IACV,QAAA,EAAU,UAAA;AAAA,IACV,MAAA,EAAQ,mBAAA;AAAA,IACR,GAAA,EAAK,IAAA;AAAA;AAAA,IACL,IAAA,EAAM,KAAA;AAAA;AAAA,IACN,IAAA,EAAM,OAAA;AAAA,IACN,IAAA,EAAM,SAAA;AAAA,IACN,SAAA,EAAW,KAAA;AAAA,IACX,GAAA,EAAK;AAAA,GACP;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS,SAAA;AAAA,IACT,MAAA,EAAQ,SAAA;AAAA,IACR,YAAA,EAAc,aAAA;AAAA,IACd,WAAA,EAAa,aAAA;AAAA,IACb,OAAA,EAAS,QAAA;AAAA,IACT,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,SAAA;AAAA,IACP,IAAA,EAAM,SAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,CAAA,EAAG,GAAA;AAAA,IACH,GAAA,EAAK,KAAA;AAAA,IACL,CAAA,EAAG;AAAA,GACL;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,QAAA;AAAA,IACN,KAAA,EAAO,YAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,SAAA,EAAW,iBAAA;AAAA,IACX,EAAA,EAAI,IAAA;AAAA,IACJ,GAAA,EAAK,MAAA;AAAA,IACL,EAAA,EAAI,IAAA;AAAA,IACJ,EAAA,EAAI,QAAA;AAAA,IACJ,GAAA,EAAK,IAAA;AAAA,IACL,IAAA,EAAM,SAAA;AAAA,IACN,QAAA,EAAU,QAAA;AAAA,IACV,MAAA,EAAQ,QAAA;AAAA,IACR,OAAA,EAAS,SAAA;AAAA,IACT,MAAA,EAAQ,KAAA;AAAA,IACR,MAAA,EAAQ,kBAAA;AAAA,IACR,KAAA,EAAO,WAAA;AAAA,IACP,MAAA,EAAQ,MAAA;AAAA,IACR,QAAA,EAAU,UAAA;AAAA,IACV,IAAA,EAAM,MAAA;AAAA,IACN,MAAA,EAAQ,OAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,OAAA;AAAA,IACP,OAAA,EAAS,OAAA;AAAA,IACT,KAAA,EAAO,MAAA;AAAA,IACP,MAAA,EAAQ,OAAA;AAAA,IACR,SAAA,EAAW,SAAA;AAAA,IACX,UAAA,EAAY,UAAA;AAAA,IACZ,QAAA,EAAU,gCAAA;AAAA,IACV,UAAA,EAAY;AAAA,GACd;AAAA,EAEA,WAAA,EAAa;AAAA;AAAA,IAEX,KAAA,EAAO,UAAA;AAAA,IACP,IAAA,EAAM,SAAA;AAAA,IACN,IAAA,EAAM,eAAA;AAAA,IACN,QAAA,EAAU,WAAA;AAAA,IACV,IAAA,EAAM,OAAA;AAAA,IACN,EAAA,EAAI,MAAA;AAAA,IACJ,MAAA,EAAQ,QAAA;AAAA;AAAA,IAGR,OAAA,EAAS,iBAAA;AAAA,IACT,MAAA,EAAQ,QAAA;AAAA,IACR,QAAA,EAAU,QAAA;AAAA,IACV,MAAA,EAAQ,eAAA;AAAA;AAAA,IAGR,EAAA,EAAI,MAAA;AAAA,IACJ,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,YAAA;AAAA;AAAA,IAGN,aAAA,EAAe,qBAAA;AAAA,IACf,WAAA,EAAa;AAAA;AAEjB,CAAA;;;ACrOO,IAAM,iBAAA,GAAgC;AAAA,EAC3C,QAAA,EAAU;AAAA;AAAA,IAER,EAAA,EAAI,oBAAA;AAAA,IACJ,IAAA,EAAM,4CAAA;AAAA,IACN,OAAA,EAAS,4CAAA;AAAA,IACT,IAAA,EAAM,wDAAA;AAAA;AAAA,IAGN,IAAA,EAAM,gCAAA;AAAA,IACN,GAAA,EAAK,kDAAA;AAAA,IACL,GAAA,EAAK,8DAAA;AAAA,IACL,GAAA,EAAK,kDAAA;AAAA,IACL,GAAA,EAAK,kDAAA;AAAA,IACL,MAAA,EAAQ,4CAAA;AAAA,IACR,MAAA,EAAQ,oEAAA;AAAA,IACR,IAAA,EAAM,sCAAA;AAAA,IACN,IAAA,EAAM,kDAAA;AAAA;AAAA,IAGN,EAAA,EAAI,0BAAA;AAAA,IACJ,MAAA,EAAQ,uCAAA;AAAA,IACR,MAAA,EAAQ,wDAAA;AAAA,IACR,GAAA,EAAK,oBAAA;AAAA,IACL,KAAA,EAAO,0BAAA;AAAA,IACP,KAAA,EAAO,cAAA;AAAA,IACP,QAAA,EAAU,8DAAA;AAAA,IACV,KAAA,EAAO,kDAAA;AAAA,IACP,IAAA,EAAM,8DAAA;AAAA;AAAA,IAGN,IAAA,EAAM,gCAAA;AAAA,IACN,KAAA,EAAO,wDAAA;AAAA,IACP,IAAA,EAAM,4CAAA;AAAA,IACN,MAAA,EAAQ,4CAAA;AAAA;AAAA,IAGR,IAAA,EAAM,4CAAA;AAAA,IACN,GAAA,EAAK,kDAAA;AAAA,IACL,KAAA,EAAO,4CAAA;AAAA,IACP,KAAA,EAAO,4CAAA;AAAA,IACP,OAAA,EAAS,kDAAA;AAAA,IACT,UAAA,EAAY,oEAAA;AAAA;AAAA,IAGZ,SAAA,EAAW,wDAAA;AAAA,IACX,SAAA,EAAW,wDAAA;AAAA,IACX,IAAA,EAAM,4CAAA;AAAA,IACN,OAAA,EAAS,qEAAA;AAAA,IACT,OAAA,EAAS,wDAAA;AAAA;AAAA,IAGT,EAAA,EAAI,4CAAA;AAAA,IACJ,OAAA,EAAS,sDAAA;AAAA,IACT,UAAA,EAAY,sDAAA;AAAA;AAAA,IAGZ,IAAA,EAAM,8DAAA;AAAA,IACN,IAAA,EAAM,4CAAA;AAAA,IACN,IAAA,EAAM,0BAAA;AAAA;AAAA,IAGN,EAAA,EAAI,IAAA;AAAA,IACJ,KAAA,EAAO,8DAAA;AAAA,IACP,MAAA,EAAQ,8DAAA;AAAA;AAAA,IAGR,IAAA,EAAM,kDAAA;AAAA,IACN,KAAA,EAAO,kGAAA;AAAA,IACP,MAAA,EAAQ,4FAAA;AAAA;AAAA,IAGR,MAAA,EAAQ,wFAAA;AAAA;AAAA,IAGR,IAAA,EAAM,gCAAA;AAAA,IACN,IAAA,EAAM,gCAAA;AAAA;AAAA,IAGN,OAAA,EAAS,8DAAA;AAAA,IACT,IAAA,EAAM,kGAAA;AAAA,IACN,QAAA,EAAU,wDAAA;AAAA;AAAA,IAGV,KAAA,EAAO,gFAAA;AAAA,IACP,IAAA,EAAM,4CAAA;AAAA;AAAA,IAGN,KAAA,EAAO,oEAAA;AAAA,IACP,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,EAAA,EAAI,QAAA;AAAA,IACJ,IAAA,EAAM,cAAA;AAAA,IACN,IAAA,EAAM,QAAA;AAAA,IACN,IAAA,EAAM,QAAA;AAAA,IACN,EAAA,EAAI,QAAA;AAAA,IACJ,EAAA,EAAI,QAAA;AAAA,IACJ,EAAA,EAAI,cAAA;AAAA,IACJ,EAAA,EAAI,oBAAA;AAAA,IACJ,EAAA,EAAI,cAAA;AAAA,IACJ,MAAA,EAAQ,cAAA;AAAA,IACR,KAAA,EAAO,gCAAA;AAAA,IACP,IAAA,EAAM,oBAAA;AAAA,IACN,KAAA,EAAO,oBAAA;AAAA,IACP,OAAA,EAAS,gCAAA;AAAA,IACT,OAAA,EAAS,gCAAA;AAAA,IACT,OAAA,EAAS,oBAAA;AAAA,IACT,EAAA,EAAI;AAAA,GACN;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,0BAAA;AAAA,IACP,QAAA,EAAU,qEAAA;AAAA,IACV,SAAA,EAAW,mDAAA;AAAA,IACX,OAAA,EAAS,yDAAA;AAAA,IACT,UAAA,EAAY,mDAAA;AAAA,IACZ,UAAA,EAAY,yDAAA;AAAA,IACZ,SAAA,EAAW,wDAAA;AAAA,IACX,QAAA,EAAU,0BAAA;AAAA,IACV,SAAA,EAAW,2EAAA;AAAA,IAEX,OAAA,EAAS,qEAAA;AAAA,IACT,KAAA,EAAO,2EAAA;AAAA,IACP,QAAA,EAAU,uFAAA;AAAA,IAEV,KAAA,EAAO,gCAAA;AAAA,IACP,IAAA,EAAM,2EAAA;AAAA,IACN,MAAA,EAAQ,wDAAA;AAAA,IACR,KAAA,EAAO,0BAAA;AAAA,IACP,MAAA,EAAQ,kDAAA;AAAA,IACR,KAAA,EAAO,gCAAA;AAAA,IAEP,IAAA,EAAM,kDAAA;AAAA,IACN,MAAA,EAAQ,kDAAA;AAAA,IACR,MAAA,EAAQ,mGAAA;AAAA,IACR,MAAA,EAAQ,wDAAA;AAAA,IAER,UAAA,EAAY,iFAAA;AAAA,IACZ,QAAA,EAAU,2EAAA;AAAA,IACV,SAAA,EAAW,6FAAA;AAAA,IACX,WAAA,EAAa;AAAA,GACf;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,gCAAA;AAAA,IACN,KAAA,EAAO,oBAAA;AAAA,IACP,GAAA,EAAK,QAAA;AAAA,IACL,EAAA,EAAI,oBAAA;AAAA,IACJ,GAAA,EAAK,cAAA;AAAA,IACL,EAAA,EAAI,0BAAA;AAAA,IACJ,MAAA,EAAQ,8DAAA;AAAA,IACR,OAAA,EAAS,gFAAA;AAAA,IACT,QAAA,EAAU,kDAAA;AAAA,IACV,QAAA,EAAU,kDAAA;AAAA,IACV,MAAA,EAAQ,gCAAA;AAAA,IACR,IAAA,EAAM,gCAAA;AAAA,IACN,IAAA,EAAM,gCAAA;AAAA,IACN,SAAA,EAAW,oGAAA;AAAA,IACX,GAAA,EAAK,gCAAA;AAAA,IACL,GAAA,EAAK,gCAAA;AAAA;AAAA,IACL,IAAA,EAAM,0BAAA;AAAA;AAAA,IACN,KAAA,EAAO,uCAAA;AAAA,IACP,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS,sCAAA;AAAA,IACT,MAAA,EAAQ,4CAAA;AAAA,IACR,YAAA,EAAc,oEAAA;AAAA,IACd,WAAA,EAAa,0EAAA;AAAA,IACb,OAAA,EAAS,gCAAA;AAAA,IACT,MAAA,EAAQ,sCAAA;AAAA,IACR,KAAA,EAAO,gCAAA;AAAA,IACP,IAAA,EAAM,oBAAA;AAAA,IACN,EAAA,EAAI,cAAA;AAAA,IACJ,CAAA,EAAG,QAAA;AAAA,IACH,GAAA,EAAK,oBAAA;AAAA,IACL,CAAA,EAAG,QAAA;AAAA,IACH,OAAA,EAAS,sCAAA;AAAA,IACT,IAAA,EAAM,4CAAA;AAAA,IACN,KAAA,EAAO,sCAAA;AAAA,IACP,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,sCAAA;AAAA,IACN,KAAA,EAAO,0BAAA;AAAA,IACP,IAAA,EAAM,sCAAA;AAAA,IACN,SAAA,EAAW,0EAAA;AAAA,IACX,EAAA,EAAI,oBAAA;AAAA,IACJ,GAAA,EAAK,oBAAA;AAAA,IACL,EAAA,EAAI,QAAA;AAAA,IACJ,EAAA,EAAI,oBAAA;AAAA,IACJ,GAAA,EAAK,cAAA;AAAA,IACL,IAAA,EAAM,0BAAA;AAAA,IACN,QAAA,EAAU,oBAAA;AAAA,IACV,MAAA,EAAQ,2BAAA;AAAA,IACR,OAAA,EAAS,4CAAA;AAAA,IACT,MAAA,EAAQ,0BAAA;AAAA,IACR,MAAA,EAAQ,sCAAA;AAAA,IACR,KAAA,EAAO,4CAAA;AAAA,IACP,MAAA,EAAQ,0BAAA;AAAA,IACR,QAAA,EAAU,kDAAA;AAAA,IACV,IAAA,EAAM,0BAAA;AAAA,IACN,MAAA,EAAQ,wDAAA;AAAA,IACR,KAAA,EAAO,kDAAA;AAAA,IACP,KAAA,EAAO,sCAAA;AAAA,IACP,IAAA,EAAM,wDAAA;AAAA,IACN,IAAA,EAAM,wDAAA;AAAA,IACN,QAAA,EAAU,8DAAA;AAAA,IACV,OAAA,EAAS,wDAAA;AAAA,IACT,MAAA,EAAQ;AAAA,GACV;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,gCAAA;AAAA,IACP,OAAA,EAAS,sCAAA;AAAA,IACT,KAAA,EAAO,gCAAA;AAAA,IACP,MAAA,EAAQ,gCAAA;AAAA,IACR,SAAA,EAAW,4CAAA;AAAA,IACX,UAAA,EAAY,kDAAA;AAAA,IACZ,QAAA,EAAU,kDAAA;AAAA,IACV,UAAA,EAAY,kDAAA;AAAA,IACZ,QAAA,EAAU,wDAAA;AAAA,IACV,MAAA,EAAQ,sCAAA;AAAA,IACR,OAAA,EAAS,kDAAA;AAAA,IACT,QAAA,EAAU,4CAAA;AAAA,IACV,QAAA,EAAU,2EAAA;AAAA,IACV,QAAA,EAAU,oEAAA;AAAA,IACV,IAAA,EAAM,gCAAA;AAAA,IACN,IAAA,EAAM;AAAA,GACR;AAAA,EAEA,WAAA,EAAa;AAAA;AAAA,IAEX,KAAA,EAAO,sCAAA;AAAA,IACP,IAAA,EAAM,wDAAA;AAAA,IACN,IAAA,EAAM,wDAAA;AAAA,IACN,QAAA,EAAU,8DAAA;AAAA,IACV,IAAA,EAAM,0BAAA;AAAA,IACN,EAAA,EAAI,QAAA;AAAA,IACJ,MAAA,EAAQ,wDAAA;AAAA;AAAA,IAGR,OAAA,EAAS,wDAAA;AAAA,IACT,MAAA,EAAQ,kDAAA;AAAA,IACR,QAAA,EAAU,0BAAA;AAAA,IACV,MAAA,EAAQ,sCAAA;AAAA;AAAA,IAGR,EAAA,EAAI,oBAAA;AAAA,IACJ,KAAA,EAAO,sCAAA;AAAA,IACP,IAAA,EAAM,wDAAA;AAAA;AAAA,IAGN,aAAA,EAAe,qEAAA;AAAA,IACf,WAAA,EAAa;AAAA;AAEjB,CAAA;;;ACpQO,IAAM,mBAAA,GAAkC;AAAA,EAC7C,QAAA,EAAU;AAAA;AAAA,IAER,EAAA,EAAI,oBAAA;AAAA,IACJ,IAAA,EAAM,4CAAA;AAAA,IACN,OAAA,EAAS,wDAAA;AAAA,IACT,IAAA,EAAM,wDAAA;AAAA;AAAA,IAGN,IAAA,EAAM,gCAAA;AAAA,IACN,GAAA,EAAK,kDAAA;AAAA,IACL,GAAA,EAAK,8DAAA;AAAA,IACL,GAAA,EAAK,kDAAA;AAAA,IACL,GAAA,EAAK,sCAAA;AAAA,IACL,MAAA,EAAQ,kDAAA;AAAA,IACR,MAAA,EAAQ,8DAAA;AAAA,IACR,IAAA,EAAM,4CAAA;AAAA,IACN,IAAA,EAAM,kDAAA;AAAA;AAAA,IAGN,EAAA,EAAI,0BAAA;AAAA,IACJ,MAAA,EAAQ,uCAAA;AAAA,IACR,MAAA,EAAQ,wDAAA;AAAA,IACR,GAAA,EAAK,oBAAA;AAAA,IACL,KAAA,EAAO,0BAAA;AAAA,IACP,KAAA,EAAO,cAAA;AAAA,IACP,QAAA,EAAU,8DAAA;AAAA,IACV,KAAA,EAAO,wDAAA;AAAA,IACP,IAAA,EAAM,kDAAA;AAAA;AAAA,IAGN,IAAA,EAAM,sCAAA;AAAA,IACN,KAAA,EAAO,oEAAA;AAAA,IACP,IAAA,EAAM,wDAAA;AAAA,IACN,MAAA,EAAQ,wDAAA;AAAA;AAAA,IAGR,IAAA,EAAM,kDAAA;AAAA,IACN,GAAA,EAAK,kDAAA;AAAA,IACL,KAAA,EAAO,sCAAA;AAAA,IACP,KAAA,EAAO,4CAAA;AAAA,IACP,OAAA,EAAS,kDAAA;AAAA,IACT,UAAA,EAAY,wDAAA;AAAA;AAAA,IAGZ,SAAA,EAAW,wDAAA;AAAA,IACX,SAAA,EAAW,kDAAA;AAAA,IACX,IAAA,EAAM,yDAAA;AAAA,IACN,OAAA,EAAS,6FAAA;AAAA,IACT,OAAA,EAAS,kDAAA;AAAA;AAAA,IAGT,EAAA,EAAI,4CAAA;AAAA,IACJ,OAAA,EAAS,0CAAA;AAAA,IACT,UAAA,EAAY,sDAAA;AAAA;AAAA,IAGZ,IAAA,EAAM,wDAAA;AAAA,IACN,IAAA,EAAM,4CAAA;AAAA,IACN,IAAA,EAAM,0BAAA;AAAA;AAAA,IAGN,EAAA,EAAI,IAAA;AAAA,IACJ,KAAA,EAAO,8DAAA;AAAA,IACP,MAAA,EAAQ,oEAAA;AAAA;AAAA,IAGR,IAAA,EAAM,kDAAA;AAAA,IACN,KAAA,EAAO,sFAAA;AAAA,IACP,MAAA,EAAQ,gFAAA;AAAA;AAAA,IAGR,MAAA,EAAQ,kFAAA;AAAA;AAAA,IAGR,IAAA,EAAM,gCAAA;AAAA,IACN,IAAA,EAAM,sCAAA;AAAA;AAAA,IAGN,OAAA,EAAS,8DAAA;AAAA,IACT,IAAA,EAAM,sFAAA;AAAA,IACN,QAAA,EAAU,wDAAA;AAAA;AAAA,IAGV,KAAA,EAAO,oEAAA;AAAA,IACP,IAAA,EAAM,gFAAA;AAAA;AAAA,IAGN,KAAA,EAAO,wDAAA;AAAA,IACP,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,EAAA,EAAI,cAAA;AAAA,IACJ,IAAA,EAAM,QAAA;AAAA,IACN,IAAA,EAAM,QAAA;AAAA,IACN,IAAA,EAAM,QAAA;AAAA,IACN,EAAA,EAAI,QAAA;AAAA,IACJ,EAAA,EAAI,QAAA;AAAA,IACJ,EAAA,EAAI,QAAA;AAAA,IACJ,EAAA,EAAI,cAAA;AAAA,IACJ,EAAA,EAAI,cAAA;AAAA,IACJ,MAAA,EAAQ,cAAA;AAAA,IACR,KAAA,EAAO,gCAAA;AAAA,IACP,IAAA,EAAM,oBAAA;AAAA,IACN,KAAA,EAAO,oBAAA;AAAA,IACP,OAAA,EAAS,oBAAA;AAAA,IACT,OAAA,EAAS,gCAAA;AAAA,IACT,OAAA,EAAS,oBAAA;AAAA,IACT,EAAA,EAAI;AAAA,GACN;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,0BAAA;AAAA,IACP,QAAA,EAAU,iFAAA;AAAA,IACV,SAAA,EAAW,mDAAA;AAAA,IACX,OAAA,EAAS,yDAAA;AAAA,IACT,UAAA,EAAY,mDAAA;AAAA,IACZ,UAAA,EAAY,yDAAA;AAAA,IACZ,SAAA,EAAW,wDAAA;AAAA,IACX,QAAA,EAAU,8DAAA;AAAA,IACV,SAAA,EAAW,6CAAA;AAAA,IAEX,OAAA,EAAS,qEAAA;AAAA,IACT,KAAA,EAAO,2EAAA;AAAA,IACP,QAAA,EAAU,yGAAA;AAAA,IAEV,KAAA,EAAO,gCAAA;AAAA,IACP,IAAA,EAAM,kDAAA;AAAA,IACN,MAAA,EAAQ,gCAAA;AAAA,IACR,KAAA,EAAO,kDAAA;AAAA,IACP,MAAA,EAAQ,8DAAA;AAAA,IACR,KAAA,EAAO,kDAAA;AAAA,IAEP,IAAA,EAAM,0EAAA;AAAA,IACN,MAAA,EAAQ,0EAAA;AAAA,IACR,MAAA,EAAQ,2EAAA;AAAA,IACR,MAAA,EAAQ,wDAAA;AAAA,IAER,UAAA,EAAY,2EAAA;AAAA,IACZ,QAAA,EAAU,qEAAA;AAAA,IACV,SAAA,EAAW,mDAAA;AAAA,IACX,WAAA,EAAa;AAAA,GACf;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,0BAAA;AAAA,IACN,KAAA,EAAO,cAAA;AAAA,IACP,GAAA,EAAK,QAAA;AAAA,IACL,EAAA,EAAI,oBAAA;AAAA,IACJ,GAAA,EAAK,cAAA;AAAA,IACL,EAAA,EAAI,QAAA;AAAA,IACJ,MAAA,EAAQ,gCAAA;AAAA,IACR,OAAA,EAAS,8DAAA;AAAA,IACT,QAAA,EAAU,4CAAA;AAAA,IACV,QAAA,EAAU,4CAAA;AAAA,IACV,MAAA,EAAQ,kDAAA;AAAA,IACR,IAAA,EAAM,0BAAA;AAAA,IACN,IAAA,EAAM,sCAAA;AAAA,IACN,SAAA,EAAW,wFAAA;AAAA,IACX,GAAA,EAAK,sCAAA;AAAA,IACL,GAAA,EAAK,oBAAA;AAAA;AAAA,IACL,IAAA,EAAM,oBAAA;AAAA;AAAA,IACN,KAAA,EAAO,qBAAA;AAAA,IACP,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS,sCAAA;AAAA,IACT,MAAA,EAAQ,4CAAA;AAAA,IACR,YAAA,EAAc,8DAAA;AAAA,IACd,WAAA,EAAa,oEAAA;AAAA,IACb,OAAA,EAAS,sCAAA;AAAA,IACT,MAAA,EAAQ,4CAAA;AAAA,IACR,KAAA,EAAO,gCAAA;AAAA,IACP,IAAA,EAAM,sCAAA;AAAA,IACN,EAAA,EAAI,cAAA;AAAA,IACJ,CAAA,EAAG,QAAA;AAAA,IACH,GAAA,EAAK,cAAA;AAAA,IACL,CAAA,EAAG,oBAAA;AAAA,IACH,OAAA,EAAS,sCAAA;AAAA,IACT,IAAA,EAAM,6CAAA;AAAA,IACN,KAAA,EAAO,sCAAA;AAAA,IACP,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,sCAAA;AAAA,IACN,KAAA,EAAO,kDAAA;AAAA,IACP,IAAA,EAAM,sCAAA;AAAA,IACN,SAAA,EAAW,oEAAA;AAAA,IACX,EAAA,EAAI,cAAA;AAAA,IACJ,GAAA,EAAK,0BAAA;AAAA,IACL,EAAA,EAAI,QAAA;AAAA,IACJ,EAAA,EAAI,oBAAA;AAAA,IACJ,GAAA,EAAK,cAAA;AAAA,IACL,IAAA,EAAM,0BAAA;AAAA,IACN,QAAA,EAAU,oBAAA;AAAA,IACV,MAAA,EAAQ,2BAAA;AAAA,IACR,OAAA,EAAS,4CAAA;AAAA,IACT,MAAA,EAAQ,0BAAA;AAAA,IACR,MAAA,EAAQ,sCAAA;AAAA,IACR,KAAA,EAAO,gCAAA;AAAA,IACP,MAAA,EAAQ,gCAAA;AAAA,IACR,QAAA,EAAU,kDAAA;AAAA,IACV,IAAA,EAAM,0BAAA;AAAA,IACN,MAAA,EAAQ,wDAAA;AAAA,IACR,KAAA,EAAO,kDAAA;AAAA,IACP,KAAA,EAAO,sCAAA;AAAA,IACP,IAAA,EAAM,kDAAA;AAAA,IACN,IAAA,EAAM,wDAAA;AAAA,IACN,QAAA,EAAU,8DAAA;AAAA,IACV,OAAA,EAAS,8DAAA;AAAA,IACT,MAAA,EAAQ;AAAA,GACV;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,0BAAA;AAAA,IACP,OAAA,EAAS,gCAAA;AAAA,IACT,KAAA,EAAO,gCAAA;AAAA,IACP,MAAA,EAAQ,gCAAA;AAAA,IACR,SAAA,EAAW,4CAAA;AAAA,IACX,UAAA,EAAY,kDAAA;AAAA,IACZ,QAAA,EAAU,oEAAA;AAAA,IACV,UAAA,EAAY,oEAAA;AAAA,IACZ,QAAA,EAAU,kDAAA;AAAA,IACV,MAAA,EAAQ,wDAAA;AAAA,IACR,OAAA,EAAS,wDAAA;AAAA,IACT,QAAA,EAAU,4CAAA;AAAA,IACV,QAAA,EAAU,qEAAA;AAAA,IACV,QAAA,EAAU,+DAAA;AAAA,IACV,IAAA,EAAM,gCAAA;AAAA,IACN,IAAA,EAAM;AAAA,GACR;AAAA,EAEA,WAAA,EAAa;AAAA;AAAA,IAEX,KAAA,EAAO,sCAAA;AAAA,IACP,IAAA,EAAM,kDAAA;AAAA,IACN,IAAA,EAAM,wDAAA;AAAA,IACN,QAAA,EAAU,8DAAA;AAAA,IACV,IAAA,EAAM,gCAAA;AAAA,IACN,EAAA,EAAI,QAAA;AAAA,IACJ,MAAA,EAAQ,8DAAA;AAAA;AAAA,IAGR,OAAA,EAAS,8DAAA;AAAA,IACT,MAAA,EAAQ,0EAAA;AAAA,IACR,QAAA,EAAU,0BAAA;AAAA,IACV,MAAA,EAAQ,wDAAA;AAAA;AAAA,IAGR,EAAA,EAAI,cAAA;AAAA,IACJ,KAAA,EAAO,kDAAA;AAAA,IACP,IAAA,EAAM,gCAAA;AAAA;AAAA,IAGN,aAAA,EAAe,2EAAA;AAAA,IACf,WAAA,EAAa;AAAA;AAEjB,CAAA;;;ACpQO,IAAM,eAAA,GAA8B;AAAA,EACzC,QAAA,EAAU;AAAA;AAAA,IAER,EAAA,EAAI,cAAA;AAAA,IACJ,IAAA,EAAM,gCAAA;AAAA,IACN,OAAA,EAAS,sCAAA;AAAA,IACT,IAAA,EAAM,gCAAA;AAAA;AAAA,IAGN,IAAA,EAAM,oBAAA;AAAA,IACN,GAAA,EAAK,0BAAA;AAAA,IACL,GAAA,EAAK,oBAAA;AAAA,IACL,GAAA,EAAK,4CAAA;AAAA,IACL,GAAA,EAAK,sCAAA;AAAA,IACL,MAAA,EAAQ,gCAAA;AAAA,IACR,MAAA,EAAQ,0BAAA;AAAA,IACR,IAAA,EAAM,sCAAA;AAAA,IACN,IAAA,EAAM,sCAAA;AAAA;AAAA,IAGN,EAAA,EAAI,oBAAA;AAAA,IACJ,MAAA,EAAQ,oDAAA;AAAA,IACR,MAAA,EAAQ,4CAAA;AAAA,IACR,GAAA,EAAK,iCAAA;AAAA,IACL,KAAA,EAAO,2BAAA;AAAA,IACP,KAAA,EAAO,cAAA;AAAA,IACP,QAAA,EAAU,0BAAA;AAAA,IACV,KAAA,EAAO,gCAAA;AAAA,IACP,IAAA,EAAM,gCAAA;AAAA;AAAA,IAGN,IAAA,EAAM,wDAAA;AAAA,IACN,KAAA,EAAO,0BAAA;AAAA,IACP,IAAA,EAAM,oBAAA;AAAA,IACN,MAAA,EAAQ,sCAAA;AAAA;AAAA,IAGR,IAAA,EAAM,gCAAA;AAAA,IACN,GAAA,EAAK,oBAAA;AAAA,IACL,KAAA,EAAO,sCAAA;AAAA,IACP,KAAA,EAAO,sCAAA;AAAA,IACP,OAAA,EAAS,gCAAA;AAAA,IACT,UAAA,EAAY,4CAAA;AAAA;AAAA,IAGZ,SAAA,EAAW,sCAAA;AAAA,IACX,SAAA,EAAW,gCAAA;AAAA,IACX,IAAA,EAAM,sCAAA;AAAA,IACN,OAAA,EAAS,kDAAA;AAAA,IACT,OAAA,EAAS,sCAAA;AAAA;AAAA,IAGT,EAAA,EAAI,0BAAA;AAAA,IACJ,OAAA,EAAS,0CAAA;AAAA,IACT,UAAA,EAAY,oCAAA;AAAA;AAAA,IAGZ,IAAA,EAAM,0BAAA;AAAA,IACN,IAAA,EAAM,gCAAA;AAAA,IACN,IAAA,EAAM,oBAAA;AAAA;AAAA,IAGN,EAAA,EAAI,0BAAA;AAAA,IACJ,KAAA,EAAO,gCAAA;AAAA,IACP,MAAA,EAAQ,gCAAA;AAAA;AAAA,IAGR,IAAA,EAAM,gCAAA;AAAA,IACN,KAAA,EAAO,4CAAA;AAAA,IACP,MAAA,EAAQ,gCAAA;AAAA;AAAA,IAGR,MAAA,EAAQ,yDAAA;AAAA;AAAA,IAGR,IAAA,EAAM,0BAAA;AAAA,IACN,IAAA,EAAM,0BAAA;AAAA;AAAA,IAGN,OAAA,EAAS,4CAAA;AAAA,IACT,IAAA,EAAM,4CAAA;AAAA,IACN,QAAA,EAAU,4CAAA;AAAA;AAAA,IAGV,KAAA,EAAO,0BAAA;AAAA,IACP,IAAA,EAAM,sCAAA;AAAA;AAAA,IAGN,KAAA,EAAO,0BAAA;AAAA,IACP,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,EAAA,EAAI,cAAA;AAAA,IACJ,IAAA,EAAM,cAAA;AAAA,IACN,IAAA,EAAM,oBAAA;AAAA,IACN,IAAA,EAAM,iCAAA;AAAA,IACN,EAAA,EAAI,cAAA;AAAA,IACJ,EAAA,EAAI,oBAAA;AAAA,IACJ,EAAA,EAAI,cAAA;AAAA,IACJ,EAAA,EAAI,oDAAA;AAAA,IACJ,EAAA,EAAI,sCAAA;AAAA,IACJ,MAAA,EAAQ,uCAAA;AAAA,IACR,KAAA,EAAO,iCAAA;AAAA,IACP,IAAA,EAAM,iCAAA;AAAA,IACN,KAAA,EAAO,uCAAA;AAAA,IACP,OAAA,EAAS,iCAAA;AAAA,IACT,OAAA,EAAS,gEAAA;AAAA,IACT,OAAA,EAAS,uCAAA;AAAA,IACT,EAAA,EAAI;AAAA,GACN;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,gCAAA;AAAA,IACP,QAAA,EAAU,mDAAA;AAAA,IACV,SAAA,EAAW,mDAAA;AAAA,IACX,OAAA,EAAS,6CAAA;AAAA,IACT,UAAA,EAAY,+DAAA;AAAA,IACZ,UAAA,EAAY,mDAAA;AAAA,IACZ,SAAA,EAAW,6CAAA;AAAA,IACX,QAAA,EAAU,6CAAA;AAAA,IACV,SAAA,EAAW,6CAAA;AAAA,IAEX,OAAA,EAAS,uCAAA;AAAA,IACT,KAAA,EAAO,iCAAA;AAAA,IACP,QAAA,EAAU,6CAAA;AAAA,IAEV,KAAA,EAAO,0BAAA;AAAA,IACP,IAAA,EAAM,sCAAA;AAAA,IACN,MAAA,EAAQ,kDAAA;AAAA,IACR,KAAA,EAAO,gCAAA;AAAA,IACP,MAAA,EAAQ,oBAAA;AAAA,IACR,KAAA,EAAO,gCAAA;AAAA,IAEP,IAAA,EAAM,oBAAA;AAAA,IACN,MAAA,EAAQ,gCAAA;AAAA,IACR,MAAA,EAAQ,yDAAA;AAAA,IACR,MAAA,EAAQ,4CAAA;AAAA,IAER,UAAA,EAAY,uCAAA;AAAA,IACZ,QAAA,EAAU,mDAAA;AAAA,IACV,SAAA,EAAW,iCAAA;AAAA,IACX,WAAA,EAAa;AAAA,GACf;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,cAAA;AAAA,IACN,KAAA,EAAO,0BAAA;AAAA,IACP,GAAA,EAAK,cAAA;AAAA,IACL,EAAA,EAAI,cAAA;AAAA,IACJ,GAAA,EAAK,0BAAA;AAAA,IACL,EAAA,EAAI,cAAA;AAAA,IACJ,MAAA,EAAQ,gCAAA;AAAA,IACR,OAAA,EAAS,6CAAA;AAAA,IACT,QAAA,EAAU,gCAAA;AAAA,IACV,QAAA,EAAU,iCAAA;AAAA,IACV,MAAA,EAAQ,gCAAA;AAAA,IACR,IAAA,EAAM,oBAAA;AAAA,IACN,IAAA,EAAM,0BAAA;AAAA,IACN,SAAA,EAAW,sCAAA;AAAA,IACX,GAAA,EAAK,sCAAA;AAAA,IACL,GAAA,EAAK,cAAA;AAAA;AAAA,IACL,IAAA,EAAM,cAAA;AAAA;AAAA,IACN,KAAA,EAAO,uCAAA;AAAA,IACP,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS,gCAAA;AAAA,IACT,MAAA,EAAQ,gCAAA;AAAA,IACR,YAAA,EAAc,wDAAA;AAAA,IACd,WAAA,EAAa,wDAAA;AAAA,IACb,OAAA,EAAS,0BAAA;AAAA,IACT,MAAA,EAAQ,0BAAA;AAAA,IACR,KAAA,EAAO,0BAAA;AAAA,IACP,IAAA,EAAM,0BAAA;AAAA,IACN,EAAA,EAAI,0BAAA;AAAA,IACJ,CAAA,EAAG,cAAA;AAAA,IACH,GAAA,EAAK,cAAA;AAAA,IACL,CAAA,EAAG,cAAA;AAAA,IACH,OAAA,EAAS,gCAAA;AAAA,IACT,IAAA,EAAM,iCAAA;AAAA,IACN,KAAA,EAAO,cAAA;AAAA,IACP,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,cAAA;AAAA,IACN,KAAA,EAAO,oBAAA;AAAA,IACP,IAAA,EAAM,0BAAA;AAAA,IACN,SAAA,EAAW,wDAAA;AAAA,IACX,EAAA,EAAI,cAAA;AAAA,IACJ,GAAA,EAAK,0BAAA;AAAA,IACL,EAAA,EAAI,oBAAA;AAAA,IACJ,EAAA,EAAI,0BAAA;AAAA,IACJ,GAAA,EAAK,cAAA;AAAA,IACL,IAAA,EAAM,0BAAA;AAAA,IACN,QAAA,EAAU,gCAAA;AAAA,IACV,MAAA,EAAQ,mDAAA;AAAA,IACR,OAAA,EAAS,0BAAA;AAAA,IACT,MAAA,EAAQ,sCAAA;AAAA,IACR,MAAA,EAAQ,gCAAA;AAAA,IACR,KAAA,EAAO,0BAAA;AAAA,IACP,MAAA,EAAQ,gCAAA;AAAA,IACR,QAAA,EAAU,wDAAA;AAAA,IACV,IAAA,EAAM,0BAAA;AAAA,IACN,MAAA,EAAQ,sCAAA;AAAA,IACR,KAAA,EAAO,oBAAA;AAAA,IACP,KAAA,EAAO,0BAAA;AAAA,IACP,IAAA,EAAM,gCAAA;AAAA,IACN,IAAA,EAAM,0BAAA;AAAA,IACN,QAAA,EAAU,gCAAA;AAAA,IACV,OAAA,EAAS,sCAAA;AAAA,IACT,MAAA,EAAQ;AAAA,GACV;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,gCAAA;AAAA,IACP,OAAA,EAAS,4CAAA;AAAA,IACT,KAAA,EAAO,sCAAA;AAAA,IACP,MAAA,EAAQ,kDAAA;AAAA,IACR,SAAA,EAAW,oBAAA;AAAA,IACX,UAAA,EAAY,oBAAA;AAAA,IACZ,QAAA,EAAU,4CAAA;AAAA,IACV,UAAA,EAAY,8DAAA;AAAA,IACZ,QAAA,EAAU,gCAAA;AAAA,IACV,MAAA,EAAQ,0BAAA;AAAA,IACR,OAAA,EAAS,oBAAA;AAAA,IACT,QAAA,EAAU,gCAAA;AAAA,IACV,QAAA,EAAU,yDAAA;AAAA,IACV,QAAA,EAAU,sCAAA;AAAA,IACV,IAAA,EAAM,oBAAA;AAAA,IACN,IAAA,EAAM;AAAA,GACR;AAAA,EAEA,WAAA,EAAa;AAAA;AAAA,IAEX,KAAA,EAAO,0BAAA;AAAA,IACP,IAAA,EAAM,gCAAA;AAAA,IACN,IAAA,EAAM,0BAAA;AAAA,IACN,QAAA,EAAU,gCAAA;AAAA,IACV,IAAA,EAAM,oBAAA;AAAA,IACN,EAAA,EAAI,cAAA;AAAA,IACJ,MAAA,EAAQ,wDAAA;AAAA;AAAA,IAGR,OAAA,EAAS,sCAAA;AAAA,IACT,MAAA,EAAQ,oBAAA;AAAA,IACR,QAAA,EAAU,gCAAA;AAAA,IACV,MAAA,EAAQ,uCAAA;AAAA;AAAA,IAGR,EAAA,EAAI,0BAAA;AAAA,IACJ,KAAA,EAAO,0BAAA;AAAA,IACP,IAAA,EAAM,oBAAA;AAAA;AAAA,IAGN,aAAA,EAAe,uCAAA;AAAA,IACf,WAAA,EAAa;AAAA;AAEjB,CAAA;;;ACrQO,IAAM,iBAAA,GAAgC;AAAA,EAC3C,QAAA,EAAU;AAAA,IACR,EAAA,EAAI,cAAA;AAAA,IACJ,MAAA,EAAQ,oBAAA;AAAA,IACR,GAAA,EAAK,oBAAA;AAAA,IACL,MAAA,EAAQ,0BAAA;AAAA,IACR,GAAA,EAAK,oBAAA;AAAA,IACL,GAAA,EAAK,oBAAA;AAAA,IACL,GAAA,EAAK,gCAAA;AAAA,IACL,IAAA,EAAM,oBAAA;AAAA,IACN,IAAA,EAAM,gCAAA;AAAA,IACN,IAAA,EAAM,gCAAA;AAAA,IACN,SAAA,EAAW,sCAAA;AAAA,IACX,SAAA,EAAW,gCAAA;AAAA,IACX,EAAA,EAAI,oBAAA;AAAA,IACJ,IAAA,EAAM,gCAAA;AAAA,IACN,MAAA,EAAQ,oEAAA;AAAA,IACR,GAAA,EAAK,0BAAA;AAAA,IACL,KAAA,EAAO,sCAAA;AAAA,IACP,IAAA,EAAM,4CAAA;AAAA,IACN,KAAA,EAAO,0BAAA;AAAA,IACP,IAAA,EAAM,cAAA;AAAA,IACN,MAAA,EAAQ,gCAAA;AAAA,IACR,GAAA,EAAK,cAAA;AAAA,IACL,OAAA,EAAS,4CAAA;AAAA,IACT,IAAA,EAAM,gCAAA;AAAA,IACN,EAAA,EAAI,oBAAA;AAAA,IACJ,IAAA,EAAM,gCAAA;AAAA,IACN,KAAA,EAAO,4CAAA;AAAA,IACP,QAAA,EAAU,+DAAA;AAAA,IACV,IAAA,EAAM,mDAAA;AAAA,IACN,MAAA,EAAQ,6CAAA;AAAA,IACR,OAAA,EAAS,yDAAA;AAAA,IACT,KAAA,EAAO,gCAAA;AAAA,IACP,IAAA,EAAM,gCAAA;AAAA,IACN,UAAA,EAAY,4CAAA;AAAA,IACZ,MAAA,EAAQ,gCAAA;AAAA,IACR,OAAA,EAAS,gCAAA;AAAA,IACT,KAAA,EAAO,wDAAA;AAAA,IACP,IAAA,EAAM,0BAAA;AAAA,IACN,OAAA,EAAS,sCAAA;AAAA,IACT,IAAA,EAAM,0BAAA;AAAA,IACN,QAAA,EAAU,0BAAA;AAAA,IACV,OAAA,EAAS,sCAAA;AAAA,IACT,KAAA,EAAO,oBAAA;AAAA,IACP,IAAA,EAAM,oBAAA;AAAA,IACN,KAAA,EAAO;AAAA,GACT;AAAA,EACA,SAAA,EAAW;AAAA,IACT,EAAA,EAAI,cAAA;AAAA,IACJ,IAAA,EAAM,0BAAA;AAAA,IACN,IAAA,EAAM,cAAA;AAAA,IACN,EAAA,EAAI,cAAA;AAAA,IACJ,IAAA,EAAM,0BAAA;AAAA,IACN,EAAA,EAAI,sCAAA;AAAA,IACJ,EAAA,EAAI,sCAAA;AAAA,IACJ,MAAA,EAAQ,oBAAA;AAAA,IACR,KAAA,EAAO,oBAAA;AAAA,IACP,EAAA,EAAI,QAAA;AAAA,IACJ,EAAA,EAAI,QAAA;AAAA,IACJ,IAAA,EAAM,oBAAA;AAAA,IACN,IAAA,EAAM,gCAAA;AAAA,IACN,GAAA,EAAK,oBAAA;AAAA,IACL,GAAA,EAAK,oBAAA;AAAA,IACL,KAAA,EAAO,4CAAA;AAAA,IACP,EAAA,EAAI;AAAA,GACN;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,gCAAA;AAAA,IACP,MAAA,EAAQ,kDAAA;AAAA,IACR,KAAA,EAAO,gCAAA;AAAA,IACP,MAAA,EAAQ,oBAAA;AAAA,IACR,IAAA,EAAM,oBAAA;AAAA,IACN,KAAA,EAAO,gCAAA;AAAA,IACP,IAAA,EAAM,gCAAA;AAAA,IACN,OAAA,EAAS,uCAAA;AAAA,IACT,KAAA,EAAO,2BAAA;AAAA,IACP,SAAA,EAAW,mDAAA;AAAA,IACX,QAAA,EAAU,6CAAA;AAAA,IACV,MAAA,EAAQ,4CAAA;AAAA,IACR,MAAA,EAAQ,sCAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EACA,OAAA,EAAS;AAAA,IACP,EAAA,EAAI,oBAAA;AAAA,IACJ,IAAA,EAAM,oBAAA;AAAA,IACN,KAAA,EAAO,sCAAA;AAAA,IACP,IAAA,EAAM,gCAAA;AAAA,IACN,GAAA,EAAK,cAAA;AAAA,IACL,GAAA,EAAK,oBAAA;AAAA,IACL,EAAA,EAAI,0BAAA;AAAA,IACJ,EAAA,EAAI,oBAAA;AAAA,IACJ,MAAA,EAAQ,oBAAA;AAAA,IACR,GAAA,EAAK,oBAAA;AAAA;AAAA,IACL,IAAA,EAAM,oBAAA;AAAA;AAAA,IACN,KAAA,EAAO,0BAAA;AAAA,IACP,IAAA,EAAM,0BAAA;AAAA,IACN,KAAA,EAAO,sCAAA;AAAA,IACP,IAAA,EAAM,gCAAA;AAAA,IACN,SAAA,EAAW;AAAA,GACb;AAAA,EACA,QAAA,EAAU;AAAA,IACR,GAAA,EAAK,oBAAA;AAAA,IACL,OAAA,EAAS,4CAAA;AAAA,IACT,YAAA,EAAc,oEAAA;AAAA,IACd,OAAA,EAAS,gCAAA;AAAA,IACT,KAAA,EAAO,gCAAA;AAAA,IACP,OAAA,EAAS,sCAAA;AAAA,IACT,KAAA,EAAO,oBAAA;AAAA,IACP,CAAA,EAAG,cAAA;AAAA,IACH,EAAA,EAAI;AAAA,GACN;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,EAAA,EAAI,oBAAA;AAAA,IACJ,EAAA,EAAI,0BAAA;AAAA,IACJ,EAAA,EAAI,oBAAA;AAAA,IACJ,GAAA,EAAK,cAAA;AAAA,IACL,MAAA,EAAQ,gCAAA;AAAA,IACR,KAAA,EAAO,0BAAA;AAAA,IACP,MAAA,EAAQ,sCAAA;AAAA,IACR,IAAA,EAAM;AAAA,GACR;AAAA,EACA,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,sCAAA;AAAA,IACP,EAAA,EAAI,0BAAA;AAAA,IACJ,KAAA,EAAO,0BAAA;AAAA,IACP,KAAA,EAAO,oBAAA;AAAA,IACP,IAAA,EAAM,gCAAA;AAAA,IACN,IAAA,EAAM,wDAAA;AAAA,IACN,QAAA,EAAU,gCAAA;AAAA,IACV,OAAA,EAAS;AAAA,GACX;AAAA,EACA,WAAA,EAAa;AAAA,IACX,KAAA,EAAO,gCAAA;AAAA,IACP,IAAA,EAAM,oBAAA;AAAA,IACN,IAAA,EAAM,4CAAA;AAAA,IACN,QAAA,EAAU,0BAAA;AAAA,IACV,OAAA,EAAS,sCAAA;AAAA,IACT,MAAA,EAAQ,oBAAA;AAAA,IACR,QAAA,EAAU,sCAAA;AAAA,IACV,MAAA,EAAQ,4CAAA;AAAA,IACR,MAAA,EAAQ,4CAAA;AAAA,IACR,KAAA,EAAO;AAAA;AAEX,CAAA;;;AChJO,IAAM,cAAA,GAA6B;AAAA,EACxC,QAAA,EAAU;AAAA,IACR,EAAA,EAAI,gCAAA;AAAA,IACJ,MAAA,EAAQ,0BAAA;AAAA,IACR,GAAA,EAAK,gCAAA;AAAA,IACL,MAAA,EAAQ,cAAA;AAAA,IACR,GAAA,EAAK,0BAAA;AAAA,IACL,GAAA,EAAK,sCAAA;AAAA,IACL,GAAA,EAAK,oBAAA;AAAA,IACL,IAAA,EAAM,oBAAA;AAAA,IACN,IAAA,EAAM,0BAAA;AAAA,IACN,IAAA,EAAM,0BAAA;AAAA,IACN,SAAA,EAAW,kDAAA;AAAA,IACX,SAAA,EAAW,gCAAA;AAAA,IACX,EAAA,EAAI,oBAAA;AAAA,IACJ,IAAA,EAAM,4CAAA;AAAA,IACN,MAAA,EAAQ,gCAAA;AAAA,IACR,GAAA,EAAK,sCAAA;AAAA,IACL,KAAA,EAAO,kDAAA;AAAA,IACP,IAAA,EAAM,cAAA;AAAA,IACN,KAAA,EAAO,wDAAA;AAAA,IACP,IAAA,EAAM,gCAAA;AAAA,IACN,MAAA,EAAQ,sCAAA;AAAA,IACR,GAAA,EAAK,sCAAA;AAAA,IACL,OAAA,EAAS,wDAAA;AAAA,IACT,IAAA,EAAM,oBAAA;AAAA,IACN,EAAA,EAAI,cAAA;AAAA,IACJ,IAAA,EAAM,0BAAA;AAAA,IACN,KAAA,EAAO,oBAAA;AAAA,IACP,QAAA,EAAU,gCAAA;AAAA,IACV,IAAA,EAAM,gCAAA;AAAA,IACN,MAAA,EAAQ,wDAAA;AAAA,IACR,OAAA,EAAS,wDAAA;AAAA,IACT,KAAA,EAAO,gCAAA;AAAA,IACP,IAAA,EAAM,0BAAA;AAAA,IACN,UAAA,EAAY,4CAAA;AAAA,IACZ,MAAA,EAAQ,gCAAA;AAAA,IACR,OAAA,EAAS,oBAAA;AAAA,IACT,KAAA,EAAO,4CAAA;AAAA,IACP,IAAA,EAAM,oBAAA;AAAA,IACN,OAAA,EAAS,oEAAA;AAAA,IACT,IAAA,EAAM,kDAAA;AAAA,IACN,QAAA,EAAU,kDAAA;AAAA,IACV,OAAA,EAAS,4CAAA;AAAA,IACT,KAAA,EAAO,sCAAA;AAAA,IACP,IAAA,EAAM,4CAAA;AAAA,IACN,KAAA,EAAO;AAAA,GACT;AAAA,EACA,SAAA,EAAW;AAAA,IACT,EAAA,EAAI,gCAAA;AAAA,IACJ,IAAA,EAAM,oBAAA;AAAA,IACN,IAAA,EAAM,cAAA;AAAA,IACN,EAAA,EAAI,gCAAA;AAAA,IACJ,IAAA,EAAM,0BAAA;AAAA,IACN,EAAA,EAAI,oBAAA;AAAA,IACJ,EAAA,EAAI,0BAAA;AAAA,IACJ,MAAA,EAAQ,0BAAA;AAAA,IACR,KAAA,EAAO,0BAAA;AAAA,IACP,EAAA,EAAI,oBAAA;AAAA,IACJ,EAAA,EAAI,cAAA;AAAA,IACJ,IAAA,EAAM,gCAAA;AAAA,IACN,IAAA,EAAM,0BAAA;AAAA,IACN,GAAA,EAAK,oBAAA;AAAA,IACL,GAAA,EAAK,cAAA;AAAA,IACL,KAAA,EAAO,gCAAA;AAAA,IACP,EAAA,EAAI;AAAA,GACN;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,0BAAA;AAAA,IACP,MAAA,EAAQ,oEAAA;AAAA,IACR,KAAA,EAAO,sCAAA;AAAA,IACP,MAAA,EAAQ,oBAAA;AAAA,IACR,IAAA,EAAM,0BAAA;AAAA,IACN,KAAA,EAAO,gCAAA;AAAA,IACP,IAAA,EAAM,0BAAA;AAAA,IACN,OAAA,EAAS,sCAAA;AAAA,IACT,KAAA,EAAO,wDAAA;AAAA,IACP,SAAA,EAAW,wDAAA;AAAA,IACX,QAAA,EAAU,kDAAA;AAAA,IACV,MAAA,EAAQ,sCAAA;AAAA,IACR,MAAA,EAAQ,kDAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EACA,OAAA,EAAS;AAAA,IACP,EAAA,EAAI,oBAAA;AAAA,IACJ,IAAA,EAAM,gCAAA;AAAA,IACN,KAAA,EAAO,sCAAA;AAAA,IACP,IAAA,EAAM,4CAAA;AAAA,IACN,GAAA,EAAK,oBAAA;AAAA,IACL,GAAA,EAAK,oBAAA;AAAA,IACL,EAAA,EAAI,0BAAA;AAAA,IACJ,EAAA,EAAI,0BAAA;AAAA,IACJ,MAAA,EAAQ,sCAAA;AAAA,IACR,GAAA,EAAK,cAAA;AAAA;AAAA,IACL,IAAA,EAAM,cAAA;AAAA;AAAA,IACN,KAAA,EAAO,0BAAA;AAAA,IACP,IAAA,EAAM,0BAAA;AAAA,IACN,KAAA,EAAO,0BAAA;AAAA,IACP,IAAA,EAAM,0BAAA;AAAA,IACN,SAAA,EAAW;AAAA,GACb;AAAA,EACA,QAAA,EAAU;AAAA,IACR,GAAA,EAAK,sCAAA;AAAA,IACL,OAAA,EAAS,sCAAA;AAAA,IACT,YAAA,EAAc,oEAAA;AAAA,IACd,OAAA,EAAS,0BAAA;AAAA,IACT,KAAA,EAAO,4CAAA;AAAA,IACP,OAAA,EAAS,sCAAA;AAAA,IACT,KAAA,EAAO,gCAAA;AAAA,IACP,CAAA,EAAG,cAAA;AAAA,IACH,EAAA,EAAI;AAAA,GACN;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,EAAA,EAAI,oBAAA;AAAA,IACJ,EAAA,EAAI,sCAAA;AAAA,IACJ,EAAA,EAAI,oBAAA;AAAA,IACJ,GAAA,EAAK,sCAAA;AAAA,IACL,MAAA,EAAQ,4CAAA;AAAA,IACR,KAAA,EAAO,wDAAA;AAAA,IACP,MAAA,EAAQ,kDAAA;AAAA,IACR,IAAA,EAAM;AAAA,GACR;AAAA,EACA,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,0BAAA;AAAA,IACP,EAAA,EAAI,0BAAA;AAAA,IACJ,KAAA,EAAO,gCAAA;AAAA,IACP,KAAA,EAAO,oBAAA;AAAA,IACP,IAAA,EAAM,4CAAA;AAAA,IACN,IAAA,EAAM,0EAAA;AAAA,IACN,QAAA,EAAU,wDAAA;AAAA,IACV,OAAA,EAAS;AAAA,GACX;AAAA,EACA,WAAA,EAAa;AAAA,IACX,KAAA,EAAO,oBAAA;AAAA,IACP,IAAA,EAAM,4CAAA;AAAA,IACN,IAAA,EAAM,gCAAA;AAAA,IACN,QAAA,EAAU,kDAAA;AAAA,IACV,OAAA,EAAS,4CAAA;AAAA,IACT,MAAA,EAAQ,sCAAA;AAAA,IACR,QAAA,EAAU,oBAAA;AAAA,IACV,MAAA,EAAQ,0BAAA;AAAA,IACR,MAAA,EAAQ,4CAAA;AAAA,IACR,KAAA,EAAO;AAAA;AAEX,CAAA;;;AC/IO,IAAM,eAAA,GAA8B;AAAA,EACzC,QAAA,EAAU;AAAA;AAAA,IAER,EAAA,EAAI,SAAA;AAAA,IACJ,IAAA,EAAM,UAAA;AAAA,IACN,OAAA,EAAS,UAAA;AAAA,IACT,IAAA,EAAM,QAAA;AAAA;AAAA,IAGN,IAAA,EAAM,OAAA;AAAA,IACN,GAAA,EAAK,OAAA;AAAA,IACL,GAAA,EAAK,UAAA;AAAA,IACL,GAAA,EAAK,UAAA;AAAA,IACL,GAAA,EAAK,QAAA;AAAA,IACL,MAAA,EAAQ,OAAA;AAAA,IACR,MAAA,EAAQ,OAAA;AAAA,IACR,IAAA,EAAM,UAAA;AAAA,IACN,IAAA,EAAM,QAAA;AAAA;AAAA,IAGN,EAAA,EAAI,MAAA;AAAA,IACJ,MAAA,EAAQ,SAAA;AAAA,IACR,MAAA,EAAQ,OAAA;AAAA,IACR,GAAA,EAAK,OAAA;AAAA,IACL,KAAA,EAAO,QAAA;AAAA,IACP,KAAA,EAAO,UAAA;AAAA,IACP,QAAA,EAAU,UAAA;AAAA,IACV,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,OAAA;AAAA;AAAA,IAGN,IAAA,EAAM,QAAA;AAAA,IACN,KAAA,EAAO,YAAA;AAAA,IACP,IAAA,EAAM,SAAA;AAAA,IACN,MAAA,EAAQ,QAAA;AAAA;AAAA,IAGR,IAAA,EAAM,MAAA;AAAA,IACN,GAAA,EAAK,OAAA;AAAA,IACL,KAAA,EAAO,QAAA;AAAA,IACP,KAAA,EAAO,SAAA;AAAA,IACP,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY,WAAA;AAAA;AAAA,IAGZ,SAAA,EAAW,aAAA;AAAA,IACX,SAAA,EAAW,aAAA;AAAA,IACX,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,OAAA;AAAA,IACT,OAAA,EAAS,OAAA;AAAA;AAAA,IAGT,EAAA,EAAI,OAAA;AAAA,IACJ,OAAA,EAAS,WAAA;AAAA,IACT,UAAA,EAAY,WAAA;AAAA;AAAA,IAGZ,IAAA,EAAM,OAAA;AAAA,IACN,IAAA,EAAM,OAAA;AAAA,IACN,IAAA,EAAM,OAAA;AAAA;AAAA,IAGN,EAAA,EAAI,IAAA;AAAA,IACJ,KAAA,EAAO,aAAA;AAAA,IACP,MAAA,EAAQ,OAAA;AAAA;AAAA,IAGR,IAAA,EAAM,cAAA;AAAA,IACN,KAAA,EAAO,aAAA;AAAA,IACP,MAAA,EAAQ,SAAA;AAAA;AAAA,IAGR,MAAA,EAAQ,eAAA;AAAA,IACR,OAAA,EAAS,aAAA;AAAA;AAAA,IAGT,IAAA,EAAM,QAAA;AAAA,IACN,IAAA,EAAM,aAAA;AAAA;AAAA,IAGN,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,OAAA;AAAA;AAAA,IAGN,OAAA,EAAS,QAAA;AAAA,IACT,QAAA,EAAU,UAAA;AAAA,IACV,IAAA,EAAM,MAAA;AAAA,IACN,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,EAAA,EAAI,IAAA;AAAA,IACJ,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM,UAAA;AAAA,IACN,IAAA,EAAM,QAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,EAAA,EAAI,OAAA;AAAA,IACJ,EAAA,EAAI,UAAA;AAAA,IACJ,EAAA,EAAI,SAAA;AAAA,IACJ,EAAA,EAAI,MAAA;AAAA,IACJ,MAAA,EAAQ,SAAA;AAAA,IACR,KAAA,EAAO,SAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,OAAA,EAAS,QAAA;AAAA,IACT,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS,OAAA;AAAA,IACT,EAAA,EAAI,MAAA;AAAA,IACJ,IAAA,EAAM,UAAA;AAAA,IACN,GAAA,EAAK,KAAA;AAAA,IACL,GAAA,EAAK,OAAA;AAAA,IACL,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,QAAA,EAAU,UAAA;AAAA,IACV,SAAA,EAAW,WAAA;AAAA,IACX,OAAA,EAAS,SAAA;AAAA,IACT,UAAA,EAAY,YAAA;AAAA,IACZ,UAAA,EAAY,YAAA;AAAA,IACZ,SAAA,EAAW,WAAA;AAAA,IACX,QAAA,EAAU,UAAA;AAAA,IACV,SAAA,EAAW,WAAA;AAAA,IAEX,OAAA,EAAS,SAAA;AAAA,IACT,KAAA,EAAO,OAAA;AAAA,IACP,QAAA,EAAU,UAAA;AAAA,IAEV,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,OAAA;AAAA,IACP,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,OAAA;AAAA,IAEP,IAAA,EAAM,MAAA;AAAA,IACN,MAAA,EAAQ,QAAA;AAAA,IACR,MAAA,EAAQ,QAAA;AAAA,IACR,MAAA,EAAQ,QAAA;AAAA,IAER,UAAA,EAAY,YAAA;AAAA,IACZ,QAAA,EAAU,UAAA;AAAA,IACV,SAAA,EAAW,WAAA;AAAA,IACX,WAAA,EAAa,aAAA;AAAA,IAEb,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,SAAA;AAAA,IACN,KAAA,EAAO,SAAA;AAAA,IACP,GAAA,EAAK,KAAA;AAAA,IACL,EAAA,EAAI,MAAA;AAAA,IACJ,GAAA,EAAK,OAAA;AAAA,IACL,EAAA,EAAI,QAAA;AAAA,IACJ,MAAA,EAAQ,OAAA;AAAA,IACR,OAAA,EAAS,SAAA;AAAA,IACT,QAAA,EAAU,aAAA;AAAA,IACV,QAAA,EAAU,UAAA;AAAA,IACV,MAAA,EAAQ,MAAA;AAAA,IACR,GAAA,EAAK,KAAA;AAAA;AAAA,IACL,IAAA,EAAM,KAAA;AAAA;AAAA,IACN,IAAA,EAAM,UAAA;AAAA,IACN,IAAA,EAAM,aAAA;AAAA,IACN,SAAA,EAAW,YAAA;AAAA,IACX,GAAA,EAAK,OAAA;AAAA,IACL,EAAA,EAAI,MAAA;AAAA,IACJ,KAAA,EAAO,QAAA;AAAA,IACP,IAAA,EAAM,OAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,SAAA,EAAW;AAAA,GACb;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS,MAAA;AAAA,IACT,MAAA,EAAQ,MAAA;AAAA,IACR,YAAA,EAAc,UAAA;AAAA,IACd,WAAA,EAAa,UAAA;AAAA,IACb,OAAA,EAAS,OAAA;AAAA,IACT,MAAA,EAAQ,OAAA;AAAA,IACR,KAAA,EAAO,KAAA;AAAA,IACP,IAAA,EAAM,KAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,CAAA,EAAG,GAAA;AAAA,IACH,GAAA,EAAK,KAAA;AAAA,IACL,CAAA,EAAG,GAAA;AAAA,IACH,GAAA,EAAK,UAAA;AAAA,IACL,OAAA,EAAS,WAAA;AAAA,IACT,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,OAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,SAAA,EAAW,mBAAA;AAAA,IACX,EAAA,EAAI,IAAA;AAAA,IACJ,GAAA,EAAK,KAAA;AAAA,IACL,EAAA,EAAI,MAAA;AAAA,IACJ,EAAA,EAAI,YAAA;AAAA,IACJ,MAAA,EAAQ,WAAA;AAAA,IACR,GAAA,EAAK,MAAA;AAAA,IACL,IAAA,EAAM,YAAA;AAAA,IACN,QAAA,EAAU,WAAA;AAAA,IACV,OAAA,EAAS,QAAA;AAAA,IACT,MAAA,EAAQ,SAAA;AAAA,IACR,MAAA,EAAQ,WAAA;AAAA,IACR,KAAA,EAAO,WAAA;AAAA,IACP,MAAA,EAAQ,WAAA;AAAA,IACR,QAAA,EAAU,SAAA;AAAA,IACV,IAAA,EAAM,OAAA;AAAA,IACN,MAAA,EAAQ,OAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,OAAA;AAAA,IACP,OAAA,EAAS,aAAA;AAAA,IACT,KAAA,EAAO,MAAA;AAAA,IACP,MAAA,EAAQ,WAAA;AAAA,IACR,SAAA,EAAW,SAAA;AAAA,IACX,UAAA,EAAY,iBAAA;AAAA,IACZ,QAAA,EAAU,OAAA;AAAA,IACV,UAAA,EAAY,aAAA;AAAA,IACZ,EAAA,EAAI,IAAA;AAAA,IACJ,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,QAAA,EAAU,aAAA;AAAA,IACV,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,WAAA,EAAa;AAAA;AAAA,IAEX,KAAA,EAAO,SAAA;AAAA,IACP,IAAA,EAAM,UAAA;AAAA,IACN,IAAA,EAAM,YAAA;AAAA,IACN,QAAA,EAAU,YAAA;AAAA,IACV,IAAA,EAAM,SAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,MAAA,EAAQ,OAAA;AAAA;AAAA,IAGR,OAAA,EAAS,UAAA;AAAA,IACT,MAAA,EAAQ,OAAA;AAAA,IACR,QAAA,EAAU,WAAA;AAAA,IACV,MAAA,EAAQ,OAAA;AAAA;AAAA,IAGR,EAAA,EAAI,OAAA;AAAA,IACJ,KAAA,EAAO,QAAA;AAAA,IACP,IAAA,EAAM,UAAA;AAAA;AAAA,IAGN,aAAA,EAAe,gBAAA;AAAA,IACf,WAAA,EAAa,iBAAA;AAAA;AAAA,IAGb,MAAA,EAAQ,SAAA;AAAA,IACR,KAAA,EAAO;AAAA;AAEX,CAAA;;;ACvQO,IAAM,iBAAA,GAAgC;AAAA,EAC3C,QAAA,EAAU;AAAA;AAAA,IAER,EAAA,EAAI,OAAA;AAAA,IACJ,IAAA,EAAM,SAAA;AAAA,IACN,OAAA,EAAS,WAAA;AAAA,IACT,IAAA,EAAM,SAAA;AAAA;AAAA,IAGN,IAAA,EAAM,OAAA;AAAA,IACN,GAAA,EAAK,QAAA;AAAA,IACL,GAAA,EAAK,QAAA;AAAA,IACL,GAAA,EAAK,SAAA;AAAA,IACL,GAAA,EAAK,SAAA;AAAA,IACL,MAAA,EAAQ,QAAA;AAAA,IACR,MAAA,EAAQ,SAAA;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,IAAA,EAAM,SAAA;AAAA;AAAA,IAGN,EAAA,EAAI,MAAA;AAAA,IACJ,MAAA,EAAQ,cAAA;AAAA,IACR,MAAA,EAAQ,QAAA;AAAA,IACR,GAAA,EAAK,SAAA;AAAA,IACL,KAAA,EAAO,QAAA;AAAA,IACP,KAAA,EAAO,UAAA;AAAA,IACP,QAAA,EAAU,YAAA;AAAA,IACV,KAAA,EAAO,QAAA;AAAA,IACP,IAAA,EAAM,SAAA;AAAA;AAAA,IAGN,IAAA,EAAM,WAAA;AAAA,IACN,KAAA,EAAO,cAAA;AAAA,IACP,IAAA,EAAM,SAAA;AAAA,IACN,MAAA,EAAQ,QAAA;AAAA;AAAA,IAGR,IAAA,EAAM,QAAA;AAAA,IACN,GAAA,EAAK,OAAA;AAAA,IACL,KAAA,EAAO,QAAA;AAAA,IACP,KAAA,EAAO,SAAA;AAAA,IACP,OAAA,EAAS,SAAA;AAAA,IACT,UAAA,EAAY,SAAA;AAAA;AAAA,IAGZ,SAAA,EAAW,UAAA;AAAA,IACX,SAAA,EAAW,SAAA;AAAA,IACX,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS,YAAA;AAAA,IACT,OAAA,EAAS,aAAA;AAAA;AAAA,IAGT,EAAA,EAAI,SAAA;AAAA,IACJ,OAAA,EAAS,YAAA;AAAA,IACT,UAAA,EAAY,aAAA;AAAA;AAAA,IAGZ,IAAA,EAAM,UAAA;AAAA,IACN,IAAA,EAAM,QAAA;AAAA,IACN,IAAA,EAAM,OAAA;AAAA;AAAA,IAGN,EAAA,EAAI,IAAA;AAAA,IACJ,KAAA,EAAO,OAAA;AAAA,IACP,MAAA,EAAQ,SAAA;AAAA;AAAA,IAGR,IAAA,EAAM,gBAAA;AAAA,IACN,KAAA,EAAO,eAAA;AAAA,IACP,MAAA,EAAQ,QAAA;AAAA;AAAA,IAGR,MAAA,EAAQ,iBAAA;AAAA,IACR,OAAA,EAAS,mBAAA;AAAA;AAAA,IAGT,IAAA,EAAM,SAAA;AAAA,IACN,IAAA,EAAM,YAAA;AAAA;AAAA,IAGN,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,aAAA;AAAA;AAAA,IAGN,OAAA,EAAS,QAAA;AAAA,IACT,QAAA,EAAU,OAAA;AAAA,IACV,IAAA,EAAM,SAAA;AAAA,IACN,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,EAAA,EAAI,IAAA;AAAA,IACJ,IAAA,EAAM,SAAA;AAAA,IACN,IAAA,EAAM,YAAA;AAAA,IACN,IAAA,EAAM,QAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,EAAA,EAAI,SAAA;AAAA,IACJ,EAAA,EAAI,IAAA;AAAA,IACJ,EAAA,EAAI,QAAA;AAAA,IACJ,EAAA,EAAI,mBAAA;AAAA,IACJ,MAAA,EAAQ,MAAA;AAAA,IACR,KAAA,EAAO,YAAA;AAAA,IACP,IAAA,EAAM,WAAA;AAAA,IACN,KAAA,EAAO,WAAA;AAAA,IACP,OAAA,EAAS,YAAA;AAAA,IACT,OAAA,EAAS,gBAAA;AAAA,IACT,OAAA,EAAS,QAAA;AAAA,IACT,EAAA,EAAI,IAAA;AAAA,IACJ,IAAA,EAAM,YAAA;AAAA,IACN,GAAA,EAAK,IAAA;AAAA,IACL,GAAA,EAAK,OAAA;AAAA,IACL,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,QAAA,EAAU,UAAA;AAAA,IACV,SAAA,EAAW,WAAA;AAAA,IACX,OAAA,EAAS,SAAA;AAAA,IACT,UAAA,EAAY,YAAA;AAAA,IACZ,UAAA,EAAY,YAAA;AAAA,IACZ,SAAA,EAAW,WAAA;AAAA,IACX,QAAA,EAAU,UAAA;AAAA,IACV,SAAA,EAAW,WAAA;AAAA,IAEX,OAAA,EAAS,SAAA;AAAA,IACT,KAAA,EAAO,OAAA;AAAA,IACP,QAAA,EAAU,UAAA;AAAA,IAEV,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,OAAA;AAAA,IACP,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,OAAA;AAAA,IAEP,IAAA,EAAM,MAAA;AAAA,IACN,MAAA,EAAQ,QAAA;AAAA,IACR,MAAA,EAAQ,QAAA;AAAA,IACR,MAAA,EAAQ,QAAA;AAAA,IAER,UAAA,EAAY,YAAA;AAAA,IACZ,QAAA,EAAU,UAAA;AAAA,IACV,SAAA,EAAW,WAAA;AAAA,IACX,WAAA,EAAa,aAAA;AAAA,IAEb,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,OAAA;AAAA,IACN,KAAA,EAAO,WAAA;AAAA,IACP,GAAA,EAAK,IAAA;AAAA,IACL,EAAA,EAAI,GAAA;AAAA,IACJ,GAAA,EAAK,OAAA;AAAA,IACL,EAAA,EAAI,IAAA;AAAA,IACJ,MAAA,EAAQ,KAAA;AAAA,IACR,OAAA,EAAS,WAAA;AAAA,IACT,QAAA,EAAU,YAAA;AAAA,IACV,QAAA,EAAU,QAAA;AAAA,IACV,MAAA,EAAQ,UAAA;AAAA,IACR,GAAA,EAAK,KAAA;AAAA;AAAA,IACL,IAAA,EAAM,KAAA;AAAA;AAAA,IACN,IAAA,EAAM,YAAA;AAAA,IACN,IAAA,EAAM,YAAA;AAAA,IACN,SAAA,EAAW,gBAAA;AAAA,IACX,GAAA,EAAK,OAAA;AAAA,IACL,EAAA,EAAI,MAAA;AAAA,IACJ,KAAA,EAAO,cAAA;AAAA,IACP,IAAA,EAAM,OAAA;AAAA,IACN,KAAA,EAAO,MAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,SAAA,EAAW;AAAA,GACb;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS,SAAA;AAAA,IACT,MAAA,EAAQ,SAAA;AAAA,IACR,YAAA,EAAc,aAAA;AAAA,IACd,WAAA,EAAa,aAAA;AAAA,IACb,OAAA,EAAS,QAAA;AAAA,IACT,MAAA,EAAQ,QAAA;AAAA,IACR,KAAA,EAAO,MAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,CAAA,EAAG,GAAA;AAAA,IACH,GAAA,EAAK,KAAA;AAAA,IACL,CAAA,EAAG,GAAA;AAAA,IACH,GAAA,EAAK,QAAA;AAAA,IACL,OAAA,EAAS,gBAAA;AAAA,IACT,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,OAAA;AAAA,IACN,KAAA,EAAO,MAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,SAAA,EAAW,eAAA;AAAA,IACX,EAAA,EAAI,KAAA;AAAA,IACJ,GAAA,EAAK,MAAA;AAAA,IACL,EAAA,EAAI,KAAA;AAAA,IACJ,EAAA,EAAI,OAAA;AAAA,IACJ,MAAA,EAAQ,WAAA;AAAA,IACR,GAAA,EAAK,MAAA;AAAA,IACL,IAAA,EAAM,OAAA;AAAA,IACN,QAAA,EAAU,WAAA;AAAA,IACV,OAAA,EAAS,UAAA;AAAA,IACT,MAAA,EAAQ,QAAA;AAAA,IACR,MAAA,EAAQ,SAAA;AAAA,IACR,KAAA,EAAO,YAAA;AAAA,IACP,MAAA,EAAQ,SAAA;AAAA,IACR,QAAA,EAAU,WAAA;AAAA,IACV,IAAA,EAAM,SAAA;AAAA,IACN,MAAA,EAAQ,SAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,OAAA;AAAA,IACP,OAAA,EAAS,WAAA;AAAA,IACT,KAAA,EAAO,QAAA;AAAA,IACP,MAAA,EAAQ,YAAA;AAAA,IACR,SAAA,EAAW,WAAA;AAAA,IACX,UAAA,EAAY,eAAA;AAAA,IACZ,QAAA,EAAU,WAAA;AAAA,IACV,UAAA,EAAY,eAAA;AAAA,IACZ,EAAA,EAAI,IAAA;AAAA,IACJ,KAAA,EAAO,QAAA;AAAA,IACP,IAAA,EAAM,QAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,QAAA,EAAU,gBAAA;AAAA,IACV,OAAA,EAAS;AAAA,GACX;AAAA,EAEA,WAAA,EAAa;AAAA;AAAA,IAEX,KAAA,EAAO,KAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM,SAAA;AAAA,IACN,QAAA,EAAU,UAAA;AAAA,IACV,IAAA,EAAM,UAAA;AAAA,IACN,EAAA,EAAI,IAAA;AAAA,IACJ,MAAA,EAAQ,QAAA;AAAA;AAAA,IAGR,OAAA,EAAS,eAAA;AAAA,IACT,MAAA,EAAQ,UAAA;AAAA,IACR,QAAA,EAAU,UAAA;AAAA,IACV,MAAA,EAAQ,YAAA;AAAA;AAAA,IAGR,EAAA,EAAI,QAAA;AAAA,IACJ,KAAA,EAAO,cAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA;AAAA,IAGN,aAAA,EAAe,gBAAA;AAAA,IACf,WAAA,EAAa,eAAA;AAAA;AAAA,IAGb,MAAA,EAAQ,MAAA;AAAA,IACR,KAAA,EAAO;AAAA;AAEX,CAAA;;;ACnNO,IAAMA,GAAAA,GAAiB,EAAA;AAKvB,IAAMC,GAAAA,GAAiB,EAAA;AAKvB,IAAMC,GAAAA,GAAiB,EAAA;AAKvB,IAAMC,GAAAA,GAAiB,EAAA;AAKvB,IAAMC,GAAAA,GAAiB,EAAA;AAKvB,IAAMC,GAAAA,GAAiB,EAAA;AAKvB,IAAMC,GAAAA,GAAiB,EAAA;AAKvB,IAAMC,GAAAA,GAAiB,EAAA;AAKvB,IAAMC,GAAAA,GAAiB,EAAA;AAKvB,IAAMC,GAAAA,GAAiB,EAAA;AAKvB,IAAMC,GAAAA,GAAiB,EAAA;AAKvB,IAAMC,GAAAA,GAAiB,EAAA;AAKvB,IAAMC,GAAAA,GAAiB,EAAA;AAKvB,IAAMC,GAAAA,GAAiB,EAAA;AAKvB,IAAMC,GAAAA,GAAiB,EAAA;AAKvB,IAAMC,GAAAA,GAAiB,EAAA;AAKvB,IAAM,EAAA,GAAiB,iBAAA;AAKvB,IAAM,EAAA,GAAiB,mBAAA;AAKvB,IAAM,EAAA,GAAiB,eAAA;AAKvB,IAAM,EAAA,GAAiB,iBAAA;AAKvB,IAAM,EAAA,GAAiB,cAAA;AAKvB,IAAM,EAAA,GAAiB,eAAA;AAKvB,IAAM,EAAA,GAAiB,iBAAA;AASvB,IAAM,YAAA,GAA2C;AAAA,EACtD,EAAA,EAAAf,GAAAA;AAAA,EACA,EAAA,EAAAC,GAAAA;AAAA,EACA,EAAA,EAAAE,GAAAA;AAAA,EACA,EAAA,EAAAC,GAAAA;AAAA,EACA,EAAA,EAAAC,GAAAA;AAAA,EACA,EAAA,EAAAC,GAAAA;AAAA,EACA,EAAA,EAAAJ,GAAAA;AAAA,EACA,EAAA,EAAAK,GAAAA;AAAA,EACA,EAAA,EAAAC,GAAAA;AAAA,EACA,EAAA,EAAAC,GAAAA;AAAA,EACA,EAAA,EAAAE,GAAAA;AAAA,EACA,EAAA,EAAAC,GAAAA;AAAA,EACA,EAAA,EAAAF,GAAAA;AAAA,EACA,EAAA,EAAAG,GAAAA;AAAA,EACA,EAAA,EAAAC,GAAAA;AAAA,EACA,EAAA,EAAAC,GAAAA;AAAA,EACA,EAAA;AAAA,EACA,EAAA;AAAA,EACA,EAAA;AAAA,EACA,EAAA;AAAA,EACA,EAAA;AAAA,EACA,EAAA;AAAA,EACA;AACF,CAAA;;;ACnKO,SAAS,YAAA,CAAa,MAAcC,iBAAAA,EAAoC;AAC7E,EAAA,MAAM,MAAA,uBAAa,GAAA,EAAoB;AAGvC,EAAAA,kBAAiB,OAAA,CAAQ,CAAA,MAAA,KAAU,OAAO,GAAA,CAAI,MAAA,EAAQ,CAAC,CAAC,CAAA;AAGxD,EAAA,KAAA,MAAW,CAAC,MAAA,EAAQ,UAAU,KAAK,MAAA,CAAO,OAAA,CAAQ,YAAY,CAAA,EAAG;AAC/D,IAAA,IAAI,CAACA,iBAAAA,CAAiB,QAAA,CAAS,MAAM,CAAA,EAAG;AAExC,IAAA,IAAI,KAAA,GAAQ,CAAA;AAGZ,IAAA,KAAA,MAAW,YAAY,qBAAA,EAAuB;AAC5C,MAAA,MAAM,YAAA,GAAe,WAAW,QAAQ,CAAA;AACxC,MAAA,KAAA,MAAW,OAAA,IAAW,MAAA,CAAO,MAAA,CAAO,YAAY,CAAA,EAAG;AAEjD,QAAA,IAAI,CAAC,OAAA,IAAW,OAAA,CAAQ,MAAA,GAAS,CAAA,EAAG;AAGpC,QAAA,MAAM,KAAA,GAAQ,IAAI,MAAA,CAAO,CAAA,GAAA,EAAM,YAAY,OAAO,CAAC,OAAO,IAAI,CAAA;AAC9D,QAAA,MAAM,OAAA,GAAU,IAAA,CAAK,KAAA,CAAM,KAAK,CAAA;AAChC,QAAA,IAAI,OAAA,EAAS;AACX,UAAA,KAAA,IAAS,OAAA,CAAQ,MAAA;AAAA,QACnB;AAAA,MACF;AAAA,IACF;AAEA,IAAA,MAAA,CAAO,GAAA,CAAI,QAAQ,KAAK,CAAA;AAAA,EAC1B;AAGA,EAAA,IAAI,QAAA,GAAW,CAAA;AACf,EAAA,IAAI,cAAA,GAAiB,IAAA;AAErB,EAAA,MAAA,CAAO,OAAA,CAAQ,CAAC,KAAA,EAAO,MAAA,KAAW;AAChC,IAAA,IAAI,QAAQ,QAAA,EAAU;AACpB,MAAA,QAAA,GAAW,KAAA;AACX,MAAA,cAAA,GAAiB,MAAA;AAAA,IACnB;AAAA,EACF,CAAC,CAAA;AAED,EAAA,OAAO,cAAA;AACT;AAyEA,SAAS,YAAY,GAAA,EAAqB;AACxC,EAAA,OAAO,GAAA,CAAI,OAAA,CAAQ,qBAAA,EAAuB,MAAM,CAAA;AAClD;ACNA,SAAS,cAAA,CAAe,MAAc,MAAA,EAA2B;AAC/D,EAAA,MAAM,SAAA,GAAY,KAAK,WAAA,EAAY;AAGnC,EAAA,MAAM,cAAA,GAA6C;AAAA,IACjD,CAAC,UAAU,OAAO,CAAA;AAAA,IAClB,CAAC,YAAY,SAAS,CAAA;AAAA,IACtB,CAAC,eAAe,YAAY,CAAA;AAAA,IAC5B,CAAC,aAAa,UAAU,CAAA;AAAA,IACxB,CAAC,WAAW,SAAS,CAAA;AAAA,IACrB,CAAC,YAAY,UAAU,CAAA;AAAA,IACvB,CAAC,UAAU,OAAO,CAAA;AAAA,IAClB,CAAC,cAAc,WAAW;AAAA,GAC5B;AAGA,EAAA,MAAM,cAAA,GAAiB,WAAW,IAAA,GAAO,CAAC,IAAI,CAAA,GAAI,CAAC,QAAQ,IAAI,CAAA;AAE/D,EAAA,KAAA,MAAW,OAAO,cAAA,EAAgB;AAChC,IAAA,MAAM,IAAA,GAAO,aAAa,GAAG,CAAA;AAC7B,IAAA,IAAI,CAAC,IAAA,EAAM;AAGX,IAAA,KAAA,MAAW,CAAC,QAAA,EAAU,SAAS,CAAA,IAAK,cAAA,EAAgB;AAClD,MAAA,MAAM,YAAA,GAAe,KAAK,QAA6B,CAAA;AACvD,MAAA,IAAI,CAAC,YAAA,IAAgB,OAAO,YAAA,KAAiB,QAAA,EAAU;AAGvD,MAAA,KAAA,MAAW,CAAC,GAAA,EAAK,KAAK,KAAK,MAAA,CAAO,OAAA,CAAQ,YAAY,CAAA,EAAG;AACvD,QAAA,IAAI,IAAI,WAAA,EAAY,KAAM,aAAa,KAAA,CAAM,WAAA,OAAkB,SAAA,EAAW;AACxE,UAAA,OAAO,SAAA;AAAA,QACT;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGA,EAAA,OAAO,YAAA;AACT;AAwDO,SAAS,QAAA,CAAS,MAAc,MAAA,EAAyB;AAc9D,EAAA,OAAO,aAAA,CAAc,MAAM,MAAM,CAAA;AACnC;AAeA,SAAS,aAAA,CAAc,MAAc,MAAA,EAAyB;AAC5D,EAAA,MAAM,SAAkB,EAAC;AACzB,EAAA,IAAI,QAAA,GAAW,CAAA;AACf,EAAA,IAAI,IAAA,GAAO,CAAA;AACX,EAAA,IAAI,MAAA,GAAS,CAAA;AAEb,EAAA,OAAO,QAAA,GAAW,KAAK,MAAA,EAAQ;AAC7B,IAAA,MAAM,KAAA,GAAQ,QAAA;AACd,IAAA,MAAM,SAAA,GAAY,IAAA;AAClB,IAAA,MAAM,WAAA,GAAc,MAAA;AAGpB,IAAA,IAAI,YAAA,CAAa,IAAA,CAAK,QAAQ,CAAC,CAAA,EAAG;AAChC,MAAA,MAAM,UAAA,GAAa,iBAAA,CAAkB,IAAA,EAAM,QAAQ,CAAA;AACnD,MAAA,MAAA,CAAO,IAAA,CAAK;AAAA,QACV,IAAA,EAAM,SAAA;AAAA,QACN,KAAA,EAAO,UAAA;AAAA,QACP,QAAA,EAAU;AAAA,UACR,KAAA;AAAA,UACA,GAAA,EAAK,WAAW,UAAA,CAAW,MAAA;AAAA,UAC3B,IAAA,EAAM,SAAA;AAAA,UACN,MAAA,EAAQ;AAAA;AACV,OACD,CAAA;AAGD,MAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,UAAA,CAAW,QAAQ,CAAA,EAAA,EAAK;AAC1C,QAAA,IAAI,UAAA,CAAW,CAAC,CAAA,KAAM,IAAA,EAAM;AAC1B,UAAA,IAAA,EAAA;AACA,UAAA,MAAA,GAAS,CAAA;AAAA,QACX,CAAA,MAAO;AACL,UAAA,MAAA,EAAA;AAAA,QACF;AAAA,MACF;AACA,MAAA,QAAA,IAAY,UAAA,CAAW,MAAA;AACvB,MAAA;AAAA,IACF;AAGA,IAAA,IAAI,KAAK,QAAQ,CAAA,KAAM,OAAO,IAAA,CAAK,QAAQ,MAAM,GAAA,EAAK;AACpD,MAAA,MAAM,KAAA,GAAQ,KAAK,QAAQ,CAAA;AAC3B,MAAA,IAAI,KAAA,GAAQ,KAAA;AACZ,MAAA,QAAA,EAAA;AACA,MAAA,MAAA,EAAA;AAEA,MAAA,OAAO,WAAW,IAAA,CAAK,MAAA,IAAU,IAAA,CAAK,QAAQ,MAAM,KAAA,EAAO;AACzD,QAAA,IAAI,KAAK,QAAQ,CAAA,KAAM,QAAQ,QAAA,GAAW,CAAA,GAAI,KAAK,MAAA,EAAQ;AACzD,UAAA,KAAA,IAAS,IAAA,CAAK,QAAQ,CAAA,GAAI,IAAA,CAAK,WAAW,CAAC,CAAA;AAC3C,UAAA,QAAA,IAAY,CAAA;AACZ,UAAA,MAAA,IAAU,CAAA;AAAA,QACZ,CAAA,MAAO;AACL,UAAA,KAAA,IAAS,KAAK,QAAQ,CAAA;AACtB,UAAA,IAAI,IAAA,CAAK,QAAQ,CAAA,KAAM,IAAA,EAAM;AAC3B,YAAA,IAAA,EAAA;AACA,YAAA,MAAA,GAAS,CAAA;AAAA,UACX,CAAA,MAAO;AACL,YAAA,MAAA,EAAA;AAAA,UACF;AACA,UAAA,QAAA,EAAA;AAAA,QACF;AAAA,MACF;AAEA,MAAA,IAAI,QAAA,GAAW,KAAK,MAAA,EAAQ;AAC1B,QAAA,KAAA,IAAS,KAAK,QAAQ,CAAA;AACtB,QAAA,QAAA,EAAA;AACA,QAAA,MAAA,EAAA;AAAA,MACF;AAEA,MAAA,MAAA,CAAO,IAAA,CAAK;AAAA,QACV,IAAA,EAAM,SAAA;AAAA,QACN,KAAA;AAAA,QACA,QAAA,EAAU;AAAA,UACR,KAAA;AAAA,UACA,GAAA,EAAK,QAAA;AAAA,UACL,IAAA,EAAM,SAAA;AAAA,UACN,MAAA,EAAQ;AAAA;AACV,OACD,CAAA;AACD,MAAA;AAAA,IACF;AAGA,IAAA,IAAI,OAAA,CAAQ,IAAA,CAAK,QAAQ,CAAC,CAAA,EAAG;AAC3B,MAAA,MAAM,MAAA,GAAS,aAAA,CAAc,IAAA,EAAM,QAAQ,CAAA;AAC3C,MAAA,MAAA,CAAO,IAAA,CAAK;AAAA,QACV,IAAA,EAAM,SAAA;AAAA,QACN,KAAA,EAAO,MAAA;AAAA,QACP,QAAA,EAAU;AAAA,UACR,KAAA;AAAA,UACA,GAAA,EAAK,WAAW,MAAA,CAAO,MAAA;AAAA,UACvB,IAAA,EAAM,SAAA;AAAA,UACN,MAAA,EAAQ;AAAA;AACV,OACD,CAAA;AACD,MAAA,QAAA,IAAY,MAAA,CAAO,MAAA;AACnB,MAAA,MAAA,IAAU,MAAA,CAAO,MAAA;AACjB,MAAA;AAAA,IACF;AAGA,IAAA,IAAI,iBAAA,CAAkB,IAAA,CAAK,QAAQ,CAAC,CAAA,EAAG;AACrC,MAAA,MAAM,IAAA,GAAO,iBAAA,CAAkB,IAAA,EAAM,QAAQ,CAAA;AAC7C,MAAA,MAAM,SAAA,GAAY,cAAA,CAAe,IAAA,EAAM,MAAM,CAAA;AAE7C,MAAA,MAAA,CAAO,IAAA,CAAK;AAAA,QACV,IAAA,EAAM,SAAA;AAAA,QACN,KAAA,EAAO,IAAA;AAAA,QACP,QAAA,EAAU;AAAA,UACR,KAAA;AAAA,UACA,GAAA,EAAK,WAAW,IAAA,CAAK,MAAA;AAAA,UACrB,IAAA,EAAM,SAAA;AAAA,UACN,MAAA,EAAQ;AAAA;AACV,OACD,CAAA;AACD,MAAA,QAAA,IAAY,IAAA,CAAK,MAAA;AACjB,MAAA,MAAA,IAAU,IAAA,CAAK,MAAA;AACf,MAAA;AAAA,IACF;AAGA,IAAA,MAAM,QAAA,GAAW,eAAA,CAAgB,IAAA,EAAM,QAAQ,CAAA;AAC/C,IAAA,MAAA,CAAO,IAAA,CAAK;AAAA,MACV,IAAA,EAAM,UAAA;AAAA,MACN,KAAA,EAAO,QAAA;AAAA,MACP,QAAA,EAAU;AAAA,QACR,KAAA;AAAA,QACA,GAAA,EAAK,WAAW,QAAA,CAAS,MAAA;AAAA,QACzB,IAAA,EAAM,SAAA;AAAA,QACN,MAAA,EAAQ;AAAA;AACV,KACD,CAAA;AACD,IAAA,QAAA,IAAY,QAAA,CAAS,MAAA;AACrB,IAAA,MAAA,IAAU,QAAA,CAAS,MAAA;AAAA,EACrB;AAEA,EAAA,OAAO,MAAA;AACT;AAMA,SAAS,aAAa,IAAA,EAAuB;AAC3C,EAAA,OAAO,IAAA,CAAK,KAAK,IAAI,CAAA;AACvB;AAEA,SAAS,QAAQ,IAAA,EAAuB;AACtC,EAAA,OAAO,IAAA,CAAK,KAAK,IAAI,CAAA;AACvB;AAEA,SAAS,kBAAkB,IAAA,EAAuB;AAChD,EAAA,OAAO,yCAAA,CAA0C,KAAK,IAAI,CAAA;AAC5D;AAEA,SAAS,iBAAiB,IAAA,EAAuB;AAC/C,EAAA,OAAO,6CAAA,CAA8C,KAAK,IAAI,CAAA;AAChE;AAEA,SAAS,iBAAA,CAAkB,MAAc,KAAA,EAAuB;AAC9D,EAAA,IAAI,GAAA,GAAM,KAAA;AACV,EAAA,OAAO,MAAM,IAAA,CAAK,MAAA,IAAU,aAAa,IAAA,CAAK,GAAG,CAAC,CAAA,EAAG;AACnD,IAAA,GAAA,EAAA;AAAA,EACF;AACA,EAAA,OAAO,IAAA,CAAK,SAAA,CAAU,KAAA,EAAO,GAAG,CAAA;AAClC;AAEA,SAAS,aAAA,CAAc,MAAc,KAAA,EAAuB;AAC1D,EAAA,IAAI,GAAA,GAAM,KAAA;AACV,EAAA,OAAO,GAAA,GAAM,IAAA,CAAK,MAAA,KAAW,OAAA,CAAQ,IAAA,CAAK,GAAG,CAAC,CAAA,IAAK,IAAA,CAAK,GAAG,CAAA,KAAM,GAAA,CAAA,EAAM;AACrE,IAAA,GAAA,EAAA;AAAA,EACF;AACA,EAAA,OAAO,IAAA,CAAK,SAAA,CAAU,KAAA,EAAO,GAAG,CAAA;AAClC;AAEA,SAAS,iBAAA,CAAkB,MAAc,KAAA,EAAuB;AAC9D,EAAA,IAAI,GAAA,GAAM,KAAA;AACV,EAAA,OAAO,MAAM,IAAA,CAAK,MAAA,IAAU,iBAAiB,IAAA,CAAK,GAAG,CAAC,CAAA,EAAG;AACvD,IAAA,GAAA,EAAA;AAAA,EACF;AACA,EAAA,OAAO,IAAA,CAAK,SAAA,CAAU,KAAA,EAAO,GAAG,CAAA;AAClC;AAEA,SAAS,eAAA,CAAgB,MAAc,KAAA,EAAuB;AAE5D,EAAA,MAAM,OAAA,GAAU,IAAA,CAAK,SAAA,CAAU,KAAA,EAAO,QAAQ,CAAC,CAAA;AAC/C,EAAA,IAAI,CAAC,IAAA,EAAM,IAAA,EAAM,IAAA,EAAM,IAAA,EAAM,IAAA,EAAM,IAAA,EAAM,IAAI,CAAA,CAAE,QAAA,CAAS,OAAO,CAAA,EAAG;AAChE,IAAA,OAAO,OAAA;AAAA,EACT;AAGA,EAAA,OAAO,KAAK,KAAK,CAAA;AACnB;;;ACldO,IAAM,kBAAA,GAAqB;AAAA,EAChC,UAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA;AAEO,IAAM,YAAA,GAAe;AAAA,EAC1B,QAAA,EAAU;AAAA,IACR,IAAA;AAAA,IACA,MAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,IAAA;AAAA,IACA,QAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACF;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,IAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACF;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,OAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAA;AAAA,IACA,YAAA;AAAA,IACA,YAAA;AAAA,IACA,QAAA;AAAA,IACA,MAAA;AAAA,IACA;AAAA,GACF;AAAA,EAEA,OAAA,EAAS,CAAC,KAAA,EAAO,IAAA,EAAM,OAAO,IAAA,EAAM,MAAA,EAAQ,QAAQ,KAAK,CAAA;AAAA,EAEzD,QAAA,EAAU,CAAC,SAAA,EAAW,cAAA,EAAgB,WAAW,OAAO,CAAA;AAAA,EAExD,MAAA,EAAQ,CAAC,MAAA,EAAQ,OAAA,EAAS,MAAA,EAAQ,MAAM,IAAA,EAAM,IAAA,EAAM,SAAA,EAAW,QAAA,EAAU,UAAU,CAAA;AAAA,EAEnF,UAAA,EAAY;AAAA,IACV,OAAA;AAAA,IACA,OAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA;AAEJ,CAAA;;;AC9EO,SAAS,QAAA,CAAS,YAAwB,MAAA,EAAkC;AACjF,EAAA,MAAM,SAA4B,EAAC;AACnC,EAAA,MAAM,WAAgC,EAAC;AACvC,EAAA,MAAM,QAAA,GAAW;AAAA,IACf,KAAA,EAAO,CAAA;AAAA,IACP,UAAA,EAAY,CAAA;AAAA,IACZ,SAAS;AAAC,GACZ;AAGA,EAAA,KAAA,MAAW,YAAY,kBAAA,EAAoB;AACzC,IAAA,IAAI,EAAE,YAAY,UAAA,CAAA,EAAa;AAC7B,MAAA,MAAA,CAAO,IAAA,CAAK;AAAA,QACV,IAAA,EAAM,SAAA;AAAA,QACN,GAAA,EAAK,QAAA;AAAA,QACL,OAAA,EAAS,8BAA8B,QAAQ,CAAA;AAAA,OAChD,CAAA;AAAA,IACH;AAAA,EACF;AAGA,EAAA,KAAA,MAAW,CAAC,QAAA,EAAU,YAAY,KAAK,MAAA,CAAO,OAAA,CAAQ,YAAY,CAAA,EAAG;AACnE,IAAA,MAAM,YAAA,GAAe,WAAW,QAA4B,CAAA;AAE5D,IAAA,IAAI,CAAC,YAAA,EAAc;AAEnB,IAAA,KAAA,MAAW,OAAO,YAAA,EAAc;AAC9B,MAAA,QAAA,CAAS,KAAA,EAAA;AAET,MAAA,IAAI,EAAE,OAAO,YAAA,CAAA,EAAe;AAC1B,QAAA,MAAA,CAAO,IAAA,CAAK;AAAA,UACV,IAAA,EAAM,SAAA;AAAA,UACN,GAAA,EAAK,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA;AAAA,UACvB,OAAA,EAAS,CAAA,sBAAA,EAAyB,GAAG,CAAA,aAAA,EAAgB,QAAQ,CAAA;AAAA,SAC9D,CAAA;AACD,QAAA,QAAA,CAAS,QAAQ,IAAA,CAAK,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,GAAG,CAAA,CAAE,CAAA;AAAA,MAC5C,CAAA,MAAA,IAAW,CAAC,YAAA,CAAa,GAAG,CAAA,IAAK,aAAa,GAAG,CAAA,CAAE,IAAA,EAAK,KAAM,EAAA,EAAI;AAChE,QAAA,MAAA,CAAO,IAAA,CAAK;AAAA,UACV,IAAA,EAAM,SAAA;AAAA,UACN,GAAA,EAAK,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA;AAAA,UACvB,OAAA,EAAS,CAAA,2BAAA,EAA8B,GAAG,CAAA,aAAA,EAAgB,QAAQ,CAAA;AAAA,SACnE,CAAA;AAAA,MACH,CAAA,MAAO;AACL,QAAA,QAAA,CAAS,UAAA,EAAA;AAAA,MACX;AAAA,IACF;AAAA,EACF;AAGA,EAAA,MAAM,IAAA,uBAAW,GAAA,EAAoB;AAErC,EAAA,KAAA,MAAW,YAAY,qBAAA,EAAuB;AAC5C,IAAA,MAAM,YAAA,GAAe,WAAW,QAAQ,CAAA;AACxC,IAAA,IAAI,CAAC,YAAA,EAAc;AAEnB,IAAA,KAAA,MAAW,CAAC,GAAA,EAAK,KAAK,KAAK,MAAA,CAAO,OAAA,CAAQ,YAAY,CAAA,EAAG;AACvD,MAAA,IAAI,IAAA,CAAK,GAAA,CAAI,KAAK,CAAA,EAAG;AACnB,QAAA,QAAA,CAAS,IAAA,CAAK;AAAA,UACZ,IAAA,EAAM,cAAA;AAAA,UACN,GAAA,EAAK,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA;AAAA,UACvB,SAAS,CAAA,uBAAA,EAA0B,KAAK,mBAAmB,IAAA,CAAK,GAAA,CAAI,KAAK,CAAC,CAAA;AAAA,SAC3E,CAAA;AAAA,MACH,CAAA,MAAO;AACL,QAAA,IAAA,CAAK,IAAI,KAAA,EAAO,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,GAAG,CAAA,CAAE,CAAA;AAAA,MACtC;AAAA,IACF;AAAA,EACF;AAGA,EAAA,sBAAA,CAAuB,UAAA,EAAY,MAAA,EAAQ,MAAA,EAAQ,QAAQ,CAAA;AAE3D,EAAA,OAAO;AAAA,IACL,KAAA,EAAO,OAAO,MAAA,KAAW,CAAA;AAAA,IACzB,MAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA,GACF;AACF;AAEA,SAAS,sBAAA,CACP,UAAA,EACA,MAAA,EACA,OAAA,EACA,QAAA,EACM;AAEN,EAAA,IAAI,WAAW,IAAA,EAAM;AAEnB,IAAA,IAAI,WAAW,MAAA,EAAQ,IAAA,KAAS,eAAe,UAAA,CAAW,MAAA,EAAQ,UAAU,OAAA,EAAS,CAErF,MAAA,IAAW,WAAW,MAAA,EAAQ,IAAA,KAAS,eAAe,UAAA,CAAW,MAAA,EAAQ,UAAU,OAAA,EAAS,WAEjF,UAAA,CAAW,MAAA,EAAQ,IAAA,IAAQ,UAAA,CAAW,QAAQ,KAAA,EAAO;AAC9D,MAAA,QAAA,CAAS,IAAA,CAAK;AAAA,QACZ,IAAA,EAAM,cAAA;AAAA,QACN,GAAA,EAAK,mBAAA;AAAA,QACL,OAAA,EAAS;AAAA,OACV,CAAA;AAAA,IACH;AAAA,EACF;AAGA,EAAA,IAAI,WAAW,IAAA,EAAM;AAEnB,IAAA,MAAM,aAAA,GAAgB,CAAC,oBAAA,EAAO,cAAI,CAAA;AAClC,IAAA,MAAM,eAAA,GAAkB,CAAC,QAAA,EAAK,QAAA,EAAK,QAAG,CAAA;AAEtC,IAAA,IAAI,WAAA,GAAc,CAAA;AAClB,IAAA,IAAI,aAAA,GAAgB,CAAA;AAEpB,IAAA,KAAA,MAAW,YAAY,qBAAA,EAAuB;AAC5C,MAAA,MAAM,YAAA,GAAe,WAAW,QAAQ,CAAA;AACxC,MAAA,IAAI,CAAC,YAAA,EAAc;AACnB,MAAA,KAAA,MAAW,KAAA,IAAS,MAAA,CAAO,MAAA,CAAO,YAAY,CAAA,EAAG;AAC/C,QAAA,IAAI,cAAc,IAAA,CAAK,CAAA,MAAA,KAAU,MAAM,QAAA,CAAS,MAAM,CAAC,CAAA,EAAG;AACxD,UAAA,WAAA,EAAA;AAAA,QACF;AACA,QAAA,IAAI,gBAAgB,IAAA,CAAK,CAAA,MAAA,KAAU,MAAM,QAAA,CAAS,MAAM,CAAC,CAAA,EAAG;AAC1D,UAAA,aAAA,EAAA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,IAAA,IAAI,WAAA,GAAc,CAAA,IAAK,aAAA,GAAgB,CAAA,EAAG;AACxC,MAAA,QAAA,CAAS,IAAA,CAAK;AAAA,QACZ,IAAA,EAAM,cAAA;AAAA,QACN,GAAA,EAAK,QAAA;AAAA,QACL,OAAA,EAAS;AAAA,OACV,CAAA;AAAA,IACH;AAAA,EACF;AAGA,EAAA,IAAI,MAAA,KAAW,IAAA,IAAQ,MAAA,KAAW,OAAA,EAAS;AAEzC,IAAA,MAAM,UAAA,GAAa,CAAC,QAAA,EAAK,QAAA,EAAK,UAAK,QAAG,CAAA;AACtC,IAAA,MAAM,WAAA,GAAc,CAAC,QAAA,EAAK,QAAA,EAAK,UAAK,QAAG,CAAA;AAEvC,IAAA,IAAI,aAAA,GAAgB,KAAA;AACpB,IAAA,IAAI,cAAA,GAAiB,KAAA;AAErB,IAAA,KAAA,MAAW,YAAY,qBAAA,EAAuB;AAC5C,MAAA,MAAM,YAAA,GAAe,WAAW,QAAQ,CAAA;AACxC,MAAA,IAAI,CAAC,YAAA,EAAc;AACnB,MAAA,KAAA,MAAW,KAAA,IAAS,MAAA,CAAO,MAAA,CAAO,YAAY,CAAA,EAAG;AAC/C,QAAA,IAAI,WAAW,IAAA,CAAK,CAAA,IAAA,KAAQ,MAAM,QAAA,CAAS,IAAI,CAAC,CAAA,EAAG;AACjD,UAAA,aAAA,GAAgB,IAAA;AAAA,QAClB;AACA,QAAA,IAAI,YAAY,IAAA,CAAK,CAAA,IAAA,KAAQ,MAAM,QAAA,CAAS,IAAI,CAAC,CAAA,EAAG;AAClD,UAAA,cAAA,GAAiB,IAAA;AAAA,QACnB;AAAA,MACF;AAAA,IACF;AAEA,IAAA,IAAI,iBAAiB,cAAA,EAAgB;AACnC,MAAA,QAAA,CAAS,IAAA,CAAK;AAAA,QACZ,IAAA,EAAM,cAAA;AAAA,QACN,GAAA,EAAK,QAAA;AAAA,QACL,OAAA,EAAS;AAAA,OACV,CAAA;AAAA,IACH;AAAA,EACF;AACF;;;AC5JO,IAAM,wBAAN,MAA4B;AAAA,EAKjC,YAAY,MAAA,EAAoB;AAC9B,IAAA,IAAA,CAAK,MAAA,GAAS;AAAA,MACZ,cAAA,EAAgB,IAAA;AAAA,MAChB,yBAAA,EAA2B,oBAAA;AAAA,MAC3B,YAAA,EAAc,IAAA;AAAA;AAAA,MACd,GAAG,MAAA;AAAA,MACH,MAAA,EAAQ,OAAO,MAAA,IAAU;AAAA;AAAA,KAC3B;AAEA,IAAA,IAAA,CAAK,YAAA,uBAAmB,GAAA,EAAI;AAC5B,IAAA,IAAA,CAAK,mBAAA,uBAA0B,GAAA,EAAI;AAGnC,IAAA,MAAA,CAAO,OAAA,CAAQ,YAAY,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAC,MAAA,EAAQ,IAAI,CAAA,KAAM;AACvD,MAAA,IAAA,CAAK,aAAA,CAAc,QAAQ,IAAI,CAAA;AAAA,IACjC,CAAC,CAAA;AAGD,IAAA,IAAI,OAAO,YAAA,EAAc;AACvB,MAAA,MAAA,CAAO,OAAA,CAAQ,OAAO,YAAY,CAAA,CAAE,QAAQ,CAAC,CAAC,MAAA,EAAQ,IAAI,CAAA,KAAM;AAC9D,QAAA,IAAA,CAAK,aAAA,CAAc,QAAQ,IAAI,CAAA;AAAA,MACjC,CAAC,CAAA;AAAA,IACH;AAAA,EACF;AAAA,EAEA,SAAA,CAAU,MAAc,OAAA,EAAqC;AAC3D,IAAA,MAAM,MAAA,GAAS,IAAA,CAAK,oBAAA,CAAqB,IAAA,EAAM,OAAO,CAAA;AACtD,IAAA,OAAO,MAAA,CAAO,UAAA;AAAA,EAChB;AAAA,EAEA,oBAAA,CAAqB,MAAc,OAAA,EAAgD;AACjF,IAAA,MAAM,UAAA,GAAa,OAAA,CAAQ,IAAA,IAAQ,IAAA,CAAK,eAAe,IAAI,CAAA;AAC3D,IAAA,MAAM,WAAW,OAAA,CAAQ,EAAA;AAEzB,IAAA,IAAI,eAAe,QAAA,EAAU;AAC3B,MAAA,OAAO;AAAA,QACL,UAAA,EAAY,IAAA;AAAA,QACZ,QAAA,EAAU,IAAA;AAAA,QACV,QAAQ,EAAC;AAAA,QACT,MAAA,EAAQ,EAAE,IAAA,EAAM,UAAA,EAAY,IAAI,QAAA;AAAS,OAC3C;AAAA,IACF;AAGA,IAAA,MAAM,QAAA,GAAW,IAAA,CAAK,aAAA,CAAc,UAAU,CAAA;AAC9C,IAAA,MAAM,MAAA,GAAS,IAAA,CAAK,aAAA,CAAc,QAAQ,CAAA;AAE1C,IAAA,IAAI,CAAC,QAAA,IAAY,CAAC,MAAA,EAAQ;AACxB,MAAA,MAAM,IAAI,KAAA,CAAM,CAAA,+BAAA,EAAkC,CAAC,QAAA,GAAW,UAAA,GAAa,QAAQ,CAAA,CAAE,CAAA;AAAA,IACvF;AAGA,IAAA,MAAM,MAAA,GAAS,QAAA,CAAS,IAAA,EAAM,UAAU,CAAA;AAGxC,IAAA,MAAM,gBAAA,GAAmB,IAAA,CAAK,eAAA,CAAgB,MAAA,EAAQ,YAAY,QAAQ,CAAA;AAG1E,IAAA,MAAM,UAAA,GAAa,IAAA,CAAK,eAAA,CAAgB,gBAAgB,CAAA;AAGxD,IAAA,IAAI,OAAA,CAAQ,YAAY,MAAA,EAAQ;AAC9B,MAAA,MAAM,UAAA,GAAa,QAAA,CAAS,MAAA,EAAQ,QAAQ,CAAA;AAC5C,MAAA,IAAI,CAAC,WAAW,KAAA,EAAO;AACrB,QAAA,OAAA,CAAQ,IAAA,CAAK,kCAAA,EAAoC,UAAA,CAAW,QAAQ,CAAA;AAAA,MACtE;AAAA,IACF;AAEA,IAAA,MAAM,MAAA,GAA4B;AAAA,MAChC,UAAA;AAAA,MACA,MAAA,EAAQ,gBAAA;AAAA,MACR,MAAA,EAAQ,EAAE,IAAA,EAAM,UAAA,EAAY,IAAI,QAAA,EAAS;AAAA,MACzC,UAAU;AAAC,KACb;AACA,IAAA,IAAI,QAAQ,gBAAA,EAAkB;AAC5B,MAAA,MAAA,CAAO,QAAA,GAAW,IAAA;AAAA,IACpB;AACA,IAAA,OAAO,MAAA;AAAA,EACT;AAAA,EAEQ,eAAA,CAAgB,MAAA,EAAiB,UAAA,EAAoB,QAAA,EAA2B;AACtF,IAAA,MAAM,QAAA,GAAW,IAAA,CAAK,aAAA,CAAc,UAAU,CAAA;AAC9C,IAAA,MAAM,MAAA,GAAS,IAAA,CAAK,aAAA,CAAc,QAAQ,CAAA;AAC1C,IAAA,MAAM,eAAA,GAAkB,IAAA,CAAK,oBAAA,CAAqB,UAAU,CAAA;AAC5D,IAAA,MAAM,SAAA,GAAwB;AAAA,MAC5B,UAAU,EAAC;AAAA,MACX,WAAW,EAAC;AAAA,MACZ,QAAQ,EAAC;AAAA,MACT,SAAS,EAAC;AAAA,MACV,UAAU,EAAC;AAAA,MACX,QAAQ,EAAC;AAAA,MACT,YAAY,EAAC;AAAA,MACb,aAAa;AAAC,KAChB;AAEA,IAAA,OAAO,MAAA,CAAO,IAAI,CAAA,KAAA,KAAS;AACzB,MAAA,IAAI,aAAa,KAAA,CAAM,KAAA;AAGvB,MAAA,IAAI,IAAA,CAAK,mBAAA,CAAoB,KAAK,CAAA,EAAG;AAEnC,QAAA,IAAI,UAAA,KAAe,IAAA,IAAQ,QAAA,KAAa,IAAA,EAAM;AAE5C,UAAA,MAAM,UAAU,IAAA,CAAK,eAAA,CAAgB,MAAM,KAAA,EAAO,QAAA,IAAY,WAAW,eAAe,CAAA;AACxF,UAAA,IAAI,OAAA,EAAS;AACX,YAAA,UAAA,GACE,IAAA,CAAK,gBAAgB,OAAA,EAAS,MAAA,IAAU,2BAAW,IAAI,GAAA,EAAK,CAAA,IAAK,KAAA,CAAM,KAAA;AAAA,UAC3E;AAAA,QACF,CAAA,MAAA,IAAW,eAAe,IAAA,EAAM;AAE9B,UAAA,UAAA,GACE,IAAA,CAAK,eAAA,CAAgB,KAAA,CAAM,KAAA,EAAO,MAAA,IAAU,2BAAW,IAAI,GAAA,EAAK,CAAA,IAAK,KAAA,CAAM,KAAA;AAAA,QAC/E,CAAA,MAAO;AAEL,UAAA,UAAA,GACE,IAAA,CAAK,gBAAgB,KAAA,CAAM,KAAA,EAAO,YAAY,SAAA,EAAW,eAAe,KACxE,KAAA,CAAM,KAAA;AAAA,QACV;AAAA,MACF;AAEA,MAAA,OAAO;AAAA,QACL,GAAG,KAAA;AAAA,QACH;AAAA,OACF;AAAA,IACF,CAAC,CAAA;AAAA,EACH;AAAA,EAEQ,eAAA,CACN,IAAA,EACA,IAAA,EACA,WAAA,EACe;AACf,IAAA,MAAM,SAAA,GAAY,KAAK,WAAA,EAAY;AAGnC,IAAA,IAAI,WAAA,CAAY,OAAO,CAAA,EAAG;AACxB,MAAA,MAAM,OAAA,GAAU,WAAA,CAAY,GAAA,CAAI,SAAS,CAAA;AACzC,MAAA,IAAI,SAAS,OAAO,OAAA;AAAA,IACtB;AAGA,IAAA,MAAM,aAAA,GAAgB;AAAA,MACpB,QAAA;AAAA,MACA,UAAA;AAAA,MACA,aAAA;AAAA,MACA,WAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,MACA,QAAA;AAAA,MACA;AAAA,KACF;AAEA,IAAA,KAAA,MAAW,YAAY,aAAA,EAAe;AACpC,MAAA,MAAM,YAAA,GAAe,KAAK,QAA4B,CAAA;AACtD,MAAA,IAAI,YAAA,IAAgB,OAAO,YAAA,KAAiB,QAAA,EAAU;AACpD,QAAA,KAAA,MAAW,CAAC,GAAA,EAAK,KAAK,KAAK,MAAA,CAAO,OAAA,CAAQ,YAAY,CAAA,EAAG;AACvD,UAAA,IAAI,GAAA,CAAI,WAAA,EAAY,KAAM,SAAA,EAAW,OAAO,KAAA;AAAA,QAC9C;AAAA,MACF;AAAA,IACF;AAEA,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEQ,oBAAoB,KAAA,EAAuB;AACjD,IAAA,MAAM,iBAAA,GAAiC;AAAA,MACrC,SAAA;AAAA,MACA,UAAA;AAAA,MACA,OAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,MACA,OAAA;AAAA,MACA,WAAA;AAAA,MACA;AAAA,KACF;AACA,IAAA,OAAO,iBAAA,CAAkB,QAAA,CAAS,KAAA,CAAM,IAAI,CAAA;AAAA,EAC9C;AAAA,EAEQ,gBAAgB,MAAA,EAAyB;AAC/C,IAAA,OAAO,MAAA,CAAO,IAAI,CAAA,KAAA,KAAS,KAAA,CAAM,cAAc,KAAA,CAAM,KAAK,CAAA,CAAE,IAAA,CAAK,EAAE,CAAA;AAAA,EACrE;AAAA,EAEA,eAAe,IAAA,EAAsB;AACnC,IAAA,IAAI,CAAC,IAAA,CAAK,MAAA,CAAO,YAAA,EAAc;AAC7B,MAAA,OAAO,KAAK,MAAA,CAAO,MAAA;AAAA,IACrB;AAEA,IAAA,OAAO,YAAA,CAAa,MAAM,KAAA,CAAM,IAAA,CAAK,KAAK,YAAA,CAAa,IAAA,EAAM,CAAC,CAAA;AAAA,EAChE;AAAA,EAEA,aAAA,CAAc,QAAgB,UAAA,EAA8B;AAC1D,IAAA,IAAA,CAAK,YAAA,CAAa,GAAA,CAAI,MAAA,EAAQ,UAAU,CAAA;AAGxC,IAAA,MAAM,WAAA,uBAAkB,GAAA,EAAoB;AAE5C,IAAA,KAAA,MAAW,YAAY,qBAAA,EAAuB;AAC5C,MAAA,MAAM,YAAA,GAAe,WAAW,QAAQ,CAAA;AACxC,MAAA,IAAI,YAAA,EAAc;AAChB,QAAA,KAAA,MAAW,CAAC,OAAA,EAAS,UAAU,KAAK,MAAA,CAAO,OAAA,CAAQ,YAAY,CAAA,EAAG;AAChE,UAAA,WAAA,CAAY,GAAA,CAAI,UAAA,CAAW,WAAA,EAAY,EAAG,OAAO,CAAA;AAAA,QACnD;AAAA,MACF;AAAA,IACF;AAEA,IAAA,IAAA,CAAK,mBAAA,CAAoB,GAAA,CAAI,MAAA,EAAQ,WAAW,CAAA;AAAA,EAClD;AAAA,EAEA,cAAc,MAAA,EAAwC;AACpD,IAAA,OAAO,IAAA,CAAK,YAAA,CAAa,GAAA,CAAI,MAAM,CAAA;AAAA,EACrC;AAAA,EAEQ,qBAAqB,MAAA,EAAqC;AAChE,IAAA,OAAO,KAAK,mBAAA,CAAoB,GAAA,CAAI,MAAM,CAAA,wBAAS,GAAA,EAAI;AAAA,EACzD;AAAA,EAEA,mBAAA,GAAgC;AAC9B,IAAA,OAAO,KAAA,CAAM,IAAA,CAAK,IAAA,CAAK,YAAA,CAAa,MAAM,CAAA;AAAA,EAC5C;AAAA,EAEA,mBAAmB,MAAA,EAAkC;AACnD,IAAA,MAAM,IAAA,GAAO,IAAA,CAAK,aAAA,CAAc,MAAM,CAAA;AACtC,IAAA,IAAI,CAAC,IAAA,EAAM;AACT,MAAA,OAAO;AAAA,QACL,KAAA,EAAO,KAAA;AAAA,QACP,MAAA,EAAQ;AAAA,UACN,EAAE,MAAM,SAAA,EAAW,GAAA,EAAK,QAAQ,OAAA,EAAS,CAAA,iCAAA,EAAoC,MAAM,CAAA,CAAA;AAAG,SACxF;AAAA,QACA,UAAU,EAAC;AAAA,QACX,QAAA,EAAU,EAAE,KAAA,EAAO,CAAA,EAAG,YAAY,CAAA,EAAG,OAAA,EAAS,EAAC;AAAE,OACnD;AAAA,IACF;AAEA,IAAA,OAAO,QAAA,CAAS,MAAM,MAAM,CAAA;AAAA,EAC9B;AAAA,EAEA,MAAM,MAAA,EAAyB;AAC7B,IAAA,MAAM,UAAA,GAAa,KAAK,MAAA,CAAO,UAAA,IAAc,CAAC,IAAA,EAAM,IAAA,EAAM,MAAM,IAAI,CAAA;AACpE,IAAA,OAAO,UAAA,CAAW,SAAS,MAAM,CAAA;AAAA,EACnC;AAAA,EAEA,eAAe,OAAA,EAAuE;AACpF,IAAA,MAAM,IAAA,GAAO,IAAA,CAAK,aAAA,CAAc,OAAA,CAAQ,MAAM,CAAA;AAC9C,IAAA,IAAI,CAAC,IAAA,EAAM,OAAO,EAAC;AAEnB,IAAA,MAAM,cAAwB,EAAC;AAG/B,IAAA,MAAM,eAAe,OAAA,CAAQ,IAAA,CAAK,SAAA,CAAU,CAAA,EAAG,QAAQ,QAAQ,CAAA;AAC/D,IAAA,MAAM,UAAU,YAAA,CAAa,KAAA,CAAM,UAAU,CAAA,GAAI,CAAC,CAAA,IAAK,EAAA;AACvD,IAAA,MAAM,YAAA,GAAe,QAAQ,WAAA,EAAY;AAIzC,IAAA,KAAA,MAAW,YAAY,qBAAA,EAAuB;AAC5C,MAAA,MAAM,YAAA,GAAe,KAAK,QAAQ,CAAA;AAClC,MAAA,IAAI,YAAA,EAAc;AAChB,QAAA,KAAA,MAAW,CAAC,GAAA,EAAK,KAAK,KAAK,MAAA,CAAO,OAAA,CAAQ,YAAY,CAAA,EAAG;AAEvD,UAAA,IAAI,GAAA,CAAI,WAAA,EAAY,CAAE,UAAA,CAAW,YAAY,CAAA,EAAG;AAC9C,YAAA,WAAA,CAAY,KAAK,GAAG,CAAA;AAAA,UACtB;AACA,UAAA,IAAI,KAAA,CAAM,WAAA,EAAY,CAAE,UAAA,CAAW,YAAY,KAAK,CAAC,WAAA,CAAY,QAAA,CAAS,KAAK,CAAA,EAAG;AAChF,YAAA,WAAA,CAAY,KAAK,KAAK,CAAA;AAAA,UACxB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,IAAA,OAAO,WAAA;AAAA,EACT;AACF,CAAA;AAG0B,IAAI,qBAAA,CAAsB,EAAE,MAAA,EAAQ,MAAM;;;ACjSpE,IAAI,KAAA;AACJ,IAAI;AAEF,EAAA,KAAA,GAAQ,SAAA,CAAQ,kBAAkB,CAAA,CAAE,KAAA;AACtC,CAAA,CAAA,MAAQ;AACN,EAAA,KAAA,GAAQ,IAAA;AACV;AAWO,SAAS,yBAAA,CAA0B,OAAA,GAAsC,EAAC,EAAW;AAC1F,EAAA,MAAM;AAAA,IACJ,YAAA,GAAe,IAAA;AAAA,IACf,YAAA,GAAe,IAAA;AAAA,IACf,gBAAA,GAAmB,KAAA;AAAA,IACnB,UAAA,GAAa,CAAC,GAAA,EAAK,QAAA,EAAU,aAAa,CAAA;AAAA,IAC1C,OAAA,GAAU,sBAAA;AAAA,IACV,OAAA,GAAU;AAAA,GACZ,GAAI,OAAA;AAEJ,EAAA,MAAMC,cAAa,IAAI,qBAAA,CAAsB,EAAE,MAAA,EAAQ,cAAc,CAAA;AAErE,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,8BAAA;AAAA,IAEN,SAAA,CAAU,MAAcR,GAAAA,EAAY;AAElC,MAAA,IAAI,CAAC,aAAA,CAAcA,GAAAA,EAAI,OAAA,EAAS,OAAO,CAAA,EAAG;AACxC,QAAA,OAAO,IAAA;AAAA,MACT;AAGA,MAAA,IAAI,iBAAiB,YAAA,EAAc;AACjC,QAAA,OAAO,IAAA;AAAA,MACT;AAEA,MAAA,IAAI;AAEF,QAAA,IAAIA,GAAAA,CAAG,QAAA,CAAS,OAAO,CAAA,EAAG;AACxB,UAAA,OAAO,aAAA,CAAc,MAAMQ,WAAAA,EAAY;AAAA,YACrC,YAAA;AAAA,YACA,YAAA;AAAA,YACA,gBAAA;AAAA,YACA;AAAA,WACD,CAAA;AAAA,QACH;AAGA,QAAA,IAAIR,GAAAA,CAAG,QAAA,CAAS,MAAM,CAAA,EAAG;AACvB,UAAA,OAAO,YAAA,CAAa,MAAMQ,WAAAA,EAAY;AAAA,YACpC,YAAA;AAAA,YACA,YAAA;AAAA,YACA,gBAAA;AAAA,YACA;AAAA,WACD,CAAA;AAAA,QACH;AAGA,QAAA,IAAIR,GAAAA,CAAG,QAAA,CAAS,SAAS,CAAA,EAAG;AAC1B,UAAA,OAAO,eAAA,CAAgB,MAAMQ,WAAAA,EAAY;AAAA,YACvC,YAAA;AAAA,YACA,YAAA;AAAA,YACA,gBAAA;AAAA,YACA;AAAA,WACD,CAAA;AAAA,QACH;AAEA,QAAA,OAAO,IAAA;AAAA,MACT,SAAS,KAAA,EAAgB;AACvB,QAAA,MAAM,UAAU,KAAA,YAAiB,KAAA,GAAQ,KAAA,CAAM,OAAA,GAAU,OAAO,KAAK,CAAA;AACrE,QAAA,IAAA,CAAK,KAAA,CAAM,CAAA,kBAAA,EAAqBR,GAAE,CAAA,EAAA,EAAK,OAAO,CAAA,CAAE,CAAA;AAAA,MAClD;AAAA,IACF,CAAA;AAAA,IAEA,gBAAgB,MAAA,EAAQ;AAEtB,MAAA,MAAA,CAAO,WAAA,CAAY,GAAA,CAAI,CAAC,IAAA,EAAM,KAAK,IAAA,KAAS;AAE1C,QAAA,GAAA,CAAI,SAAA,CAAU,6BAA6B,YAAY,CAAA;AACvD,QAAA,GAAA,CAAI,SAAA,CAAU,6BAA6B,YAAY,CAAA;AACvD,QAAA,IAAA,EAAK;AAAA,MACP,CAAC,CAAA;AAAA,IACH;AAAA,GACF;AACF;AAEA,SAAS,aAAA,CACPA,GAAAA,EACA,OAAA,EACA,OAAA,EACS;AACT,EAAA,MAAM,cAAA,GAAiB,KAAA,CAAM,OAAA,CAAQ,OAAO,CAAA,GAAI,IAAI,MAAA,CAAO,OAAA,CAAQ,IAAA,CAAK,GAAG,CAAC,CAAA,GAAI,OAAA;AAEhF,EAAA,MAAM,cAAA,GAAiB,KAAA,CAAM,OAAA,CAAQ,OAAO,CAAA,GAAI,IAAI,MAAA,CAAO,OAAA,CAAQ,IAAA,CAAK,GAAG,CAAC,CAAA,GAAI,OAAA;AAEhF,EAAA,OAAO,eAAe,IAAA,CAAKA,GAAE,KAAK,CAAC,cAAA,CAAe,KAAKA,GAAE,CAAA;AAC3D;AAEA,SAAS,aAAA,CACP,IAAA,EACAQ,WAAAA,EACA,OAAA,EAM6B;AAC7B,EAAA,MAAM,IAAA,GAAO,MAAM,IAAI,CAAA;AACvB,EAAA,IAAI,kBAAA,GAAqB,KAAA;AAGzB,EAAA,OAAA,CAAQ,UAAA,CAAW,QAAQ,CAAA,IAAA,KAAQ;AACjC,IAAA,MAAM,QAAA,GAAW,IAAA,CAAK,gBAAA,CAAiB,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,CAAG,CAAA;AAElD,IAAA,QAAA,CAAS,OAAA,CAAQ,CAAC,OAAA,KAAiB;AACjC,MAAA,MAAM,QAAA,GAAW,OAAA,CAAQ,YAAA,CAAa,IAAI,CAAA;AAC1C,MAAA,IAAI,CAAC,QAAA,EAAU;AAEf,MAAA,MAAM,UAAA,GAAaA,WAAAA,CAAW,SAAA,CAAU,QAAA,EAAU;AAAA,QAChD,MAAM,OAAA,CAAQ,YAAA;AAAA,QACd,IAAI,OAAA,CAAQ;AAAA,OACb,CAAA;AAED,MAAA,IAAI,aAAa,UAAA,EAAY;AAC3B,QAAA,kBAAA,GAAqB,IAAA;AAErB,QAAA,IAAI,QAAQ,gBAAA,EAAkB;AAC5B,UAAA,OAAA,CAAQ,aAAa,CAAA,EAAG,IAAI,IAAI,OAAA,CAAQ,YAAY,IAAI,QAAQ,CAAA;AAAA,QAClE;AAEA,QAAA,OAAA,CAAQ,YAAA,CAAa,MAAM,UAAU,CAAA;AAAA,MACvC;AAAA,IACF,CAAC,CAAA;AAAA,EACH,CAAC,CAAA;AAED,EAAA,IAAI,CAAC,kBAAA,EAAoB;AACvB,IAAA,OAAO,EAAE,MAAM,IAAA,EAAK;AAAA,EACtB;AAEA,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,KAAK,QAAA,EAAS;AAAA,IACpB,GAAA,EAAK;AAAA;AAAA,GACP;AACF;AAEA,SAAS,YAAA,CACP,IAAA,EACAA,WAAAA,EACA,OAAA,EAC6B;AAE7B,EAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,KAAA,CAAM,uCAAuC,CAAA;AACxE,EAAA,IAAI,CAAC,aAAA,EAAe;AAClB,IAAA,OAAO,EAAE,IAAA,EAAK;AAAA,EAChB;AAEA,EAAA,MAAM,QAAA,GAAW,cAAc,CAAC,CAAA;AAChC,EAAA,MAAM,WAAA,GAAc,aAAA,CAAc,QAAA,EAAUA,WAAAA,EAAY,OAAO,CAAA;AAE/D,EAAA,IAAI,WAAA,CAAY,SAAS,QAAA,EAAU;AACjC,IAAA,OAAO,EAAE,IAAA,EAAK;AAAA,EAChB;AAGA,EAAA,MAAM,OAAA,GAAU,KAAK,OAAA,CAAQ,aAAA,CAAc,CAAC,CAAA,EAAG,CAAA,UAAA,EAAa,WAAA,CAAY,IAAI,CAAA,WAAA,CAAa,CAAA;AAEzF,EAAA,OAAO,EAAE,MAAM,OAAA,EAAQ;AACzB;AAEA,SAAS,eAAA,CACP,IAAA,EACAA,WAAAA,EACA,OAAA,EAC6B;AAE7B,EAAA,MAAM,WAAA,GAAc,IAAA,CAAK,KAAA,CAAM,kCAAkC,CAAA;AACjE,EAAA,MAAM,UAAA,GAAa,IAAA,CAAK,KAAA,CAAM,gCAAgC,CAAA;AAG9D,EAAA,IAAI,IAAA,GAAO,IAAA;AACX,EAAA,IAAI,WAAA,EAAa;AACf,IAAA,WAAA,CAAY,QAAQ,CAAA,MAAA,KAAU;AAC5B,MAAA,IAAA,GAAO,IAAA,CAAK,OAAA,CAAQ,MAAA,EAAQ,EAAE,CAAA;AAAA,IAChC,CAAC,CAAA;AAAA,EACH;AACA,EAAA,IAAI,UAAA,EAAY;AACd,IAAA,UAAA,CAAW,QAAQ,CAAA,KAAA,KAAS;AAC1B,MAAA,IAAA,GAAO,IAAA,CAAK,OAAA,CAAQ,KAAA,EAAO,EAAE,CAAA;AAAA,IAC/B,CAAC,CAAA;AAAA,EACH;AAEA,EAAA,MAAM,WAAA,GAAc,aAAA,CAAc,IAAA,EAAMA,WAAAA,EAAY,OAAO,CAAA;AAE3D,EAAA,IAAI,WAAA,CAAY,SAAS,IAAA,EAAM;AAC7B,IAAA,OAAO,EAAE,IAAA,EAAK;AAAA,EAChB;AAGA,EAAA,IAAI,OAAA,GAAU,EAAA;AACd,EAAA,IAAI,WAAA,EAAa;AACf,IAAA,OAAA,IAAW,WAAA,CAAY,IAAA,CAAK,IAAI,CAAA,GAAI,MAAA;AAAA,EACtC;AACA,EAAA,OAAA,IAAW,WAAA,CAAY,IAAA;AACvB,EAAA,IAAI,UAAA,EAAY;AACd,IAAA,OAAA,IAAW,MAAA,GAAS,UAAA,CAAW,IAAA,CAAK,IAAI,CAAA;AAAA,EAC1C;AAEA,EAAA,OAAO,EAAE,MAAM,OAAA,EAAQ;AACzB","file":"vite.cjs","sourcesContent":["// packages/i18n/src/types.ts\n\n/**\n * Dictionary category names as a union type for type-safe access.\n */\nexport type DictionaryCategory =\n | 'commands'\n | 'modifiers'\n | 'events'\n | 'logical'\n | 'temporal'\n | 'values'\n | 'attributes'\n | 'expressions';\n\n/**\n * All valid dictionary categories.\n */\nexport const DICTIONARY_CATEGORIES: readonly DictionaryCategory[] = [\n 'commands',\n 'modifiers',\n 'events',\n 'logical',\n 'temporal',\n 'values',\n 'attributes',\n 'expressions',\n] as const;\n\n/**\n * Dictionary structure for i18n translations.\n * Maps English canonical keywords to locale-specific translations.\n *\n * Note: Index signature removed for stricter type safety.\n * Use DICTIONARY_CATEGORIES to iterate over categories.\n */\nexport interface Dictionary {\n commands: Record<string, string>;\n modifiers: Record<string, string>;\n events: Record<string, string>;\n logical: Record<string, string>;\n temporal: Record<string, string>;\n values: Record<string, string>;\n attributes: Record<string, string>;\n expressions: Record<string, string>;\n}\n\n// =============================================================================\n// Type Guards\n// =============================================================================\n\n/**\n * Type guard to check if a string is a valid dictionary category.\n */\nexport function isDictionaryCategory(key: string): key is DictionaryCategory {\n return DICTIONARY_CATEGORIES.includes(key as DictionaryCategory);\n}\n\n/**\n * Safely get a category from a dictionary with type narrowing.\n * Returns undefined if the category doesn't exist.\n */\nexport function getDictionaryCategory(\n dict: Dictionary,\n category: string\n): Record<string, string> | undefined {\n if (isDictionaryCategory(category)) {\n return dict[category];\n }\n return undefined;\n}\n\n/**\n * Iterate over all categories in a dictionary with proper typing.\n */\nexport function forEachCategory(\n dict: Dictionary,\n callback: (category: DictionaryCategory, entries: Record<string, string>) => void\n): void {\n for (const category of DICTIONARY_CATEGORIES) {\n callback(category, dict[category]);\n }\n}\n\n/**\n * Find a translation in any category of a dictionary.\n * Returns the English key if found, undefined otherwise.\n */\nexport function findInDictionary(\n dict: Dictionary,\n localizedWord: string\n): { category: DictionaryCategory; englishKey: string } | undefined {\n const normalized = localizedWord.toLowerCase();\n for (const category of DICTIONARY_CATEGORIES) {\n const entries = dict[category];\n for (const [english, localized] of Object.entries(entries)) {\n if (localized.toLowerCase() === normalized) {\n return { category, englishKey: english };\n }\n }\n }\n return undefined;\n}\n\n/**\n * Find a translation for an English word in any category.\n * Returns the localized word if found, undefined otherwise.\n */\nexport function translateFromEnglish(dict: Dictionary, englishWord: string): string | undefined {\n const normalized = englishWord.toLowerCase();\n for (const category of DICTIONARY_CATEGORIES) {\n const entries = dict[category];\n const translated = entries[normalized];\n if (translated) {\n return translated;\n }\n }\n return undefined;\n}\n\nexport interface I18nConfig {\n locale: string;\n fallbackLocale?: string;\n dictionaries?: Record<string, Dictionary>;\n detectLocale?: boolean;\n rtlLocales?: string[];\n preserveOriginalAttribute?: string;\n}\n\nexport interface TranslationOptions {\n from?: string;\n to: string;\n preserveOriginal?: boolean;\n validate?: boolean;\n}\n\nexport interface ValidationResult {\n valid: boolean;\n errors: ValidationError[];\n warnings: ValidationWarning[];\n coverage: {\n total: number;\n translated: number;\n missing: string[];\n };\n}\n\nexport interface ValidationError {\n type: 'missing' | 'invalid' | 'duplicate';\n key: string;\n message: string;\n}\n\nexport interface ValidationWarning {\n type: 'unused' | 'deprecated' | 'inconsistent';\n key: string;\n message: string;\n}\n\nexport interface LocaleMetadata {\n code: string;\n name: string;\n nativeName: string;\n rtl: boolean;\n pluralRules?: (n: number) => string;\n}\n\nexport interface TranslationContext {\n locale: string;\n direction: 'ltr' | 'rtl';\n dictionary: Dictionary;\n metadata: LocaleMetadata;\n}\n\nexport type TokenType =\n | 'command'\n | 'modifier'\n | 'event'\n | 'logical'\n | 'temporal'\n | 'value'\n | 'attribute'\n | 'expression'\n | 'identifier'\n | 'operator'\n | 'literal';\n\nexport interface Token {\n type: TokenType;\n value: string;\n translated?: string;\n position: {\n start: number;\n end: number;\n line: number;\n column: number;\n };\n}\n\nexport interface TranslationResult {\n translated: string;\n original?: string;\n tokens: Token[];\n locale: {\n from: string;\n to: string;\n };\n warnings?: string[];\n}\n","// packages/i18n/src/dictionaries/en.ts\n\nimport { Dictionary } from '../types';\n\n/**\n * English dictionary - identity mapping since English is the canonical hyperscript language.\n * This exists primarily for symmetry in translation operations (e.g., en -> es).\n */\nexport const en: Dictionary = {\n commands: {\n // Event handling\n on: 'on',\n tell: 'tell',\n trigger: 'trigger',\n send: 'send',\n\n // DOM manipulation\n take: 'take',\n put: 'put',\n set: 'set',\n get: 'get',\n add: 'add',\n remove: 'remove',\n toggle: 'toggle',\n hide: 'hide',\n show: 'show',\n\n // Control flow\n if: 'if',\n unless: 'unless',\n repeat: 'repeat',\n for: 'for',\n while: 'while',\n until: 'until',\n continue: 'continue',\n break: 'break',\n halt: 'halt',\n\n // Async\n wait: 'wait',\n fetch: 'fetch',\n call: 'call',\n return: 'return',\n\n // Other commands\n make: 'make',\n log: 'log',\n throw: 'throw',\n catch: 'catch',\n measure: 'measure',\n transition: 'transition',\n\n // Data Commands\n increment: 'increment',\n decrement: 'decrement',\n bind: 'bind',\n default: 'default',\n persist: 'persist',\n\n // Navigation Commands\n go: 'go',\n pushUrl: 'pushUrl',\n replaceUrl: 'replaceUrl',\n\n // Utility Commands\n copy: 'copy',\n pick: 'pick',\n beep: 'beep',\n\n // Advanced Commands\n js: 'js',\n async: 'async',\n render: 'render',\n\n // Animation Commands\n swap: 'swap',\n morph: 'morph',\n settle: 'settle',\n\n // Content Commands\n append: 'append',\n\n // Control Flow\n exit: 'exit',\n\n // Behaviors\n install: 'install',\n },\n\n modifiers: {\n to: 'to',\n from: 'from',\n into: 'into',\n with: 'with',\n at: 'at',\n in: 'in',\n of: 'of',\n as: 'as',\n by: 'by',\n before: 'before',\n after: 'after',\n over: 'over',\n under: 'under',\n between: 'between',\n through: 'through',\n without: 'without',\n },\n\n events: {\n click: 'click',\n dblclick: 'dblclick',\n mousedown: 'mousedown',\n mouseup: 'mouseup',\n mouseenter: 'mouseenter',\n mouseleave: 'mouseleave',\n mouseover: 'mouseover',\n mouseout: 'mouseout',\n mousemove: 'mousemove',\n\n keydown: 'keydown',\n keyup: 'keyup',\n keypress: 'keypress',\n\n focus: 'focus',\n blur: 'blur',\n change: 'change',\n input: 'input',\n submit: 'submit',\n reset: 'reset',\n\n load: 'load',\n unload: 'unload',\n resize: 'resize',\n scroll: 'scroll',\n\n touchstart: 'touchstart',\n touchend: 'touchend',\n touchmove: 'touchmove',\n touchcancel: 'touchcancel',\n },\n\n logical: {\n when: 'when',\n where: 'where',\n and: 'and',\n or: 'or',\n not: 'not',\n is: 'is',\n exists: 'exists',\n matches: 'matches',\n contains: 'contains',\n includes: 'includes',\n equals: 'equals',\n has: 'has', // third-person: \"it has .class\", \"#element has .class\"\n have: 'have', // first-person: \"I have .class\"\n then: 'then',\n else: 'else',\n otherwise: 'otherwise',\n end: 'end',\n },\n\n temporal: {\n seconds: 'seconds',\n second: 'second',\n milliseconds: 'milliseconds',\n millisecond: 'millisecond',\n minutes: 'minutes',\n minute: 'minute',\n hours: 'hours',\n hour: 'hour',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'h',\n },\n\n values: {\n true: 'true',\n false: 'false',\n null: 'null',\n undefined: 'undefined',\n it: 'it',\n its: 'its',\n me: 'me',\n my: 'my',\n myself: 'myself',\n you: 'you',\n your: 'your',\n yourself: 'yourself',\n element: 'element',\n target: 'target',\n detail: 'detail',\n event: 'event',\n window: 'window',\n document: 'document',\n body: 'body',\n result: 'result',\n value: 'value',\n },\n\n attributes: {\n class: 'class',\n classes: 'classes',\n style: 'style',\n styles: 'styles',\n attribute: 'attribute',\n attributes: 'attributes',\n property: 'property',\n properties: 'properties',\n },\n\n expressions: {\n // Positional\n first: 'first',\n last: 'last',\n next: 'next',\n previous: 'previous',\n prev: 'prev',\n at: 'at',\n random: 'random',\n\n // DOM Traversal\n closest: 'closest',\n parent: 'parent',\n children: 'children',\n within: 'within',\n\n // Emptiness/Existence\n no: 'no',\n empty: 'empty',\n some: 'some',\n\n // String operations\n 'starts with': 'starts with',\n 'ends with': 'ends with',\n },\n};\n","// packages/i18n/src/dictionaries/es.ts\n\nimport { Dictionary } from '../types';\n\nexport const es: Dictionary = {\n commands: {\n // Event handling\n on: 'en',\n tell: 'decir',\n trigger: 'disparar',\n send: 'enviar',\n\n // DOM manipulation\n take: 'tomar',\n put: 'poner',\n set: 'establecer',\n get: 'obtener',\n add: 'agregar',\n remove: 'quitar',\n toggle: 'alternar',\n hide: 'ocultar',\n show: 'mostrar',\n\n // Control flow\n if: 'si',\n unless: 'menos',\n repeat: 'repetir',\n for: 'para',\n while: 'mientras',\n until: 'hasta',\n continue: 'continuar',\n break: 'romper',\n halt: 'detener',\n\n // Async\n wait: 'esperar',\n fetch: 'buscar',\n call: 'llamar',\n return: 'retornar',\n\n // Other commands\n make: 'hacer',\n log: 'registrar',\n throw: 'lanzar',\n catch: 'atrapar',\n measure: 'medir',\n transition: 'transición',\n\n // Data Commands\n increment: 'incrementar',\n decrement: 'decrementar',\n bind: 'vincular',\n default: 'predeterminar',\n persist: 'persistir',\n\n // Navigation Commands\n go: 'ir',\n pushUrl: 'pushUrl',\n replaceUrl: 'reemplazarUrl',\n\n // Utility Commands\n copy: 'copiar',\n pick: 'escoger',\n beep: 'pitido',\n\n // Advanced Commands\n js: 'js',\n async: 'asíncrono',\n render: 'renderizar',\n\n // Animation Commands\n swap: 'intercambiar',\n morph: 'transformar',\n settle: 'estabilizar',\n\n // Content Commands\n append: 'añadir',\n\n // Control Flow\n exit: 'salir',\n\n // Behaviors\n install: 'instalar',\n },\n\n modifiers: {\n to: 'a',\n from: 'de',\n into: 'en',\n with: 'con',\n at: 'en',\n in: 'en',\n of: 'de',\n as: 'como',\n by: 'por',\n before: 'antes',\n after: 'después',\n over: 'sobre',\n under: 'bajo',\n between: 'entre',\n through: 'través',\n without: 'sin',\n },\n\n events: {\n click: 'clic',\n dblclick: 'dobleclic',\n mousedown: 'ratónabajo',\n mouseup: 'ratónarriba',\n mouseenter: 'ratónentrar',\n mouseleave: 'ratónsalir',\n mouseover: 'ratónencima',\n mouseout: 'ratónfuera',\n mousemove: 'ratónmover',\n\n keydown: 'teclaabajo',\n keyup: 'teclaarriba',\n keypress: 'teclapresar',\n\n focus: 'enfocar',\n blur: 'desenfocar',\n change: 'cambiar',\n input: 'entrada',\n submit: 'enviar',\n reset: 'reiniciar',\n\n load: 'cargar',\n unload: 'descargar',\n resize: 'redimensionar',\n scroll: 'desplazar',\n\n touchstart: 'toqueempezar',\n touchend: 'toqueterminar',\n touchmove: 'toquemover',\n touchcancel: 'toquecancelar',\n },\n\n logical: {\n when: 'cuando',\n where: 'donde',\n and: 'y',\n or: 'o',\n not: 'no',\n is: 'es',\n exists: 'existe',\n matches: 'coincide',\n contains: 'contiene',\n includes: 'incluye',\n equals: 'iguala',\n has: 'tiene', // third-person: él/ella tiene\n have: 'tengo', // first-person: yo tengo\n then: 'entonces',\n else: 'sino',\n otherwise: 'delocontrario',\n end: 'fin',\n },\n\n temporal: {\n seconds: 'segundos',\n second: 'segundo',\n milliseconds: 'milisegundos',\n millisecond: 'milisegundo',\n minutes: 'minutos',\n minute: 'minuto',\n hours: 'horas',\n hour: 'hora',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'h',\n },\n\n values: {\n true: 'verdadero',\n false: 'falso',\n null: 'nulo',\n undefined: 'indefinido',\n it: 'ello',\n its: 'su',\n me: 'yo',\n my: 'mi',\n you: 'tu',\n your: 'tu',\n yourself: 'ti mismo', // REVIEW: native speaker\n myself: 'yo mismo',\n element: 'elemento',\n target: 'objetivo',\n detail: 'detalle',\n event: 'evento',\n window: 'ventana',\n document: 'documento',\n body: 'cuerpo',\n result: 'resultado',\n value: 'valor',\n },\n\n attributes: {\n class: 'clase',\n classes: 'clases',\n style: 'estilo',\n styles: 'estilos',\n attribute: 'atributo',\n attributes: 'atributos',\n property: 'propiedad',\n properties: 'propiedades',\n },\n\n expressions: {\n // Positional\n first: 'primero',\n last: 'último',\n next: 'siguiente',\n previous: 'anterior',\n prev: 'ant',\n at: 'en',\n random: 'aleatorio',\n\n // DOM Traversal\n closest: 'máscercano',\n parent: 'padre',\n children: 'hijos',\n within: 'dentro',\n\n // Emptiness/Existence\n no: 'ningún',\n empty: 'vacío',\n some: 'algún',\n\n // String operations\n 'starts with': 'empieza con',\n 'ends with': 'termina con',\n },\n};\n","// packages/i18n/src/dictionaries/ko.ts\n\nimport { Dictionary } from '../types';\n\nexport const ko: Dictionary = {\n commands: {\n // Event handling\n on: '에',\n tell: '말하다',\n trigger: '트리거',\n send: '보내다',\n\n // DOM manipulation\n take: '가져오다',\n put: '넣다',\n set: '설정',\n get: '얻다',\n add: '추가',\n remove: '제거',\n toggle: '토글',\n hide: '숨기다',\n show: '보이다',\n\n // Control flow\n if: '만약',\n unless: '아니면',\n repeat: '반복',\n for: '동안',\n while: '동안',\n until: '까지',\n continue: '계속',\n break: '중단',\n halt: '정지',\n\n // Async\n wait: '대기',\n fetch: '가져오기',\n call: '호출',\n return: '반환',\n\n // Other commands\n make: '만들다',\n log: '로그',\n throw: '던지다',\n catch: '잡다',\n measure: '측정',\n transition: '전환',\n\n // Data Commands\n increment: '증가',\n decrement: '감소',\n bind: '바인드',\n default: '기본값',\n persist: '유지',\n\n // Navigation Commands\n go: '이동',\n pushUrl: 'URL푸시',\n replaceUrl: 'URL교체',\n\n // Utility Commands\n copy: '복사',\n pick: '선택',\n beep: '비프',\n\n // Advanced Commands\n js: 'JS실행',\n async: '비동기',\n render: '렌더링',\n\n // Animation Commands\n swap: '교환',\n morph: '변형',\n settle: '안정',\n\n // Content Commands\n append: '추가',\n\n // Control Flow\n exit: '종료',\n\n // Behaviors\n install: '설치',\n },\n\n modifiers: {\n to: '에',\n from: '에서',\n into: '으로',\n with: '와',\n at: '에',\n in: '안에',\n of: '의',\n as: '로',\n by: '에의해',\n before: '전에',\n after: '후에',\n over: '위에',\n under: '아래',\n between: '사이',\n through: '통해',\n without: '없이',\n },\n\n events: {\n click: '클릭',\n dblclick: '더블클릭',\n mousedown: '마우스다운',\n mouseup: '마우스업',\n mouseenter: '마우스엔터',\n mouseleave: '마우스리브',\n mouseover: '마우스오버',\n mouseout: '마우스아웃',\n mousemove: '마우스무브',\n\n keydown: '키다운',\n keyup: '키업',\n keypress: '키프레스',\n\n focus: '포커스',\n blur: '블러',\n change: '변경',\n input: '입력',\n submit: '제출',\n reset: '리셋',\n\n load: '로드',\n unload: '언로드',\n resize: '리사이즈',\n scroll: '스크롤',\n\n touchstart: '터치시작',\n touchend: '터치종료',\n touchmove: '터치이동',\n touchcancel: '터치취소',\n },\n\n logical: {\n when: '때',\n where: '어디',\n and: '그리고',\n or: '또는',\n not: '아니',\n is: '이다',\n exists: '존재',\n matches: '일치',\n contains: '포함',\n includes: '포함하다',\n equals: '같다',\n has: '있다', // existence verb (context-based)\n have: '있다', // same verb for first/third person\n then: '그러면',\n else: '아니면',\n otherwise: '그렇지않으면',\n end: '끝',\n },\n\n temporal: {\n seconds: '초',\n second: '초',\n milliseconds: '밀리초',\n millisecond: '밀리초',\n minutes: '분',\n minute: '분',\n hours: '시간',\n hour: '시간',\n ms: 'ms',\n s: '초',\n min: '분',\n h: '시',\n },\n\n values: {\n true: '참',\n false: '거짓',\n null: '널',\n undefined: '정의안됨',\n it: '그것',\n its: '그것의', // REVIEW: native speaker\n me: '나',\n my: '내',\n myself: '나자신',\n you: '너', // REVIEW: native speaker - formal/informal\n your: '네', // REVIEW: native speaker - formal/informal\n yourself: '너자신', // REVIEW: native speaker\n element: '요소',\n target: '대상',\n detail: '세부',\n event: '이벤트',\n window: '창',\n document: '문서',\n body: '바디',\n result: '결과',\n value: '값',\n },\n\n attributes: {\n class: '클래스',\n classes: '클래스들',\n style: '스타일',\n styles: '스타일들',\n attribute: '속성',\n attributes: '속성들',\n property: '프로퍼티',\n properties: '프로퍼티들',\n },\n\n expressions: {\n // Positional\n first: '첫번째',\n last: '마지막',\n next: '다음',\n previous: '이전',\n prev: '이전',\n at: '에서',\n random: '무작위',\n\n // DOM Traversal\n closest: '가장가까운',\n parent: '부모',\n children: '자식',\n within: '이내',\n\n // Emptiness/Existence\n no: '없음',\n empty: '비어있는',\n some: '일부',\n\n // String operations\n 'starts with': '로시작',\n 'ends with': '로끝나는',\n },\n};\n","// packages/i18n/src/dictionaries/zh.ts\n\nimport { Dictionary } from '../types';\n\nexport const zh: Dictionary = {\n commands: {\n // Event handling\n on: '当',\n tell: '告诉',\n trigger: '触发',\n send: '发送',\n\n // DOM manipulation\n take: '获取',\n put: '放置',\n set: '设置',\n get: '获得',\n add: '添加',\n remove: '移除',\n toggle: '切换',\n hide: '隐藏',\n show: '显示',\n\n // Control flow\n if: '如果',\n unless: '除非',\n repeat: '重复',\n for: '为',\n while: '当',\n until: '直到',\n continue: '继续',\n break: '中断',\n halt: '停止',\n\n // Async\n wait: '等待',\n fetch: '获取',\n call: '调用',\n return: '返回',\n\n // Other commands\n make: '制作',\n log: '日志',\n throw: '抛出',\n catch: '捕获',\n measure: '测量',\n transition: '过渡',\n\n // Data Commands\n increment: '增加',\n decrement: '减少',\n bind: '绑定',\n default: '默认',\n persist: '持久化',\n\n // Navigation Commands\n go: '前往',\n pushUrl: '推送网址',\n replaceUrl: '替换网址',\n\n // Utility Commands\n copy: '复制',\n pick: '选取',\n beep: '蜂鸣',\n\n // Advanced Commands\n js: 'JS执行',\n async: '异步',\n render: '渲染',\n\n // Animation Commands\n swap: '交换',\n morph: '变形',\n settle: '稳定',\n\n // Content Commands\n append: '追加',\n\n // Control Flow\n exit: '退出',\n\n // Behaviors\n install: '安装',\n },\n\n modifiers: {\n to: '到',\n from: '从',\n into: '进入',\n with: '与',\n at: '在',\n in: '在',\n of: '的',\n as: '作为',\n by: '通过',\n before: '之前',\n after: '之后',\n over: '在上',\n under: '在下',\n between: '之间',\n through: '通过',\n without: '没有',\n },\n\n events: {\n click: '点击',\n dblclick: '双击',\n mousedown: '鼠标按下',\n mouseup: '鼠标抬起',\n mouseenter: '鼠标进入',\n mouseleave: '鼠标离开',\n mouseover: '鼠标悬停',\n mouseout: '鼠标移出',\n mousemove: '鼠标移动',\n\n keydown: '按键按下',\n keyup: '按键抬起',\n keypress: '按键',\n\n focus: '聚焦',\n blur: '失焦',\n change: '改变',\n input: '输入',\n submit: '提交',\n reset: '重置',\n\n load: '加载',\n unload: '卸载',\n resize: '调整大小',\n scroll: '滚动',\n\n touchstart: '触摸开始',\n touchend: '触摸结束',\n touchmove: '触摸移动',\n touchcancel: '触摸取消',\n },\n\n logical: {\n when: '当',\n where: '哪里',\n and: '和',\n or: '或',\n not: '非',\n is: '是',\n exists: '存在',\n matches: '匹配',\n contains: '包含',\n includes: '包括',\n equals: '等于',\n has: '有', // universal \"have\"\n have: '有', // same character for first/third person\n then: '那么',\n else: '否则',\n otherwise: '要不然',\n end: '结束',\n },\n\n temporal: {\n seconds: '秒',\n second: '秒',\n milliseconds: '毫秒',\n millisecond: '毫秒',\n minutes: '分钟',\n minute: '分钟',\n hours: '小时',\n hour: '小时',\n ms: '毫秒',\n s: '秒',\n min: '分',\n h: '时',\n },\n\n values: {\n true: '真',\n false: '假',\n null: '空',\n undefined: '未定义',\n it: '它',\n its: '它的', // REVIEW: native speaker\n me: '我',\n my: '我的',\n myself: '我自己',\n you: '你', // REVIEW: native speaker\n your: '你的', // REVIEW: native speaker\n yourself: '你自己', // REVIEW: native speaker\n element: '元素',\n target: '目标',\n detail: '详情',\n event: '事件',\n window: '窗口',\n document: '文档',\n body: '主体',\n result: '结果',\n value: '值',\n },\n\n attributes: {\n class: '类',\n classes: '类别',\n style: '样式',\n styles: '样式集',\n attribute: '属性',\n attributes: '属性集',\n property: '特性',\n properties: '特性集',\n },\n\n expressions: {\n // Positional\n first: '第一个',\n last: '最后一个',\n next: '下一个',\n previous: '上一个',\n prev: '上个',\n at: '在',\n random: '随机',\n\n // DOM Traversal\n closest: '最近的',\n parent: '父级',\n children: '子级',\n within: '之内',\n\n // Emptiness/Existence\n no: '没有',\n empty: '空的',\n some: '一些',\n\n // String operations\n 'starts with': '以开头',\n 'ends with': '以结尾',\n },\n};\n","// packages/i18n/src/dictionaries/fr.ts\n\nimport { Dictionary } from '../types';\n\nexport const fr: Dictionary = {\n commands: {\n // Event handling\n on: 'sur',\n tell: 'dire',\n trigger: 'déclencher',\n send: 'envoyer',\n\n // DOM manipulation\n take: 'prendre',\n put: 'mettre',\n set: 'définir',\n get: 'obtenir',\n add: 'ajouter',\n remove: 'supprimer',\n toggle: 'basculer',\n hide: 'cacher',\n show: 'montrer',\n\n // Control flow\n if: 'si',\n unless: 'saufsi',\n repeat: 'répéter',\n for: 'pour',\n while: 'tantque',\n until: 'jusquà',\n continue: 'continuer',\n break: 'arrêter',\n halt: 'stopper',\n\n // Async\n wait: 'attendre',\n fetch: 'récupérer',\n call: 'appeler',\n return: 'retourner',\n\n // Other commands\n make: 'créer',\n log: 'enregistrer',\n throw: 'lancer',\n catch: 'attraper',\n measure: 'mesurer',\n transition: 'transition',\n\n // Data Commands\n increment: 'incrémenter',\n decrement: 'décrémenter',\n bind: 'lier',\n default: 'défaut',\n persist: 'persister',\n\n // Navigation Commands\n go: 'aller',\n pushUrl: 'pousserUrl',\n replaceUrl: 'remplacerUrl',\n\n // Utility Commands\n copy: 'copier',\n pick: 'choisir',\n beep: 'bip',\n\n // Advanced Commands\n js: 'js',\n async: 'asynchrone',\n render: 'rendu',\n\n // Animation Commands\n swap: 'échanger',\n morph: 'transformer',\n settle: 'stabiliser',\n\n // Content Commands\n append: 'ajouter',\n\n // Control Flow\n exit: 'sortir',\n\n // Behaviors\n install: 'installer',\n },\n\n modifiers: {\n to: 'à',\n from: 'de',\n into: 'dans',\n with: 'avec',\n at: 'à',\n in: 'en',\n of: 'de',\n as: 'comme',\n by: 'par',\n before: 'avant',\n after: 'après',\n over: 'sur',\n under: 'sous',\n between: 'entre',\n through: 'à travers',\n without: 'sans',\n },\n\n events: {\n click: 'clic',\n dblclick: 'doubleclic',\n mousedown: 'sourisappuyée',\n mouseup: 'sourisrelâchée',\n mouseenter: 'sourisentrer',\n mouseleave: 'sourissortir',\n mouseover: 'sourissur',\n mouseout: 'sourisdehors',\n mousemove: 'sourisbouger',\n\n keydown: 'toucheappuyée',\n keyup: 'toucherelâchée',\n keypress: 'touchepressée',\n\n focus: 'focus',\n blur: 'flou',\n change: 'changer',\n input: 'saisie',\n submit: 'soumettre',\n reset: 'réinitialiser',\n\n load: 'charger',\n unload: 'décharger',\n resize: 'redimensionner',\n scroll: 'défiler',\n\n touchstart: 'touchercommencer',\n touchend: 'toucherfin',\n touchmove: 'toucherbouger',\n touchcancel: 'toucherannuler',\n },\n\n logical: {\n when: 'quand',\n where: 'où',\n and: 'et',\n or: 'ou',\n not: 'non',\n is: 'est',\n exists: 'existe',\n matches: 'correspond',\n contains: 'contient',\n includes: 'inclut',\n equals: 'égale',\n has: 'a', // third-person: il/elle a\n have: 'ai', // first-person: j'ai\n then: 'alors',\n else: 'sinon',\n otherwise: 'autrement',\n end: 'fin',\n },\n\n temporal: {\n seconds: 'secondes',\n second: 'seconde',\n milliseconds: 'millisecondes',\n millisecond: 'milliseconde',\n minutes: 'minutes',\n minute: 'minute',\n hours: 'heures',\n hour: 'heure',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'h',\n },\n\n values: {\n true: 'vrai',\n false: 'faux',\n null: 'nul',\n undefined: 'indéfini',\n it: 'ça',\n its: 'son',\n me: 'moi',\n my: 'mon',\n you: 'tu',\n your: 'ton',\n yourself: 'toi-même', // REVIEW: native speaker\n myself: 'moi-même',\n element: 'élément',\n target: 'cible',\n detail: 'détail',\n event: 'événement',\n window: 'fenêtre',\n document: 'document',\n body: 'corps',\n result: 'résultat',\n value: 'valeur',\n },\n\n attributes: {\n class: 'classe',\n classes: 'classes',\n style: 'style',\n styles: 'styles',\n attribute: 'attribut',\n attributes: 'attributs',\n property: 'propriété',\n properties: 'propriétés',\n },\n\n expressions: {\n // Positional\n first: 'premier',\n last: 'dernier',\n next: 'suivant',\n previous: 'précédent',\n prev: 'préc',\n at: 'à',\n random: 'aléatoire',\n\n // DOM Traversal\n closest: 'plusproche',\n parent: 'parent',\n children: 'enfants',\n within: 'dans',\n\n // Emptiness/Existence\n no: 'aucun',\n empty: 'vide',\n some: 'quelques',\n\n // String operations\n 'starts with': 'commence par',\n 'ends with': 'finit par',\n },\n};\n","// packages/i18n/src/dictionaries/de.ts\n\nimport { Dictionary } from '../types';\n\nexport const de: Dictionary = {\n commands: {\n // Event handling\n on: 'bei',\n tell: 'sagen',\n trigger: 'auslösen',\n send: 'senden',\n\n // DOM manipulation\n take: 'nehmen',\n put: 'setzen',\n set: 'festlegen',\n get: 'erhalten',\n add: 'hinzufügen',\n remove: 'entfernen',\n toggle: 'umschalten',\n hide: 'verstecken',\n show: 'zeigen',\n\n // Control flow\n if: 'wenn',\n unless: 'wennnicht',\n repeat: 'wiederholen',\n for: 'für',\n while: 'während',\n until: 'bis',\n continue: 'weiter',\n break: 'unterbrechen',\n halt: 'anhalten',\n\n // Async\n wait: 'warten',\n fetch: 'holen',\n call: 'aufrufen',\n return: 'zurückgeben',\n\n // Other commands\n make: 'erstellen',\n log: 'protokollieren',\n throw: 'werfen',\n catch: 'fangen',\n measure: 'messen',\n transition: 'übergang',\n\n // Data Commands\n increment: 'erhöhen',\n decrement: 'verringern',\n bind: 'binden',\n default: 'standard',\n persist: 'speichern',\n\n // Navigation Commands\n go: 'gehen',\n pushUrl: 'urlHinzufügen',\n replaceUrl: 'urlErsetzen',\n\n // Utility Commands\n copy: 'kopieren',\n pick: 'auswählen',\n beep: 'piepton',\n\n // Advanced Commands\n js: 'js',\n async: 'asynchron',\n render: 'rendern',\n\n // Animation Commands\n swap: 'tauschen',\n morph: 'verwandeln',\n settle: 'stabilisieren',\n\n // Content Commands\n append: 'anhängen',\n\n // Control Flow\n exit: 'beenden',\n\n // Behaviors\n install: 'installieren',\n },\n\n modifiers: {\n to: 'zu',\n from: 'von',\n into: 'in',\n with: 'mit',\n at: 'bei',\n in: 'in',\n of: 'von',\n as: 'als',\n by: 'durch',\n before: 'vor',\n after: 'nach',\n over: 'über',\n under: 'unter',\n between: 'zwischen',\n through: 'durch',\n without: 'ohne',\n },\n\n events: {\n click: 'klick',\n dblclick: 'doppelklick',\n mousedown: 'mausunten',\n mouseup: 'mausoben',\n mouseenter: 'mauseintreten',\n mouseleave: 'mausverlassen',\n mouseover: 'mausüber',\n mouseout: 'maushinaus',\n mousemove: 'mausbewegen',\n\n keydown: 'tasteunten',\n keyup: 'tasteoben',\n keypress: 'tastedrücken',\n\n focus: 'fokus',\n blur: 'unscharf',\n change: 'ändern',\n input: 'eingabe',\n submit: 'absenden',\n reset: 'zurücksetzen',\n\n load: 'laden',\n unload: 'entladen',\n resize: 'größeändern',\n scroll: 'scrollen',\n\n touchstart: 'berührungstart',\n touchend: 'berührungend',\n touchmove: 'berührungbewegen',\n touchcancel: 'berührungabbrechen',\n },\n\n logical: {\n when: 'wenn',\n where: 'wo',\n and: 'und',\n or: 'oder',\n not: 'nicht',\n is: 'ist',\n exists: 'existiert',\n matches: 'passt',\n contains: 'enthält',\n includes: 'beinhaltet',\n equals: 'gleicht',\n has: 'hat', // third-person: es hat\n have: 'habe', // first-person: ich habe\n then: 'dann',\n else: 'sonst',\n otherwise: 'andernfalls',\n end: 'ende',\n },\n\n temporal: {\n seconds: 'sekunden',\n second: 'sekunde',\n milliseconds: 'millisekunden',\n millisecond: 'millisekunde',\n minutes: 'minuten',\n minute: 'minute',\n hours: 'stunden',\n hour: 'stunde',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'std',\n },\n\n values: {\n true: 'wahr',\n false: 'falsch',\n null: 'null',\n undefined: 'undefiniert',\n it: 'es',\n its: 'sein',\n me: 'ich',\n my: 'mein',\n you: 'du',\n your: 'dein',\n yourself: 'dich selbst', // REVIEW: native speaker\n myself: 'ich selbst',\n element: 'element',\n target: 'ziel',\n detail: 'detail',\n event: 'ereignis',\n window: 'fenster',\n document: 'dokument',\n body: 'körper',\n result: 'ergebnis',\n value: 'wert',\n },\n\n attributes: {\n class: 'klasse',\n classes: 'klassen',\n style: 'stil',\n styles: 'stile',\n attribute: 'attribut',\n attributes: 'attribute',\n property: 'eigenschaft',\n properties: 'eigenschaften',\n },\n\n expressions: {\n // Positional\n first: 'erste',\n last: 'letzte',\n next: 'nächste',\n previous: 'vorherige',\n prev: 'vorh',\n at: 'bei',\n random: 'zufällig',\n\n // DOM Traversal\n closest: 'nächste',\n parent: 'elternteil',\n children: 'kinder',\n within: 'innerhalb',\n\n // Emptiness/Existence\n no: 'kein',\n empty: 'leer',\n some: 'einige',\n\n // String operations\n 'starts with': 'beginnt mit',\n 'ends with': 'endet mit',\n },\n};\n","// packages/i18n/src/dictionaries/ja.ts\n\nimport { Dictionary } from '../types';\n\nexport const ja: Dictionary = {\n commands: {\n // Event handling\n on: 'で',\n tell: '伝える',\n trigger: '引き金',\n send: '送る',\n\n // DOM manipulation\n take: '取る',\n put: '置く',\n set: '設定',\n get: '取得',\n add: '追加',\n remove: '削除',\n toggle: '切り替え',\n hide: '隠す',\n show: '表示',\n\n // Control flow\n if: 'もし',\n unless: 'でなければ',\n repeat: '繰り返し',\n for: 'ために',\n while: 'の間',\n until: 'まで',\n continue: '続ける',\n break: '中断',\n halt: '停止',\n\n // Async\n wait: '待つ',\n fetch: '取得',\n call: '呼び出し',\n return: '戻る',\n\n // Other commands\n make: '作る',\n log: '記録',\n throw: '投げる',\n catch: '捕まえる',\n measure: '測定',\n transition: '遷移',\n\n // Data Commands\n increment: '増加',\n decrement: '減少',\n bind: '結合',\n default: '既定',\n persist: '永続化',\n\n // Navigation Commands\n go: '移動',\n pushUrl: 'URLプッシュ',\n replaceUrl: 'URL置換',\n\n // Utility Commands\n copy: 'コピー',\n pick: '選択',\n beep: 'ビープ',\n\n // Advanced Commands\n js: 'JS実行',\n async: '非同期',\n render: '描画',\n\n // Animation Commands\n swap: '交換',\n morph: '変形',\n settle: '安定',\n\n // Content Commands\n append: '末尾追加',\n\n // Control Flow\n exit: '終了',\n\n // Behaviors\n install: 'インストール',\n },\n\n modifiers: {\n to: 'に',\n from: 'から',\n into: 'へ',\n with: 'と',\n at: 'で',\n in: 'の中',\n of: 'の',\n as: 'として',\n by: 'によって',\n before: '前に',\n after: '後に',\n over: '上に',\n under: '下に',\n between: '間に',\n through: '通して',\n without: 'なしで',\n },\n\n events: {\n click: 'クリック',\n dblclick: 'ダブルクリック',\n mousedown: 'マウス押下',\n mouseup: 'マウス解放',\n mouseenter: 'マウス入る',\n mouseleave: 'マウス離れる',\n mouseover: 'マウス上',\n mouseout: 'マウス外',\n mousemove: 'マウス移動',\n\n keydown: 'キー押下',\n keyup: 'キー解放',\n keypress: 'キー押す',\n\n focus: 'フォーカス',\n blur: 'ぼかし',\n change: '変更',\n input: '入力',\n submit: '送信',\n reset: 'リセット',\n\n load: '読み込み',\n unload: '読み込み解除',\n resize: 'サイズ変更',\n scroll: 'スクロール',\n\n touchstart: 'タッチ開始',\n touchend: 'タッチ終了',\n touchmove: 'タッチ移動',\n touchcancel: 'タッチキャンセル',\n },\n\n logical: {\n when: 'とき',\n where: 'どこ',\n and: 'そして',\n or: 'または',\n not: 'ではない',\n is: 'である',\n exists: '存在する',\n matches: '一致する',\n contains: '含む',\n includes: '含める',\n equals: '等しい',\n has: 'ある', // existence verb (context-based)\n have: 'ある', // same verb for first/third person\n then: 'それから',\n else: 'そうでなければ',\n otherwise: 'そうでなければ',\n end: '終わり',\n },\n\n temporal: {\n seconds: '秒',\n second: '秒',\n milliseconds: 'ミリ秒',\n millisecond: 'ミリ秒',\n minutes: '分',\n minute: '分',\n hours: '時間',\n hour: '時間',\n ms: 'ms',\n s: '秒',\n min: '分',\n h: '時',\n },\n\n values: {\n true: '真',\n false: '偽',\n null: 'null',\n undefined: '未定義',\n it: 'それ',\n its: 'その',\n me: '私',\n my: '私の',\n you: 'あなた',\n your: 'あなたの',\n yourself: 'あなた自身',\n myself: '私自身',\n element: '要素',\n target: '対象',\n detail: '詳細',\n event: 'イベント',\n window: 'ウィンドウ',\n document: 'ドキュメント',\n body: 'ボディ',\n result: '結果',\n value: '値',\n },\n\n attributes: {\n class: 'クラス',\n classes: 'クラス群',\n style: 'スタイル',\n styles: 'スタイル群',\n attribute: '属性',\n attributes: '属性群',\n property: 'プロパティ',\n properties: 'プロパティ群',\n },\n\n expressions: {\n // Positional\n first: '最初',\n last: '最後',\n next: '次',\n previous: '前',\n prev: '前',\n at: 'で',\n random: 'ランダム',\n\n // DOM Traversal\n closest: '最も近い',\n parent: '親',\n children: '子',\n within: '以内',\n\n // Emptiness/Existence\n no: 'ない',\n empty: '空',\n some: 'いくつか',\n\n // String operations\n 'starts with': 'で始まる',\n 'ends with': 'で終わる',\n },\n};\n","// packages/i18n/src/dictionaries/ar.ts\n\nimport { Dictionary } from '../types';\n\nexport const ar: Dictionary = {\n commands: {\n // Event handling\n on: 'على',\n tell: 'أخبر',\n trigger: 'تشغيل',\n send: 'أرسل',\n\n // DOM manipulation\n take: 'خذ',\n put: 'ضع',\n set: 'اضبط',\n get: 'احصل',\n add: 'أضف',\n remove: 'احذف',\n toggle: 'بدل',\n hide: 'اخف',\n show: 'اظهر',\n\n // Control flow\n if: 'إذا',\n unless: 'إلا إذا',\n repeat: 'كرر',\n for: 'لكل',\n while: 'بينما',\n until: 'حتى',\n continue: 'واصل',\n break: 'توقف',\n halt: 'أوقف',\n\n // Async\n wait: 'انتظر',\n fetch: 'احضر',\n call: 'استدع',\n return: 'ارجع',\n\n // Other commands\n make: 'اصنع',\n log: 'سجل',\n throw: 'ارم',\n catch: 'التقط',\n measure: 'قس',\n transition: 'انتقال',\n\n // Data Commands\n increment: 'زِد',\n decrement: 'أنقص',\n bind: 'اربط',\n default: 'افتراضي',\n persist: 'احفظ',\n\n // Navigation Commands\n go: 'اذهب',\n pushUrl: 'ادفع رابط',\n replaceUrl: 'استبدل رابط',\n\n // Utility Commands\n copy: 'انسخ',\n pick: 'اختر',\n beep: 'صفّر',\n\n // Advanced Commands\n js: 'جافاسكربت',\n async: 'متزامن',\n render: 'ارسم',\n\n // Animation Commands\n swap: 'بدّل',\n morph: 'حوّل',\n settle: 'استقر',\n\n // Content Commands\n append: 'ألحق',\n\n // Control Flow\n exit: 'اخرج',\n\n // Behaviors\n install: 'ثبّت',\n },\n\n modifiers: {\n to: 'إلى',\n from: 'من',\n into: 'في',\n with: 'مع',\n at: 'عند',\n in: 'في',\n of: 'من',\n as: 'كـ',\n by: 'بواسطة',\n before: 'قبل',\n after: 'بعد',\n over: 'فوق',\n under: 'تحت',\n between: 'بين',\n through: 'عبر',\n without: 'بدون',\n },\n\n events: {\n click: 'نقر',\n dblclick: 'نقر مزدوج',\n mousedown: 'فأرة أسفل',\n mouseup: 'فأرة أعلى',\n mouseenter: 'فأرة دخول',\n mouseleave: 'فأرة خروج',\n mouseover: 'فأرة فوق',\n mouseout: 'فأرة خارج',\n mousemove: 'فأرة تحرك',\n\n keydown: 'مفتاح أسفل',\n keyup: 'مفتاح أعلى',\n keypress: 'مفتاح ضغط',\n\n focus: 'تركيز',\n blur: 'ضبابية',\n change: 'تغيير',\n input: 'إدخال',\n submit: 'إرسال',\n reset: 'إعادة تعيين',\n\n load: 'تحميل',\n unload: 'إلغاء تحميل',\n resize: 'تغيير حجم',\n scroll: 'تمرير',\n\n touchstart: 'بداية لمس',\n touchend: 'نهاية لمس',\n touchmove: 'تحرك لمس',\n touchcancel: 'إلغاء لمس',\n },\n\n logical: {\n when: 'عندما',\n where: 'أين',\n and: 'و',\n or: 'أو',\n not: 'ليس',\n is: 'هو',\n exists: 'موجود',\n matches: 'يطابق',\n contains: 'يحتوي',\n includes: 'يشمل',\n equals: 'يساوي',\n has: 'لديه', // third-person: he/it has\n have: 'لدي', // first-person: I have\n then: 'ثم',\n else: 'وإلا',\n otherwise: 'خلاف ذلك',\n end: 'النهاية',\n },\n\n temporal: {\n seconds: 'ثوانِ',\n second: 'ثانية',\n milliseconds: 'ميلي ثانية',\n millisecond: 'ميلي ثانية',\n minutes: 'دقائق',\n minute: 'دقيقة',\n hours: 'ساعات',\n hour: 'ساعة',\n ms: 'م.ث',\n s: 'ث',\n min: 'د',\n h: 'س',\n },\n\n values: {\n true: 'صحيح',\n false: 'خطأ',\n null: 'فارغ',\n undefined: 'غير معرف',\n it: 'هو',\n its: 'له', // REVIEW: native speaker\n me: 'أنا',\n my: 'لي',\n myself: 'نفسي',\n you: 'أنت', // REVIEW: native speaker\n your: 'لك', // REVIEW: native speaker\n yourself: 'نفسك', // REVIEW: native speaker\n element: 'عنصر',\n target: 'هدف',\n detail: 'تفاصيل',\n event: 'حدث',\n window: 'نافذة',\n document: 'وثيقة',\n body: 'جسم',\n result: 'نتيجة',\n value: 'قيمة',\n },\n\n attributes: {\n class: 'فئة',\n classes: 'فئات',\n style: 'أسلوب',\n styles: 'أساليب',\n attribute: 'خاصية',\n attributes: 'خصائص',\n property: 'خاصية',\n properties: 'خصائص',\n },\n\n expressions: {\n // Positional\n first: 'أول',\n last: 'آخر',\n next: 'التالي',\n previous: 'السابق',\n prev: 'سابق',\n at: 'عند',\n random: 'عشوائي',\n\n // DOM Traversal\n closest: 'الأقرب',\n parent: 'والد',\n children: 'أطفال',\n within: 'داخل',\n\n // Emptiness/Existence\n no: 'لا يوجد',\n empty: 'فارغ',\n some: 'بعض',\n\n // String operations\n 'starts with': 'يبدأ بـ',\n 'ends with': 'ينتهي بـ',\n },\n};\n","// packages/i18n/src/dictionaries/tr.ts\n\nimport { Dictionary } from '../types';\n\nexport const tr: Dictionary = {\n commands: {\n // Event handling\n on: 'üzerinde',\n tell: 'söyle',\n trigger: 'tetikle',\n send: 'gönder',\n\n // DOM manipulation\n take: 'al',\n put: 'koy',\n set: 'ayarla',\n get: 'al',\n add: 'ekle',\n remove: 'kaldır',\n toggle: 'değiştir',\n hide: 'gizle',\n show: 'göster',\n\n // Control flow\n if: 'eğer',\n unless: 'değilse',\n repeat: 'tekrarla',\n for: 'için',\n while: 'iken',\n until: 'kadar',\n continue: 'devam',\n break: 'dur',\n halt: 'durdur',\n\n // Async\n wait: 'bekle',\n fetch: 'getir',\n call: 'çağır',\n return: 'dön',\n\n // Other commands\n make: 'yap',\n log: 'kaydet',\n throw: 'fırlat',\n catch: 'yakala',\n measure: 'ölç',\n transition: 'geçiş',\n\n // Data Commands\n increment: 'artır',\n decrement: 'azalt',\n bind: 'bağla',\n default: 'varsayılan',\n persist: 'kalıcı',\n\n // Navigation Commands\n go: 'git',\n pushUrl: 'urlEkle',\n replaceUrl: 'urlDeğiştir',\n\n // Utility Commands\n copy: 'kopyala',\n pick: 'seç',\n beep: 'bip',\n\n // Advanced Commands\n js: 'js',\n async: 'asenkron',\n render: 'render',\n\n // Animation Commands\n swap: 'takas',\n morph: 'dönüştür',\n settle: 'sabitlen',\n\n // Content Commands\n append: 'ekle',\n\n // Control Flow\n exit: 'çık',\n\n // Behaviors\n install: 'kur',\n },\n\n modifiers: {\n to: 'e',\n from: 'den',\n into: 'içine',\n with: 'ile',\n at: 'de',\n in: 'içinde',\n of: 'nin',\n as: 'olarak',\n by: 'tarafından',\n before: 'önce',\n after: 'sonra',\n over: 'üzerinde',\n under: 'altında',\n between: 'arasında',\n through: 'boyunca',\n without: 'olmadan',\n },\n\n events: {\n click: 'tıklama',\n dblclick: 'çift_tıklama',\n mousedown: 'fare_bas',\n mouseup: 'fare_bırak',\n mouseenter: 'fare_gir',\n mouseleave: 'fare_çık',\n mouseover: 'fare_üstü',\n mouseout: 'fare_dışı',\n mousemove: 'fare_hareket',\n\n keydown: 'tuş_bas',\n keyup: 'tuş_bırak',\n keypress: 'tuş_basım',\n\n focus: 'odak',\n blur: 'bulanık',\n change: 'değişim',\n input: 'giriş',\n submit: 'gönder',\n reset: 'sıfırla',\n\n load: 'yükle',\n unload: 'yükle_kaldır',\n resize: 'boyut_değiştir',\n scroll: 'kaydır',\n\n touchstart: 'dokunma_başla',\n touchend: 'dokunma_bitir',\n touchmove: 'dokunma_hareket',\n touchcancel: 'dokunma_iptal',\n },\n\n logical: {\n when: 'iken', // REVIEW: native speaker - could also be 'durumunda' (in case of) or 'olduğunda' (when it happens)\n where: 'nerede', // REVIEW: native speaker - element filter context\n and: 've',\n or: 'veya',\n not: 'değil',\n is: 'dir',\n exists: 'var',\n matches: 'eşleşir',\n contains: 'içerir',\n includes: 'dahil',\n equals: 'eşittir',\n has: 'var', // existence marker (context-based)\n have: 'var', // same for first/third person in Turkish\n then: 'sonra',\n else: 'yoksa',\n otherwise: 'aksi_halde',\n end: 'son',\n },\n\n temporal: {\n seconds: 'saniye',\n second: 'saniye',\n milliseconds: 'milisaniye',\n millisecond: 'milisaniye',\n minutes: 'dakika',\n minute: 'dakika',\n hours: 'saat',\n hour: 'saat',\n ms: 'ms',\n s: 's',\n min: 'dk',\n h: 'sa',\n },\n\n values: {\n true: 'doğru',\n false: 'yanlış',\n null: 'boş',\n undefined: 'tanımsız',\n it: 'o',\n its: 'onun', // REVIEW: native speaker\n me: 'ben',\n my: 'benim',\n myself: 'kendim',\n you: 'sen', // REVIEW: native speaker - formal/informal\n your: 'senin', // REVIEW: native speaker - formal/informal\n yourself: 'kendin', // REVIEW: native speaker\n element: 'öğe',\n target: 'hedef',\n detail: 'detay',\n event: 'olay',\n window: 'pencere',\n document: 'belge',\n body: 'gövde',\n result: 'sonuç',\n value: 'değer',\n },\n\n attributes: {\n class: 'sınıf',\n classes: 'sınıflar',\n style: 'stil',\n styles: 'stiller',\n attribute: 'özellik',\n attributes: 'özellikler',\n property: 'özellik',\n properties: 'özellikler',\n },\n\n expressions: {\n // Positional\n first: 'ilk',\n last: 'son',\n next: 'sonraki',\n previous: 'önceki',\n prev: 'önc',\n at: 'de',\n random: 'rastgele',\n\n // DOM Traversal\n closest: 'en_yakın',\n parent: 'ebeveyn',\n children: 'çocuklar',\n within: 'içinde',\n\n // Emptiness/Existence\n no: 'yok',\n empty: 'boş',\n some: 'bazı',\n\n // String operations\n 'starts with': 'ile başlar',\n 'ends with': 'ile biter',\n },\n};\n","// packages/i18n/src/dictionaries/id.ts\n\nimport { Dictionary } from '../types';\n\nexport const id: Dictionary = {\n commands: {\n // Event handling\n on: 'pada',\n tell: 'katakan',\n trigger: 'picu',\n send: 'kirim',\n\n // DOM manipulation\n take: 'ambil',\n put: 'taruh',\n set: 'atur',\n get: 'dapatkan',\n add: 'tambah',\n remove: 'hapus',\n toggle: 'ganti',\n hide: 'sembunyikan',\n show: 'tampilkan',\n\n // Control flow\n if: 'jika',\n unless: 'kecuali',\n repeat: 'ulangi',\n for: 'untuk',\n while: 'selama',\n until: 'sampai',\n continue: 'lanjutkan',\n break: 'hentikan',\n halt: 'berhenti',\n\n // Async\n wait: 'tunggu',\n fetch: 'ambil',\n call: 'panggil',\n return: 'kembali',\n\n // Other commands\n make: 'buat',\n log: 'catat',\n throw: 'lempar',\n catch: 'tangkap',\n measure: 'ukur',\n transition: 'transisi',\n\n // Data Commands\n increment: 'tambahkan',\n decrement: 'kurangi',\n bind: 'ikat',\n default: 'bawaan',\n persist: 'simpan',\n\n // Navigation Commands\n go: 'pergi',\n pushUrl: 'tambahUrl',\n replaceUrl: 'gantiUrl',\n\n // Utility Commands\n copy: 'salin',\n pick: 'pilih',\n beep: 'bunyi',\n\n // Advanced Commands\n js: 'js',\n async: 'asinkron',\n render: 'tampilkan',\n\n // Animation Commands\n swap: 'tukar',\n morph: 'ubah_bentuk',\n settle: 'stabil',\n\n // Content Commands\n append: 'tambah_akhir',\n\n // Control Flow\n exit: 'keluar',\n\n // Behaviors\n install: 'pasang',\n },\n\n modifiers: {\n to: 'ke',\n from: 'dari',\n into: 'ke_dalam',\n with: 'dengan',\n at: 'di',\n in: 'dalam',\n of: 'dari',\n as: 'sebagai',\n by: 'oleh',\n before: 'sebelum',\n after: 'setelah',\n over: 'di_atas',\n under: 'di_bawah',\n between: 'antara',\n through: 'melalui',\n without: 'tanpa',\n },\n\n events: {\n click: 'klik',\n dblclick: 'klik_ganda',\n mousedown: 'tekan_mouse',\n mouseup: 'lepas_mouse',\n mouseenter: 'mouse_masuk',\n mouseleave: 'mouse_keluar',\n mouseover: 'mouse_atas',\n mouseout: 'mouse_luar',\n mousemove: 'gerak_mouse',\n\n keydown: 'tekan_tombol',\n keyup: 'lepas_tombol',\n keypress: 'pencet_tombol',\n\n focus: 'fokus',\n blur: 'blur',\n change: 'ubah',\n input: 'masukan',\n submit: 'kirim',\n reset: 'reset',\n\n load: 'muat',\n unload: 'bongkar',\n resize: 'ubah_ukuran',\n scroll: 'gulir',\n\n touchstart: 'mulai_sentuh',\n touchend: 'akhir_sentuh',\n touchmove: 'gerak_sentuh',\n touchcancel: 'batal_sentuh',\n },\n\n logical: {\n when: 'ketika',\n where: 'di_mana',\n and: 'dan',\n or: 'atau',\n not: 'bukan',\n is: 'adalah',\n exists: 'ada',\n matches: 'cocok',\n contains: 'berisi',\n includes: 'termasuk',\n equals: 'sama',\n has: 'punya', // possession verb (context-based)\n have: 'punya', // same for first/third person\n then: 'lalu',\n else: 'lainnya',\n otherwise: 'sebaliknya',\n end: 'akhir',\n },\n\n temporal: {\n seconds: 'detik',\n second: 'detik',\n milliseconds: 'milidetik',\n millisecond: 'milidetik',\n minutes: 'menit',\n minute: 'menit',\n hours: 'jam',\n hour: 'jam',\n ms: 'ms',\n s: 'd',\n min: 'mnt',\n h: 'j',\n },\n\n values: {\n true: 'benar',\n false: 'salah',\n null: 'kosong',\n undefined: 'tidak_terdefinisi',\n it: 'itu',\n its: 'miliknya', // REVIEW: native speaker\n me: 'saya',\n my: 'saya punya',\n myself: 'saya sendiri',\n you: 'kamu', // REVIEW: native speaker - formal/informal\n your: 'kamu punya', // REVIEW: native speaker\n yourself: 'kamu sendiri', // REVIEW: native speaker\n element: 'elemen',\n target: 'target',\n detail: 'detail',\n event: 'peristiwa',\n window: 'jendela',\n document: 'dokumen',\n body: 'badan',\n result: 'hasil',\n value: 'nilai',\n },\n\n attributes: {\n class: 'kelas',\n classes: 'kelas_kelas',\n style: 'gaya',\n styles: 'gaya_gaya',\n attribute: 'atribut',\n attributes: 'atribut_atribut',\n property: 'properti',\n properties: 'properti_properti',\n },\n\n expressions: {\n // Positional\n first: 'pertama',\n last: 'terakhir',\n next: 'berikutnya',\n previous: 'sebelumnya',\n prev: 'sblm',\n at: 'di',\n random: 'acak',\n\n // DOM Traversal\n closest: 'terdekat',\n parent: 'induk',\n children: 'anak_anak',\n within: 'dalam',\n\n // Emptiness/Existence\n no: 'tidak_ada',\n empty: 'kosong',\n some: 'beberapa',\n\n // String operations\n 'starts with': 'dimulai dengan',\n 'ends with': 'diakhiri dengan',\n },\n};\n","// packages/i18n/src/dictionaries/qu.ts\n\nimport { Dictionary } from '../types';\n\nexport const qu: Dictionary = {\n commands: {\n // Event handling\n on: 'kaqpi',\n tell: 'niy',\n trigger: 'kichay',\n send: 'kachay',\n\n // DOM manipulation\n take: 'hurquy',\n put: 'churay',\n set: 'churay',\n get: 'chaskiy',\n add: 'yapay',\n remove: 'qichuy',\n toggle: 'tikray',\n hide: 'pakay',\n show: 'rikuchiy',\n\n // Control flow\n if: 'sichus',\n unless: 'mana_sichus',\n repeat: 'kutichiy',\n for: 'rayku',\n while: 'kay_kaq',\n until: 'hayk_akama',\n continue: 'purichiy',\n break: 'p_akiy',\n halt: 'sayay',\n\n // Async\n wait: 'suyay',\n fetch: 'apamuy',\n call: 'qayay',\n return: 'kutimuy',\n\n // Other commands\n make: 'ruray',\n log: 'qillqay',\n throw: 'wikchuy',\n catch: 'hapsiy',\n measure: 'tupuy',\n transition: 'tikray',\n\n // Data Commands\n increment: 'yapay',\n decrement: 'pisiyachiy',\n bind: 'watay',\n default: 'ñawpaq_kaq',\n persist: 'waqaychay',\n\n // Navigation Commands\n go: 'riy',\n pushUrl: 'url_tanqay',\n replaceUrl: 'url_tikray',\n\n // Utility Commands\n copy: 'qillqay',\n pick: 'akllay',\n beep: 'waqay',\n\n // Advanced Commands\n js: 'js',\n async: 'mana_suyaspa',\n render: 'rikuchiy',\n\n // Animation Commands\n swap: 'rantin_tikray',\n morph: 'tikrachiy',\n settle: 'tiyay',\n\n // Content Commands\n append: 'qhipaman_yapay',\n\n // Control Flow\n exit: 'lluqsiy',\n\n // Behaviors\n install: 'churay',\n },\n\n modifiers: {\n to: 'man',\n from: 'manta',\n into: 'ukupi',\n with: 'wan',\n at: 'pi',\n in: 'ukupi',\n of: 'pa',\n as: 'hina',\n by: 'rayku',\n before: 'ñawpaqpi',\n after: 'qhepapi',\n over: 'hawapi',\n under: 'urapi',\n between: 'chawpipi',\n through: 'pasaspa',\n without: 'mana',\n },\n\n events: {\n click: 'ñitiy',\n dblclick: 'iskay_ñitiy',\n mousedown: 'rat_ñitiy',\n mouseup: 'rat_huqariy',\n mouseenter: 'rat_yaykuy',\n mouseleave: 'rat_lluqsiy',\n mouseover: 'rat_hawapi',\n mouseout: 'rat_hawamanta',\n mousemove: 'rat_kuyuy',\n\n keydown: 'yupana_ñitiy',\n keyup: 'yupana_huqariy',\n keypress: 'yupana_ñitana',\n\n focus: 'qhaway',\n blur: 'paqariy',\n change: 'tikray',\n input: 'yaykuchiy',\n submit: 'kachay',\n reset: 'qallariy',\n\n load: 'apakuy',\n unload: 'urmay',\n resize: 'hatun_kay',\n scroll: 'kunray',\n\n touchstart: 'llamiy_qallay',\n touchend: 'llamiy_tukuy',\n touchmove: 'llamiy_kuyuy',\n touchcancel: 'llamiy_hark_ay',\n },\n\n logical: {\n when: 'maykama',\n where: 'maypi',\n and: 'chaymanta',\n or: 'utaq',\n not: 'mana',\n is: 'kanqa',\n exists: 'tiyan',\n matches: 'tupan',\n contains: 'ukupi_kan',\n includes: 'churasqa',\n equals: 'kikin',\n has: 'kachkan', // existence suffix (context-based)\n have: 'kachkani', // first-person with suffix\n then: 'chayqa',\n else: 'mana_chayqa',\n otherwise: 'huk_kaqpi',\n end: 'tukuy',\n },\n\n temporal: {\n seconds: 'sikundukuna',\n second: 'sikundu',\n milliseconds: 'iskay_paqta_sikundukuna',\n millisecond: 'iskay_paqta_sikundu',\n minutes: 'minutukuna',\n minute: 'minutu',\n hours: 'horakuna',\n hour: 'hora',\n ms: 'ms',\n s: 's',\n min: 'm',\n h: 'h',\n },\n\n values: {\n true: 'cheqaq',\n false: 'llulla',\n null: 'ch_usaq',\n undefined: 'mana_riqsisqa',\n it: 'chay',\n its: 'chaypaq', // REVIEW: native speaker\n me: 'noqa',\n my: 'noqaq',\n myself: 'noqa killa',\n you: 'qam', // REVIEW: native speaker\n your: 'qampaq', // REVIEW: native speaker\n yourself: 'qam killa', // REVIEW: native speaker\n element: 'raku',\n target: 'punta',\n detail: 'sut_iy',\n event: 'ruway',\n window: 'k_iri',\n document: 'qillqa',\n body: 'kurku',\n result: 'lluqsiy',\n value: 'chanin',\n },\n\n attributes: {\n class: 'ayllu',\n classes: 'ayllukuna',\n style: 'sami',\n styles: 'samikuna',\n attribute: 'kaq',\n attributes: 'kaqkuna',\n property: 'kanay',\n properties: 'kanaykuna',\n },\n\n expressions: {\n // Positional\n first: 'ñawpaq',\n last: 'qhipa',\n next: 'qhipantin',\n previous: 'ñawpaqnin',\n prev: 'ñawpaq',\n at: 'pi',\n random: 'imaymanata',\n\n // DOM Traversal\n closest: 'aswan_kaylla',\n parent: 'mama_tayta',\n children: 'wawakuna',\n within: 'ukupi',\n\n // Emptiness/Existence\n no: 'mana_kanchu',\n empty: 'ch_usaq',\n some: 'wakin',\n\n // String operations\n 'starts with': 'qallarisqa wan',\n 'ends with': 'tukusqa wan',\n },\n};\n","// packages/i18n/src/dictionaries/sw.ts\n\nimport { Dictionary } from '../types';\n\nexport const sw: Dictionary = {\n commands: {\n // Event handling\n on: 'kwenye',\n tell: 'ambia',\n trigger: 'chochea',\n send: 'tuma',\n\n // DOM manipulation\n take: 'chukua',\n put: 'weka',\n set: 'weka',\n get: 'pata',\n add: 'ongeza',\n remove: 'ondoa',\n toggle: 'badilisha',\n hide: 'ficha',\n show: 'onyesha',\n\n // Control flow\n if: 'kama',\n unless: 'isipokuwa',\n repeat: 'rudia',\n for: 'kwa',\n while: 'wakati',\n until: 'hadi',\n continue: 'endelea',\n break: 'vunja',\n halt: 'simama',\n\n // Async\n wait: 'ngoja',\n fetch: 'leta',\n call: 'ita',\n return: 'rudi',\n\n // Other commands\n make: 'fanya',\n log: 'andika',\n throw: 'tupa',\n catch: 'shika',\n measure: 'pima',\n transition: 'mpito',\n\n // Data Commands\n increment: 'ongeza',\n decrement: 'punguza',\n bind: 'funga',\n default: 'msingi',\n persist: 'hifadhi',\n\n // Navigation Commands\n go: 'nenda',\n pushUrl: 'sukumaUrl',\n replaceUrl: 'badilishaUrl',\n\n // Utility Commands\n copy: 'nakili',\n pick: 'chagua',\n beep: 'lia',\n\n // Advanced Commands\n js: 'js',\n async: 'sainkroni',\n render: 'chora',\n\n // Animation Commands\n swap: 'badilishana',\n morph: 'badilishaUmbo',\n settle: 'tulia',\n\n // Content Commands\n append: 'ongezaMwisho',\n\n // Control Flow\n exit: 'toka',\n\n // Behaviors\n install: 'sakinisha',\n },\n\n modifiers: {\n to: 'kwa',\n from: 'kutoka',\n into: 'ndani',\n with: 'na',\n at: 'katika',\n in: 'ndani',\n of: 'ya',\n as: 'kama',\n by: 'na',\n before: 'kabla',\n after: 'baada',\n over: 'juu',\n under: 'chini',\n between: 'kati',\n through: 'kupitia',\n without: 'bila',\n },\n\n events: {\n click: 'bonyeza',\n dblclick: 'bonyeza_mara_mbili',\n mousedown: 'panya_shuka',\n mouseup: 'panya_juu',\n mouseenter: 'panya_ingia',\n mouseleave: 'panya_toka',\n mouseover: 'panya_juu',\n mouseout: 'panya_nje',\n mousemove: 'panya_sogea',\n\n keydown: 'kitufe_shuka',\n keyup: 'kitufe_juu',\n keypress: 'kitufe_bonyeza',\n\n focus: 'zingatia',\n blur: 'poteza_macho',\n change: 'badilisha',\n input: 'ingizo',\n submit: 'wasilisha',\n reset: 'weka_upya',\n\n load: 'pakia',\n unload: 'shuka',\n resize: 'badilisha_ukubwa',\n scroll: 'sogeza',\n\n touchstart: 'gusa_anza',\n touchend: 'gusa_mwisho',\n touchmove: 'gusa_sogea',\n touchcancel: 'gusa_ghairi',\n },\n\n logical: {\n when: 'wakati',\n where: 'wapi',\n and: 'na',\n or: 'au',\n not: 'si',\n is: 'ni',\n exists: 'ipo',\n matches: 'inafanana',\n contains: 'ina',\n includes: 'pamoja',\n equals: 'sawa',\n has: 'ana', // third-person: yeye ana\n have: 'nina', // first-person: mimi nina\n then: 'kisha',\n else: 'sivyo',\n otherwise: 'vinginevyo',\n end: 'mwisho',\n },\n\n temporal: {\n seconds: 'sekunde',\n second: 'sekunde',\n milliseconds: 'millisekunde',\n millisecond: 'millisekunde',\n minutes: 'dakika',\n minute: 'dakika',\n hours: 'masaa',\n hour: 'saa',\n ms: 'ms',\n s: 's',\n min: 'dk',\n h: 'sa',\n },\n\n values: {\n true: 'kweli',\n false: 'uongo',\n null: 'tupu',\n undefined: 'haijafafanuliwa',\n it: 'hiyo',\n its: 'yake', // REVIEW: native speaker\n me: 'mimi',\n my: 'yangu',\n myself: 'mimi mwenyewe',\n you: 'wewe', // REVIEW: native speaker\n your: 'yako', // REVIEW: native speaker\n yourself: 'wewe mwenyewe', // REVIEW: native speaker\n element: 'kipengele',\n target: 'lengo',\n detail: 'maelezo',\n event: 'tukio',\n window: 'dirisha',\n document: 'hati',\n body: 'mwili',\n result: 'matokeo',\n value: 'thamani',\n },\n\n attributes: {\n class: 'darasa',\n classes: 'madarasa',\n style: 'mtindo',\n styles: 'mitindo',\n attribute: 'sifa',\n attributes: 'sifa',\n property: 'mali',\n properties: 'mali',\n },\n\n expressions: {\n // Positional\n first: 'kwanza',\n last: 'mwisho',\n next: 'ijayo',\n previous: 'iliyopita',\n prev: 'awali',\n at: 'katika',\n random: 'nasibu',\n\n // DOM Traversal\n closest: 'karibu_zaidi',\n parent: 'mzazi',\n children: 'watoto',\n within: 'ndani_ya',\n\n // Emptiness/Existence\n no: 'hakuna',\n empty: 'tupu',\n some: 'baadhi',\n\n // String operations\n 'starts with': 'huanza na',\n 'ends with': 'huisha na',\n },\n};\n","// packages/i18n/src/dictionaries/pt.ts\n\nimport { Dictionary } from '../types';\n\n/**\n * Portuguese (Português) dictionary for hyperscript keywords.\n * Brazilian Portuguese variant.\n */\nexport const pt: Dictionary = {\n commands: {\n // Event handling\n on: 'em',\n tell: 'dizer',\n trigger: 'disparar',\n send: 'enviar',\n\n // DOM manipulation\n take: 'pegar',\n put: 'colocar',\n set: 'definir',\n get: 'obter',\n add: 'adicionar',\n remove: 'remover',\n toggle: 'alternar',\n hide: 'esconder',\n show: 'mostrar',\n\n // Control flow\n if: 'se',\n unless: 'a_menos', // REVIEW: native speaker - multi-word\n repeat: 'repetir',\n for: 'para',\n while: 'enquanto',\n until: 'até',\n continue: 'continuar',\n break: 'parar',\n halt: 'interromper',\n\n // Async\n wait: 'esperar',\n fetch: 'buscar',\n call: 'chamar',\n return: 'retornar',\n\n // Other commands\n make: 'fazer',\n log: 'registrar',\n throw: 'lançar',\n catch: 'capturar',\n measure: 'medir',\n transition: 'transição',\n\n // Data Commands\n increment: 'incrementar',\n decrement: 'decrementar',\n bind: 'vincular',\n default: 'padrão',\n persist: 'persistir',\n\n // Navigation Commands\n go: 'ir',\n pushUrl: 'pushUrl',\n replaceUrl: 'substituirUrl',\n\n // Utility Commands\n copy: 'copiar',\n pick: 'escolher',\n beep: 'apitar',\n\n // Advanced Commands\n js: 'js',\n async: 'assíncrono',\n render: 'renderizar',\n\n // Animation Commands\n swap: 'trocar',\n morph: 'transformar',\n settle: 'estabilizar',\n\n // Content Commands\n append: 'anexar',\n\n // Control Flow\n exit: 'sair',\n\n // Behaviors\n install: 'instalar',\n },\n\n modifiers: {\n to: 'para',\n from: 'de',\n into: 'em',\n with: 'com',\n at: 'em',\n in: 'dentro',\n of: 'de',\n as: 'como',\n by: 'por',\n before: 'antes',\n after: 'depois',\n over: 'sobre',\n under: 'sob',\n between: 'entre',\n through: 'através',\n without: 'sem',\n },\n\n events: {\n click: 'clique',\n dblclick: 'duploClique',\n mousedown: 'mouseBaixo',\n mouseup: 'mouseCima',\n mouseenter: 'mouseEntrar',\n mouseleave: 'mouseSair',\n mouseover: 'mouseSobre',\n mouseout: 'mouseFora',\n mousemove: 'mouseMover',\n\n keydown: 'teclaBaixo',\n keyup: 'teclaCima',\n keypress: 'teclaPressionar',\n\n focus: 'foco',\n blur: 'desfoque',\n change: 'mudança',\n input: 'entrada',\n submit: 'envio',\n reset: 'reiniciar',\n\n load: 'carregar',\n unload: 'descarregar',\n resize: 'redimensionar',\n scroll: 'rolar',\n\n touchstart: 'toqueInício',\n touchend: 'toqueFim',\n touchmove: 'toqueMover',\n touchcancel: 'toqueCancelar',\n },\n\n logical: {\n when: 'quando',\n where: 'onde',\n and: 'e',\n or: 'ou',\n not: 'não',\n is: 'é',\n exists: 'existe',\n matches: 'corresponde',\n contains: 'contém',\n includes: 'inclui',\n equals: 'igual',\n has: 'tem', // third-person: ele/ela tem\n have: 'tenho', // first-person: eu tenho\n then: 'então',\n else: 'senão',\n otherwise: 'caso_contrário', // REVIEW: native speaker\n end: 'fim',\n },\n\n temporal: {\n seconds: 'segundos',\n second: 'segundo',\n milliseconds: 'milissegundos',\n millisecond: 'milissegundo',\n minutes: 'minutos',\n minute: 'minuto',\n hours: 'horas',\n hour: 'hora',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'h',\n },\n\n values: {\n true: 'verdadeiro',\n false: 'falso',\n null: 'nulo',\n undefined: 'indefinido',\n it: 'isso',\n its: 'seu',\n me: 'eu',\n my: 'meu',\n myself: 'eu mesmo', // REVIEW: native speaker\n you: 'você',\n your: 'seu',\n yourself: 'você mesmo', // REVIEW: native speaker\n element: 'elemento',\n target: 'alvo',\n detail: 'detalhe',\n event: 'evento',\n window: 'janela',\n document: 'documento',\n body: 'corpo',\n result: 'resultado',\n value: 'valor',\n },\n\n attributes: {\n class: 'classe',\n classes: 'classes',\n style: 'estilo',\n styles: 'estilos',\n attribute: 'atributo',\n attributes: 'atributos',\n property: 'propriedade',\n properties: 'propriedades',\n },\n\n expressions: {\n // Positional\n first: 'primeiro',\n last: 'último',\n next: 'próximo',\n previous: 'anterior',\n prev: 'ant',\n at: 'em',\n random: 'aleatório',\n\n // DOM Traversal\n closest: 'mais_próximo', // REVIEW: native speaker - multi-word\n parent: 'pai',\n children: 'filhos',\n within: 'dentro',\n\n // Emptiness/Existence\n no: 'nenhum',\n empty: 'vazio',\n some: 'algum',\n\n // String operations\n 'starts with': 'começa com',\n 'ends with': 'termina com',\n },\n};\n","// packages/i18n/src/dictionaries/it.ts\n\nimport { Dictionary } from '../types';\n\nexport const it: Dictionary = {\n commands: {\n // Event handling\n on: 'su',\n tell: 'dire',\n trigger: 'scatenare',\n send: 'inviare',\n\n // DOM manipulation\n take: 'prendere',\n put: 'mettere',\n set: 'impostare',\n get: 'ottenere',\n add: 'aggiungere',\n remove: 'rimuovere',\n toggle: 'commutare',\n hide: 'nascondere',\n show: 'mostrare',\n\n // Control flow\n if: 'se',\n unless: 'a meno che',\n repeat: 'ripetere',\n for: 'per',\n while: 'mentre',\n until: 'fino',\n continue: 'continuare',\n break: 'interrompere',\n halt: 'fermare',\n\n // Async\n wait: 'aspettare',\n fetch: 'recuperare',\n call: 'chiamare',\n return: 'ritornare',\n\n // Other commands\n make: 'fare',\n log: 'registrare',\n throw: 'lanciare',\n catch: 'catturare',\n measure: 'misurare',\n transition: 'transizione',\n\n // Data Commands\n increment: 'incrementare',\n decrement: 'decrementare',\n bind: 'vincolare',\n default: 'predefinito',\n persist: 'persistere',\n\n // Navigation Commands\n go: 'andare',\n pushUrl: 'pushUrl',\n replaceUrl: 'sostituireUrl',\n\n // Utility Commands\n copy: 'copiare',\n pick: 'scegliere',\n beep: 'beep',\n\n // Advanced Commands\n js: 'js',\n async: 'asincrono',\n render: 'renderizzare',\n\n // Animation Commands\n swap: 'scambiare',\n morph: 'trasformare',\n settle: 'stabilizzare',\n\n // Content Commands\n append: 'aggiungere',\n\n // Control Flow\n exit: 'uscire',\n\n // Behaviors\n install: 'installare',\n },\n\n modifiers: {\n to: 'a',\n from: 'da',\n into: 'in',\n with: 'con',\n at: 'a',\n in: 'in',\n of: 'di',\n as: 'come',\n by: 'per',\n before: 'prima',\n after: 'dopo',\n over: 'sopra',\n under: 'sotto',\n between: 'tra',\n through: 'attraverso',\n without: 'senza',\n },\n\n events: {\n click: 'clic',\n dblclick: 'doppioclic',\n mousedown: 'mousegiù',\n mouseup: 'mousesu',\n mouseenter: 'mouseentra',\n mouseleave: 'mouseesce',\n mouseover: 'mousesopra',\n mouseout: 'mousefuori',\n mousemove: 'mousemuovi',\n\n keydown: 'tastogiù',\n keyup: 'tastosu',\n keypress: 'tastopremi',\n\n focus: 'fuoco',\n blur: 'sfuocatura',\n change: 'cambio',\n input: 'input',\n submit: 'invio',\n reset: 'reset',\n\n load: 'carica',\n unload: 'scarica',\n resize: 'ridimensiona',\n scroll: 'scorrimento',\n\n touchstart: 'toccoinizia',\n touchend: 'toccofine',\n touchmove: 'toccomuovi',\n touchcancel: 'toccoannulla',\n },\n\n logical: {\n when: 'quando',\n where: 'dove',\n and: 'e',\n or: 'o',\n not: 'non',\n is: 'è',\n exists: 'esiste',\n matches: 'corrisponde',\n contains: 'contiene',\n includes: 'include',\n equals: 'uguale',\n has: 'ha', // third-person: lui/lei ha\n have: 'ho', // first-person: io ho\n then: 'allora',\n else: 'altrimenti',\n otherwise: 'altrimenti',\n end: 'fine',\n },\n\n temporal: {\n seconds: 'secondi',\n second: 'secondo',\n milliseconds: 'millisecondi',\n millisecond: 'millisecondo',\n minutes: 'minuti',\n minute: 'minuto',\n hours: 'ore',\n hour: 'ora',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'h',\n },\n\n values: {\n true: 'vero',\n false: 'falso',\n null: 'nullo',\n undefined: 'indefinito',\n it: 'esso',\n its: 'suo',\n me: 'io',\n my: 'mio',\n you: 'tu',\n your: 'tuo',\n yourself: 'te stesso',\n myself: 'me stesso',\n element: 'elemento',\n target: 'obiettivo',\n detail: 'dettaglio',\n event: 'evento',\n window: 'finestra',\n document: 'documento',\n body: 'corpo',\n result: 'risultato',\n value: 'valore',\n },\n\n attributes: {\n class: 'classe',\n classes: 'classi',\n style: 'stile',\n styles: 'stili',\n attribute: 'attributo',\n attributes: 'attributi',\n property: 'proprietà',\n properties: 'proprietà',\n },\n\n expressions: {\n // Positional\n first: 'primo',\n last: 'ultimo',\n next: 'prossimo',\n previous: 'precedente',\n prev: 'prec',\n at: 'a',\n random: 'casuale',\n\n // DOM Traversal\n closest: 'piùvicino',\n parent: 'genitore',\n children: 'figli',\n within: 'dentro',\n\n // Emptiness/Existence\n no: 'nessun',\n empty: 'vuoto',\n some: 'qualche',\n\n // String operations\n 'starts with': 'inizia con',\n 'ends with': 'finisce con',\n },\n};\n","// packages/i18n/src/dictionaries/vi.ts\n\nimport { Dictionary } from '../types';\n\nexport const vi: Dictionary = {\n commands: {\n // Event handling\n on: 'khi',\n tell: 'nói với',\n trigger: 'kích hoạt',\n send: 'gửi',\n\n // DOM manipulation\n take: 'lấy',\n put: 'đặt',\n set: 'gán',\n get: 'lấy giá trị',\n add: 'thêm',\n remove: 'xóa',\n toggle: 'chuyển đổi',\n hide: 'ẩn',\n show: 'hiển thị',\n\n // Control flow\n if: 'nếu',\n unless: 'trừ khi',\n repeat: 'lặp lại',\n for: 'với mỗi',\n while: 'trong khi',\n until: 'cho đến khi',\n continue: 'tiếp tục',\n break: 'dừng',\n halt: 'dừng lại',\n\n // Async\n wait: 'chờ',\n fetch: 'tải',\n call: 'gọi',\n return: 'trả về',\n\n // Other commands\n make: 'tạo',\n log: 'in ra',\n throw: 'ném',\n catch: 'bắt',\n measure: 'đo lường',\n transition: 'chuyển tiếp',\n\n // Data Commands\n increment: 'tăng',\n decrement: 'giảm',\n bind: 'ràng buộc',\n default: 'mặc định',\n persist: 'duy trì',\n\n // Navigation Commands\n go: 'đi đến',\n pushUrl: 'pushUrl',\n replaceUrl: 'thayThếUrl',\n\n // Utility Commands\n copy: 'sao chép',\n pick: 'chọn',\n beep: 'beep',\n\n // Advanced Commands\n js: 'js',\n async: 'bất đồng bộ',\n render: 'hiển thị',\n\n // Animation Commands\n swap: 'hoán đổi',\n morph: 'biến đổi',\n settle: 'ổn định',\n\n // Content Commands\n append: 'nối',\n\n // Control Flow\n exit: 'thoát',\n\n // Focus\n focus: 'tập trung',\n blur: 'mất tập trung',\n\n // Additional\n init: 'khởi tạo',\n behavior: 'hành vi',\n install: 'cài đặt',\n clone: 'sao chép',\n prepend: 'thêm đầu',\n else: 'không thì',\n },\n\n modifiers: {\n into: 'vào',\n before: 'trước',\n after: 'sau',\n then: 'rồi',\n end: 'kết thúc',\n from: 'từ',\n to: 'đến',\n with: 'với',\n as: 'như',\n by: 'bởi',\n on: 'trên',\n in: 'trong',\n at: 'tại',\n of: 'của',\n the: '',\n times: 'lần',\n },\n\n events: {\n click: 'nhấp',\n dblclick: 'nhấp đúp',\n input: 'nhập',\n change: 'thay đổi',\n submit: 'gửi',\n keydown: 'phím xuống',\n keyup: 'phím lên',\n keypress: 'nhấn phím',\n mouseover: 'chuột vào',\n mouseout: 'chuột ra',\n mouseenter: 'chuột vào',\n mouseleave: 'chuột rời',\n focus: 'tập trung',\n blur: 'mất tập trung',\n load: 'tải',\n scroll: 'cuộn',\n resize: 'đổi kích thước',\n },\n\n logical: {\n when: 'khi',\n where: 'ở_đâu',\n and: 'và',\n or: 'hoặc',\n not: 'không',\n is: 'là',\n equals: 'bằng',\n contains: 'chứa',\n matches: 'khớp',\n exists: 'tồn tại',\n has: 'có', // possession verb (context-based)\n have: 'có', // same for first/third person\n empty: 'trống',\n true: 'đúng',\n false: 'sai',\n null: 'rỗng',\n },\n\n temporal: {\n now: 'bây giờ',\n today: 'hôm nay',\n tomorrow: 'ngày mai',\n yesterday: 'hôm qua',\n always: 'luôn luôn',\n never: 'không bao giờ',\n sometimes: 'đôi khi',\n once: 'một lần',\n twice: 'hai lần',\n forever: 'mãi mãi',\n },\n\n values: {\n true: 'đúng',\n false: 'sai',\n null: 'rỗng',\n undefined: 'không xác định',\n none: 'không có',\n all: 'tất cả',\n any: 'bất kỳ',\n some: 'một số',\n each: 'mỗi',\n every: 'tất cả',\n },\n\n attributes: {\n id: 'id',\n class: 'lớp',\n style: 'kiểu',\n value: 'giá trị',\n text: 'văn bản',\n html: 'html',\n src: 'nguồn',\n href: 'liên kết',\n disabled: 'vô hiệu',\n hidden: 'ẩn',\n checked: 'được chọn',\n selected: 'được chọn',\n },\n\n expressions: {\n me: 'tôi',\n my: 'của tôi',\n it: 'nó',\n its: 'của nó',\n result: 'kết quả',\n event: 'sự kiện',\n target: 'mục tiêu',\n first: 'đầu tiên',\n last: 'cuối cùng',\n next: 'tiếp theo',\n previous: 'trước đó',\n parent: 'cha',\n children: 'con',\n closest: 'gần nhất',\n },\n};\n","// packages/i18n/src/dictionaries/pl.ts\n\nimport { Dictionary } from '../types';\n\n/**\n * Polish Dictionary\n *\n * Polish uses IMPERATIVE verb forms for software commands\n * (unlike most languages which use infinitive).\n */\nexport const pl: Dictionary = {\n commands: {\n // Event handling\n on: 'gdy',\n tell: 'powiedz',\n trigger: 'wywołaj',\n send: 'wyślij',\n\n // DOM manipulation\n take: 'weź',\n put: 'umieść',\n set: 'ustaw',\n get: 'pobierz',\n add: 'dodaj',\n remove: 'usuń',\n toggle: 'przełącz',\n hide: 'ukryj',\n show: 'pokaż',\n\n // Control flow\n if: 'jeśli',\n unless: 'chyba',\n repeat: 'powtórz',\n for: 'dla',\n while: 'dopóki',\n until: 'aż',\n continue: 'kontynuuj',\n break: 'przerwij',\n halt: 'zatrzymaj',\n\n // Async\n wait: 'czekaj',\n fetch: 'pobierz',\n call: 'wywołaj',\n return: 'zwróć',\n\n // Other commands\n make: 'utwórz',\n log: 'loguj',\n throw: 'rzuć',\n catch: 'złap',\n measure: 'zmierz',\n transition: 'animuj',\n\n // Data Commands\n increment: 'zwiększ',\n decrement: 'zmniejsz',\n bind: 'powiąż',\n default: 'domyślnie',\n persist: 'zachowaj',\n\n // Navigation Commands\n go: 'idź',\n pushUrl: 'dodajUrl',\n replaceUrl: 'zamieńUrl',\n\n // Utility Commands\n copy: 'kopiuj',\n pick: 'wybierz',\n beep: 'sygnał',\n\n // Advanced Commands\n js: 'js',\n async: 'async',\n render: 'renderuj',\n\n // Animation Commands\n swap: 'zamień',\n morph: 'przekształć',\n settle: 'ustabilizuj',\n\n // Content Commands\n append: 'dołącz',\n\n // Control Flow\n exit: 'wyjdź',\n\n // Behaviors\n install: 'zainstaluj',\n },\n\n modifiers: {\n to: 'do',\n from: 'z',\n into: 'do',\n with: 'z',\n at: 'przy',\n in: 'w',\n of: 'z',\n as: 'jako',\n by: 'przez',\n before: 'przed',\n after: 'po',\n over: 'nad',\n under: 'pod',\n between: 'między',\n through: 'przez',\n without: 'bez',\n },\n\n events: {\n click: 'kliknięcie',\n dblclick: 'podwójnekliknięcie',\n mousedown: 'myszdół',\n mouseup: 'myszgóra',\n mouseenter: 'myszwejście',\n mouseleave: 'myszwyjście',\n mouseover: 'mysznad',\n mouseout: 'myszpoza',\n mousemove: 'myszruch',\n\n keydown: 'klawiszdół',\n keyup: 'klawiszgóra',\n keypress: 'klawisznaciśnięcie',\n\n focus: 'fokus',\n blur: 'rozmycie',\n change: 'zmiana',\n input: 'wejście',\n submit: 'wyślij',\n reset: 'resetuj',\n\n load: 'załaduj',\n unload: 'wyładuj',\n resize: 'zmieńrozmiar',\n scroll: 'przewiń',\n\n touchstart: 'dotykstart',\n touchend: 'dotykkoniec',\n touchmove: 'dotykruch',\n touchcancel: 'dotykanuluj',\n },\n\n logical: {\n when: 'kiedy',\n where: 'gdzie',\n and: 'i',\n or: 'lub',\n not: 'nie',\n is: 'jest',\n exists: 'istnieje',\n matches: 'pasuje',\n contains: 'zawiera',\n includes: 'obejmuje',\n equals: 'równa się',\n has: 'ma', // third-person: on/ona ma\n have: 'mam', // first-person: ja mam\n then: 'wtedy',\n else: 'inaczej',\n otherwise: 'wpp',\n end: 'koniec',\n },\n\n temporal: {\n seconds: 'sekundy',\n second: 'sekunda',\n milliseconds: 'milisekundy',\n millisecond: 'milisekunda',\n minutes: 'minuty',\n minute: 'minuta',\n hours: 'godziny',\n hour: 'godzina',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'godz',\n },\n\n values: {\n true: 'prawda',\n false: 'fałsz',\n null: 'null',\n undefined: 'niezdefiniowane',\n it: 'to',\n its: 'jego',\n me: 'ja',\n my: 'mój',\n you: 'ty',\n your: 'twój',\n yourself: 'ty sam',\n myself: 'ja sam',\n element: 'element',\n target: 'cel',\n detail: 'szczegół',\n event: 'zdarzenie',\n window: 'okno',\n document: 'dokument',\n body: 'body',\n result: 'wynik',\n value: 'wartość',\n },\n\n attributes: {\n class: 'klasa',\n classes: 'klasy',\n style: 'styl',\n styles: 'style',\n attribute: 'atrybut',\n attributes: 'atrybuty',\n property: 'właściwość',\n properties: 'właściwości',\n },\n\n expressions: {\n // Positional\n first: 'pierwszy',\n last: 'ostatni',\n next: 'następny',\n previous: 'poprzedni',\n prev: 'poprz',\n at: 'przy',\n random: 'losowy',\n\n // DOM Traversal\n closest: 'najbliższy',\n parent: 'rodzic',\n children: 'dzieci',\n within: 'wewnątrz',\n\n // Emptiness/Existence\n no: 'brak',\n empty: 'pusty',\n some: 'jakiś',\n\n // String operations\n 'starts with': 'zaczyna się od',\n 'ends with': 'kończy się na',\n },\n};\n","/**\n * Russian Dictionary\n *\n * Translations for Russian language support.\n * Uses infinitive verbs (common in software UIs).\n */\n\nimport { Dictionary } from '../types';\n\nexport const russianDictionary: Dictionary = {\n commands: {\n // Event handling\n on: 'при',\n tell: 'сказать',\n trigger: 'вызвать',\n send: 'отправить',\n\n // DOM manipulation\n take: 'взять',\n put: 'положить',\n set: 'установить',\n get: 'получить',\n add: 'добавить',\n remove: 'удалить',\n toggle: 'переключить',\n hide: 'скрыть',\n show: 'показать',\n\n // Control flow\n if: 'если',\n unless: 'если_не',\n repeat: 'повторить',\n for: 'для',\n while: 'пока',\n until: 'до',\n continue: 'продолжить',\n break: 'прервать',\n halt: 'остановить',\n\n // Async\n wait: 'ждать',\n fetch: 'загрузить',\n call: 'вызвать',\n return: 'вернуть',\n\n // Other commands\n make: 'создать',\n log: 'записать',\n throw: 'бросить',\n catch: 'поймать',\n measure: 'измерить',\n transition: 'анимировать',\n\n // Data Commands\n increment: 'увеличить',\n decrement: 'уменьшить',\n bind: 'связать',\n default: 'по_умолчанию',\n persist: 'сохранить',\n\n // Navigation Commands\n go: 'перейти',\n pushUrl: 'добавить_url',\n replaceUrl: 'заменить_url',\n\n // Utility Commands\n copy: 'копировать',\n pick: 'выбрать',\n beep: 'звук',\n\n // Advanced Commands\n js: 'js',\n async: 'асинхронно',\n render: 'отобразить',\n\n // Animation Commands\n swap: 'поменять',\n morph: 'трансформировать',\n settle: 'стабилизировать',\n\n // Content Commands\n append: 'добавить_в_конец',\n\n // Control Flow\n exit: 'выйти',\n else: 'иначе',\n\n // Behaviors\n install: 'установить',\n init: 'инициализировать',\n behavior: 'поведение',\n\n // Focus\n focus: 'сфокусировать',\n blur: 'размыть',\n\n // Clone\n clone: 'клонировать',\n prepend: 'добавить_в_начало',\n },\n\n modifiers: {\n to: 'к',\n from: 'из',\n into: 'в',\n with: 'с',\n at: 'у',\n in: 'в',\n of: 'из',\n as: 'как',\n by: 'на',\n before: 'до',\n after: 'после',\n over: 'над',\n under: 'под',\n between: 'между',\n through: 'через',\n without: 'без',\n on: 'на',\n },\n\n events: {\n click: 'клик',\n dblclick: 'двойной_клик',\n mousedown: 'мышь_вниз',\n mouseup: 'мышь_вверх',\n mouseenter: 'мышь_вход',\n mouseleave: 'мышь_выход',\n mouseover: 'наведение',\n mouseout: 'уход',\n mousemove: 'движение_мыши',\n\n keydown: 'клавиша_вниз',\n keyup: 'клавиша_вверх',\n keypress: 'нажатие_клавиши',\n\n focus: 'фокус',\n blur: 'потеря_фокуса',\n change: 'изменение',\n input: 'ввод',\n submit: 'отправка',\n reset: 'сброс',\n\n load: 'загрузка',\n unload: 'выгрузка',\n resize: 'изменение_размера',\n scroll: 'прокрутка',\n\n touchstart: 'касание_начало',\n touchend: 'касание_конец',\n touchmove: 'касание_движение',\n touchcancel: 'касание_отмена',\n },\n\n logical: {\n when: 'когда',\n where: 'где',\n and: 'и',\n or: 'или',\n not: 'не',\n is: 'есть',\n exists: 'существует',\n matches: 'соответствует',\n contains: 'содержит',\n includes: 'включает',\n equals: 'равно',\n then: 'затем',\n else: 'иначе',\n otherwise: 'в_противном_случае',\n end: 'конец',\n has: 'имеет', // third-person: он/она имеет\n have: 'имею', // first-person: я имею\n isNot: 'не_есть',\n empty: 'пустой',\n },\n\n temporal: {\n seconds: 'секунд',\n second: 'секунда',\n milliseconds: 'миллисекунд',\n millisecond: 'миллисекунда',\n minutes: 'минут',\n minute: 'минута',\n hours: 'часов',\n hour: 'час',\n ms: 'мс',\n s: 'с',\n min: 'мин',\n h: 'ч',\n forever: 'всегда',\n once: 'однажды',\n every: 'каждый',\n until: 'до',\n },\n\n values: {\n true: 'истина',\n false: 'ложь',\n null: 'ничего',\n undefined: 'неопределено',\n it: 'это',\n its: 'его',\n me: 'я',\n my: 'мой',\n you: 'ты',\n your: 'твой',\n yourself: 'сам',\n myself: 'я_сам',\n element: 'элемент',\n target: 'цель',\n detail: 'детали',\n event: 'событие',\n window: 'окно',\n document: 'документ',\n body: 'тело',\n result: 'результат',\n value: 'значение',\n first: 'первый',\n last: 'последний',\n next: 'следующий',\n previous: 'предыдущий',\n closest: 'ближайший',\n parent: 'родитель',\n },\n\n attributes: {\n class: 'класс',\n classes: 'классы',\n style: 'стиль',\n styles: 'стили',\n attribute: 'атрибут',\n attributes: 'атрибуты',\n property: 'свойство',\n properties: 'свойства',\n disabled: 'отключено',\n hidden: 'скрыто',\n checked: 'отмечено',\n selected: 'выбрано',\n readonly: 'только_чтение',\n required: 'обязательно',\n text: 'текст',\n html: 'html',\n },\n\n expressions: {\n // Positional\n first: 'первый',\n last: 'последний',\n next: 'следующий',\n previous: 'предыдущий',\n prev: 'пред',\n at: 'в',\n random: 'случайный',\n\n // DOM Traversal\n closest: 'ближайший',\n parent: 'родитель',\n children: 'дети',\n within: 'внутри',\n\n // Emptiness/Existence\n no: 'нет',\n empty: 'пустой',\n some: 'некоторые',\n\n // String operations\n 'starts with': 'начинается_с',\n 'ends with': 'заканчивается_на',\n },\n};\n","/**\n * Ukrainian Dictionary\n *\n * Translations for Ukrainian language support.\n * Uses infinitive verbs (common in software UIs).\n */\n\nimport { Dictionary } from '../types';\n\nexport const ukrainianDictionary: Dictionary = {\n commands: {\n // Event handling\n on: 'при',\n tell: 'сказати',\n trigger: 'викликати',\n send: 'надіслати',\n\n // DOM manipulation\n take: 'взяти',\n put: 'покласти',\n set: 'встановити',\n get: 'отримати',\n add: 'додати',\n remove: 'видалити',\n toggle: 'перемкнути',\n hide: 'сховати',\n show: 'показати',\n\n // Control flow\n if: 'якщо',\n unless: 'якщо_не',\n repeat: 'повторити',\n for: 'для',\n while: 'поки',\n until: 'до',\n continue: 'продовжити',\n break: 'перервати',\n halt: 'зупинити',\n\n // Async\n wait: 'чекати',\n fetch: 'завантажити',\n call: 'викликати',\n return: 'повернути',\n\n // Other commands\n make: 'створити',\n log: 'записати',\n throw: 'кинути',\n catch: 'зловити',\n measure: 'виміряти',\n transition: 'анімувати',\n\n // Data Commands\n increment: 'збільшити',\n decrement: 'зменшити',\n bind: \"прив'язати\",\n default: 'за_замовчуванням',\n persist: 'зберегти',\n\n // Navigation Commands\n go: 'перейти',\n pushUrl: 'додати_url',\n replaceUrl: 'замінити_url',\n\n // Utility Commands\n copy: 'копіювати',\n pick: 'вибрати',\n beep: 'звук',\n\n // Advanced Commands\n js: 'js',\n async: 'асинхронно',\n render: 'відобразити',\n\n // Animation Commands\n swap: 'поміняти',\n morph: 'трансформувати',\n settle: 'стабілізувати',\n\n // Content Commands\n append: 'додати_в_кінець',\n\n // Control Flow\n exit: 'вийти',\n else: 'інакше',\n\n // Behaviors\n install: 'встановити',\n init: 'ініціалізувати',\n behavior: 'поведінка',\n\n // Focus\n focus: 'сфокусувати',\n blur: 'розфокусувати',\n\n // Clone\n clone: 'клонувати',\n prepend: 'додати_на_початок',\n },\n\n modifiers: {\n to: 'до',\n from: 'з',\n into: 'в',\n with: 'з',\n at: 'в',\n in: 'у',\n of: 'з',\n as: 'як',\n by: 'на',\n before: 'до',\n after: 'після',\n over: 'над',\n under: 'під',\n between: 'між',\n through: 'через',\n without: 'без',\n on: 'на',\n },\n\n events: {\n click: 'клік',\n dblclick: 'подвійний_клік',\n mousedown: 'миша_вниз',\n mouseup: 'миша_вгору',\n mouseenter: 'миша_вхід',\n mouseleave: 'миша_вихід',\n mouseover: 'наведення',\n mouseout: 'відведення',\n mousemove: 'рух_миші',\n\n keydown: 'клавіша_вниз',\n keyup: 'клавіша_вгору',\n keypress: 'натискання_клавіші',\n\n focus: 'фокус',\n blur: 'розфокус',\n change: 'зміна',\n input: 'введення',\n submit: 'надсилання',\n reset: 'скидання',\n\n load: 'завантаження',\n unload: 'вивантаження',\n resize: 'зміна_розміру',\n scroll: 'прокрутка',\n\n touchstart: 'дотик_початок',\n touchend: 'дотик_кінець',\n touchmove: 'дотик_рух',\n touchcancel: 'дотик_скасування',\n },\n\n logical: {\n when: 'коли',\n where: 'де',\n and: 'і',\n or: 'або',\n not: 'не',\n is: 'є',\n exists: 'існує',\n matches: 'відповідає',\n contains: 'містить',\n includes: 'включає',\n equals: 'дорівнює',\n then: 'тоді',\n else: 'інакше',\n otherwise: 'в_іншому_випадку',\n end: 'кінець',\n has: 'має', // third-person: він/вона має\n have: 'маю', // first-person: я маю\n isNot: 'не_є',\n empty: 'порожній',\n },\n\n temporal: {\n seconds: 'секунд',\n second: 'секунда',\n milliseconds: 'мілісекунд',\n millisecond: 'мілісекунда',\n minutes: 'хвилин',\n minute: 'хвилина',\n hours: 'годин',\n hour: 'година',\n ms: 'мс',\n s: 'с',\n min: 'хв',\n h: 'год',\n forever: 'завжди',\n once: 'один_раз',\n every: 'кожний',\n until: 'до',\n },\n\n values: {\n true: 'істина',\n false: 'хибність',\n null: 'нічого',\n undefined: 'невизначено',\n it: 'це',\n its: 'його',\n me: 'я',\n my: 'мій',\n you: 'ти',\n your: 'твій',\n yourself: 'сам',\n myself: 'я_сам',\n element: 'елемент',\n target: 'ціль',\n detail: 'деталі',\n event: 'подія',\n window: 'вікно',\n document: 'документ',\n body: 'тіло',\n result: 'результат',\n value: 'значення',\n first: 'перший',\n last: 'останній',\n next: 'наступний',\n previous: 'попередній',\n closest: 'найближчий',\n parent: 'батьківський',\n },\n\n attributes: {\n class: 'клас',\n classes: 'класи',\n style: 'стиль',\n styles: 'стилі',\n attribute: 'атрибут',\n attributes: 'атрибути',\n property: 'властивість',\n properties: 'властивості',\n disabled: 'вимкнено',\n hidden: 'приховано',\n checked: 'позначено',\n selected: 'вибрано',\n readonly: 'лише_читання',\n required: \"обов'язково\",\n text: 'текст',\n html: 'html',\n },\n\n expressions: {\n // Positional\n first: 'перший',\n last: 'останній',\n next: 'наступний',\n previous: 'попередній',\n prev: 'попер',\n at: 'в',\n random: 'випадковий',\n\n // DOM Traversal\n closest: 'найближчий',\n parent: 'батьківський',\n children: 'діти',\n within: 'всередині',\n\n // Emptiness/Existence\n no: 'ні',\n empty: 'порожній',\n some: 'деякі',\n\n // String operations\n 'starts with': 'починається_з',\n 'ends with': 'закінчується_на',\n },\n};\n","/**\n * Hindi Dictionary\n *\n * Translations for Hindi language support.\n * Uses imperative verb forms (common in software UIs).\n */\n\nimport { Dictionary } from '../types';\n\nexport const hindiDictionary: Dictionary = {\n commands: {\n // Event handling\n on: 'पर',\n tell: 'बताएं',\n trigger: 'ट्रिगर',\n send: 'भेजें',\n\n // DOM manipulation\n take: 'लें',\n put: 'रखें',\n set: 'सेट',\n get: 'प्राप्त',\n add: 'जोड़ें',\n remove: 'हटाएं',\n toggle: 'टॉगल',\n hide: 'छिपाएं',\n show: 'दिखाएं',\n\n // Control flow\n if: 'अगर',\n unless: 'जब_तक_नहीं',\n repeat: 'दोहराएं',\n for: 'के_लिए',\n while: 'जब_तक',\n until: 'तक',\n continue: 'जारी',\n break: 'रोकें',\n halt: 'रोकें',\n\n // Async\n wait: 'प्रतीक्षा',\n fetch: 'लाएं',\n call: 'कॉल',\n return: 'लौटाएं',\n\n // Other commands\n make: 'बनाएं',\n log: 'लॉग',\n throw: 'फेंकें',\n catch: 'पकड़ें',\n measure: 'मापें',\n transition: 'संक्रमण',\n\n // Data Commands\n increment: 'बढ़ाएं',\n decrement: 'घटाएं',\n bind: 'बाँधें',\n default: 'डिफ़ॉल्ट',\n persist: 'सहेजें',\n\n // Navigation Commands\n go: 'जाएं',\n pushUrl: 'url_जोड़ें',\n replaceUrl: 'url_बदलें',\n\n // Utility Commands\n copy: 'कॉपी',\n pick: 'चुनें',\n beep: 'बीप',\n\n // Advanced Commands\n js: 'जेएस',\n async: 'असिंक',\n render: 'रेंडर',\n\n // Animation Commands\n swap: 'बदलें',\n morph: 'रूपांतर',\n settle: 'स्थिर',\n\n // Content Commands\n append: 'जोड़ें_अंत',\n\n // Control Flow\n exit: 'बाहर',\n else: 'वरना',\n\n // Behaviors\n install: 'इंस्टॉल',\n init: 'प्रारंभ',\n behavior: 'व्यवहार',\n\n // Focus\n focus: 'फोकस',\n blur: 'धुंधला',\n\n // Clone\n clone: 'कॉपी',\n prepend: 'जोड़ें_शुरू',\n },\n\n modifiers: {\n to: 'को',\n from: 'से',\n into: 'में',\n with: 'के_साथ',\n at: 'पर',\n in: 'में',\n of: 'का',\n as: 'के_रूप_में',\n by: 'द्वारा',\n before: 'से_पहले',\n after: 'के_बाद',\n over: 'के_ऊपर',\n under: 'के_नीचे',\n between: 'के_बीच',\n through: 'के_माध्यम_से',\n without: 'के_बिना',\n on: 'पर',\n },\n\n events: {\n click: 'क्लिक',\n dblclick: 'डबल_क्लिक',\n mousedown: 'माउस_नीचे',\n mouseup: 'माउस_ऊपर',\n mouseenter: 'माउस_प्रवेश',\n mouseleave: 'माउस_बाहर',\n mouseover: 'माउस_ओवर',\n mouseout: 'माउस_आउट',\n mousemove: 'माउस_मूव',\n\n keydown: 'की_नीचे',\n keyup: 'की_ऊपर',\n keypress: 'की_प्रेस',\n\n focus: 'फोकस',\n blur: 'धुंधला',\n change: 'परिवर्तन',\n input: 'इनपुट',\n submit: 'जमा',\n reset: 'रीसेट',\n\n load: 'लोड',\n unload: 'अनलोड',\n resize: 'आकार_बदलें',\n scroll: 'स्क्रॉल',\n\n touchstart: 'टच_शुरू',\n touchend: 'टच_समाप्त',\n touchmove: 'टच_मूव',\n touchcancel: 'टच_रद्द',\n },\n\n logical: {\n when: 'जब',\n where: 'कहाँ',\n and: 'और',\n or: 'या',\n not: 'नहीं',\n is: 'है',\n exists: 'मौजूद',\n matches: 'मेल_खाता',\n contains: 'शामिल',\n includes: 'में_है',\n equals: 'बराबर',\n then: 'फिर',\n else: 'वरना',\n otherwise: 'अन्यथा',\n end: 'समाप्त',\n has: 'है', // existence verb (context-based)\n have: 'है', // same verb for first/third person\n isNot: 'नहीं_है',\n empty: 'खाली',\n },\n\n temporal: {\n seconds: 'सेकंड',\n second: 'सेकंड',\n milliseconds: 'मिलीसेकंड',\n millisecond: 'मिलीसेकंड',\n minutes: 'मिनट',\n minute: 'मिनट',\n hours: 'घंटे',\n hour: 'घंटा',\n ms: 'मिसे',\n s: 'से',\n min: 'मि',\n h: 'घं',\n forever: 'हमेशा',\n once: 'एक_बार',\n every: 'हर',\n until: 'तक',\n },\n\n values: {\n true: 'सच',\n false: 'झूठ',\n null: 'खाली',\n undefined: 'अपरिभाषित',\n it: 'यह',\n its: 'इसका',\n me: 'मैं',\n my: 'मेरा',\n you: 'आप',\n your: 'आपका',\n yourself: 'स्वयं',\n myself: 'मैं_स्वयं',\n element: 'तत्व',\n target: 'लक्ष्य',\n detail: 'विवरण',\n event: 'घटना',\n window: 'विंडो',\n document: 'दस्तावेज़',\n body: 'बॉडी',\n result: 'परिणाम',\n value: 'मान',\n first: 'पहला',\n last: 'अंतिम',\n next: 'अगला',\n previous: 'पिछला',\n closest: 'निकटतम',\n parent: 'मूल',\n },\n\n attributes: {\n class: 'क्लास',\n classes: 'क्लासेस',\n style: 'स्टाइल',\n styles: 'स्टाइल्स',\n attribute: 'गुण',\n attributes: 'गुण',\n property: 'संपत्ति',\n properties: 'संपत्तियाँ',\n disabled: 'अक्षम',\n hidden: 'छिपा',\n checked: 'चेक',\n selected: 'चयनित',\n readonly: 'केवल_पढ़ने',\n required: 'आवश्यक',\n text: 'पाठ',\n html: 'html',\n },\n\n expressions: {\n // Positional\n first: 'पहला',\n last: 'अंतिम',\n next: 'अगला',\n previous: 'पिछला',\n prev: 'पिछ',\n at: 'पर',\n random: 'यादृच्छिक',\n\n // DOM Traversal\n closest: 'निकटतम',\n parent: 'मूल',\n children: 'बच्चे',\n within: 'के_अंदर',\n\n // Emptiness/Existence\n no: 'नहीं',\n empty: 'खाली',\n some: 'कुछ',\n\n // String operations\n 'starts with': 'से_शुरू',\n 'ends with': 'पर_समाप्त',\n },\n};\n","/**\n * Bengali Dictionary\n *\n * Bengali translations for hyperscript keywords.\n */\n\nimport { Dictionary } from '../types';\n\nexport const bengaliDictionary: Dictionary = {\n commands: {\n on: 'তে',\n toggle: 'টগল',\n add: 'যোগ',\n remove: 'সরান',\n set: 'সেট',\n get: 'পান',\n put: 'রাখুন',\n take: 'নিন',\n show: 'দেখান',\n hide: 'লুকান',\n increment: 'বৃদ্ধি',\n decrement: 'হ্রাস',\n if: 'যদি',\n else: 'নতুবা',\n repeat: 'পুনরাবৃত্তি',\n for: 'জন্য',\n while: 'যতক্ষণ',\n wait: 'অপেক্ষা',\n fetch: 'আনুন',\n call: 'কল',\n return: 'ফিরুন',\n log: 'লগ',\n trigger: 'ট্রিগার',\n send: 'পাঠান',\n go: 'যান',\n halt: 'থামুন',\n throw: 'নিক্ষেপ',\n continue: 'চালিয়ে যান',\n make: 'তৈরি করুন',\n append: 'শেষে যোগ',\n prepend: 'শুরুতে যোগ',\n focus: 'ফোকাস',\n blur: 'ঝাপসা',\n transition: 'সংক্রমণ',\n settle: 'স্থির',\n measure: 'মাপুন',\n async: 'অ্যাসিঙ্ক',\n tell: 'বলুন',\n default: 'ডিফল্ট',\n init: 'শুরু',\n behavior: 'আচরণ',\n install: 'ইনস্টল',\n clone: 'কপি',\n swap: 'বদল',\n morph: 'রূপান্তর',\n },\n modifiers: {\n to: 'কে',\n from: 'থেকে',\n into: 'তে',\n on: 'তে',\n with: 'সাথে',\n by: 'দ্বারা',\n as: 'হিসাবে',\n before: 'আগে',\n after: 'পরে',\n at: 'এ',\n in: 'এ',\n over: 'উপর',\n then: 'তারপর',\n and: 'এবং',\n end: 'শেষ',\n until: 'পর্যন্ত',\n of: 'র',\n },\n events: {\n click: 'ক্লিক',\n change: 'পরিবর্তন',\n input: 'ইনপুট',\n submit: 'জমা',\n load: 'লোড',\n focus: 'ফোকাস',\n blur: 'ঝাপসা',\n keydown: 'কি-ডাউন',\n keyup: 'কি-আপ',\n mouseover: 'মাউস-ওভার',\n mouseout: 'মাউস-আউট',\n scroll: 'স্ক্রোল',\n resize: 'রিসাইজ',\n every: 'প্রতি',\n },\n logical: {\n if: 'যদি',\n when: 'যখন',\n where: 'কোথায়',\n else: 'নতুবা',\n not: 'না',\n and: 'এবং',\n or: 'অথবা',\n is: 'হয়',\n exists: 'আছে',\n has: 'আছে', // possession verb (context-based)\n have: 'আছি', // first-person: আমার আছি\n empty: 'খালি',\n true: 'সত্য',\n false: 'মিথ্যা',\n null: 'শূন্য',\n undefined: 'অনির্ধারিত',\n },\n temporal: {\n now: 'এখন',\n seconds: 'সেকেন্ড',\n milliseconds: 'মিলিসেকেন্ড',\n minutes: 'মিনিট',\n hours: 'ঘণ্টা',\n forever: 'চিরকাল',\n times: 'বার',\n s: 'সে',\n ms: 'মিসে',\n },\n values: {\n me: 'আমি',\n my: 'আমার',\n it: 'এটি',\n its: 'এর',\n result: 'ফলাফল',\n event: 'ঘটনা',\n target: 'লক্ষ্য',\n body: 'বডি',\n },\n attributes: {\n class: 'শ্রেণি',\n id: 'আইডি',\n style: 'শৈলী',\n value: 'মান',\n text: 'পাঠ্য',\n html: 'এইচটিএমএল',\n disabled: 'অক্ষম',\n checked: 'চেক করা',\n },\n expressions: {\n first: 'প্রথম',\n last: 'শেষ',\n next: 'পরবর্তী',\n previous: 'আগের',\n closest: 'নিকটতম',\n parent: 'মূল',\n children: 'সন্তান',\n random: 'এলোমেলো',\n length: 'দৈর্ঘ্য',\n index: 'সূচক',\n },\n};\n\n// Default export alias\nexport const bn = bengaliDictionary;\n","/**\n * Thai Dictionary\n *\n * Thai translations for hyperscript keywords.\n */\n\nimport { Dictionary } from '../types';\n\nexport const thaiDictionary: Dictionary = {\n commands: {\n on: 'เมื่อ',\n toggle: 'สลับ',\n add: 'เพิ่ม',\n remove: 'ลบ',\n set: 'ตั้ง',\n get: 'รับค่า',\n put: 'ใส่',\n take: 'รับ',\n show: 'แสดง',\n hide: 'ซ่อน',\n increment: 'เพิ่มค่า',\n decrement: 'ลดค่า',\n if: 'ถ้า',\n else: 'ไม่งั้น',\n repeat: 'ทำซ้ำ',\n for: 'สำหรับ',\n while: 'ในขณะที่',\n wait: 'รอ',\n fetch: 'ดึงข้อมูล',\n call: 'เรียก',\n return: 'คืนค่า',\n log: 'บันทึก',\n trigger: 'ทริกเกอร์',\n send: 'ส่ง',\n go: 'ไป',\n halt: 'หยุด',\n throw: 'โยน',\n continue: 'ต่อไป',\n make: 'สร้าง',\n append: 'เพิ่มท้าย',\n prepend: 'เพิ่มหน้า',\n focus: 'โฟกัส',\n blur: 'เบลอ',\n transition: 'เปลี่ยน',\n settle: 'คงที่',\n measure: 'วัด',\n async: 'อะซิงค์',\n tell: 'บอก',\n default: 'ค่าเริ่มต้น',\n init: 'เริ่มต้น',\n behavior: 'พฤติกรรม',\n install: 'ติดตั้ง',\n clone: 'คัดลอก',\n swap: 'สลับที่',\n morph: 'แปลงร่าง',\n },\n modifiers: {\n to: 'ไปยัง',\n from: 'จาก',\n into: 'ใน',\n on: 'เมื่อ',\n with: 'ด้วย',\n by: 'โดย',\n as: 'เป็น',\n before: 'ก่อน',\n after: 'หลัง',\n at: 'ที่',\n in: 'ใน',\n over: 'เหนือ',\n then: 'แล้ว',\n and: 'และ',\n end: 'จบ',\n until: 'จนถึง',\n of: 'ของ',\n },\n events: {\n click: 'คลิก',\n change: 'เปลี่ยนแปลง',\n input: 'อินพุต',\n submit: 'ส่ง',\n load: 'โหลด',\n focus: 'โฟกัส',\n blur: 'เบลอ',\n keydown: 'กดคีย์',\n keyup: 'ปล่อยคีย์',\n mouseover: 'เมาส์เข้า',\n mouseout: 'เมาส์ออก',\n scroll: 'เลื่อน',\n resize: 'ปรับขนาด',\n every: 'ทุก',\n },\n logical: {\n if: 'ถ้า',\n when: 'เมื่อ',\n where: 'ที่ไหน',\n else: 'ไม่งั้น',\n not: 'ไม่',\n and: 'และ',\n or: 'หรือ',\n is: 'เป็น',\n exists: 'มีอยู่',\n has: 'มี', // possession verb (context-based)\n have: 'มี', // same for first/third person\n empty: 'ว่าง',\n true: 'จริง',\n false: 'เท็จ',\n null: 'ว่าง',\n undefined: 'ไม่กำหนด',\n },\n temporal: {\n now: 'ตอนนี้',\n seconds: 'วินาที',\n milliseconds: 'มิลลิวินาที',\n minutes: 'นาที',\n hours: 'ชั่วโมง',\n forever: 'ตลอดไป',\n times: 'ครั้ง',\n s: 'วิ',\n ms: 'มว',\n },\n values: {\n me: 'ฉัน',\n my: 'ของฉัน',\n it: 'มัน',\n its: 'ของมัน',\n result: 'ผลลัพธ์',\n event: 'เหตุการณ์',\n target: 'เป้าหมาย',\n body: 'บอดี้',\n },\n attributes: {\n class: 'คลาส',\n id: 'ไอดี',\n style: 'สไตล์',\n value: 'ค่า',\n text: 'ข้อความ',\n html: 'เอชทีเอ็มแอล',\n disabled: 'ปิดใช้งาน',\n checked: 'เลือกแล้ว',\n },\n expressions: {\n first: 'แรก',\n last: 'สุดท้าย',\n next: 'ถัดไป',\n previous: 'ก่อนหน้า',\n closest: 'ใกล้สุด',\n parent: 'ต้นทาง',\n children: 'ลูก',\n random: 'สุ่ม',\n length: 'ความยาว',\n index: 'ดัชนี',\n },\n};\n\n// Default export alias\nexport const th = thaiDictionary;\n","/**\n * Malay Dictionary\n *\n * Malay translations for hyperscript keywords.\n * Malay is an SVO (Subject-Verb-Object) language with prepositions.\n */\n\nimport { Dictionary } from '../types';\n\nexport const malayDictionary: Dictionary = {\n commands: {\n // Event handling\n on: 'apabila',\n tell: 'beritahu',\n trigger: 'cetuskan',\n send: 'hantar',\n\n // DOM manipulation\n take: 'ambil',\n put: 'letak',\n set: 'tetapkan',\n get: 'dapatkan',\n add: 'tambah',\n remove: 'buang',\n toggle: 'togol',\n hide: 'sembunyi',\n show: 'tunjuk',\n\n // Control flow\n if: 'jika',\n unless: 'kecuali',\n repeat: 'ulang',\n for: 'untuk',\n while: 'selagi',\n until: 'sehingga',\n continue: 'teruskan',\n break: 'henti',\n halt: 'henti',\n\n // Async\n wait: 'tunggu',\n fetch: 'ambil_dari',\n call: 'panggil',\n return: 'pulang',\n\n // Other commands\n make: 'buat',\n log: 'catat',\n throw: 'lempar',\n catch: 'tangkap',\n measure: 'ukur',\n transition: 'peralihan',\n\n // Data Commands\n increment: 'tambah_satu',\n decrement: 'kurang_satu',\n bind: 'ikat',\n default: 'lalai',\n persist: 'kekal',\n\n // Navigation Commands\n go: 'pergi',\n pushUrl: 'tolak_url',\n replaceUrl: 'ganti_url',\n\n // Utility Commands\n copy: 'salin',\n pick: 'pilih',\n beep: 'bunyi',\n\n // Advanced Commands\n js: 'js',\n async: 'tak_segerak',\n render: 'papar',\n\n // Animation Commands\n swap: 'tukar_tempat',\n morph: 'ubah_bentuk',\n settle: 'selesai',\n\n // Content Commands\n append: 'tambah_hujung',\n prepend: 'tambah_mula',\n\n // Control Flow\n exit: 'keluar',\n else: 'kalau_tidak',\n\n // Focus Commands\n focus: 'fokus',\n blur: 'kabur',\n\n // Behaviors\n install: 'pasang',\n behavior: 'kelakuan',\n init: 'mula',\n clone: 'klon',\n },\n\n modifiers: {\n to: 'ke',\n from: 'dari',\n into: 'ke_dalam',\n with: 'dengan',\n at: 'di',\n in: 'dalam',\n of: 'daripada',\n as: 'sebagai',\n by: 'oleh',\n before: 'sebelum',\n after: 'selepas',\n over: 'atas',\n under: 'bawah',\n between: 'antara',\n through: 'melalui',\n without: 'tanpa',\n on: 'pada',\n then: 'kemudian',\n and: 'dan',\n end: 'tamat',\n until: 'sehingga',\n },\n\n events: {\n click: 'click',\n dblclick: 'dblclick',\n mousedown: 'mousedown',\n mouseup: 'mouseup',\n mouseenter: 'mouseenter',\n mouseleave: 'mouseleave',\n mouseover: 'mouseover',\n mouseout: 'mouseout',\n mousemove: 'mousemove',\n\n keydown: 'keydown',\n keyup: 'keyup',\n keypress: 'keypress',\n\n focus: 'focus',\n blur: 'blur',\n change: 'change',\n input: 'input',\n submit: 'submit',\n reset: 'reset',\n\n load: 'load',\n unload: 'unload',\n resize: 'resize',\n scroll: 'scroll',\n\n touchstart: 'touchstart',\n touchend: 'touchend',\n touchmove: 'touchmove',\n touchcancel: 'touchcancel',\n\n every: 'setiap',\n },\n\n logical: {\n when: 'apabila',\n where: 'di_mana',\n and: 'dan',\n or: 'atau',\n not: 'bukan',\n is: 'adalah',\n exists: 'wujud',\n matches: 'sepadan',\n contains: 'mengandungi',\n includes: 'termasuk',\n equals: 'sama',\n has: 'ada', // possession verb (context-based)\n have: 'ada', // same for first/third person\n then: 'kemudian',\n else: 'kalau_tidak',\n otherwise: 'jika_tidak',\n end: 'tamat',\n if: 'jika',\n empty: 'kosong',\n true: 'benar',\n false: 'salah',\n null: 'null',\n undefined: 'tidak_ditakrifkan',\n },\n\n temporal: {\n seconds: 'saat',\n second: 'saat',\n milliseconds: 'milisaat',\n millisecond: 'milisaat',\n minutes: 'minit',\n minute: 'minit',\n hours: 'jam',\n hour: 'jam',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'j',\n now: 'sekarang',\n forever: 'selamanya',\n times: 'kali',\n },\n\n values: {\n true: 'benar',\n false: 'salah',\n null: 'null',\n undefined: 'tidak_ditakrifkan',\n it: 'ia',\n its: 'nya',\n me: 'saya',\n my: 'saya_punya',\n myself: 'diri_saya',\n you: 'kamu',\n your: 'kamu_punya',\n yourself: 'diri_kamu',\n element: 'elemen',\n target: 'sasaran',\n detail: 'perincian',\n event: 'peristiwa',\n window: 'tetingkap',\n document: 'dokumen',\n body: 'badan',\n result: 'hasil',\n value: 'nilai',\n },\n\n attributes: {\n class: 'kelas',\n classes: 'kelas_kelas',\n style: 'gaya',\n styles: 'gaya_gaya',\n attribute: 'atribut',\n attributes: 'atribut_atribut',\n property: 'sifat',\n properties: 'sifat_sifat',\n id: 'id',\n value: 'nilai',\n text: 'teks',\n html: 'html',\n disabled: 'dilumpuhkan',\n checked: 'ditanda',\n },\n\n expressions: {\n // Positional\n first: 'pertama',\n last: 'terakhir',\n next: 'seterusnya',\n previous: 'sebelumnya',\n prev: 'sebelum',\n at: 'di',\n random: 'rawak',\n\n // DOM Traversal\n closest: 'terdekat',\n parent: 'induk',\n children: 'anak_anak',\n within: 'dalam',\n\n // Emptiness/Existence\n no: 'tiada',\n empty: 'kosong',\n some: 'beberapa',\n\n // String operations\n 'starts with': 'bermula_dengan',\n 'ends with': 'berakhir_dengan',\n\n // Additional\n length: 'panjang',\n index: 'indeks',\n },\n};\n\n// Default export alias\nexport const ms = malayDictionary;\n","/**\n * Tagalog Dictionary\n *\n * Tagalog translations for hyperscript keywords.\n * Tagalog is a VSO (Verb-Subject-Object) language with rich verbal morphology.\n */\n\nimport { Dictionary } from '../types';\n\nexport const tagalogDictionary: Dictionary = {\n commands: {\n // Event handling\n on: 'kapag',\n tell: 'sabihin',\n trigger: 'palitawin',\n send: 'ipadala',\n\n // DOM manipulation\n take: 'kunin',\n put: 'ilagay',\n set: 'itakda',\n get: 'kuhanin',\n add: 'idagdag',\n remove: 'alisin',\n toggle: 'palitan',\n hide: 'itago',\n show: 'ipakita',\n\n // Control flow\n if: 'kung',\n unless: 'maliban_kung',\n repeat: 'ulitin',\n for: 'para_sa',\n while: 'habang',\n until: 'hanggang',\n continue: 'magpatuloy',\n break: 'itigil',\n halt: 'huminto',\n\n // Async\n wait: 'maghintay',\n fetch: 'kuhanin_mula',\n call: 'tawagin',\n return: 'ibalik',\n\n // Other commands\n make: 'gumawa',\n log: 'itala',\n throw: 'ihagis',\n catch: 'hulihin',\n measure: 'sukatin',\n transition: 'baguhin',\n\n // Data Commands\n increment: 'dagdagan',\n decrement: 'bawasan',\n bind: 'itali',\n default: 'pamantayan',\n persist: 'panatilihin',\n\n // Navigation Commands\n go: 'pumunta',\n pushUrl: 'itulak_url',\n replaceUrl: 'palitan_url',\n\n // Utility Commands\n copy: 'kopyahin',\n pick: 'pumili',\n beep: 'tunog',\n\n // Advanced Commands\n js: 'js',\n async: 'sabay',\n render: 'ipakita',\n\n // Animation Commands\n swap: 'palitan_pwesto',\n morph: 'baguhin_hugis',\n settle: 'ayusin',\n\n // Content Commands\n append: 'idagdag_sa_dulo',\n prepend: 'idagdag_sa_simula',\n\n // Control Flow\n exit: 'lumabas',\n else: 'kung_hindi',\n\n // Focus Commands\n focus: 'ituon',\n blur: 'alisin_tuon',\n\n // Behaviors\n install: 'ikabit',\n behavior: 'ugali',\n init: 'simulan',\n clone: 'kopyahin',\n },\n\n modifiers: {\n to: 'sa',\n from: 'mula_sa',\n into: 'papasok_sa',\n with: 'kasama',\n at: 'sa',\n in: 'sa_loob',\n of: 'ng',\n as: 'bilang',\n by: 'sa_pamamagitan_ng',\n before: 'bago',\n after: 'pagkatapos',\n over: 'sa_ibabaw',\n under: 'sa_ilalim',\n between: 'sa_pagitan',\n through: 'sa_pamamagitan',\n without: 'walang',\n on: 'sa',\n then: 'pagkatapos',\n and: 'at',\n end: 'wakas',\n until: 'hanggang',\n },\n\n events: {\n click: 'click',\n dblclick: 'dblclick',\n mousedown: 'mousedown',\n mouseup: 'mouseup',\n mouseenter: 'mouseenter',\n mouseleave: 'mouseleave',\n mouseover: 'mouseover',\n mouseout: 'mouseout',\n mousemove: 'mousemove',\n\n keydown: 'keydown',\n keyup: 'keyup',\n keypress: 'keypress',\n\n focus: 'focus',\n blur: 'blur',\n change: 'change',\n input: 'input',\n submit: 'submit',\n reset: 'reset',\n\n load: 'load',\n unload: 'unload',\n resize: 'resize',\n scroll: 'scroll',\n\n touchstart: 'touchstart',\n touchend: 'touchend',\n touchmove: 'touchmove',\n touchcancel: 'touchcancel',\n\n every: 'bawat',\n },\n\n logical: {\n when: 'kapag',\n where: 'kung_saan',\n and: 'at',\n or: 'o',\n not: 'hindi',\n is: 'ay',\n exists: 'may',\n matches: 'tumutugma',\n contains: 'naglalaman',\n includes: 'kasama',\n equals: 'katumbas',\n has: 'may', // possession verb (context-based)\n have: 'may', // same for first/third person in Tagalog\n then: 'pagkatapos',\n else: 'kung_hindi',\n otherwise: 'kung_hindi_man',\n end: 'wakas',\n if: 'kung',\n empty: 'walang_laman',\n true: 'totoo',\n false: 'mali',\n null: 'wala',\n undefined: 'hindi_tinukoy',\n },\n\n temporal: {\n seconds: 'segundo',\n second: 'segundo',\n milliseconds: 'milisegundo',\n millisecond: 'milisegundo',\n minutes: 'minuto',\n minute: 'minuto',\n hours: 'oras',\n hour: 'oras',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'h',\n now: 'ngayon',\n forever: 'magpakailanman',\n times: 'beses',\n },\n\n values: {\n true: 'totoo',\n false: 'mali',\n null: 'wala',\n undefined: 'hindi_tinukoy',\n it: 'ito',\n its: 'nito',\n me: 'ako',\n my: 'aking',\n myself: 'sarili_ko',\n you: 'ikaw',\n your: 'iyong',\n yourself: 'sarili_mo',\n element: 'elemento',\n target: 'target',\n detail: 'detalye',\n event: 'pangyayari',\n window: 'bintana',\n document: 'dokumento',\n body: 'katawan',\n result: 'resulta',\n value: 'halaga',\n },\n\n attributes: {\n class: 'klase',\n classes: 'mga_klase',\n style: 'estilo',\n styles: 'mga_estilo',\n attribute: 'katangian',\n attributes: 'mga_katangian',\n property: 'ari_arian',\n properties: 'mga_ari_arian',\n id: 'id',\n value: 'halaga',\n text: 'teksto',\n html: 'html',\n disabled: 'hindi_pinagana',\n checked: 'naka_tsek',\n },\n\n expressions: {\n // Positional\n first: 'una',\n last: 'huli',\n next: 'susunod',\n previous: 'nakaraan',\n prev: 'nakaraan',\n at: 'sa',\n random: 'random',\n\n // DOM Traversal\n closest: 'pinakamalapit',\n parent: 'magulang',\n children: 'mga_anak',\n within: 'sa_loob_ng',\n\n // Emptiness/Existence\n no: 'walang',\n empty: 'walang_laman',\n some: 'ilan',\n\n // String operations\n 'starts with': 'nagsisimula_sa',\n 'ends with': 'nagtatapos_sa',\n\n // Additional\n length: 'haba',\n index: 'indeks',\n },\n};\n\n// Default export alias\nexport const tl = tagalogDictionary;\n","/**\n * Dictionary Index\n *\n * Exports dictionaries for all supported languages.\n *\n * Strategy: Dictionaries are derived from semantic profiles where possible,\n * with fallbacks to manual definitions for categories not in profiles\n * (events, temporal, some values, attributes).\n *\n * The semantic package's language profiles are the single source of truth\n * for command/modifier/logical keyword translations.\n *\n * TRANSITION NOTE: Currently using full legacy overrides to preserve\n * backward compatibility. Once profiles and dictionaries are synchronized,\n * the legacy overrides can be reduced to only non-profile categories.\n */\n\nimport { Dictionary } from '../types';\n\n// NOTE: Derivation infrastructure is ready but not yet active.\n// The languageProfiles from @lokascript/semantic can be used with deriveFromProfile()\n// once we're ready to transition away from legacy dictionaries.\n// See ./derive.ts for the derivation utilities.\n\n// Import legacy dictionaries for overrides\n// These provide backward compatibility during the transition period\nimport { en as enLegacy } from './en';\nimport { es as esLegacy } from './es';\nimport { ko as koLegacy } from './ko';\nimport { zh as zhLegacy } from './zh';\nimport { fr as frLegacy } from './fr';\nimport { de as deLegacy } from './de';\nimport { ja as jaLegacy } from './ja';\nimport { ar as arLegacy } from './ar';\nimport { tr as trLegacy } from './tr';\nimport { id as idLegacy } from './id';\nimport { qu as quLegacy } from './qu';\nimport { sw as swLegacy } from './sw';\nimport { pt as ptLegacy } from './pt';\nimport { it as itLegacy } from './it';\nimport { vi as viLegacy } from './vi';\nimport { pl as plLegacy } from './pl';\nimport { russianDictionary as ruLegacy } from './ru';\nimport { ukrainianDictionary as ukLegacy } from './uk';\nimport { hindiDictionary as hiLegacy } from './hi';\nimport { bengaliDictionary as bnLegacy } from './bn';\nimport { thaiDictionary as thLegacy } from './th';\nimport { malayDictionary as msLegacy } from './ms';\nimport { tagalogDictionary as tlLegacy } from './tl';\n\n// =============================================================================\n// Derived Dictionaries with Legacy Overrides\n// =============================================================================\n\n// For backward compatibility, we use full legacy overrides.\n// This ensures no translation changes while establishing the derivation infrastructure.\n// Future: Reduce overrides to only non-profile categories as profiles are synchronized.\n\n/**\n * English dictionary - uses legacy values for full compatibility.\n */\nexport const en: Dictionary = enLegacy;\n\n/**\n * Spanish dictionary - legacy overrides for compatibility.\n */\nexport const es: Dictionary = esLegacy;\n\n/**\n * Japanese dictionary - legacy overrides for compatibility.\n */\nexport const ja: Dictionary = jaLegacy;\n\n/**\n * Korean dictionary - legacy overrides for compatibility.\n */\nexport const ko: Dictionary = koLegacy;\n\n/**\n * Chinese dictionary - legacy overrides for compatibility.\n */\nexport const zh: Dictionary = zhLegacy;\n\n/**\n * French dictionary - legacy overrides for compatibility.\n */\nexport const fr: Dictionary = frLegacy;\n\n/**\n * German dictionary - legacy overrides for compatibility.\n */\nexport const de: Dictionary = deLegacy;\n\n/**\n * Arabic dictionary - legacy overrides for compatibility.\n */\nexport const ar: Dictionary = arLegacy;\n\n/**\n * Turkish dictionary - legacy overrides for compatibility.\n */\nexport const tr: Dictionary = trLegacy;\n\n/**\n * Indonesian dictionary - legacy overrides for compatibility.\n */\nexport const id: Dictionary = idLegacy;\n\n/**\n * Portuguese dictionary - legacy overrides for compatibility.\n */\nexport const pt: Dictionary = ptLegacy;\n\n/**\n * Quechua dictionary - legacy overrides for compatibility.\n */\nexport const qu: Dictionary = quLegacy;\n\n/**\n * Swahili dictionary - legacy overrides for compatibility.\n */\nexport const sw: Dictionary = swLegacy;\n\n/**\n * Italian dictionary - legacy overrides for compatibility.\n */\nexport const it: Dictionary = itLegacy;\n\n/**\n * Vietnamese dictionary - legacy overrides for compatibility.\n */\nexport const vi: Dictionary = viLegacy;\n\n/**\n * Polish dictionary - legacy overrides for compatibility.\n */\nexport const pl: Dictionary = plLegacy;\n\n/**\n * Russian dictionary - legacy overrides for compatibility.\n */\nexport const ru: Dictionary = ruLegacy;\n\n/**\n * Ukrainian dictionary - legacy overrides for compatibility.\n */\nexport const uk: Dictionary = ukLegacy;\n\n/**\n * Hindi dictionary - legacy overrides for compatibility.\n */\nexport const hi: Dictionary = hiLegacy;\n\n/**\n * Bengali dictionary - legacy overrides for compatibility.\n */\nexport const bn: Dictionary = bnLegacy;\n\n/**\n * Thai dictionary - legacy overrides for compatibility.\n */\nexport const th: Dictionary = thLegacy;\n\n/**\n * Malay dictionary - legacy overrides for compatibility.\n */\nexport const ms: Dictionary = msLegacy;\n\n/**\n * Tagalog dictionary - legacy overrides for compatibility.\n */\nexport const tl: Dictionary = tlLegacy;\n\n// =============================================================================\n// Dictionary Registry\n// =============================================================================\n\n/**\n * All available dictionaries indexed by locale code.\n */\nexport const dictionaries: Record<string, Dictionary> = {\n en,\n es,\n ko,\n zh,\n fr,\n de,\n ja,\n ar,\n tr,\n id,\n qu,\n sw,\n pt,\n it,\n vi,\n pl,\n ru,\n uk,\n hi,\n bn,\n th,\n ms,\n tl,\n};\n\n// =============================================================================\n// Helper Functions\n// =============================================================================\n\n/**\n * Get all supported locale codes.\n */\nexport const supportedLocales = Object.keys(dictionaries);\n\n/**\n * Check if a locale is supported.\n */\nexport const isLocaleSupported = (locale: string): boolean => {\n return locale in dictionaries;\n};\n\n/**\n * Get dictionary with fallback to another locale.\n */\nexport const getDictionary = (locale: string, fallback: string = 'en'): Dictionary | null => {\n return dictionaries[locale] || dictionaries[fallback] || null;\n};\n\n// =============================================================================\n// Derivation Utilities (for future use)\n// =============================================================================\n\n/**\n * Re-export derivation utilities for external use.\n * These can be used to derive dictionaries from profiles when ready.\n */\nexport { deriveFromProfile, createEnglishDictionary, validateDictionary } from './derive';\n","// packages/i18n/src/utils/locale.ts\n\nimport { dictionaries } from '../dictionaries';\nimport { DICTIONARY_CATEGORIES } from '../types';\n\nexport interface LocaleInfo {\n code: string;\n language: string;\n region?: string;\n script?: string;\n}\n\n/**\n * Parse a locale string into its components\n * Examples: 'en-US', 'zh-Hans-CN', 'es-419'\n */\nexport function parseLocale(locale: string): LocaleInfo {\n const parts = locale.split('-');\n const info: LocaleInfo = {\n code: locale,\n language: parts[0].toLowerCase(),\n };\n\n if (parts.length > 1) {\n // Check if second part is a script (4 letters, first capitalized)\n if (parts[1].length === 4 && /^[A-Z][a-z]{3}$/.test(parts[1])) {\n info.script = parts[1];\n if (parts[2]) {\n info.region = parts[2].toUpperCase();\n }\n } else {\n info.region = parts[1].toUpperCase();\n }\n }\n\n return info;\n}\n\n/**\n * Detect the language of hyperscript text\n */\nexport function detectLocale(text: string, supportedLocales: string[]): string {\n const scores = new Map<string, number>();\n\n // Initialize scores\n supportedLocales.forEach(locale => scores.set(locale, 0));\n\n // Count keyword matches for each locale using type-safe iteration\n for (const [locale, dictionary] of Object.entries(dictionaries)) {\n if (!supportedLocales.includes(locale)) continue;\n\n let score = 0;\n\n // Check all categories\n for (const category of DICTIONARY_CATEGORIES) {\n const translations = dictionary[category];\n for (const keyword of Object.values(translations)) {\n // Skip empty or single-character keywords (too ambiguous for detection)\n if (!keyword || keyword.length < 2) continue;\n\n // Use word boundary matching for accuracy\n const regex = new RegExp(`\\\\b${escapeRegex(keyword)}\\\\b`, 'gi');\n const matches = text.match(regex);\n if (matches) {\n score += matches.length;\n }\n }\n }\n\n scores.set(locale, score);\n }\n\n // Find locale with highest score\n let maxScore = 0;\n let detectedLocale = 'en'; // Default to English\n\n scores.forEach((score, locale) => {\n if (score > maxScore) {\n maxScore = score;\n detectedLocale = locale;\n }\n });\n\n return detectedLocale;\n}\n\n/**\n * Get the best matching locale from available locales\n */\nexport function getBestMatchingLocale(\n requestedLocale: string,\n availableLocales: string[]\n): string | null {\n // Exact match\n if (availableLocales.includes(requestedLocale)) {\n return requestedLocale;\n }\n\n const requested = parseLocale(requestedLocale);\n\n // Try language-only match\n const languageMatch = availableLocales.find(locale => {\n const available = parseLocale(locale);\n return available.language === requested.language;\n });\n\n if (languageMatch) {\n return languageMatch;\n }\n\n // Try language-script match\n if (requested.script) {\n const scriptMatch = availableLocales.find(locale => {\n const available = parseLocale(locale);\n return available.language === requested.language && available.script === requested.script;\n });\n\n if (scriptMatch) {\n return scriptMatch;\n }\n }\n\n return null;\n}\n\n/**\n * Get user's preferred locales from browser\n */\nexport function getBrowserLocales(): string[] {\n if (typeof window === 'undefined') {\n return ['en'];\n }\n\n const locales: string[] = [];\n\n // Modern browser API\n if (navigator.languages && navigator.languages.length > 0) {\n locales.push(...navigator.languages);\n }\n\n // Fallback to single language\n if (navigator.language) {\n locales.push(navigator.language);\n }\n\n // Legacy IE\n if ((navigator as any).userLanguage) {\n locales.push((navigator as any).userLanguage);\n }\n\n // Remove duplicates and return\n return [...new Set(locales)];\n}\n\n/**\n * Escape special regex characters\n */\nfunction escapeRegex(str: string): string {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n\n/**\n * Format a locale for display\n */\nexport function formatLocaleName(locale: string): string {\n const names: Record<string, string> = {\n en: 'English',\n es: 'Español',\n ko: '한국어',\n zh: '中文',\n 'zh-TW': '繁體中文',\n ja: '日本語',\n fr: 'Français',\n de: 'Deutsch',\n pt: 'Português',\n hi: 'हिन्दी',\n ar: 'العربية',\n };\n\n return names[locale] || locale;\n}\n\n/**\n * Check if a locale uses RTL writing\n */\nexport function isRTL(locale: string): boolean {\n const rtlLocales = ['ar', 'he', 'fa', 'ur', 'yi', 'ji', 'ku', 'dv'];\n const info = parseLocale(locale);\n return rtlLocales.includes(info.language);\n}\n","/**\n * Tokenizer Adapter\n *\n * Bridges the semantic package's sophisticated tokenizers to i18n's\n * dictionary-based token categorization system.\n *\n * The semantic tokenizers handle:\n * - Language-specific word boundaries\n * - CSS selectors, URLs, string literals\n * - Grammatical particles (を, に, من)\n * - Morphological normalization\n *\n * This adapter converts semantic tokens to i18n tokens by:\n * 1. Using semantic's tokenize() for sophisticated tokenization\n * 2. Mapping TokenKind to TokenType via dictionary lookup for keywords\n * 3. Preserving position information for round-trip support\n */\n\nimport type { Token, TokenType } from '../types';\nimport { dictionaries } from '../dictionaries';\n\n// =============================================================================\n// Semantic Tokenizer Integration\n// =============================================================================\n\n// Types from semantic package (inlined to avoid circular dependency issues)\ninterface SourcePosition {\n readonly start: number;\n readonly end: number;\n readonly line?: number;\n readonly column?: number;\n}\n\ntype TokenKind =\n | 'keyword'\n | 'selector'\n | 'literal'\n | 'particle'\n | 'conjunction' // Grammatical conjunction (Arabic و/ف proclitics)\n | 'event-modifier' // Event modifiers (.once, .prevent, etc.)\n | 'identifier'\n | 'operator'\n | 'punctuation'\n | 'url';\n\ninterface LanguageToken {\n readonly value: string;\n readonly kind: TokenKind;\n readonly position: SourcePosition;\n readonly normalized?: string;\n readonly stem?: string;\n readonly stemConfidence?: number;\n}\n\ninterface TokenStream {\n readonly tokens: readonly LanguageToken[];\n readonly language: string;\n}\n\n// Lazy load semantic tokenizers to avoid circular dependency at module load time\nlet _semanticTokenize: ((input: string, language: string) => TokenStream) | null = null;\nlet _isLanguageSupported: ((language: string) => boolean) | null = null;\nlet _semanticLoaded = false;\nlet _semanticLoadFailed = false;\n\nasync function loadSemantic(): Promise<boolean> {\n if (_semanticLoaded) return !_semanticLoadFailed;\n if (_semanticLoadFailed) return false;\n\n try {\n // Dynamic import to break circular dependency\n const semantic = await import('@lokascript/semantic');\n _semanticTokenize = semantic.tokenize;\n _isLanguageSupported = semantic.isLanguageSupported;\n _semanticLoaded = true;\n return true;\n } catch {\n _semanticLoadFailed = true;\n return false;\n }\n}\n\n// Synchronous check - only works after first async load\nfunction isSemanticAvailable(): boolean {\n return _semanticLoaded && !_semanticLoadFailed;\n}\n\nfunction semanticTokenize(input: string, language: string): TokenStream | null {\n if (!_semanticTokenize) return null;\n try {\n return _semanticTokenize(input, language);\n } catch {\n return null;\n }\n}\n\nfunction semanticIsLanguageSupported(language: string): boolean {\n if (!_isLanguageSupported) return false;\n return _isLanguageSupported(language);\n}\n\n// =============================================================================\n// Token Type Mapping\n// =============================================================================\n\n/**\n * Map semantic TokenKind to i18n TokenType.\n *\n * Semantic TokenKind → i18n TokenType:\n * - keyword: Use dictionary lookup to determine specific type\n * - selector: identifier (selectors don't get translated)\n * - literal: literal\n * - particle: modifier (grammatical particles)\n * - identifier: identifier\n * - operator: operator\n * - punctuation: operator\n * - url: literal\n */\nfunction mapTokenKind(kind: TokenKind): TokenType {\n switch (kind) {\n case 'keyword':\n // Will be refined by dictionary lookup\n return 'identifier';\n case 'selector':\n return 'identifier';\n case 'literal':\n return 'literal';\n case 'particle':\n return 'modifier';\n case 'conjunction':\n return 'modifier';\n case 'event-modifier':\n return 'modifier';\n case 'identifier':\n return 'identifier';\n case 'operator':\n return 'operator';\n case 'punctuation':\n return 'operator';\n case 'url':\n return 'literal';\n default:\n return 'identifier';\n }\n}\n\n/**\n * Determine the specific i18n TokenType for a word by looking up\n * in the locale's dictionary.\n *\n * Order matters: events before commands since many events (click, focus)\n * also appear in commands.\n */\nfunction categorizeWord(word: string, locale: string): TokenType {\n const lowerWord = word.toLowerCase();\n\n // Map dictionary categories to token types (events first to handle 'click' etc.)\n const categoryToType: Array<[string, TokenType]> = [\n ['events', 'event'],\n ['commands', 'command'],\n ['expressions', 'expression'],\n ['modifiers', 'modifier'],\n ['logical', 'logical'],\n ['temporal', 'temporal'],\n ['values', 'value'],\n ['attributes', 'attribute'],\n ];\n\n // Check all supported dictionaries (source locale + English)\n const localesToCheck = locale === 'en' ? ['en'] : [locale, 'en'];\n\n for (const loc of localesToCheck) {\n const dict = dictionaries[loc];\n if (!dict) continue;\n\n // Check categories in priority order (events before commands)\n for (const [category, tokenType] of categoryToType) {\n const translations = dict[category as keyof typeof dict];\n if (!translations || typeof translations !== 'object') continue;\n\n // Check if word matches a key (English) or value (translated)\n for (const [key, value] of Object.entries(translations)) {\n if (key.toLowerCase() === lowerWord || value.toLowerCase() === lowerWord) {\n return tokenType;\n }\n }\n }\n }\n\n // Default to identifier\n return 'identifier';\n}\n\n// =============================================================================\n// Token Conversion\n// =============================================================================\n\n/**\n * Convert a semantic LanguageToken to an i18n Token.\n */\nfunction convertToken(token: LanguageToken, locale: string): Token {\n let type: TokenType;\n\n if (token.kind === 'keyword') {\n // For keywords, use dictionary lookup to get specific type\n // Use normalized form if available (e.g., 切り替え → toggle)\n const lookupWord = token.normalized || token.value;\n type = categorizeWord(lookupWord, locale);\n } else {\n type = mapTokenKind(token.kind);\n }\n\n return {\n type,\n value: token.value,\n position: {\n start: token.position.start,\n end: token.position.end,\n line: token.position.line ?? 1,\n column: token.position.column ?? token.position.start + 1,\n },\n };\n}\n\n// =============================================================================\n// Public API\n// =============================================================================\n\n/**\n * Initialize the semantic tokenizer (call once at app startup for best performance).\n * This is optional - tokenize() will work without it, using fallback tokenization.\n */\nexport async function initSemanticTokenizer(): Promise<boolean> {\n return loadSemantic();\n}\n\n/**\n * Tokenize input using semantic package's sophisticated tokenizers,\n * converting to i18n-compatible tokens.\n *\n * Falls back to basic tokenization if:\n * - Semantic package not loaded yet\n * - Language not supported by semantic\n * - Any error occurs\n *\n * For best performance, call initSemanticTokenizer() at app startup.\n */\nexport function tokenize(text: string, locale: string): Token[] {\n // Try semantic tokenization if available\n if (isSemanticAvailable() && semanticIsLanguageSupported(locale)) {\n const stream = semanticTokenize(text, locale);\n if (stream) {\n const tokens: Token[] = [];\n for (const semanticToken of stream.tokens) {\n tokens.push(convertToken(semanticToken, locale));\n }\n return tokens;\n }\n }\n\n // Fall back to basic tokenization\n return tokenizeBasic(text, locale);\n}\n\n/**\n * Tokenize with async initialization of semantic tokenizers.\n * Useful when you want to ensure semantic tokenization is used.\n */\nexport async function tokenizeAsync(text: string, locale: string): Promise<Token[]> {\n await loadSemantic();\n return tokenize(text, locale);\n}\n\n/**\n * Basic tokenization fallback for unsupported languages.\n * This is a simplified version that handles common patterns.\n */\nfunction tokenizeBasic(text: string, locale: string): Token[] {\n const tokens: Token[] = [];\n let position = 0;\n let line = 1;\n let column = 1;\n\n while (position < text.length) {\n const start = position;\n const startLine = line;\n const startColumn = column;\n\n // Skip whitespace but track it\n if (isWhitespace(text[position])) {\n const whitespace = consumeWhitespace(text, position);\n tokens.push({\n type: 'literal',\n value: whitespace,\n position: {\n start,\n end: position + whitespace.length,\n line: startLine,\n column: startColumn,\n },\n });\n\n // Update position tracking\n for (let i = 0; i < whitespace.length; i++) {\n if (whitespace[i] === '\\n') {\n line++;\n column = 1;\n } else {\n column++;\n }\n }\n position += whitespace.length;\n continue;\n }\n\n // String literals\n if (text[position] === '\"' || text[position] === \"'\") {\n const quote = text[position];\n let value = quote;\n position++;\n column++;\n\n while (position < text.length && text[position] !== quote) {\n if (text[position] === '\\\\' && position + 1 < text.length) {\n value += text[position] + text[position + 1];\n position += 2;\n column += 2;\n } else {\n value += text[position];\n if (text[position] === '\\n') {\n line++;\n column = 1;\n } else {\n column++;\n }\n position++;\n }\n }\n\n if (position < text.length) {\n value += text[position];\n position++;\n column++;\n }\n\n tokens.push({\n type: 'literal',\n value,\n position: {\n start,\n end: position,\n line: startLine,\n column: startColumn,\n },\n });\n continue;\n }\n\n // Numbers\n if (isDigit(text[position])) {\n const number = consumeNumber(text, position);\n tokens.push({\n type: 'literal',\n value: number,\n position: {\n start,\n end: position + number.length,\n line: startLine,\n column: startColumn,\n },\n });\n position += number.length;\n column += number.length;\n continue;\n }\n\n // Identifiers and keywords\n if (isIdentifierStart(text[position])) {\n const word = consumeIdentifier(text, position);\n const tokenType = categorizeWord(word, locale);\n\n tokens.push({\n type: tokenType,\n value: word,\n position: {\n start,\n end: position + word.length,\n line: startLine,\n column: startColumn,\n },\n });\n position += word.length;\n column += word.length;\n continue;\n }\n\n // Operators and punctuation\n const operator = consumeOperator(text, position);\n tokens.push({\n type: 'operator',\n value: operator,\n position: {\n start,\n end: position + operator.length,\n line: startLine,\n column: startColumn,\n },\n });\n position += operator.length;\n column += operator.length;\n }\n\n return tokens;\n}\n\n// =============================================================================\n// Helper Functions\n// =============================================================================\n\nfunction isWhitespace(char: string): boolean {\n return /\\s/.test(char);\n}\n\nfunction isDigit(char: string): boolean {\n return /\\d/.test(char);\n}\n\nfunction isIdentifierStart(char: string): boolean {\n return /[a-zA-Z_$áéíóúñÑàèìòùÀÈÌÒÙ一-龯ㄱ-ㅎㅏ-ㅣ가-힣]/.test(char);\n}\n\nfunction isIdentifierPart(char: string): boolean {\n return /[a-zA-Z0-9_$áéíóúñÑàèìòùÀÈÌÒÙ一-龯ㄱ-ㅎㅏ-ㅣ가-힣-]/.test(char);\n}\n\nfunction consumeWhitespace(text: string, start: number): string {\n let end = start;\n while (end < text.length && isWhitespace(text[end])) {\n end++;\n }\n return text.substring(start, end);\n}\n\nfunction consumeNumber(text: string, start: number): string {\n let end = start;\n while (end < text.length && (isDigit(text[end]) || text[end] === '.')) {\n end++;\n }\n return text.substring(start, end);\n}\n\nfunction consumeIdentifier(text: string, start: number): string {\n let end = start;\n while (end < text.length && isIdentifierPart(text[end])) {\n end++;\n }\n return text.substring(start, end);\n}\n\nfunction consumeOperator(text: string, start: number): string {\n // Try to match multi-character operators first\n const twoChar = text.substring(start, start + 2);\n if (['==', '!=', '<=', '>=', '&&', '||', '..'].includes(twoChar)) {\n return twoChar;\n }\n\n // Single character operators\n return text[start];\n}\n","// packages/i18n/src/validators/schema.ts\n\nexport const RequiredCategories = [\n 'commands',\n 'modifiers',\n 'events',\n 'logical',\n 'temporal',\n 'values',\n 'attributes',\n] as const;\n\nexport const RequiredKeys = {\n commands: [\n 'on',\n 'tell',\n 'trigger',\n 'send',\n 'take',\n 'put',\n 'set',\n 'get',\n 'add',\n 'remove',\n 'toggle',\n 'hide',\n 'show',\n 'if',\n 'repeat',\n 'for',\n 'while',\n 'wait',\n 'fetch',\n 'call',\n 'return',\n 'make',\n 'log',\n 'throw',\n 'catch',\n ],\n\n modifiers: [\n 'to',\n 'from',\n 'into',\n 'with',\n 'at',\n 'in',\n 'of',\n 'as',\n 'by',\n 'before',\n 'after',\n 'over',\n 'under',\n 'between',\n ],\n\n events: [\n 'click',\n 'change',\n 'focus',\n 'blur',\n 'keydown',\n 'keyup',\n 'mouseenter',\n 'mouseleave',\n 'submit',\n 'load',\n 'scroll',\n ],\n\n logical: ['and', 'or', 'not', 'is', 'then', 'else', 'end'],\n\n temporal: ['seconds', 'milliseconds', 'minutes', 'hours'],\n\n values: ['true', 'false', 'null', 'it', 'me', 'my', 'element', 'window', 'document'],\n\n attributes: [\n 'class',\n 'style',\n 'attribute',\n 'first',\n 'last',\n 'next',\n 'previous',\n 'parent',\n 'children',\n ],\n} as const;\n\nexport interface DictionarySchema {\n readonly categories: ReadonlyArray<string>;\n readonly requiredKeys: Readonly<Record<string, ReadonlyArray<string>>>;\n}\n\nexport const schema: DictionarySchema = {\n categories: RequiredCategories,\n requiredKeys: RequiredKeys,\n};\n\n// Helper type for strict dictionary validation\nexport type StrictDictionary = {\n [K in (typeof RequiredCategories)[number]]: Record<string, string>;\n};\n\n// Validation helpers\nexport function isValidCategory(category: string): category is (typeof RequiredCategories)[number] {\n return RequiredCategories.includes(category as any);\n}\n\nexport function getRequiredKeysForCategory(category: string): ReadonlyArray<string> {\n return RequiredKeys[category as keyof typeof RequiredKeys] || [];\n}\n\nexport function getMissingKeys(\n dictionary: Record<string, string>,\n requiredKeys: ReadonlyArray<string>\n): string[] {\n return requiredKeys.filter(key => !(key in dictionary));\n}\n\nexport function getExtraKeys(\n dictionary: Record<string, string>,\n requiredKeys: ReadonlyArray<string>\n): string[] {\n const required = new Set(requiredKeys);\n return Object.keys(dictionary).filter(key => !required.has(key));\n}\n","// packages/i18n/src/validators/index.ts\n\nimport {\n Dictionary,\n DICTIONARY_CATEGORIES,\n ValidationResult,\n ValidationError,\n ValidationWarning,\n} from '../types';\nimport { RequiredCategories, RequiredKeys } from './schema';\n\nexport function validate(dictionary: Dictionary, locale: string): ValidationResult {\n const errors: ValidationError[] = [];\n const warnings: ValidationWarning[] = [];\n const coverage = {\n total: 0,\n translated: 0,\n missing: [] as string[],\n };\n\n // Check required categories\n for (const category of RequiredCategories) {\n if (!(category in dictionary)) {\n errors.push({\n type: 'missing',\n key: category,\n message: `Missing required category: ${category}`,\n });\n }\n }\n\n // Check required keys in each category\n for (const [category, requiredKeys] of Object.entries(RequiredKeys)) {\n const categoryDict = dictionary[category as keyof Dictionary];\n\n if (!categoryDict) continue;\n\n for (const key of requiredKeys) {\n coverage.total++;\n\n if (!(key in categoryDict)) {\n errors.push({\n type: 'missing',\n key: `${category}.${key}`,\n message: `Missing required key: ${key} in category ${category}`,\n });\n coverage.missing.push(`${category}.${key}`);\n } else if (!categoryDict[key] || categoryDict[key].trim() === '') {\n errors.push({\n type: 'invalid',\n key: `${category}.${key}`,\n message: `Empty translation for key: ${key} in category ${category}`,\n });\n } else {\n coverage.translated++;\n }\n }\n }\n\n // Check for duplicates using type-safe category iteration\n const seen = new Map<string, string>();\n\n for (const category of DICTIONARY_CATEGORIES) {\n const translations = dictionary[category];\n if (!translations) continue;\n\n for (const [key, value] of Object.entries(translations)) {\n if (seen.has(value)) {\n warnings.push({\n type: 'inconsistent',\n key: `${category}.${key}`,\n message: `Duplicate translation \"${value}\" also used for ${seen.get(value)}`,\n });\n } else {\n seen.set(value, `${category}.${key}`);\n }\n }\n }\n\n // Language-specific validations\n validateLocaleSpecific(dictionary, locale, errors, warnings);\n\n return {\n valid: errors.length === 0,\n errors,\n warnings,\n coverage,\n };\n}\n\nfunction validateLocaleSpecific(\n dictionary: Dictionary,\n locale: string,\n _errors: ValidationError[],\n warnings: ValidationWarning[]\n): void {\n // Spanish-specific validations\n if (locale === 'es') {\n // Check for gender consistency\n if (dictionary.values?.true === 'verdadero' && dictionary.values?.false === 'falso') {\n // Both masculine, good\n } else if (dictionary.values?.true === 'verdadera' && dictionary.values?.false === 'falsa') {\n // Both feminine, good\n } else if (dictionary.values?.true && dictionary.values?.false) {\n warnings.push({\n type: 'inconsistent',\n key: 'values.true/false',\n message: 'Gender inconsistency between true/false translations',\n });\n }\n }\n\n // Korean-specific validations\n if (locale === 'ko') {\n // Check for consistent honorific levels\n const formalEndings = ['습니다', '세요'];\n const informalEndings = ['다', '어', '아'];\n\n let formalCount = 0;\n let informalCount = 0;\n\n for (const category of DICTIONARY_CATEGORIES) {\n const translations = dictionary[category];\n if (!translations) continue;\n for (const value of Object.values(translations)) {\n if (formalEndings.some(ending => value.endsWith(ending))) {\n formalCount++;\n }\n if (informalEndings.some(ending => value.endsWith(ending))) {\n informalCount++;\n }\n }\n }\n\n if (formalCount > 0 && informalCount > 0) {\n warnings.push({\n type: 'inconsistent',\n key: 'global',\n message: 'Mixed formal and informal speech levels',\n });\n }\n }\n\n // Chinese-specific validations\n if (locale === 'zh' || locale === 'zh-TW') {\n // Check for simplified vs traditional consistency\n const simplified = ['设', '获', '显', '发'];\n const traditional = ['設', '獲', '顯', '發'];\n\n let hasSimplified = false;\n let hasTraditional = false;\n\n for (const category of DICTIONARY_CATEGORIES) {\n const translations = dictionary[category];\n if (!translations) continue;\n for (const value of Object.values(translations)) {\n if (simplified.some(char => value.includes(char))) {\n hasSimplified = true;\n }\n if (traditional.some(char => value.includes(char))) {\n hasTraditional = true;\n }\n }\n }\n\n if (hasSimplified && hasTraditional) {\n warnings.push({\n type: 'inconsistent',\n key: 'global',\n message: 'Mixed simplified and traditional Chinese characters',\n });\n }\n }\n}\n","// packages/i18n/src/translator.ts\n\nimport {\n Dictionary,\n DICTIONARY_CATEGORIES,\n I18nConfig,\n TranslationOptions,\n TranslationResult,\n Token,\n TokenType,\n ValidationResult,\n} from './types';\nimport { dictionaries } from './dictionaries';\nimport { detectLocale } from './utils/locale';\nimport { tokenize } from './utils/tokenizer';\nimport { validate } from './validators';\n\nexport class HyperscriptTranslator {\n private config: I18nConfig;\n private dictionaries: Map<string, Dictionary>;\n private reverseDictionaries: Map<string, Map<string, string>>;\n\n constructor(config: I18nConfig) {\n this.config = {\n fallbackLocale: 'en',\n preserveOriginalAttribute: 'data-i18n-original',\n detectLocale: true, // Enable language detection by default\n ...config,\n locale: config.locale || 'en', // Ensure locale has a default\n };\n\n this.dictionaries = new Map();\n this.reverseDictionaries = new Map();\n\n // Load built-in dictionaries\n Object.entries(dictionaries).forEach(([locale, dict]) => {\n this.addDictionary(locale, dict);\n });\n\n // Load custom dictionaries\n if (config.dictionaries) {\n Object.entries(config.dictionaries).forEach(([locale, dict]) => {\n this.addDictionary(locale, dict);\n });\n }\n }\n\n translate(text: string, options: TranslationOptions): string {\n const result = this.translateWithDetails(text, options);\n return result.translated;\n }\n\n translateWithDetails(text: string, options: TranslationOptions): TranslationResult {\n const fromLocale = options.from || this.detectLanguage(text);\n const toLocale = options.to;\n\n if (fromLocale === toLocale) {\n return {\n translated: text,\n original: text,\n tokens: [],\n locale: { from: fromLocale, to: toLocale },\n };\n }\n\n // Get dictionaries\n const fromDict = this.getDictionary(fromLocale);\n const toDict = this.getDictionary(toLocale);\n\n if (!fromDict || !toDict) {\n throw new Error(`Missing dictionary for locale: ${!fromDict ? fromLocale : toLocale}`);\n }\n\n // Tokenize the input\n const tokens = tokenize(text, fromLocale);\n\n // Translate tokens\n const translatedTokens = this.translateTokens(tokens, fromLocale, toLocale);\n\n // Reconstruct the text\n const translated = this.reconstructText(translatedTokens);\n\n // Validate target dictionary if requested\n if (options.validate && toDict) {\n const validation = validate(toDict, toLocale);\n if (!validation.valid) {\n console.warn('Translation validation warnings:', validation.warnings);\n }\n }\n\n const result: TranslationResult = {\n translated,\n tokens: translatedTokens,\n locale: { from: fromLocale, to: toLocale },\n warnings: [],\n };\n if (options.preserveOriginal) {\n result.original = text;\n }\n return result;\n }\n\n private translateTokens(tokens: Token[], fromLocale: string, toLocale: string): Token[] {\n const fromDict = this.getDictionary(fromLocale);\n const toDict = this.getDictionary(toLocale);\n const reverseFromDict = this.getReverseDictionary(fromLocale);\n const emptyDict: Dictionary = {\n commands: {},\n modifiers: {},\n events: {},\n logical: {},\n temporal: {},\n values: {},\n attributes: {},\n expressions: {},\n };\n\n return tokens.map(token => {\n let translated = token.value;\n\n // Only translate keywords, not identifiers or literals\n if (this.isTranslatableToken(token)) {\n // First, try direct translation from source to target\n if (fromLocale !== 'en' && toLocale !== 'en') {\n // Translate through English as intermediate\n const english = this.findTranslation(token.value, fromDict || emptyDict, reverseFromDict);\n if (english) {\n translated =\n this.findTranslation(english, toDict || emptyDict, new Map()) || token.value;\n }\n } else if (fromLocale === 'en') {\n // Direct translation from English\n translated =\n this.findTranslation(token.value, toDict || emptyDict, new Map()) || token.value;\n } else {\n // Translation to English\n translated =\n this.findTranslation(token.value, fromDict || emptyDict, reverseFromDict) ||\n token.value;\n }\n }\n\n return {\n ...token,\n translated,\n };\n });\n }\n\n private findTranslation(\n word: string,\n dict: Dictionary,\n reverseDict: Map<string, string>\n ): string | null {\n const lowerWord = word.toLowerCase();\n\n // Check if translating FROM this locale using reverse dictionary\n if (reverseDict.size > 0) {\n const english = reverseDict.get(lowerWord);\n if (english) return english;\n }\n\n // Check categories in priority order (events before commands to handle 'click' etc.)\n const categoryOrder = [\n 'events',\n 'commands',\n 'expressions',\n 'modifiers',\n 'logical',\n 'temporal',\n 'values',\n 'attributes',\n ];\n\n for (const category of categoryOrder) {\n const translations = dict[category as keyof Dictionary];\n if (translations && typeof translations === 'object') {\n for (const [key, value] of Object.entries(translations)) {\n if (key.toLowerCase() === lowerWord) return value;\n }\n }\n }\n\n return null;\n }\n\n private isTranslatableToken(token: Token): boolean {\n const translatableTypes: TokenType[] = [\n 'command',\n 'modifier',\n 'event',\n 'logical',\n 'temporal',\n 'value',\n 'attribute',\n 'expression',\n ];\n return translatableTypes.includes(token.type);\n }\n\n private reconstructText(tokens: Token[]): string {\n return tokens.map(token => token.translated || token.value).join('');\n }\n\n detectLanguage(text: string): string {\n if (!this.config.detectLocale) {\n return this.config.locale;\n }\n\n return detectLocale(text, Array.from(this.dictionaries.keys()));\n }\n\n addDictionary(locale: string, dictionary: Dictionary): void {\n this.dictionaries.set(locale, dictionary);\n\n // Build reverse dictionary for this locale using type-safe iteration\n const reverseDict = new Map<string, string>();\n\n for (const category of DICTIONARY_CATEGORIES) {\n const translations = dictionary[category];\n if (translations) {\n for (const [english, translated] of Object.entries(translations)) {\n reverseDict.set(translated.toLowerCase(), english);\n }\n }\n }\n\n this.reverseDictionaries.set(locale, reverseDict);\n }\n\n getDictionary(locale: string): Dictionary | undefined {\n return this.dictionaries.get(locale);\n }\n\n private getReverseDictionary(locale: string): Map<string, string> {\n return this.reverseDictionaries.get(locale) || new Map();\n }\n\n getSupportedLocales(): string[] {\n return Array.from(this.dictionaries.keys());\n }\n\n validateDictionary(locale: string): ValidationResult {\n const dict = this.getDictionary(locale);\n if (!dict) {\n return {\n valid: false,\n errors: [\n { type: 'missing', key: locale, message: `Dictionary not found for locale: ${locale}` },\n ],\n warnings: [],\n coverage: { total: 0, translated: 0, missing: [] },\n };\n }\n\n return validate(dict, locale);\n }\n\n isRTL(locale: string): boolean {\n const rtlLocales = this.config.rtlLocales || ['ar', 'he', 'fa', 'ur'];\n return rtlLocales.includes(locale);\n }\n\n getCompletions(context: { text: string; position: number; locale: string }): string[] {\n const dict = this.getDictionary(context.locale);\n if (!dict) return [];\n\n const completions: string[] = [];\n\n // Get the partial word at cursor\n const beforeCursor = context.text.substring(0, context.position);\n const partial = beforeCursor.match(/\\b(\\w+)$/)?.[1] || '';\n const lowerPartial = partial.toLowerCase();\n\n // Search all categories for matches using type-safe iteration\n // For non-English locales, search translated values; for English, search keys\n for (const category of DICTIONARY_CATEGORIES) {\n const translations = dict[category];\n if (translations) {\n for (const [key, value] of Object.entries(translations)) {\n // Search keys (English terms) and values (translated terms)\n if (key.toLowerCase().startsWith(lowerPartial)) {\n completions.push(key);\n }\n if (value.toLowerCase().startsWith(lowerPartial) && !completions.includes(value)) {\n completions.push(value);\n }\n }\n }\n }\n\n return completions;\n }\n}\n\n// Export a singleton instance for convenience\nexport const translator = new HyperscriptTranslator({ locale: 'en' });\n","// packages/i18n/src/plugins/vite.ts\n\nimport type { Plugin } from 'vite';\nimport { HyperscriptTranslator } from '../translator';\n\n// node-html-parser is an optional dependency\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet parse: any;\ntry {\n // Dynamic require for optional dependency\n parse = require('node-html-parser').parse;\n} catch {\n parse = null;\n}\n\nexport interface HyperscriptI18nViteOptions {\n sourceLocale?: string;\n targetLocale?: string;\n preserveOriginal?: boolean;\n attributes?: string[];\n include?: RegExp | string[];\n exclude?: RegExp | string[];\n}\n\nexport function hyperscriptI18nVitePlugin(options: HyperscriptI18nViteOptions = {}): Plugin {\n const {\n sourceLocale = 'en',\n targetLocale = 'en',\n preserveOriginal = false,\n attributes = ['_', 'script', 'data-script'],\n include = /\\.(html|vue|svelte)$/,\n exclude = /node_modules/,\n } = options;\n\n const translator = new HyperscriptTranslator({ locale: sourceLocale });\n\n return {\n name: 'vite-plugin-hyperscript-i18n',\n\n transform(code: string, id: string) {\n // Check if file should be processed\n if (!shouldProcess(id, include, exclude)) {\n return null;\n }\n\n // Skip if no translation needed\n if (sourceLocale === targetLocale) {\n return null;\n }\n\n try {\n // Process HTML files\n if (id.endsWith('.html')) {\n return transformHtml(code, translator, {\n sourceLocale,\n targetLocale,\n preserveOriginal,\n attributes,\n });\n }\n\n // Process Vue SFCs\n if (id.endsWith('.vue')) {\n return transformVue(code, translator, {\n sourceLocale,\n targetLocale,\n preserveOriginal,\n attributes,\n });\n }\n\n // Process Svelte components\n if (id.endsWith('.svelte')) {\n return transformSvelte(code, translator, {\n sourceLocale,\n targetLocale,\n preserveOriginal,\n attributes,\n });\n }\n\n return null;\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : String(error);\n this.error(`Failed to process ${id}: ${message}`);\n }\n },\n\n configureServer(server) {\n // Add middleware for development\n server.middlewares.use((_req, res, next) => {\n // Add i18n headers\n res.setHeader('X-Hyperscript-I18n-Source', sourceLocale);\n res.setHeader('X-Hyperscript-I18n-Target', targetLocale);\n next();\n });\n },\n };\n}\n\nfunction shouldProcess(\n id: string,\n include: RegExp | string[],\n exclude: RegExp | string[]\n): boolean {\n const includePattern = Array.isArray(include) ? new RegExp(include.join('|')) : include;\n\n const excludePattern = Array.isArray(exclude) ? new RegExp(exclude.join('|')) : exclude;\n\n return includePattern.test(id) && !excludePattern.test(id);\n}\n\nfunction transformHtml(\n html: string,\n translator: HyperscriptTranslator,\n options: {\n sourceLocale: string;\n targetLocale: string;\n preserveOriginal: boolean;\n attributes: string[];\n }\n): { code: string; map?: any } {\n const root = parse(html);\n let hasTransformations = false;\n\n // Find all elements with hyperscript attributes\n options.attributes.forEach(attr => {\n const elements = root.querySelectorAll(`[${attr}]`);\n\n elements.forEach((element: any) => {\n const original = element.getAttribute(attr);\n if (!original) return;\n\n const translated = translator.translate(original, {\n from: options.sourceLocale,\n to: options.targetLocale,\n });\n\n if (original !== translated) {\n hasTransformations = true;\n\n if (options.preserveOriginal) {\n element.setAttribute(`${attr}-${options.sourceLocale}`, original);\n }\n\n element.setAttribute(attr, translated);\n }\n });\n });\n\n if (!hasTransformations) {\n return { code: html };\n }\n\n return {\n code: root.toString(),\n map: null, // Source maps could be added here\n };\n}\n\nfunction transformVue(\n code: string,\n translator: HyperscriptTranslator,\n options: any\n): { code: string; map?: any } {\n // Extract template section\n const templateMatch = code.match(/<template[^>]*>([\\s\\S]*?)<\\/template>/);\n if (!templateMatch) {\n return { code };\n }\n\n const template = templateMatch[1];\n const transformed = transformHtml(template, translator, options);\n\n if (transformed.code === template) {\n return { code };\n }\n\n // Replace template content\n const newCode = code.replace(templateMatch[0], `<template>${transformed.code}</template>`);\n\n return { code: newCode };\n}\n\nfunction transformSvelte(\n code: string,\n translator: HyperscriptTranslator,\n options: any\n): { code: string; map?: any } {\n // Svelte components have HTML at the top level\n const scriptMatch = code.match(/<script[^>]*>[\\s\\S]*?<\\/script>/g);\n const styleMatch = code.match(/<style[^>]*>[\\s\\S]*?<\\/style>/g);\n\n // Extract HTML portion\n let html = code;\n if (scriptMatch) {\n scriptMatch.forEach(script => {\n html = html.replace(script, '');\n });\n }\n if (styleMatch) {\n styleMatch.forEach(style => {\n html = html.replace(style, '');\n });\n }\n\n const transformed = transformHtml(html, translator, options);\n\n if (transformed.code === html) {\n return { code };\n }\n\n // Reconstruct Svelte component\n let newCode = '';\n if (scriptMatch) {\n newCode += scriptMatch.join('\\n') + '\\n\\n';\n }\n newCode += transformed.code;\n if (styleMatch) {\n newCode += '\\n\\n' + styleMatch.join('\\n');\n }\n\n return { code: newCode };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/types.ts","../../src/dictionaries/en.ts","../../src/dictionaries/es.ts","../../src/dictionaries/ko.ts","../../src/dictionaries/zh.ts","../../src/dictionaries/fr.ts","../../src/dictionaries/de.ts","../../src/dictionaries/ja.ts","../../src/dictionaries/ar.ts","../../src/dictionaries/tr.ts","../../src/dictionaries/id.ts","../../src/dictionaries/qu.ts","../../src/dictionaries/sw.ts","../../src/dictionaries/pt.ts","../../src/dictionaries/it.ts","../../src/dictionaries/vi.ts","../../src/dictionaries/pl.ts","../../src/dictionaries/ru.ts","../../src/dictionaries/uk.ts","../../src/dictionaries/hi.ts","../../src/dictionaries/bn.ts","../../src/dictionaries/th.ts","../../src/dictionaries/ms.ts","../../src/dictionaries/tl.ts","../../src/dictionaries/index.ts","../../src/utils/locale.ts","../../src/utils/tokenizer-adapter.ts","../../src/validators/schema.ts","../../src/validators/index.ts","../../src/translator.ts","../../src/plugins/vite.ts"],"names":["en","es","ja","ko","zh","fr","de","ar","tr","id","pt","qu","sw","it","vi","pl","supportedLocales","translator"],"mappings":"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","file":"vite.cjs","sourcesContent":["// packages/i18n/src/types.ts\n\n/**\n * Dictionary category names as a union type for type-safe access.\n */\nexport type DictionaryCategory =\n | 'commands'\n | 'modifiers'\n | 'events'\n | 'logical'\n | 'temporal'\n | 'values'\n | 'attributes'\n | 'expressions';\n\n/**\n * All valid dictionary categories.\n */\nexport const DICTIONARY_CATEGORIES: readonly DictionaryCategory[] = [\n 'commands',\n 'modifiers',\n 'events',\n 'logical',\n 'temporal',\n 'values',\n 'attributes',\n 'expressions',\n] as const;\n\n/**\n * Dictionary structure for i18n translations.\n * Maps English canonical keywords to locale-specific translations.\n *\n * Note: Index signature removed for stricter type safety.\n * Use DICTIONARY_CATEGORIES to iterate over categories.\n */\nexport interface Dictionary {\n commands: Record<string, string>;\n modifiers: Record<string, string>;\n events: Record<string, string>;\n logical: Record<string, string>;\n temporal: Record<string, string>;\n values: Record<string, string>;\n attributes: Record<string, string>;\n expressions: Record<string, string>;\n}\n\n// =============================================================================\n// Type Guards\n// =============================================================================\n\n/**\n * Type guard to check if a string is a valid dictionary category.\n */\nexport function isDictionaryCategory(key: string): key is DictionaryCategory {\n return DICTIONARY_CATEGORIES.includes(key as DictionaryCategory);\n}\n\n/**\n * Safely get a category from a dictionary with type narrowing.\n * Returns undefined if the category doesn't exist.\n */\nexport function getDictionaryCategory(\n dict: Dictionary,\n category: string\n): Record<string, string> | undefined {\n if (isDictionaryCategory(category)) {\n return dict[category];\n }\n return undefined;\n}\n\n/**\n * Iterate over all categories in a dictionary with proper typing.\n */\nexport function forEachCategory(\n dict: Dictionary,\n callback: (category: DictionaryCategory, entries: Record<string, string>) => void\n): void {\n for (const category of DICTIONARY_CATEGORIES) {\n callback(category, dict[category]);\n }\n}\n\n/**\n * Find a translation in any category of a dictionary.\n * Returns the English key if found, undefined otherwise.\n */\nexport function findInDictionary(\n dict: Dictionary,\n localizedWord: string\n): { category: DictionaryCategory; englishKey: string } | undefined {\n const normalized = localizedWord.toLowerCase();\n for (const category of DICTIONARY_CATEGORIES) {\n const entries = dict[category];\n for (const [english, localized] of Object.entries(entries)) {\n if (localized.toLowerCase() === normalized) {\n return { category, englishKey: english };\n }\n }\n }\n return undefined;\n}\n\n/**\n * Find a translation for an English word in any category.\n * Returns the localized word if found, undefined otherwise.\n */\nexport function translateFromEnglish(dict: Dictionary, englishWord: string): string | undefined {\n const normalized = englishWord.toLowerCase();\n for (const category of DICTIONARY_CATEGORIES) {\n const entries = dict[category];\n const translated = entries[normalized];\n if (translated) {\n return translated;\n }\n }\n return undefined;\n}\n\nexport interface I18nConfig {\n locale: string;\n fallbackLocale?: string;\n dictionaries?: Record<string, Dictionary>;\n detectLocale?: boolean;\n rtlLocales?: string[];\n preserveOriginalAttribute?: string;\n}\n\nexport interface TranslationOptions {\n from?: string;\n to: string;\n preserveOriginal?: boolean;\n validate?: boolean;\n}\n\nexport interface ValidationResult {\n valid: boolean;\n errors: ValidationError[];\n warnings: ValidationWarning[];\n coverage: {\n total: number;\n translated: number;\n missing: string[];\n };\n}\n\nexport interface ValidationError {\n type: 'missing' | 'invalid' | 'duplicate';\n key: string;\n message: string;\n}\n\nexport interface ValidationWarning {\n type: 'unused' | 'deprecated' | 'inconsistent';\n key: string;\n message: string;\n}\n\nexport interface LocaleMetadata {\n code: string;\n name: string;\n nativeName: string;\n rtl: boolean;\n pluralRules?: (n: number) => string;\n}\n\nexport interface TranslationContext {\n locale: string;\n direction: 'ltr' | 'rtl';\n dictionary: Dictionary;\n metadata: LocaleMetadata;\n}\n\nexport type TokenType =\n | 'command'\n | 'modifier'\n | 'event'\n | 'logical'\n | 'temporal'\n | 'value'\n | 'attribute'\n | 'expression'\n | 'identifier'\n | 'operator'\n | 'literal';\n\nexport interface Token {\n type: TokenType;\n value: string;\n translated?: string;\n position: {\n start: number;\n end: number;\n line: number;\n column: number;\n };\n}\n\nexport interface TranslationResult {\n translated: string;\n original?: string;\n tokens: Token[];\n locale: {\n from: string;\n to: string;\n };\n warnings?: string[];\n}\n","// packages/i18n/src/dictionaries/en.ts\n\nimport { Dictionary } from '../types';\n\n/**\n * English dictionary - identity mapping since English is the canonical hyperscript language.\n * This exists primarily for symmetry in translation operations (e.g., en -> es).\n */\nexport const en: Dictionary = {\n commands: {\n // Event handling\n on: 'on',\n tell: 'tell',\n trigger: 'trigger',\n send: 'send',\n\n // DOM manipulation\n take: 'take',\n put: 'put',\n set: 'set',\n get: 'get',\n add: 'add',\n remove: 'remove',\n toggle: 'toggle',\n hide: 'hide',\n show: 'show',\n\n // Control flow\n if: 'if',\n unless: 'unless',\n repeat: 'repeat',\n for: 'for',\n while: 'while',\n until: 'until',\n continue: 'continue',\n break: 'break',\n halt: 'halt',\n\n // Async\n wait: 'wait',\n fetch: 'fetch',\n call: 'call',\n return: 'return',\n\n // Other commands\n make: 'make',\n log: 'log',\n throw: 'throw',\n catch: 'catch',\n measure: 'measure',\n transition: 'transition',\n\n // Data Commands\n increment: 'increment',\n decrement: 'decrement',\n default: 'default',\n\n // Navigation Commands\n go: 'go',\n pushUrl: 'pushUrl',\n replaceUrl: 'replaceUrl',\n\n // Utility Commands\n copy: 'copy',\n pick: 'pick',\n beep: 'beep',\n\n // Advanced Commands\n js: 'js',\n async: 'async',\n render: 'render',\n\n // Animation Commands\n swap: 'swap',\n morph: 'morph',\n settle: 'settle',\n\n // Content Commands\n append: 'append',\n\n // Control Flow\n exit: 'exit',\n\n // Behaviors\n install: 'install',\n },\n\n modifiers: {\n to: 'to',\n from: 'from',\n into: 'into',\n with: 'with',\n at: 'at',\n in: 'in',\n of: 'of',\n as: 'as',\n by: 'by',\n before: 'before',\n after: 'after',\n over: 'over',\n under: 'under',\n between: 'between',\n through: 'through',\n without: 'without',\n },\n\n events: {\n click: 'click',\n dblclick: 'dblclick',\n mousedown: 'mousedown',\n mouseup: 'mouseup',\n mouseenter: 'mouseenter',\n mouseleave: 'mouseleave',\n mouseover: 'mouseover',\n mouseout: 'mouseout',\n mousemove: 'mousemove',\n\n keydown: 'keydown',\n keyup: 'keyup',\n keypress: 'keypress',\n\n focus: 'focus',\n blur: 'blur',\n change: 'change',\n input: 'input',\n submit: 'submit',\n reset: 'reset',\n\n load: 'load',\n unload: 'unload',\n resize: 'resize',\n scroll: 'scroll',\n\n touchstart: 'touchstart',\n touchend: 'touchend',\n touchmove: 'touchmove',\n touchcancel: 'touchcancel',\n },\n\n logical: {\n when: 'when',\n where: 'where',\n and: 'and',\n or: 'or',\n not: 'not',\n is: 'is',\n exists: 'exists',\n matches: 'matches',\n contains: 'contains',\n includes: 'includes',\n equals: 'equals',\n has: 'has', // third-person: \"it has .class\", \"#element has .class\"\n have: 'have', // first-person: \"I have .class\"\n then: 'then',\n else: 'else',\n otherwise: 'otherwise',\n end: 'end',\n },\n\n temporal: {\n seconds: 'seconds',\n second: 'second',\n milliseconds: 'milliseconds',\n millisecond: 'millisecond',\n minutes: 'minutes',\n minute: 'minute',\n hours: 'hours',\n hour: 'hour',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'h',\n },\n\n values: {\n true: 'true',\n false: 'false',\n null: 'null',\n undefined: 'undefined',\n it: 'it',\n its: 'its',\n me: 'me',\n my: 'my',\n myself: 'myself',\n you: 'you',\n your: 'your',\n yourself: 'yourself',\n element: 'element',\n target: 'target',\n detail: 'detail',\n event: 'event',\n window: 'window',\n document: 'document',\n body: 'body',\n result: 'result',\n value: 'value',\n },\n\n attributes: {\n class: 'class',\n classes: 'classes',\n style: 'style',\n styles: 'styles',\n attribute: 'attribute',\n attributes: 'attributes',\n property: 'property',\n properties: 'properties',\n },\n\n expressions: {\n // Positional\n first: 'first',\n last: 'last',\n next: 'next',\n previous: 'previous',\n prev: 'prev',\n at: 'at',\n random: 'random',\n\n // DOM Traversal\n closest: 'closest',\n parent: 'parent',\n children: 'children',\n within: 'within',\n\n // Emptiness/Existence\n no: 'no',\n empty: 'empty',\n some: 'some',\n\n // String operations\n 'starts with': 'starts with',\n 'ends with': 'ends with',\n },\n};\n","// packages/i18n/src/dictionaries/es.ts\n\nimport { Dictionary } from '../types';\n\nexport const es: Dictionary = {\n commands: {\n // Event handling\n on: 'en',\n tell: 'decir',\n trigger: 'disparar',\n send: 'enviar',\n\n // DOM manipulation\n take: 'tomar',\n put: 'poner',\n set: 'establecer',\n get: 'obtener',\n add: 'agregar',\n remove: 'quitar',\n toggle: 'alternar',\n hide: 'ocultar',\n show: 'mostrar',\n\n // Control flow\n if: 'si',\n unless: 'menos',\n repeat: 'repetir',\n for: 'para',\n while: 'mientras',\n until: 'hasta',\n continue: 'continuar',\n break: 'romper',\n halt: 'detener',\n\n // Async\n wait: 'esperar',\n fetch: 'buscar',\n call: 'llamar',\n return: 'retornar',\n\n // Other commands\n make: 'hacer',\n log: 'registrar',\n throw: 'lanzar',\n catch: 'atrapar',\n measure: 'medir',\n transition: 'transición',\n\n // Data Commands\n increment: 'incrementar',\n decrement: 'decrementar',\n default: 'predeterminar',\n\n // Navigation Commands\n go: 'ir',\n pushUrl: 'pushUrl',\n replaceUrl: 'reemplazarUrl',\n\n // Utility Commands\n copy: 'copiar',\n pick: 'escoger',\n beep: 'pitido',\n\n // Advanced Commands\n js: 'js',\n async: 'asíncrono',\n render: 'renderizar',\n\n // Animation Commands\n swap: 'intercambiar',\n morph: 'transformar',\n settle: 'estabilizar',\n\n // Content Commands\n append: 'añadir',\n\n // Control Flow\n exit: 'salir',\n\n // Behaviors\n install: 'instalar',\n },\n\n modifiers: {\n to: 'a',\n from: 'de',\n into: 'en',\n with: 'con',\n at: 'en',\n in: 'en',\n of: 'de',\n as: 'como',\n by: 'por',\n before: 'antes',\n after: 'después',\n over: 'sobre',\n under: 'bajo',\n between: 'entre',\n through: 'través',\n without: 'sin',\n },\n\n events: {\n click: 'clic',\n dblclick: 'dobleclic',\n mousedown: 'ratónabajo',\n mouseup: 'ratónarriba',\n mouseenter: 'ratónentrar',\n mouseleave: 'ratónsalir',\n mouseover: 'ratónencima',\n mouseout: 'ratónfuera',\n mousemove: 'ratónmover',\n\n keydown: 'teclaabajo',\n keyup: 'teclaarriba',\n keypress: 'teclapresar',\n\n focus: 'enfocar',\n blur: 'desenfocar',\n change: 'cambiar',\n input: 'entrada',\n submit: 'enviar',\n reset: 'reiniciar',\n\n load: 'cargar',\n unload: 'descargar',\n resize: 'redimensionar',\n scroll: 'desplazar',\n\n touchstart: 'toqueempezar',\n touchend: 'toqueterminar',\n touchmove: 'toquemover',\n touchcancel: 'toquecancelar',\n },\n\n logical: {\n when: 'cuando',\n where: 'donde',\n and: 'y',\n or: 'o',\n not: 'no',\n is: 'es',\n exists: 'existe',\n matches: 'coincide',\n contains: 'contiene',\n includes: 'incluye',\n equals: 'iguala',\n has: 'tiene', // third-person: él/ella tiene\n have: 'tengo', // first-person: yo tengo\n then: 'entonces',\n else: 'sino',\n otherwise: 'delocontrario',\n end: 'fin',\n },\n\n temporal: {\n seconds: 'segundos',\n second: 'segundo',\n milliseconds: 'milisegundos',\n millisecond: 'milisegundo',\n minutes: 'minutos',\n minute: 'minuto',\n hours: 'horas',\n hour: 'hora',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'h',\n },\n\n values: {\n true: 'verdadero',\n false: 'falso',\n null: 'nulo',\n undefined: 'indefinido',\n it: 'ello',\n its: 'su',\n me: 'yo',\n my: 'mi',\n you: 'tu',\n your: 'tu',\n yourself: 'ti mismo', // REVIEW: native speaker\n myself: 'yo mismo',\n element: 'elemento',\n target: 'objetivo',\n detail: 'detalle',\n event: 'evento',\n window: 'ventana',\n document: 'documento',\n body: 'cuerpo',\n result: 'resultado',\n value: 'valor',\n },\n\n attributes: {\n class: 'clase',\n classes: 'clases',\n style: 'estilo',\n styles: 'estilos',\n attribute: 'atributo',\n attributes: 'atributos',\n property: 'propiedad',\n properties: 'propiedades',\n },\n\n expressions: {\n // Positional\n first: 'primero',\n last: 'último',\n next: 'siguiente',\n previous: 'anterior',\n prev: 'ant',\n at: 'en',\n random: 'aleatorio',\n\n // DOM Traversal\n closest: 'máscercano',\n parent: 'padre',\n children: 'hijos',\n within: 'dentro',\n\n // Emptiness/Existence\n no: 'ningún',\n empty: 'vacío',\n some: 'algún',\n\n // String operations\n 'starts with': 'empieza con',\n 'ends with': 'termina con',\n },\n};\n","// packages/i18n/src/dictionaries/ko.ts\n\nimport { Dictionary } from '../types';\n\nexport const ko: Dictionary = {\n commands: {\n // Event handling\n on: '에',\n tell: '말하다',\n trigger: '트리거',\n send: '보내다',\n\n // DOM manipulation\n take: '가져오다',\n put: '넣다',\n set: '설정',\n get: '얻다',\n add: '추가',\n remove: '제거',\n toggle: '토글',\n hide: '숨기다',\n show: '보이다',\n\n // Control flow\n if: '만약',\n unless: '아니면',\n repeat: '반복',\n for: '동안',\n while: '동안',\n until: '까지',\n continue: '계속',\n break: '중단',\n halt: '정지',\n\n // Async\n wait: '대기',\n fetch: '가져오기',\n call: '호출',\n return: '반환',\n\n // Other commands\n make: '만들다',\n log: '로그',\n throw: '던지다',\n catch: '잡다',\n measure: '측정',\n transition: '전환',\n\n // Data Commands\n increment: '증가',\n decrement: '감소',\n default: '기본값',\n\n // Navigation Commands\n go: '이동',\n pushUrl: 'URL푸시',\n replaceUrl: 'URL교체',\n\n // Utility Commands\n copy: '복사',\n pick: '선택',\n beep: '비프',\n\n // Advanced Commands\n js: 'JS실행',\n async: '비동기',\n render: '렌더링',\n\n // Animation Commands\n swap: '교환',\n morph: '변형',\n settle: '안정',\n\n // Content Commands\n append: '추가',\n\n // Control Flow\n exit: '종료',\n\n // Behaviors\n install: '설치',\n },\n\n modifiers: {\n to: '에',\n from: '에서',\n into: '으로',\n with: '와',\n at: '에',\n in: '안에',\n of: '의',\n as: '로',\n by: '에의해',\n before: '전에',\n after: '후에',\n over: '위에',\n under: '아래',\n between: '사이',\n through: '통해',\n without: '없이',\n },\n\n events: {\n click: '클릭',\n dblclick: '더블클릭',\n mousedown: '마우스다운',\n mouseup: '마우스업',\n mouseenter: '마우스엔터',\n mouseleave: '마우스리브',\n mouseover: '마우스오버',\n mouseout: '마우스아웃',\n mousemove: '마우스무브',\n\n keydown: '키다운',\n keyup: '키업',\n keypress: '키프레스',\n\n focus: '포커스',\n blur: '블러',\n change: '변경',\n input: '입력',\n submit: '제출',\n reset: '리셋',\n\n load: '로드',\n unload: '언로드',\n resize: '리사이즈',\n scroll: '스크롤',\n\n touchstart: '터치시작',\n touchend: '터치종료',\n touchmove: '터치이동',\n touchcancel: '터치취소',\n },\n\n logical: {\n when: '때',\n where: '어디',\n and: '그리고',\n or: '또는',\n not: '아니',\n is: '이다',\n exists: '존재',\n matches: '일치',\n contains: '포함',\n includes: '포함하다',\n equals: '같다',\n has: '있다', // existence verb (context-based)\n have: '있다', // same verb for first/third person\n then: '그러면',\n else: '아니면',\n otherwise: '그렇지않으면',\n end: '끝',\n },\n\n temporal: {\n seconds: '초',\n second: '초',\n milliseconds: '밀리초',\n millisecond: '밀리초',\n minutes: '분',\n minute: '분',\n hours: '시간',\n hour: '시간',\n ms: 'ms',\n s: '초',\n min: '분',\n h: '시',\n },\n\n values: {\n true: '참',\n false: '거짓',\n null: '널',\n undefined: '정의안됨',\n it: '그것',\n its: '그것의', // REVIEW: native speaker\n me: '나',\n my: '내',\n myself: '나자신',\n you: '너', // REVIEW: native speaker - formal/informal\n your: '네', // REVIEW: native speaker - formal/informal\n yourself: '너자신', // REVIEW: native speaker\n element: '요소',\n target: '대상',\n detail: '세부',\n event: '이벤트',\n window: '창',\n document: '문서',\n body: '바디',\n result: '결과',\n value: '값',\n },\n\n attributes: {\n class: '클래스',\n classes: '클래스들',\n style: '스타일',\n styles: '스타일들',\n attribute: '속성',\n attributes: '속성들',\n property: '프로퍼티',\n properties: '프로퍼티들',\n },\n\n expressions: {\n // Positional\n first: '첫번째',\n last: '마지막',\n next: '다음',\n previous: '이전',\n prev: '이전',\n at: '에서',\n random: '무작위',\n\n // DOM Traversal\n closest: '가장가까운',\n parent: '부모',\n children: '자식',\n within: '이내',\n\n // Emptiness/Existence\n no: '없음',\n empty: '비어있는',\n some: '일부',\n\n // String operations\n 'starts with': '로시작',\n 'ends with': '로끝나는',\n },\n};\n","// packages/i18n/src/dictionaries/zh.ts\n\nimport { Dictionary } from '../types';\n\nexport const zh: Dictionary = {\n commands: {\n // Event handling\n on: '当',\n tell: '告诉',\n trigger: '触发',\n send: '发送',\n\n // DOM manipulation\n take: '获取',\n put: '放置',\n set: '设置',\n get: '获得',\n add: '添加',\n remove: '移除',\n toggle: '切换',\n hide: '隐藏',\n show: '显示',\n\n // Control flow\n if: '如果',\n unless: '除非',\n repeat: '重复',\n for: '为',\n while: '当',\n until: '直到',\n continue: '继续',\n break: '中断',\n halt: '停止',\n\n // Async\n wait: '等待',\n fetch: '获取',\n call: '调用',\n return: '返回',\n\n // Other commands\n make: '制作',\n log: '日志',\n throw: '抛出',\n catch: '捕获',\n measure: '测量',\n transition: '过渡',\n\n // Data Commands\n increment: '增加',\n decrement: '减少',\n default: '默认',\n\n // Navigation Commands\n go: '前往',\n pushUrl: '推送网址',\n replaceUrl: '替换网址',\n\n // Utility Commands\n copy: '复制',\n pick: '选取',\n beep: '蜂鸣',\n\n // Advanced Commands\n js: 'JS执行',\n async: '异步',\n render: '渲染',\n\n // Animation Commands\n swap: '交换',\n morph: '变形',\n settle: '稳定',\n\n // Content Commands\n append: '追加',\n\n // Control Flow\n exit: '退出',\n\n // Behaviors\n install: '安装',\n },\n\n modifiers: {\n to: '到',\n from: '从',\n into: '进入',\n with: '与',\n at: '在',\n in: '在',\n of: '的',\n as: '作为',\n by: '通过',\n before: '之前',\n after: '之后',\n over: '在上',\n under: '在下',\n between: '之间',\n through: '通过',\n without: '没有',\n },\n\n events: {\n click: '点击',\n dblclick: '双击',\n mousedown: '鼠标按下',\n mouseup: '鼠标抬起',\n mouseenter: '鼠标进入',\n mouseleave: '鼠标离开',\n mouseover: '鼠标悬停',\n mouseout: '鼠标移出',\n mousemove: '鼠标移动',\n\n keydown: '按键按下',\n keyup: '按键抬起',\n keypress: '按键',\n\n focus: '聚焦',\n blur: '失焦',\n change: '改变',\n input: '输入',\n submit: '提交',\n reset: '重置',\n\n load: '加载',\n unload: '卸载',\n resize: '调整大小',\n scroll: '滚动',\n\n touchstart: '触摸开始',\n touchend: '触摸结束',\n touchmove: '触摸移动',\n touchcancel: '触摸取消',\n },\n\n logical: {\n when: '当',\n where: '哪里',\n and: '和',\n or: '或',\n not: '非',\n is: '是',\n exists: '存在',\n matches: '匹配',\n contains: '包含',\n includes: '包括',\n equals: '等于',\n has: '有', // universal \"have\"\n have: '有', // same character for first/third person\n then: '那么',\n else: '否则',\n otherwise: '要不然',\n end: '结束',\n },\n\n temporal: {\n seconds: '秒',\n second: '秒',\n milliseconds: '毫秒',\n millisecond: '毫秒',\n minutes: '分钟',\n minute: '分钟',\n hours: '小时',\n hour: '小时',\n ms: '毫秒',\n s: '秒',\n min: '分',\n h: '时',\n },\n\n values: {\n true: '真',\n false: '假',\n null: '空',\n undefined: '未定义',\n it: '它',\n its: '它的', // REVIEW: native speaker\n me: '我',\n my: '我的',\n myself: '我自己',\n you: '你', // REVIEW: native speaker\n your: '你的', // REVIEW: native speaker\n yourself: '你自己', // REVIEW: native speaker\n element: '元素',\n target: '目标',\n detail: '详情',\n event: '事件',\n window: '窗口',\n document: '文档',\n body: '主体',\n result: '结果',\n value: '值',\n },\n\n attributes: {\n class: '类',\n classes: '类别',\n style: '样式',\n styles: '样式集',\n attribute: '属性',\n attributes: '属性集',\n property: '特性',\n properties: '特性集',\n },\n\n expressions: {\n // Positional\n first: '第一个',\n last: '最后一个',\n next: '下一个',\n previous: '上一个',\n prev: '上个',\n at: '在',\n random: '随机',\n\n // DOM Traversal\n closest: '最近的',\n parent: '父级',\n children: '子级',\n within: '之内',\n\n // Emptiness/Existence\n no: '没有',\n empty: '空的',\n some: '一些',\n\n // String operations\n 'starts with': '以开头',\n 'ends with': '以结尾',\n },\n};\n","// packages/i18n/src/dictionaries/fr.ts\n\nimport { Dictionary } from '../types';\n\nexport const fr: Dictionary = {\n commands: {\n // Event handling\n on: 'sur',\n tell: 'dire',\n trigger: 'déclencher',\n send: 'envoyer',\n\n // DOM manipulation\n take: 'prendre',\n put: 'mettre',\n set: 'définir',\n get: 'obtenir',\n add: 'ajouter',\n remove: 'supprimer',\n toggle: 'basculer',\n hide: 'cacher',\n show: 'montrer',\n\n // Control flow\n if: 'si',\n unless: 'saufsi',\n repeat: 'répéter',\n for: 'pour',\n while: 'tantque',\n until: 'jusquà',\n continue: 'continuer',\n break: 'arrêter',\n halt: 'stopper',\n\n // Async\n wait: 'attendre',\n fetch: 'récupérer',\n call: 'appeler',\n return: 'retourner',\n\n // Other commands\n make: 'créer',\n log: 'enregistrer',\n throw: 'lancer',\n catch: 'attraper',\n measure: 'mesurer',\n transition: 'transition',\n\n // Data Commands\n increment: 'incrémenter',\n decrement: 'décrémenter',\n default: 'défaut',\n\n // Navigation Commands\n go: 'aller',\n pushUrl: 'pousserUrl',\n replaceUrl: 'remplacerUrl',\n\n // Utility Commands\n copy: 'copier',\n pick: 'choisir',\n beep: 'bip',\n\n // Advanced Commands\n js: 'js',\n async: 'asynchrone',\n render: 'rendu',\n\n // Animation Commands\n swap: 'échanger',\n morph: 'transformer',\n settle: 'stabiliser',\n\n // Content Commands\n append: 'ajouter',\n\n // Control Flow\n exit: 'sortir',\n\n // Behaviors\n install: 'installer',\n },\n\n modifiers: {\n to: 'à',\n from: 'de',\n into: 'dans',\n with: 'avec',\n at: 'à',\n in: 'en',\n of: 'de',\n as: 'comme',\n by: 'par',\n before: 'avant',\n after: 'après',\n over: 'sur',\n under: 'sous',\n between: 'entre',\n through: 'à travers',\n without: 'sans',\n },\n\n events: {\n click: 'clic',\n dblclick: 'doubleclic',\n mousedown: 'sourisappuyée',\n mouseup: 'sourisrelâchée',\n mouseenter: 'sourisentrer',\n mouseleave: 'sourissortir',\n mouseover: 'sourissur',\n mouseout: 'sourisdehors',\n mousemove: 'sourisbouger',\n\n keydown: 'toucheappuyée',\n keyup: 'toucherelâchée',\n keypress: 'touchepressée',\n\n focus: 'focus',\n blur: 'flou',\n change: 'changer',\n input: 'saisie',\n submit: 'soumettre',\n reset: 'réinitialiser',\n\n load: 'charger',\n unload: 'décharger',\n resize: 'redimensionner',\n scroll: 'défiler',\n\n touchstart: 'touchercommencer',\n touchend: 'toucherfin',\n touchmove: 'toucherbouger',\n touchcancel: 'toucherannuler',\n },\n\n logical: {\n when: 'quand',\n where: 'où',\n and: 'et',\n or: 'ou',\n not: 'non',\n is: 'est',\n exists: 'existe',\n matches: 'correspond',\n contains: 'contient',\n includes: 'inclut',\n equals: 'égale',\n has: 'a', // third-person: il/elle a\n have: 'ai', // first-person: j'ai\n then: 'alors',\n else: 'sinon',\n otherwise: 'autrement',\n end: 'fin',\n },\n\n temporal: {\n seconds: 'secondes',\n second: 'seconde',\n milliseconds: 'millisecondes',\n millisecond: 'milliseconde',\n minutes: 'minutes',\n minute: 'minute',\n hours: 'heures',\n hour: 'heure',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'h',\n },\n\n values: {\n true: 'vrai',\n false: 'faux',\n null: 'nul',\n undefined: 'indéfini',\n it: 'ça',\n its: 'son',\n me: 'moi',\n my: 'mon',\n you: 'tu',\n your: 'ton',\n yourself: 'toi-même', // REVIEW: native speaker\n myself: 'moi-même',\n element: 'élément',\n target: 'cible',\n detail: 'détail',\n event: 'événement',\n window: 'fenêtre',\n document: 'document',\n body: 'corps',\n result: 'résultat',\n value: 'valeur',\n },\n\n attributes: {\n class: 'classe',\n classes: 'classes',\n style: 'style',\n styles: 'styles',\n attribute: 'attribut',\n attributes: 'attributs',\n property: 'propriété',\n properties: 'propriétés',\n },\n\n expressions: {\n // Positional\n first: 'premier',\n last: 'dernier',\n next: 'suivant',\n previous: 'précédent',\n prev: 'préc',\n at: 'à',\n random: 'aléatoire',\n\n // DOM Traversal\n closest: 'plusproche',\n parent: 'parent',\n children: 'enfants',\n within: 'dans',\n\n // Emptiness/Existence\n no: 'aucun',\n empty: 'vide',\n some: 'quelques',\n\n // String operations\n 'starts with': 'commence par',\n 'ends with': 'finit par',\n },\n};\n","// packages/i18n/src/dictionaries/de.ts\n\nimport { Dictionary } from '../types';\n\nexport const de: Dictionary = {\n commands: {\n // Event handling\n on: 'bei',\n tell: 'sagen',\n trigger: 'auslösen',\n send: 'senden',\n\n // DOM manipulation\n take: 'nehmen',\n put: 'setzen',\n set: 'festlegen',\n get: 'erhalten',\n add: 'hinzufügen',\n remove: 'entfernen',\n toggle: 'umschalten',\n hide: 'verstecken',\n show: 'zeigen',\n\n // Control flow\n if: 'wenn',\n unless: 'wennnicht',\n repeat: 'wiederholen',\n for: 'für',\n while: 'während',\n until: 'bis',\n continue: 'weiter',\n break: 'unterbrechen',\n halt: 'anhalten',\n\n // Async\n wait: 'warten',\n fetch: 'holen',\n call: 'aufrufen',\n return: 'zurückgeben',\n\n // Other commands\n make: 'erstellen',\n log: 'protokollieren',\n throw: 'werfen',\n catch: 'fangen',\n measure: 'messen',\n transition: 'übergang',\n\n // Data Commands\n increment: 'erhöhen',\n decrement: 'verringern',\n default: 'standard',\n\n // Navigation Commands\n go: 'gehen',\n pushUrl: 'urlHinzufügen',\n replaceUrl: 'urlErsetzen',\n\n // Utility Commands\n copy: 'kopieren',\n pick: 'auswählen',\n beep: 'piepton',\n\n // Advanced Commands\n js: 'js',\n async: 'asynchron',\n render: 'rendern',\n\n // Animation Commands\n swap: 'tauschen',\n morph: 'verwandeln',\n settle: 'stabilisieren',\n\n // Content Commands\n append: 'anhängen',\n\n // Control Flow\n exit: 'beenden',\n\n // Behaviors\n install: 'installieren',\n },\n\n modifiers: {\n to: 'zu',\n from: 'von',\n into: 'in',\n with: 'mit',\n at: 'bei',\n in: 'in',\n of: 'von',\n as: 'als',\n by: 'durch',\n before: 'vor',\n after: 'nach',\n over: 'über',\n under: 'unter',\n between: 'zwischen',\n through: 'durch',\n without: 'ohne',\n },\n\n events: {\n click: 'klick',\n dblclick: 'doppelklick',\n mousedown: 'mausunten',\n mouseup: 'mausoben',\n mouseenter: 'mauseintreten',\n mouseleave: 'mausverlassen',\n mouseover: 'mausüber',\n mouseout: 'maushinaus',\n mousemove: 'mausbewegen',\n\n keydown: 'tasteunten',\n keyup: 'tasteoben',\n keypress: 'tastedrücken',\n\n focus: 'fokus',\n blur: 'unscharf',\n change: 'ändern',\n input: 'eingabe',\n submit: 'absenden',\n reset: 'zurücksetzen',\n\n load: 'laden',\n unload: 'entladen',\n resize: 'größeändern',\n scroll: 'scrollen',\n\n touchstart: 'berührungstart',\n touchend: 'berührungend',\n touchmove: 'berührungbewegen',\n touchcancel: 'berührungabbrechen',\n },\n\n logical: {\n when: 'wenn',\n where: 'wo',\n and: 'und',\n or: 'oder',\n not: 'nicht',\n is: 'ist',\n exists: 'existiert',\n matches: 'passt',\n contains: 'enthält',\n includes: 'beinhaltet',\n equals: 'gleicht',\n has: 'hat', // third-person: es hat\n have: 'habe', // first-person: ich habe\n then: 'dann',\n else: 'sonst',\n otherwise: 'andernfalls',\n end: 'ende',\n },\n\n temporal: {\n seconds: 'sekunden',\n second: 'sekunde',\n milliseconds: 'millisekunden',\n millisecond: 'millisekunde',\n minutes: 'minuten',\n minute: 'minute',\n hours: 'stunden',\n hour: 'stunde',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'std',\n },\n\n values: {\n true: 'wahr',\n false: 'falsch',\n null: 'null',\n undefined: 'undefiniert',\n it: 'es',\n its: 'sein',\n me: 'ich',\n my: 'mein',\n you: 'du',\n your: 'dein',\n yourself: 'dich selbst', // REVIEW: native speaker\n myself: 'ich selbst',\n element: 'element',\n target: 'ziel',\n detail: 'detail',\n event: 'ereignis',\n window: 'fenster',\n document: 'dokument',\n body: 'körper',\n result: 'ergebnis',\n value: 'wert',\n },\n\n attributes: {\n class: 'klasse',\n classes: 'klassen',\n style: 'stil',\n styles: 'stile',\n attribute: 'attribut',\n attributes: 'attribute',\n property: 'eigenschaft',\n properties: 'eigenschaften',\n },\n\n expressions: {\n // Positional\n first: 'erste',\n last: 'letzte',\n next: 'nächste',\n previous: 'vorherige',\n prev: 'vorh',\n at: 'bei',\n random: 'zufällig',\n\n // DOM Traversal\n closest: 'nächste',\n parent: 'elternteil',\n children: 'kinder',\n within: 'innerhalb',\n\n // Emptiness/Existence\n no: 'kein',\n empty: 'leer',\n some: 'einige',\n\n // String operations\n 'starts with': 'beginnt mit',\n 'ends with': 'endet mit',\n },\n};\n","// packages/i18n/src/dictionaries/ja.ts\n\nimport { Dictionary } from '../types';\n\nexport const ja: Dictionary = {\n commands: {\n // Event handling\n on: 'で',\n tell: '伝える',\n trigger: '引き金',\n send: '送る',\n\n // DOM manipulation\n take: '取る',\n put: '置く',\n set: '設定',\n get: '取得',\n add: '追加',\n remove: '削除',\n toggle: '切り替え',\n hide: '隠す',\n show: '表示',\n\n // Control flow\n if: 'もし',\n unless: 'でなければ',\n repeat: '繰り返し',\n for: 'ために',\n while: 'の間',\n until: 'まで',\n continue: '続ける',\n break: '中断',\n halt: '停止',\n\n // Async\n wait: '待つ',\n fetch: '取得',\n call: '呼び出し',\n return: '戻る',\n\n // Other commands\n make: '作る',\n log: '記録',\n throw: '投げる',\n catch: '捕まえる',\n measure: '測定',\n transition: '遷移',\n\n // Data Commands\n increment: '増加',\n decrement: '減少',\n default: '既定',\n\n // Navigation Commands\n go: '移動',\n pushUrl: 'URLプッシュ',\n replaceUrl: 'URL置換',\n\n // Utility Commands\n copy: 'コピー',\n pick: '選択',\n beep: 'ビープ',\n\n // Advanced Commands\n js: 'JS実行',\n async: '非同期',\n render: '描画',\n\n // Animation Commands\n swap: '交換',\n morph: '変形',\n settle: '安定',\n\n // Content Commands\n append: '末尾追加',\n\n // Control Flow\n exit: '終了',\n\n // Behaviors\n install: 'インストール',\n },\n\n modifiers: {\n to: 'に',\n from: 'から',\n into: 'へ',\n with: 'と',\n at: 'で',\n in: 'の中',\n of: 'の',\n as: 'として',\n by: 'によって',\n before: '前に',\n after: '後に',\n over: '上に',\n under: '下に',\n between: '間に',\n through: '通して',\n without: 'なしで',\n },\n\n events: {\n click: 'クリック',\n dblclick: 'ダブルクリック',\n mousedown: 'マウス押下',\n mouseup: 'マウス解放',\n mouseenter: 'マウス入る',\n mouseleave: 'マウス離れる',\n mouseover: 'マウス上',\n mouseout: 'マウス外',\n mousemove: 'マウス移動',\n\n keydown: 'キー押下',\n keyup: 'キー解放',\n keypress: 'キー押す',\n\n focus: 'フォーカス',\n blur: 'ぼかし',\n change: '変更',\n input: '入力',\n submit: '送信',\n reset: 'リセット',\n\n load: '読み込み',\n unload: '読み込み解除',\n resize: 'サイズ変更',\n scroll: 'スクロール',\n\n touchstart: 'タッチ開始',\n touchend: 'タッチ終了',\n touchmove: 'タッチ移動',\n touchcancel: 'タッチキャンセル',\n },\n\n logical: {\n when: 'とき',\n where: 'どこ',\n and: 'そして',\n or: 'または',\n not: 'ではない',\n is: 'である',\n exists: '存在する',\n matches: '一致する',\n contains: '含む',\n includes: '含める',\n equals: '等しい',\n has: 'ある', // existence verb (context-based)\n have: 'ある', // same verb for first/third person\n then: 'それから',\n else: 'そうでなければ',\n otherwise: 'そうでなければ',\n end: '終わり',\n },\n\n temporal: {\n seconds: '秒',\n second: '秒',\n milliseconds: 'ミリ秒',\n millisecond: 'ミリ秒',\n minutes: '分',\n minute: '分',\n hours: '時間',\n hour: '時間',\n ms: 'ms',\n s: '秒',\n min: '分',\n h: '時',\n },\n\n values: {\n true: '真',\n false: '偽',\n null: 'null',\n undefined: '未定義',\n it: 'それ',\n its: 'その',\n me: '私',\n my: '私の',\n you: 'あなた',\n your: 'あなたの',\n yourself: 'あなた自身',\n myself: '私自身',\n element: '要素',\n target: '対象',\n detail: '詳細',\n event: 'イベント',\n window: 'ウィンドウ',\n document: 'ドキュメント',\n body: 'ボディ',\n result: '結果',\n value: '値',\n },\n\n attributes: {\n class: 'クラス',\n classes: 'クラス群',\n style: 'スタイル',\n styles: 'スタイル群',\n attribute: '属性',\n attributes: '属性群',\n property: 'プロパティ',\n properties: 'プロパティ群',\n },\n\n expressions: {\n // Positional\n first: '最初',\n last: '最後',\n next: '次',\n previous: '前',\n prev: '前',\n at: 'で',\n random: 'ランダム',\n\n // DOM Traversal\n closest: '最も近い',\n parent: '親',\n children: '子',\n within: '以内',\n\n // Emptiness/Existence\n no: 'ない',\n empty: '空',\n some: 'いくつか',\n\n // String operations\n 'starts with': 'で始まる',\n 'ends with': 'で終わる',\n },\n};\n","// packages/i18n/src/dictionaries/ar.ts\n\nimport { Dictionary } from '../types';\n\nexport const ar: Dictionary = {\n commands: {\n // Event handling\n on: 'على',\n tell: 'أخبر',\n trigger: 'تشغيل',\n send: 'أرسل',\n\n // DOM manipulation\n take: 'خذ',\n put: 'ضع',\n set: 'اضبط',\n get: 'احصل',\n add: 'أضف',\n remove: 'احذف',\n toggle: 'بدل',\n hide: 'اخف',\n show: 'اظهر',\n\n // Control flow\n if: 'إذا',\n unless: 'إلا إذا',\n repeat: 'كرر',\n for: 'لكل',\n while: 'بينما',\n until: 'حتى',\n continue: 'واصل',\n break: 'توقف',\n halt: 'أوقف',\n\n // Async\n wait: 'انتظر',\n fetch: 'احضر',\n call: 'استدع',\n return: 'ارجع',\n\n // Other commands\n make: 'اصنع',\n log: 'سجل',\n throw: 'ارم',\n catch: 'التقط',\n measure: 'قس',\n transition: 'انتقال',\n\n // Data Commands\n increment: 'زِد',\n decrement: 'أنقص',\n default: 'افتراضي',\n\n // Navigation Commands\n go: 'اذهب',\n pushUrl: 'ادفع رابط',\n replaceUrl: 'استبدل رابط',\n\n // Utility Commands\n copy: 'انسخ',\n pick: 'اختر',\n beep: 'صفّر',\n\n // Advanced Commands\n js: 'جافاسكربت',\n async: 'متزامن',\n render: 'ارسم',\n\n // Animation Commands\n swap: 'بدّل',\n morph: 'حوّل',\n settle: 'استقر',\n\n // Content Commands\n append: 'ألحق',\n\n // Control Flow\n exit: 'اخرج',\n\n // Behaviors\n install: 'ثبّت',\n },\n\n modifiers: {\n to: 'إلى',\n from: 'من',\n into: 'في',\n with: 'مع',\n at: 'عند',\n in: 'في',\n of: 'من',\n as: 'كـ',\n by: 'بواسطة',\n before: 'قبل',\n after: 'بعد',\n over: 'فوق',\n under: 'تحت',\n between: 'بين',\n through: 'عبر',\n without: 'بدون',\n },\n\n events: {\n click: 'نقر',\n dblclick: 'نقر مزدوج',\n mousedown: 'فأرة أسفل',\n mouseup: 'فأرة أعلى',\n mouseenter: 'فأرة دخول',\n mouseleave: 'فأرة خروج',\n mouseover: 'فأرة فوق',\n mouseout: 'فأرة خارج',\n mousemove: 'فأرة تحرك',\n\n keydown: 'مفتاح أسفل',\n keyup: 'مفتاح أعلى',\n keypress: 'مفتاح ضغط',\n\n focus: 'تركيز',\n blur: 'ضبابية',\n change: 'تغيير',\n input: 'إدخال',\n submit: 'إرسال',\n reset: 'إعادة تعيين',\n\n load: 'تحميل',\n unload: 'إلغاء تحميل',\n resize: 'تغيير حجم',\n scroll: 'تمرير',\n\n touchstart: 'بداية لمس',\n touchend: 'نهاية لمس',\n touchmove: 'تحرك لمس',\n touchcancel: 'إلغاء لمس',\n },\n\n logical: {\n when: 'عندما',\n where: 'أين',\n and: 'و',\n or: 'أو',\n not: 'ليس',\n is: 'هو',\n exists: 'موجود',\n matches: 'يطابق',\n contains: 'يحتوي',\n includes: 'يشمل',\n equals: 'يساوي',\n has: 'لديه', // third-person: he/it has\n have: 'لدي', // first-person: I have\n then: 'ثم',\n else: 'وإلا',\n otherwise: 'خلاف ذلك',\n end: 'النهاية',\n },\n\n temporal: {\n seconds: 'ثوانِ',\n second: 'ثانية',\n milliseconds: 'ميلي ثانية',\n millisecond: 'ميلي ثانية',\n minutes: 'دقائق',\n minute: 'دقيقة',\n hours: 'ساعات',\n hour: 'ساعة',\n ms: 'م.ث',\n s: 'ث',\n min: 'د',\n h: 'س',\n },\n\n values: {\n true: 'صحيح',\n false: 'خطأ',\n null: 'فارغ',\n undefined: 'غير معرف',\n it: 'هو',\n its: 'له', // REVIEW: native speaker\n me: 'أنا',\n my: 'لي',\n myself: 'نفسي',\n you: 'أنت', // REVIEW: native speaker\n your: 'لك', // REVIEW: native speaker\n yourself: 'نفسك', // REVIEW: native speaker\n element: 'عنصر',\n target: 'هدف',\n detail: 'تفاصيل',\n event: 'حدث',\n window: 'نافذة',\n document: 'وثيقة',\n body: 'جسم',\n result: 'نتيجة',\n value: 'قيمة',\n },\n\n attributes: {\n class: 'فئة',\n classes: 'فئات',\n style: 'أسلوب',\n styles: 'أساليب',\n attribute: 'خاصية',\n attributes: 'خصائص',\n property: 'خاصية',\n properties: 'خصائص',\n },\n\n expressions: {\n // Positional\n first: 'أول',\n last: 'آخر',\n next: 'التالي',\n previous: 'السابق',\n prev: 'سابق',\n at: 'عند',\n random: 'عشوائي',\n\n // DOM Traversal\n closest: 'الأقرب',\n parent: 'والد',\n children: 'أطفال',\n within: 'داخل',\n\n // Emptiness/Existence\n no: 'لا يوجد',\n empty: 'فارغ',\n some: 'بعض',\n\n // String operations\n 'starts with': 'يبدأ بـ',\n 'ends with': 'ينتهي بـ',\n },\n};\n","// packages/i18n/src/dictionaries/tr.ts\n\nimport { Dictionary } from '../types';\n\nexport const tr: Dictionary = {\n commands: {\n // Event handling\n on: 'üzerinde',\n tell: 'söyle',\n trigger: 'tetikle',\n send: 'gönder',\n\n // DOM manipulation\n take: 'al',\n put: 'koy',\n set: 'ayarla',\n get: 'al',\n add: 'ekle',\n remove: 'kaldır',\n toggle: 'değiştir',\n hide: 'gizle',\n show: 'göster',\n\n // Control flow\n if: 'eğer',\n unless: 'değilse',\n repeat: 'tekrarla',\n for: 'için',\n while: 'iken',\n until: 'kadar',\n continue: 'devam',\n break: 'dur',\n halt: 'durdur',\n\n // Async\n wait: 'bekle',\n fetch: 'getir',\n call: 'çağır',\n return: 'dön',\n\n // Other commands\n make: 'yap',\n log: 'kaydet',\n throw: 'fırlat',\n catch: 'yakala',\n measure: 'ölç',\n transition: 'geçiş',\n\n // Data Commands\n increment: 'artır',\n decrement: 'azalt',\n default: 'varsayılan',\n\n // Navigation Commands\n go: 'git',\n pushUrl: 'urlEkle',\n replaceUrl: 'urlDeğiştir',\n\n // Utility Commands\n copy: 'kopyala',\n pick: 'seç',\n beep: 'bip',\n\n // Advanced Commands\n js: 'js',\n async: 'asenkron',\n render: 'render',\n\n // Animation Commands\n swap: 'takas',\n morph: 'dönüştür',\n settle: 'sabitlen',\n\n // Content Commands\n append: 'ekle',\n\n // Control Flow\n exit: 'çık',\n\n // Behaviors\n install: 'kur',\n },\n\n modifiers: {\n to: 'e',\n from: 'den',\n into: 'içine',\n with: 'ile',\n at: 'de',\n in: 'içinde',\n of: 'nin',\n as: 'olarak',\n by: 'tarafından',\n before: 'önce',\n after: 'sonra',\n over: 'üzerinde',\n under: 'altında',\n between: 'arasında',\n through: 'boyunca',\n without: 'olmadan',\n },\n\n events: {\n click: 'tıklama',\n dblclick: 'çift_tıklama',\n mousedown: 'fare_bas',\n mouseup: 'fare_bırak',\n mouseenter: 'fare_gir',\n mouseleave: 'fare_çık',\n mouseover: 'fare_üstü',\n mouseout: 'fare_dışı',\n mousemove: 'fare_hareket',\n\n keydown: 'tuş_bas',\n keyup: 'tuş_bırak',\n keypress: 'tuş_basım',\n\n focus: 'odak',\n blur: 'bulanık',\n change: 'değişim',\n input: 'giriş',\n submit: 'gönder',\n reset: 'sıfırla',\n\n load: 'yükle',\n unload: 'yükle_kaldır',\n resize: 'boyut_değiştir',\n scroll: 'kaydır',\n\n touchstart: 'dokunma_başla',\n touchend: 'dokunma_bitir',\n touchmove: 'dokunma_hareket',\n touchcancel: 'dokunma_iptal',\n },\n\n logical: {\n when: 'iken', // REVIEW: native speaker - could also be 'durumunda' (in case of) or 'olduğunda' (when it happens)\n where: 'nerede', // REVIEW: native speaker - element filter context\n and: 've',\n or: 'veya',\n not: 'değil',\n is: 'dir',\n exists: 'var',\n matches: 'eşleşir',\n contains: 'içerir',\n includes: 'dahil',\n equals: 'eşittir',\n has: 'var', // existence marker (context-based)\n have: 'var', // same for first/third person in Turkish\n then: 'sonra',\n else: 'yoksa',\n otherwise: 'aksi_halde',\n end: 'son',\n },\n\n temporal: {\n seconds: 'saniye',\n second: 'saniye',\n milliseconds: 'milisaniye',\n millisecond: 'milisaniye',\n minutes: 'dakika',\n minute: 'dakika',\n hours: 'saat',\n hour: 'saat',\n ms: 'ms',\n s: 's',\n min: 'dk',\n h: 'sa',\n },\n\n values: {\n true: 'doğru',\n false: 'yanlış',\n null: 'boş',\n undefined: 'tanımsız',\n it: 'o',\n its: 'onun', // REVIEW: native speaker\n me: 'ben',\n my: 'benim',\n myself: 'kendim',\n you: 'sen', // REVIEW: native speaker - formal/informal\n your: 'senin', // REVIEW: native speaker - formal/informal\n yourself: 'kendin', // REVIEW: native speaker\n element: 'öğe',\n target: 'hedef',\n detail: 'detay',\n event: 'olay',\n window: 'pencere',\n document: 'belge',\n body: 'gövde',\n result: 'sonuç',\n value: 'değer',\n },\n\n attributes: {\n class: 'sınıf',\n classes: 'sınıflar',\n style: 'stil',\n styles: 'stiller',\n attribute: 'özellik',\n attributes: 'özellikler',\n property: 'özellik',\n properties: 'özellikler',\n },\n\n expressions: {\n // Positional\n first: 'ilk',\n last: 'son',\n next: 'sonraki',\n previous: 'önceki',\n prev: 'önc',\n at: 'de',\n random: 'rastgele',\n\n // DOM Traversal\n closest: 'en_yakın',\n parent: 'ebeveyn',\n children: 'çocuklar',\n within: 'içinde',\n\n // Emptiness/Existence\n no: 'yok',\n empty: 'boş',\n some: 'bazı',\n\n // String operations\n 'starts with': 'ile başlar',\n 'ends with': 'ile biter',\n },\n};\n","// packages/i18n/src/dictionaries/id.ts\n\nimport { Dictionary } from '../types';\n\nexport const id: Dictionary = {\n commands: {\n // Event handling\n on: 'pada',\n tell: 'katakan',\n trigger: 'picu',\n send: 'kirim',\n\n // DOM manipulation\n take: 'ambil',\n put: 'taruh',\n set: 'atur',\n get: 'dapatkan',\n add: 'tambah',\n remove: 'hapus',\n toggle: 'ganti',\n hide: 'sembunyikan',\n show: 'tampilkan',\n\n // Control flow\n if: 'jika',\n unless: 'kecuali',\n repeat: 'ulangi',\n for: 'untuk',\n while: 'selama',\n until: 'sampai',\n continue: 'lanjutkan',\n break: 'hentikan',\n halt: 'berhenti',\n\n // Async\n wait: 'tunggu',\n fetch: 'ambil',\n call: 'panggil',\n return: 'kembali',\n\n // Other commands\n make: 'buat',\n log: 'catat',\n throw: 'lempar',\n catch: 'tangkap',\n measure: 'ukur',\n transition: 'transisi',\n\n // Data Commands\n increment: 'tambahkan',\n decrement: 'kurangi',\n default: 'bawaan',\n\n // Navigation Commands\n go: 'pergi',\n pushUrl: 'tambahUrl',\n replaceUrl: 'gantiUrl',\n\n // Utility Commands\n copy: 'salin',\n pick: 'pilih',\n beep: 'bunyi',\n\n // Advanced Commands\n js: 'js',\n async: 'asinkron',\n render: 'tampilkan',\n\n // Animation Commands\n swap: 'tukar',\n morph: 'ubah_bentuk',\n settle: 'stabil',\n\n // Content Commands\n append: 'tambah_akhir',\n\n // Control Flow\n exit: 'keluar',\n\n // Behaviors\n install: 'pasang',\n },\n\n modifiers: {\n to: 'ke',\n from: 'dari',\n into: 'ke_dalam',\n with: 'dengan',\n at: 'di',\n in: 'dalam',\n of: 'dari',\n as: 'sebagai',\n by: 'oleh',\n before: 'sebelum',\n after: 'setelah',\n over: 'di_atas',\n under: 'di_bawah',\n between: 'antara',\n through: 'melalui',\n without: 'tanpa',\n },\n\n events: {\n click: 'klik',\n dblclick: 'klik_ganda',\n mousedown: 'tekan_mouse',\n mouseup: 'lepas_mouse',\n mouseenter: 'mouse_masuk',\n mouseleave: 'mouse_keluar',\n mouseover: 'mouse_atas',\n mouseout: 'mouse_luar',\n mousemove: 'gerak_mouse',\n\n keydown: 'tekan_tombol',\n keyup: 'lepas_tombol',\n keypress: 'pencet_tombol',\n\n focus: 'fokus',\n blur: 'blur',\n change: 'ubah',\n input: 'masukan',\n submit: 'kirim',\n reset: 'reset',\n\n load: 'muat',\n unload: 'bongkar',\n resize: 'ubah_ukuran',\n scroll: 'gulir',\n\n touchstart: 'mulai_sentuh',\n touchend: 'akhir_sentuh',\n touchmove: 'gerak_sentuh',\n touchcancel: 'batal_sentuh',\n },\n\n logical: {\n when: 'ketika',\n where: 'di_mana',\n and: 'dan',\n or: 'atau',\n not: 'bukan',\n is: 'adalah',\n exists: 'ada',\n matches: 'cocok',\n contains: 'berisi',\n includes: 'termasuk',\n equals: 'sama',\n has: 'punya', // possession verb (context-based)\n have: 'punya', // same for first/third person\n then: 'lalu',\n else: 'lainnya',\n otherwise: 'sebaliknya',\n end: 'akhir',\n },\n\n temporal: {\n seconds: 'detik',\n second: 'detik',\n milliseconds: 'milidetik',\n millisecond: 'milidetik',\n minutes: 'menit',\n minute: 'menit',\n hours: 'jam',\n hour: 'jam',\n ms: 'ms',\n s: 'd',\n min: 'mnt',\n h: 'j',\n },\n\n values: {\n true: 'benar',\n false: 'salah',\n null: 'kosong',\n undefined: 'tidak_terdefinisi',\n it: 'itu',\n its: 'miliknya', // REVIEW: native speaker\n me: 'saya',\n my: 'saya punya',\n myself: 'saya sendiri',\n you: 'kamu', // REVIEW: native speaker - formal/informal\n your: 'kamu punya', // REVIEW: native speaker\n yourself: 'kamu sendiri', // REVIEW: native speaker\n element: 'elemen',\n target: 'target',\n detail: 'detail',\n event: 'peristiwa',\n window: 'jendela',\n document: 'dokumen',\n body: 'badan',\n result: 'hasil',\n value: 'nilai',\n },\n\n attributes: {\n class: 'kelas',\n classes: 'kelas_kelas',\n style: 'gaya',\n styles: 'gaya_gaya',\n attribute: 'atribut',\n attributes: 'atribut_atribut',\n property: 'properti',\n properties: 'properti_properti',\n },\n\n expressions: {\n // Positional\n first: 'pertama',\n last: 'terakhir',\n next: 'berikutnya',\n previous: 'sebelumnya',\n prev: 'sblm',\n at: 'di',\n random: 'acak',\n\n // DOM Traversal\n closest: 'terdekat',\n parent: 'induk',\n children: 'anak_anak',\n within: 'dalam',\n\n // Emptiness/Existence\n no: 'tidak_ada',\n empty: 'kosong',\n some: 'beberapa',\n\n // String operations\n 'starts with': 'dimulai dengan',\n 'ends with': 'diakhiri dengan',\n },\n};\n","// packages/i18n/src/dictionaries/qu.ts\n\nimport { Dictionary } from '../types';\n\nexport const qu: Dictionary = {\n commands: {\n // Event handling\n on: 'kaqpi',\n tell: 'niy',\n trigger: 'kichay',\n send: 'kachay',\n\n // DOM manipulation\n take: 'hurquy',\n put: 'churay',\n set: 'churay',\n get: 'chaskiy',\n add: 'yapay',\n remove: 'qichuy',\n toggle: 'tikray',\n hide: 'pakay',\n show: 'rikuchiy',\n\n // Control flow\n if: 'sichus',\n unless: 'mana_sichus',\n repeat: 'kutichiy',\n for: 'rayku',\n while: 'kay_kaq',\n until: 'hayk_akama',\n continue: 'purichiy',\n break: 'p_akiy',\n halt: 'sayay',\n\n // Async\n wait: 'suyay',\n fetch: 'apamuy',\n call: 'qayay',\n return: 'kutimuy',\n\n // Other commands\n make: 'ruray',\n log: 'qillqay',\n throw: 'wikchuy',\n catch: 'hapsiy',\n measure: 'tupuy',\n transition: 'tikray',\n\n // Data Commands\n increment: 'yapay',\n decrement: 'pisiyachiy',\n default: 'ñawpaq_kaq',\n\n // Navigation Commands\n go: 'riy',\n pushUrl: 'url_tanqay',\n replaceUrl: 'url_tikray',\n\n // Utility Commands\n copy: 'qillqay',\n pick: 'akllay',\n beep: 'waqay',\n\n // Advanced Commands\n js: 'js',\n async: 'mana_suyaspa',\n render: 'rikuchiy',\n\n // Animation Commands\n swap: 'rantin_tikray',\n morph: 'tikrachiy',\n settle: 'tiyay',\n\n // Content Commands\n append: 'qhipaman_yapay',\n\n // Control Flow\n exit: 'lluqsiy',\n\n // Behaviors\n install: 'churay',\n },\n\n modifiers: {\n to: 'man',\n from: 'manta',\n into: 'ukupi',\n with: 'wan',\n at: 'pi',\n in: 'ukupi',\n of: 'pa',\n as: 'hina',\n by: 'rayku',\n before: 'ñawpaqpi',\n after: 'qhepapi',\n over: 'hawapi',\n under: 'urapi',\n between: 'chawpipi',\n through: 'pasaspa',\n without: 'mana',\n },\n\n events: {\n click: 'ñitiy',\n dblclick: 'iskay_ñitiy',\n mousedown: 'rat_ñitiy',\n mouseup: 'rat_huqariy',\n mouseenter: 'rat_yaykuy',\n mouseleave: 'rat_lluqsiy',\n mouseover: 'rat_hawapi',\n mouseout: 'rat_hawamanta',\n mousemove: 'rat_kuyuy',\n\n keydown: 'yupana_ñitiy',\n keyup: 'yupana_huqariy',\n keypress: 'yupana_ñitana',\n\n focus: 'qhaway',\n blur: 'paqariy',\n change: 'tikray',\n input: 'yaykuchiy',\n submit: 'kachay',\n reset: 'qallariy',\n\n load: 'apakuy',\n unload: 'urmay',\n resize: 'hatun_kay',\n scroll: 'kunray',\n\n touchstart: 'llamiy_qallay',\n touchend: 'llamiy_tukuy',\n touchmove: 'llamiy_kuyuy',\n touchcancel: 'llamiy_hark_ay',\n },\n\n logical: {\n when: 'maykama',\n where: 'maypi',\n and: 'chaymanta',\n or: 'utaq',\n not: 'mana',\n is: 'kanqa',\n exists: 'tiyan',\n matches: 'tupan',\n contains: 'ukupi_kan',\n includes: 'churasqa',\n equals: 'kikin',\n has: 'kachkan', // existence suffix (context-based)\n have: 'kachkani', // first-person with suffix\n then: 'chayqa',\n else: 'mana_chayqa',\n otherwise: 'huk_kaqpi',\n end: 'tukuy',\n },\n\n temporal: {\n seconds: 'sikundukuna',\n second: 'sikundu',\n milliseconds: 'iskay_paqta_sikundukuna',\n millisecond: 'iskay_paqta_sikundu',\n minutes: 'minutukuna',\n minute: 'minutu',\n hours: 'horakuna',\n hour: 'hora',\n ms: 'ms',\n s: 's',\n min: 'm',\n h: 'h',\n },\n\n values: {\n true: 'cheqaq',\n false: 'llulla',\n null: 'ch_usaq',\n undefined: 'mana_riqsisqa',\n it: 'chay',\n its: 'chaypaq', // REVIEW: native speaker\n me: 'noqa',\n my: 'noqaq',\n myself: 'noqa killa',\n you: 'qam', // REVIEW: native speaker\n your: 'qampaq', // REVIEW: native speaker\n yourself: 'qam killa', // REVIEW: native speaker\n element: 'raku',\n target: 'punta',\n detail: 'sut_iy',\n event: 'ruway',\n window: 'k_iri',\n document: 'qillqa',\n body: 'kurku',\n result: 'lluqsiy',\n value: 'chanin',\n },\n\n attributes: {\n class: 'ayllu',\n classes: 'ayllukuna',\n style: 'sami',\n styles: 'samikuna',\n attribute: 'kaq',\n attributes: 'kaqkuna',\n property: 'kanay',\n properties: 'kanaykuna',\n },\n\n expressions: {\n // Positional\n first: 'ñawpaq',\n last: 'qhipa',\n next: 'qhipantin',\n previous: 'ñawpaqnin',\n prev: 'ñawpaq',\n at: 'pi',\n random: 'imaymanata',\n\n // DOM Traversal\n closest: 'aswan_kaylla',\n parent: 'mama_tayta',\n children: 'wawakuna',\n within: 'ukupi',\n\n // Emptiness/Existence\n no: 'mana_kanchu',\n empty: 'ch_usaq',\n some: 'wakin',\n\n // String operations\n 'starts with': 'qallarisqa wan',\n 'ends with': 'tukusqa wan',\n },\n};\n","// packages/i18n/src/dictionaries/sw.ts\n\nimport { Dictionary } from '../types';\n\nexport const sw: Dictionary = {\n commands: {\n // Event handling\n on: 'kwenye',\n tell: 'ambia',\n trigger: 'chochea',\n send: 'tuma',\n\n // DOM manipulation\n take: 'chukua',\n put: 'weka',\n set: 'weka',\n get: 'pata',\n add: 'ongeza',\n remove: 'ondoa',\n toggle: 'badilisha',\n hide: 'ficha',\n show: 'onyesha',\n\n // Control flow\n if: 'kama',\n unless: 'isipokuwa',\n repeat: 'rudia',\n for: 'kwa',\n while: 'wakati',\n until: 'hadi',\n continue: 'endelea',\n break: 'vunja',\n halt: 'simama',\n\n // Async\n wait: 'ngoja',\n fetch: 'leta',\n call: 'ita',\n return: 'rudi',\n\n // Other commands\n make: 'fanya',\n log: 'andika',\n throw: 'tupa',\n catch: 'shika',\n measure: 'pima',\n transition: 'mpito',\n\n // Data Commands\n increment: 'ongeza',\n decrement: 'punguza',\n default: 'msingi',\n\n // Navigation Commands\n go: 'nenda',\n pushUrl: 'sukumaUrl',\n replaceUrl: 'badilishaUrl',\n\n // Utility Commands\n copy: 'nakili',\n pick: 'chagua',\n beep: 'lia',\n\n // Advanced Commands\n js: 'js',\n async: 'sainkroni',\n render: 'chora',\n\n // Animation Commands\n swap: 'badilishana',\n morph: 'badilishaUmbo',\n settle: 'tulia',\n\n // Content Commands\n append: 'ongezaMwisho',\n\n // Control Flow\n exit: 'toka',\n\n // Behaviors\n install: 'sakinisha',\n },\n\n modifiers: {\n to: 'kwa',\n from: 'kutoka',\n into: 'ndani',\n with: 'na',\n at: 'katika',\n in: 'ndani',\n of: 'ya',\n as: 'kama',\n by: 'na',\n before: 'kabla',\n after: 'baada',\n over: 'juu',\n under: 'chini',\n between: 'kati',\n through: 'kupitia',\n without: 'bila',\n },\n\n events: {\n click: 'bonyeza',\n dblclick: 'bonyeza_mara_mbili',\n mousedown: 'panya_shuka',\n mouseup: 'panya_juu',\n mouseenter: 'panya_ingia',\n mouseleave: 'panya_toka',\n mouseover: 'panya_juu',\n mouseout: 'panya_nje',\n mousemove: 'panya_sogea',\n\n keydown: 'kitufe_shuka',\n keyup: 'kitufe_juu',\n keypress: 'kitufe_bonyeza',\n\n focus: 'zingatia',\n blur: 'poteza_macho',\n change: 'badilisha',\n input: 'ingizo',\n submit: 'wasilisha',\n reset: 'weka_upya',\n\n load: 'pakia',\n unload: 'shuka',\n resize: 'badilisha_ukubwa',\n scroll: 'sogeza',\n\n touchstart: 'gusa_anza',\n touchend: 'gusa_mwisho',\n touchmove: 'gusa_sogea',\n touchcancel: 'gusa_ghairi',\n },\n\n logical: {\n when: 'wakati',\n where: 'wapi',\n and: 'na',\n or: 'au',\n not: 'si',\n is: 'ni',\n exists: 'ipo',\n matches: 'inafanana',\n contains: 'ina',\n includes: 'pamoja',\n equals: 'sawa',\n has: 'ana', // third-person: yeye ana\n have: 'nina', // first-person: mimi nina\n then: 'kisha',\n else: 'sivyo',\n otherwise: 'vinginevyo',\n end: 'mwisho',\n },\n\n temporal: {\n seconds: 'sekunde',\n second: 'sekunde',\n milliseconds: 'millisekunde',\n millisecond: 'millisekunde',\n minutes: 'dakika',\n minute: 'dakika',\n hours: 'masaa',\n hour: 'saa',\n ms: 'ms',\n s: 's',\n min: 'dk',\n h: 'sa',\n },\n\n values: {\n true: 'kweli',\n false: 'uongo',\n null: 'tupu',\n undefined: 'haijafafanuliwa',\n it: 'hiyo',\n its: 'yake', // REVIEW: native speaker\n me: 'mimi',\n my: 'yangu',\n myself: 'mimi mwenyewe',\n you: 'wewe', // REVIEW: native speaker\n your: 'yako', // REVIEW: native speaker\n yourself: 'wewe mwenyewe', // REVIEW: native speaker\n element: 'kipengele',\n target: 'lengo',\n detail: 'maelezo',\n event: 'tukio',\n window: 'dirisha',\n document: 'hati',\n body: 'mwili',\n result: 'matokeo',\n value: 'thamani',\n },\n\n attributes: {\n class: 'darasa',\n classes: 'madarasa',\n style: 'mtindo',\n styles: 'mitindo',\n attribute: 'sifa',\n attributes: 'sifa',\n property: 'mali',\n properties: 'mali',\n },\n\n expressions: {\n // Positional\n first: 'kwanza',\n last: 'mwisho',\n next: 'ijayo',\n previous: 'iliyopita',\n prev: 'awali',\n at: 'katika',\n random: 'nasibu',\n\n // DOM Traversal\n closest: 'karibu_zaidi',\n parent: 'mzazi',\n children: 'watoto',\n within: 'ndani_ya',\n\n // Emptiness/Existence\n no: 'hakuna',\n empty: 'tupu',\n some: 'baadhi',\n\n // String operations\n 'starts with': 'huanza na',\n 'ends with': 'huisha na',\n },\n};\n","// packages/i18n/src/dictionaries/pt.ts\n\nimport { Dictionary } from '../types';\n\n/**\n * Portuguese (Português) dictionary for hyperscript keywords.\n * Brazilian Portuguese variant.\n */\nexport const pt: Dictionary = {\n commands: {\n // Event handling\n on: 'em',\n tell: 'dizer',\n trigger: 'disparar',\n send: 'enviar',\n\n // DOM manipulation\n take: 'pegar',\n put: 'colocar',\n set: 'definir',\n get: 'obter',\n add: 'adicionar',\n remove: 'remover',\n toggle: 'alternar',\n hide: 'esconder',\n show: 'mostrar',\n\n // Control flow\n if: 'se',\n unless: 'a_menos', // REVIEW: native speaker - multi-word\n repeat: 'repetir',\n for: 'para',\n while: 'enquanto',\n until: 'até',\n continue: 'continuar',\n break: 'parar',\n halt: 'interromper',\n\n // Async\n wait: 'esperar',\n fetch: 'buscar',\n call: 'chamar',\n return: 'retornar',\n\n // Other commands\n make: 'fazer',\n log: 'registrar',\n throw: 'lançar',\n catch: 'capturar',\n measure: 'medir',\n transition: 'transição',\n\n // Data Commands\n increment: 'incrementar',\n decrement: 'decrementar',\n default: 'padrão',\n\n // Navigation Commands\n go: 'ir',\n pushUrl: 'pushUrl',\n replaceUrl: 'substituirUrl',\n\n // Utility Commands\n copy: 'copiar',\n pick: 'escolher',\n beep: 'apitar',\n\n // Advanced Commands\n js: 'js',\n async: 'assíncrono',\n render: 'renderizar',\n\n // Animation Commands\n swap: 'trocar',\n morph: 'transformar',\n settle: 'estabilizar',\n\n // Content Commands\n append: 'anexar',\n\n // Control Flow\n exit: 'sair',\n\n // Behaviors\n install: 'instalar',\n },\n\n modifiers: {\n to: 'para',\n from: 'de',\n into: 'em',\n with: 'com',\n at: 'em',\n in: 'dentro',\n of: 'de',\n as: 'como',\n by: 'por',\n before: 'antes',\n after: 'depois',\n over: 'sobre',\n under: 'sob',\n between: 'entre',\n through: 'através',\n without: 'sem',\n },\n\n events: {\n click: 'clique',\n dblclick: 'duploClique',\n mousedown: 'mouseBaixo',\n mouseup: 'mouseCima',\n mouseenter: 'mouseEntrar',\n mouseleave: 'mouseSair',\n mouseover: 'mouseSobre',\n mouseout: 'mouseFora',\n mousemove: 'mouseMover',\n\n keydown: 'teclaBaixo',\n keyup: 'teclaCima',\n keypress: 'teclaPressionar',\n\n focus: 'foco',\n blur: 'desfoque',\n change: 'mudança',\n input: 'entrada',\n submit: 'envio',\n reset: 'reiniciar',\n\n load: 'carregar',\n unload: 'descarregar',\n resize: 'redimensionar',\n scroll: 'rolar',\n\n touchstart: 'toqueInício',\n touchend: 'toqueFim',\n touchmove: 'toqueMover',\n touchcancel: 'toqueCancelar',\n },\n\n logical: {\n when: 'quando',\n where: 'onde',\n and: 'e',\n or: 'ou',\n not: 'não',\n is: 'é',\n exists: 'existe',\n matches: 'corresponde',\n contains: 'contém',\n includes: 'inclui',\n equals: 'igual',\n has: 'tem', // third-person: ele/ela tem\n have: 'tenho', // first-person: eu tenho\n then: 'então',\n else: 'senão',\n otherwise: 'caso_contrário', // REVIEW: native speaker\n end: 'fim',\n },\n\n temporal: {\n seconds: 'segundos',\n second: 'segundo',\n milliseconds: 'milissegundos',\n millisecond: 'milissegundo',\n minutes: 'minutos',\n minute: 'minuto',\n hours: 'horas',\n hour: 'hora',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'h',\n },\n\n values: {\n true: 'verdadeiro',\n false: 'falso',\n null: 'nulo',\n undefined: 'indefinido',\n it: 'isso',\n its: 'seu',\n me: 'eu',\n my: 'meu',\n myself: 'eu mesmo', // REVIEW: native speaker\n you: 'você',\n your: 'seu',\n yourself: 'você mesmo', // REVIEW: native speaker\n element: 'elemento',\n target: 'alvo',\n detail: 'detalhe',\n event: 'evento',\n window: 'janela',\n document: 'documento',\n body: 'corpo',\n result: 'resultado',\n value: 'valor',\n },\n\n attributes: {\n class: 'classe',\n classes: 'classes',\n style: 'estilo',\n styles: 'estilos',\n attribute: 'atributo',\n attributes: 'atributos',\n property: 'propriedade',\n properties: 'propriedades',\n },\n\n expressions: {\n // Positional\n first: 'primeiro',\n last: 'último',\n next: 'próximo',\n previous: 'anterior',\n prev: 'ant',\n at: 'em',\n random: 'aleatório',\n\n // DOM Traversal\n closest: 'mais_próximo', // REVIEW: native speaker - multi-word\n parent: 'pai',\n children: 'filhos',\n within: 'dentro',\n\n // Emptiness/Existence\n no: 'nenhum',\n empty: 'vazio',\n some: 'algum',\n\n // String operations\n 'starts with': 'começa com',\n 'ends with': 'termina com',\n },\n};\n","// packages/i18n/src/dictionaries/it.ts\n\nimport { Dictionary } from '../types';\n\nexport const it: Dictionary = {\n commands: {\n // Event handling\n on: 'su',\n tell: 'dire',\n trigger: 'scatenare',\n send: 'inviare',\n\n // DOM manipulation\n take: 'prendere',\n put: 'mettere',\n set: 'impostare',\n get: 'ottenere',\n add: 'aggiungere',\n remove: 'rimuovere',\n toggle: 'commutare',\n hide: 'nascondere',\n show: 'mostrare',\n\n // Control flow\n if: 'se',\n unless: 'a meno che',\n repeat: 'ripetere',\n for: 'per',\n while: 'mentre',\n until: 'fino',\n continue: 'continuare',\n break: 'interrompere',\n halt: 'fermare',\n\n // Async\n wait: 'aspettare',\n fetch: 'recuperare',\n call: 'chiamare',\n return: 'ritornare',\n\n // Other commands\n make: 'fare',\n log: 'registrare',\n throw: 'lanciare',\n catch: 'catturare',\n measure: 'misurare',\n transition: 'transizione',\n\n // Data Commands\n increment: 'incrementare',\n decrement: 'decrementare',\n default: 'predefinito',\n\n // Navigation Commands\n go: 'andare',\n pushUrl: 'pushUrl',\n replaceUrl: 'sostituireUrl',\n\n // Utility Commands\n copy: 'copiare',\n pick: 'scegliere',\n beep: 'beep',\n\n // Advanced Commands\n js: 'js',\n async: 'asincrono',\n render: 'renderizzare',\n\n // Animation Commands\n swap: 'scambiare',\n morph: 'trasformare',\n settle: 'stabilizzare',\n\n // Content Commands\n append: 'aggiungere',\n\n // Control Flow\n exit: 'uscire',\n\n // Behaviors\n install: 'installare',\n },\n\n modifiers: {\n to: 'a',\n from: 'da',\n into: 'in',\n with: 'con',\n at: 'a',\n in: 'in',\n of: 'di',\n as: 'come',\n by: 'per',\n before: 'prima',\n after: 'dopo',\n over: 'sopra',\n under: 'sotto',\n between: 'tra',\n through: 'attraverso',\n without: 'senza',\n },\n\n events: {\n click: 'clic',\n dblclick: 'doppioclic',\n mousedown: 'mousegiù',\n mouseup: 'mousesu',\n mouseenter: 'mouseentra',\n mouseleave: 'mouseesce',\n mouseover: 'mousesopra',\n mouseout: 'mousefuori',\n mousemove: 'mousemuovi',\n\n keydown: 'tastogiù',\n keyup: 'tastosu',\n keypress: 'tastopremi',\n\n focus: 'fuoco',\n blur: 'sfuocatura',\n change: 'cambio',\n input: 'input',\n submit: 'invio',\n reset: 'reset',\n\n load: 'carica',\n unload: 'scarica',\n resize: 'ridimensiona',\n scroll: 'scorrimento',\n\n touchstart: 'toccoinizia',\n touchend: 'toccofine',\n touchmove: 'toccomuovi',\n touchcancel: 'toccoannulla',\n },\n\n logical: {\n when: 'quando',\n where: 'dove',\n and: 'e',\n or: 'o',\n not: 'non',\n is: 'è',\n exists: 'esiste',\n matches: 'corrisponde',\n contains: 'contiene',\n includes: 'include',\n equals: 'uguale',\n has: 'ha', // third-person: lui/lei ha\n have: 'ho', // first-person: io ho\n then: 'allora',\n else: 'altrimenti',\n otherwise: 'altrimenti',\n end: 'fine',\n },\n\n temporal: {\n seconds: 'secondi',\n second: 'secondo',\n milliseconds: 'millisecondi',\n millisecond: 'millisecondo',\n minutes: 'minuti',\n minute: 'minuto',\n hours: 'ore',\n hour: 'ora',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'h',\n },\n\n values: {\n true: 'vero',\n false: 'falso',\n null: 'nullo',\n undefined: 'indefinito',\n it: 'esso',\n its: 'suo',\n me: 'io',\n my: 'mio',\n you: 'tu',\n your: 'tuo',\n yourself: 'te stesso',\n myself: 'me stesso',\n element: 'elemento',\n target: 'obiettivo',\n detail: 'dettaglio',\n event: 'evento',\n window: 'finestra',\n document: 'documento',\n body: 'corpo',\n result: 'risultato',\n value: 'valore',\n },\n\n attributes: {\n class: 'classe',\n classes: 'classi',\n style: 'stile',\n styles: 'stili',\n attribute: 'attributo',\n attributes: 'attributi',\n property: 'proprietà',\n properties: 'proprietà',\n },\n\n expressions: {\n // Positional\n first: 'primo',\n last: 'ultimo',\n next: 'prossimo',\n previous: 'precedente',\n prev: 'prec',\n at: 'a',\n random: 'casuale',\n\n // DOM Traversal\n closest: 'piùvicino',\n parent: 'genitore',\n children: 'figli',\n within: 'dentro',\n\n // Emptiness/Existence\n no: 'nessun',\n empty: 'vuoto',\n some: 'qualche',\n\n // String operations\n 'starts with': 'inizia con',\n 'ends with': 'finisce con',\n },\n};\n","// packages/i18n/src/dictionaries/vi.ts\n\nimport { Dictionary } from '../types';\n\nexport const vi: Dictionary = {\n commands: {\n // Event handling\n on: 'khi',\n tell: 'nói với',\n trigger: 'kích hoạt',\n send: 'gửi',\n\n // DOM manipulation\n take: 'lấy',\n put: 'đặt',\n set: 'gán',\n get: 'lấy giá trị',\n add: 'thêm',\n remove: 'xóa',\n toggle: 'chuyển đổi',\n hide: 'ẩn',\n show: 'hiển thị',\n\n // Control flow\n if: 'nếu',\n unless: 'trừ khi',\n repeat: 'lặp lại',\n for: 'với mỗi',\n while: 'trong khi',\n until: 'cho đến khi',\n continue: 'tiếp tục',\n break: 'dừng',\n halt: 'dừng lại',\n\n // Async\n wait: 'chờ',\n fetch: 'tải',\n call: 'gọi',\n return: 'trả về',\n\n // Other commands\n make: 'tạo',\n log: 'in ra',\n throw: 'ném',\n catch: 'bắt',\n measure: 'đo lường',\n transition: 'chuyển tiếp',\n\n // Data Commands\n increment: 'tăng',\n decrement: 'giảm',\n default: 'mặc định',\n\n // Navigation Commands\n go: 'đi đến',\n pushUrl: 'pushUrl',\n replaceUrl: 'thayThếUrl',\n\n // Utility Commands\n copy: 'sao chép',\n pick: 'chọn',\n beep: 'beep',\n\n // Advanced Commands\n js: 'js',\n async: 'bất đồng bộ',\n render: 'hiển thị',\n\n // Animation Commands\n swap: 'hoán đổi',\n morph: 'biến đổi',\n settle: 'ổn định',\n\n // Content Commands\n append: 'nối',\n\n // Control Flow\n exit: 'thoát',\n\n // Focus\n focus: 'tập trung',\n blur: 'mất tập trung',\n\n // Additional\n init: 'khởi tạo',\n behavior: 'hành vi',\n install: 'cài đặt',\n clone: 'sao chép',\n prepend: 'thêm đầu',\n else: 'không thì',\n },\n\n modifiers: {\n into: 'vào',\n before: 'trước',\n after: 'sau',\n then: 'rồi',\n end: 'kết thúc',\n from: 'từ',\n to: 'đến',\n with: 'với',\n as: 'như',\n by: 'bởi',\n on: 'trên',\n in: 'trong',\n at: 'tại',\n of: 'của',\n the: '',\n times: 'lần',\n },\n\n events: {\n click: 'nhấp',\n dblclick: 'nhấp đúp',\n input: 'nhập',\n change: 'thay đổi',\n submit: 'gửi',\n keydown: 'phím xuống',\n keyup: 'phím lên',\n keypress: 'nhấn phím',\n mouseover: 'chuột vào',\n mouseout: 'chuột ra',\n mouseenter: 'chuột vào',\n mouseleave: 'chuột rời',\n focus: 'tập trung',\n blur: 'mất tập trung',\n load: 'tải',\n scroll: 'cuộn',\n resize: 'đổi kích thước',\n },\n\n logical: {\n when: 'khi',\n where: 'ở_đâu',\n and: 'và',\n or: 'hoặc',\n not: 'không',\n is: 'là',\n equals: 'bằng',\n contains: 'chứa',\n matches: 'khớp',\n exists: 'tồn tại',\n has: 'có', // possession verb (context-based)\n have: 'có', // same for first/third person\n empty: 'trống',\n true: 'đúng',\n false: 'sai',\n null: 'rỗng',\n },\n\n temporal: {\n now: 'bây giờ',\n today: 'hôm nay',\n tomorrow: 'ngày mai',\n yesterday: 'hôm qua',\n always: 'luôn luôn',\n never: 'không bao giờ',\n sometimes: 'đôi khi',\n once: 'một lần',\n twice: 'hai lần',\n forever: 'mãi mãi',\n },\n\n values: {\n true: 'đúng',\n false: 'sai',\n null: 'rỗng',\n undefined: 'không xác định',\n none: 'không có',\n all: 'tất cả',\n any: 'bất kỳ',\n some: 'một số',\n each: 'mỗi',\n every: 'tất cả',\n },\n\n attributes: {\n id: 'id',\n class: 'lớp',\n style: 'kiểu',\n value: 'giá trị',\n text: 'văn bản',\n html: 'html',\n src: 'nguồn',\n href: 'liên kết',\n disabled: 'vô hiệu',\n hidden: 'ẩn',\n checked: 'được chọn',\n selected: 'được chọn',\n },\n\n expressions: {\n me: 'tôi',\n my: 'của tôi',\n it: 'nó',\n its: 'của nó',\n result: 'kết quả',\n event: 'sự kiện',\n target: 'mục tiêu',\n first: 'đầu tiên',\n last: 'cuối cùng',\n next: 'tiếp theo',\n previous: 'trước đó',\n parent: 'cha',\n children: 'con',\n closest: 'gần nhất',\n },\n};\n","// packages/i18n/src/dictionaries/pl.ts\n\nimport { Dictionary } from '../types';\n\n/**\n * Polish Dictionary\n *\n * Polish uses IMPERATIVE verb forms for software commands\n * (unlike most languages which use infinitive).\n */\nexport const pl: Dictionary = {\n commands: {\n // Event handling\n on: 'gdy',\n tell: 'powiedz',\n trigger: 'wywołaj',\n send: 'wyślij',\n\n // DOM manipulation\n take: 'weź',\n put: 'umieść',\n set: 'ustaw',\n get: 'pobierz',\n add: 'dodaj',\n remove: 'usuń',\n toggle: 'przełącz',\n hide: 'ukryj',\n show: 'pokaż',\n\n // Control flow\n if: 'jeśli',\n unless: 'chyba',\n repeat: 'powtórz',\n for: 'dla',\n while: 'dopóki',\n until: 'aż',\n continue: 'kontynuuj',\n break: 'przerwij',\n halt: 'zatrzymaj',\n\n // Async\n wait: 'czekaj',\n fetch: 'pobierz',\n call: 'wywołaj',\n return: 'zwróć',\n\n // Other commands\n make: 'utwórz',\n log: 'loguj',\n throw: 'rzuć',\n catch: 'złap',\n measure: 'zmierz',\n transition: 'animuj',\n\n // Data Commands\n increment: 'zwiększ',\n decrement: 'zmniejsz',\n default: 'domyślnie',\n\n // Navigation Commands\n go: 'idź',\n pushUrl: 'dodajUrl',\n replaceUrl: 'zamieńUrl',\n\n // Utility Commands\n copy: 'kopiuj',\n pick: 'wybierz',\n beep: 'sygnał',\n\n // Advanced Commands\n js: 'js',\n async: 'async',\n render: 'renderuj',\n\n // Animation Commands\n swap: 'zamień',\n morph: 'przekształć',\n settle: 'ustabilizuj',\n\n // Content Commands\n append: 'dołącz',\n\n // Control Flow\n exit: 'wyjdź',\n\n // Behaviors\n install: 'zainstaluj',\n },\n\n modifiers: {\n to: 'do',\n from: 'z',\n into: 'do',\n with: 'z',\n at: 'przy',\n in: 'w',\n of: 'z',\n as: 'jako',\n by: 'przez',\n before: 'przed',\n after: 'po',\n over: 'nad',\n under: 'pod',\n between: 'między',\n through: 'przez',\n without: 'bez',\n },\n\n events: {\n click: 'kliknięcie',\n dblclick: 'podwójnekliknięcie',\n mousedown: 'myszdół',\n mouseup: 'myszgóra',\n mouseenter: 'myszwejście',\n mouseleave: 'myszwyjście',\n mouseover: 'mysznad',\n mouseout: 'myszpoza',\n mousemove: 'myszruch',\n\n keydown: 'klawiszdół',\n keyup: 'klawiszgóra',\n keypress: 'klawisznaciśnięcie',\n\n focus: 'fokus',\n blur: 'rozmycie',\n change: 'zmiana',\n input: 'wejście',\n submit: 'wyślij',\n reset: 'resetuj',\n\n load: 'załaduj',\n unload: 'wyładuj',\n resize: 'zmieńrozmiar',\n scroll: 'przewiń',\n\n touchstart: 'dotykstart',\n touchend: 'dotykkoniec',\n touchmove: 'dotykruch',\n touchcancel: 'dotykanuluj',\n },\n\n logical: {\n when: 'kiedy',\n where: 'gdzie',\n and: 'i',\n or: 'lub',\n not: 'nie',\n is: 'jest',\n exists: 'istnieje',\n matches: 'pasuje',\n contains: 'zawiera',\n includes: 'obejmuje',\n equals: 'równa się',\n has: 'ma', // third-person: on/ona ma\n have: 'mam', // first-person: ja mam\n then: 'wtedy',\n else: 'inaczej',\n otherwise: 'wpp',\n end: 'koniec',\n },\n\n temporal: {\n seconds: 'sekundy',\n second: 'sekunda',\n milliseconds: 'milisekundy',\n millisecond: 'milisekunda',\n minutes: 'minuty',\n minute: 'minuta',\n hours: 'godziny',\n hour: 'godzina',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'godz',\n },\n\n values: {\n true: 'prawda',\n false: 'fałsz',\n null: 'null',\n undefined: 'niezdefiniowane',\n it: 'to',\n its: 'jego',\n me: 'ja',\n my: 'mój',\n you: 'ty',\n your: 'twój',\n yourself: 'ty sam',\n myself: 'ja sam',\n element: 'element',\n target: 'cel',\n detail: 'szczegół',\n event: 'zdarzenie',\n window: 'okno',\n document: 'dokument',\n body: 'body',\n result: 'wynik',\n value: 'wartość',\n },\n\n attributes: {\n class: 'klasa',\n classes: 'klasy',\n style: 'styl',\n styles: 'style',\n attribute: 'atrybut',\n attributes: 'atrybuty',\n property: 'właściwość',\n properties: 'właściwości',\n },\n\n expressions: {\n // Positional\n first: 'pierwszy',\n last: 'ostatni',\n next: 'następny',\n previous: 'poprzedni',\n prev: 'poprz',\n at: 'przy',\n random: 'losowy',\n\n // DOM Traversal\n closest: 'najbliższy',\n parent: 'rodzic',\n children: 'dzieci',\n within: 'wewnątrz',\n\n // Emptiness/Existence\n no: 'brak',\n empty: 'pusty',\n some: 'jakiś',\n\n // String operations\n 'starts with': 'zaczyna się od',\n 'ends with': 'kończy się na',\n },\n};\n","/**\n * Russian Dictionary\n *\n * Translations for Russian language support.\n * Uses infinitive verbs (common in software UIs).\n */\n\nimport { Dictionary } from '../types';\n\nexport const russianDictionary: Dictionary = {\n commands: {\n // Event handling\n on: 'при',\n tell: 'сказать',\n trigger: 'вызвать',\n send: 'отправить',\n\n // DOM manipulation\n take: 'взять',\n put: 'положить',\n set: 'установить',\n get: 'получить',\n add: 'добавить',\n remove: 'удалить',\n toggle: 'переключить',\n hide: 'скрыть',\n show: 'показать',\n\n // Control flow\n if: 'если',\n unless: 'если_не',\n repeat: 'повторить',\n for: 'для',\n while: 'пока',\n until: 'до',\n continue: 'продолжить',\n break: 'прервать',\n halt: 'остановить',\n\n // Async\n wait: 'ждать',\n fetch: 'загрузить',\n call: 'вызвать',\n return: 'вернуть',\n\n // Other commands\n make: 'создать',\n log: 'записать',\n throw: 'бросить',\n catch: 'поймать',\n measure: 'измерить',\n transition: 'анимировать',\n\n // Data Commands\n increment: 'увеличить',\n decrement: 'уменьшить',\n default: 'по_умолчанию',\n\n // Navigation Commands\n go: 'перейти',\n pushUrl: 'добавить_url',\n replaceUrl: 'заменить_url',\n\n // Utility Commands\n copy: 'копировать',\n pick: 'выбрать',\n beep: 'звук',\n\n // Advanced Commands\n js: 'js',\n async: 'асинхронно',\n render: 'отобразить',\n\n // Animation Commands\n swap: 'поменять',\n morph: 'трансформировать',\n settle: 'стабилизировать',\n\n // Content Commands\n append: 'добавить_в_конец',\n\n // Control Flow\n exit: 'выйти',\n else: 'иначе',\n\n // Behaviors\n install: 'установить',\n init: 'инициализировать',\n behavior: 'поведение',\n\n // Focus\n focus: 'сфокусировать',\n blur: 'размыть',\n\n // Clone\n clone: 'клонировать',\n prepend: 'добавить_в_начало',\n },\n\n modifiers: {\n to: 'к',\n from: 'из',\n into: 'в',\n with: 'с',\n at: 'у',\n in: 'в',\n of: 'из',\n as: 'как',\n by: 'на',\n before: 'до',\n after: 'после',\n over: 'над',\n under: 'под',\n between: 'между',\n through: 'через',\n without: 'без',\n on: 'на',\n },\n\n events: {\n click: 'клик',\n dblclick: 'двойной_клик',\n mousedown: 'мышь_вниз',\n mouseup: 'мышь_вверх',\n mouseenter: 'мышь_вход',\n mouseleave: 'мышь_выход',\n mouseover: 'наведение',\n mouseout: 'уход',\n mousemove: 'движение_мыши',\n\n keydown: 'клавиша_вниз',\n keyup: 'клавиша_вверх',\n keypress: 'нажатие_клавиши',\n\n focus: 'фокус',\n blur: 'потеря_фокуса',\n change: 'изменение',\n input: 'ввод',\n submit: 'отправка',\n reset: 'сброс',\n\n load: 'загрузка',\n unload: 'выгрузка',\n resize: 'изменение_размера',\n scroll: 'прокрутка',\n\n touchstart: 'касание_начало',\n touchend: 'касание_конец',\n touchmove: 'касание_движение',\n touchcancel: 'касание_отмена',\n },\n\n logical: {\n when: 'когда',\n where: 'где',\n and: 'и',\n or: 'или',\n not: 'не',\n is: 'есть',\n exists: 'существует',\n matches: 'соответствует',\n contains: 'содержит',\n includes: 'включает',\n equals: 'равно',\n then: 'затем',\n else: 'иначе',\n otherwise: 'в_противном_случае',\n end: 'конец',\n has: 'имеет', // third-person: он/она имеет\n have: 'имею', // first-person: я имею\n isNot: 'не_есть',\n empty: 'пустой',\n },\n\n temporal: {\n seconds: 'секунд',\n second: 'секунда',\n milliseconds: 'миллисекунд',\n millisecond: 'миллисекунда',\n minutes: 'минут',\n minute: 'минута',\n hours: 'часов',\n hour: 'час',\n ms: 'мс',\n s: 'с',\n min: 'мин',\n h: 'ч',\n forever: 'всегда',\n once: 'однажды',\n every: 'каждый',\n until: 'до',\n },\n\n values: {\n true: 'истина',\n false: 'ложь',\n null: 'ничего',\n undefined: 'неопределено',\n it: 'это',\n its: 'его',\n me: 'я',\n my: 'мой',\n you: 'ты',\n your: 'твой',\n yourself: 'сам',\n myself: 'я_сам',\n element: 'элемент',\n target: 'цель',\n detail: 'детали',\n event: 'событие',\n window: 'окно',\n document: 'документ',\n body: 'тело',\n result: 'результат',\n value: 'значение',\n first: 'первый',\n last: 'последний',\n next: 'следующий',\n previous: 'предыдущий',\n closest: 'ближайший',\n parent: 'родитель',\n },\n\n attributes: {\n class: 'класс',\n classes: 'классы',\n style: 'стиль',\n styles: 'стили',\n attribute: 'атрибут',\n attributes: 'атрибуты',\n property: 'свойство',\n properties: 'свойства',\n disabled: 'отключено',\n hidden: 'скрыто',\n checked: 'отмечено',\n selected: 'выбрано',\n readonly: 'только_чтение',\n required: 'обязательно',\n text: 'текст',\n html: 'html',\n },\n\n expressions: {\n // Positional\n first: 'первый',\n last: 'последний',\n next: 'следующий',\n previous: 'предыдущий',\n prev: 'пред',\n at: 'в',\n random: 'случайный',\n\n // DOM Traversal\n closest: 'ближайший',\n parent: 'родитель',\n children: 'дети',\n within: 'внутри',\n\n // Emptiness/Existence\n no: 'нет',\n empty: 'пустой',\n some: 'некоторые',\n\n // String operations\n 'starts with': 'начинается_с',\n 'ends with': 'заканчивается_на',\n },\n};\n","/**\n * Ukrainian Dictionary\n *\n * Translations for Ukrainian language support.\n * Uses infinitive verbs (common in software UIs).\n */\n\nimport { Dictionary } from '../types';\n\nexport const ukrainianDictionary: Dictionary = {\n commands: {\n // Event handling\n on: 'при',\n tell: 'сказати',\n trigger: 'викликати',\n send: 'надіслати',\n\n // DOM manipulation\n take: 'взяти',\n put: 'покласти',\n set: 'встановити',\n get: 'отримати',\n add: 'додати',\n remove: 'видалити',\n toggle: 'перемкнути',\n hide: 'сховати',\n show: 'показати',\n\n // Control flow\n if: 'якщо',\n unless: 'якщо_не',\n repeat: 'повторити',\n for: 'для',\n while: 'поки',\n until: 'до',\n continue: 'продовжити',\n break: 'перервати',\n halt: 'зупинити',\n\n // Async\n wait: 'чекати',\n fetch: 'завантажити',\n call: 'викликати',\n return: 'повернути',\n\n // Other commands\n make: 'створити',\n log: 'записати',\n throw: 'кинути',\n catch: 'зловити',\n measure: 'виміряти',\n transition: 'анімувати',\n\n // Data Commands\n increment: 'збільшити',\n decrement: 'зменшити',\n default: 'за_замовчуванням',\n\n // Navigation Commands\n go: 'перейти',\n pushUrl: 'додати_url',\n replaceUrl: 'замінити_url',\n\n // Utility Commands\n copy: 'копіювати',\n pick: 'вибрати',\n beep: 'звук',\n\n // Advanced Commands\n js: 'js',\n async: 'асинхронно',\n render: 'відобразити',\n\n // Animation Commands\n swap: 'поміняти',\n morph: 'трансформувати',\n settle: 'стабілізувати',\n\n // Content Commands\n append: 'додати_в_кінець',\n\n // Control Flow\n exit: 'вийти',\n else: 'інакше',\n\n // Behaviors\n install: 'встановити',\n init: 'ініціалізувати',\n behavior: 'поведінка',\n\n // Focus\n focus: 'сфокусувати',\n blur: 'розфокусувати',\n\n // Clone\n clone: 'клонувати',\n prepend: 'додати_на_початок',\n },\n\n modifiers: {\n to: 'до',\n from: 'з',\n into: 'в',\n with: 'з',\n at: 'в',\n in: 'у',\n of: 'з',\n as: 'як',\n by: 'на',\n before: 'до',\n after: 'після',\n over: 'над',\n under: 'під',\n between: 'між',\n through: 'через',\n without: 'без',\n on: 'на',\n },\n\n events: {\n click: 'клік',\n dblclick: 'подвійний_клік',\n mousedown: 'миша_вниз',\n mouseup: 'миша_вгору',\n mouseenter: 'миша_вхід',\n mouseleave: 'миша_вихід',\n mouseover: 'наведення',\n mouseout: 'відведення',\n mousemove: 'рух_миші',\n\n keydown: 'клавіша_вниз',\n keyup: 'клавіша_вгору',\n keypress: 'натискання_клавіші',\n\n focus: 'фокус',\n blur: 'розфокус',\n change: 'зміна',\n input: 'введення',\n submit: 'надсилання',\n reset: 'скидання',\n\n load: 'завантаження',\n unload: 'вивантаження',\n resize: 'зміна_розміру',\n scroll: 'прокрутка',\n\n touchstart: 'дотик_початок',\n touchend: 'дотик_кінець',\n touchmove: 'дотик_рух',\n touchcancel: 'дотик_скасування',\n },\n\n logical: {\n when: 'коли',\n where: 'де',\n and: 'і',\n or: 'або',\n not: 'не',\n is: 'є',\n exists: 'існує',\n matches: 'відповідає',\n contains: 'містить',\n includes: 'включає',\n equals: 'дорівнює',\n then: 'тоді',\n else: 'інакше',\n otherwise: 'в_іншому_випадку',\n end: 'кінець',\n has: 'має', // third-person: він/вона має\n have: 'маю', // first-person: я маю\n isNot: 'не_є',\n empty: 'порожній',\n },\n\n temporal: {\n seconds: 'секунд',\n second: 'секунда',\n milliseconds: 'мілісекунд',\n millisecond: 'мілісекунда',\n minutes: 'хвилин',\n minute: 'хвилина',\n hours: 'годин',\n hour: 'година',\n ms: 'мс',\n s: 'с',\n min: 'хв',\n h: 'год',\n forever: 'завжди',\n once: 'один_раз',\n every: 'кожний',\n until: 'до',\n },\n\n values: {\n true: 'істина',\n false: 'хибність',\n null: 'нічого',\n undefined: 'невизначено',\n it: 'це',\n its: 'його',\n me: 'я',\n my: 'мій',\n you: 'ти',\n your: 'твій',\n yourself: 'сам',\n myself: 'я_сам',\n element: 'елемент',\n target: 'ціль',\n detail: 'деталі',\n event: 'подія',\n window: 'вікно',\n document: 'документ',\n body: 'тіло',\n result: 'результат',\n value: 'значення',\n first: 'перший',\n last: 'останній',\n next: 'наступний',\n previous: 'попередній',\n closest: 'найближчий',\n parent: 'батьківський',\n },\n\n attributes: {\n class: 'клас',\n classes: 'класи',\n style: 'стиль',\n styles: 'стилі',\n attribute: 'атрибут',\n attributes: 'атрибути',\n property: 'властивість',\n properties: 'властивості',\n disabled: 'вимкнено',\n hidden: 'приховано',\n checked: 'позначено',\n selected: 'вибрано',\n readonly: 'лише_читання',\n required: \"обов'язково\",\n text: 'текст',\n html: 'html',\n },\n\n expressions: {\n // Positional\n first: 'перший',\n last: 'останній',\n next: 'наступний',\n previous: 'попередній',\n prev: 'попер',\n at: 'в',\n random: 'випадковий',\n\n // DOM Traversal\n closest: 'найближчий',\n parent: 'батьківський',\n children: 'діти',\n within: 'всередині',\n\n // Emptiness/Existence\n no: 'ні',\n empty: 'порожній',\n some: 'деякі',\n\n // String operations\n 'starts with': 'починається_з',\n 'ends with': 'закінчується_на',\n },\n};\n","/**\n * Hindi Dictionary\n *\n * Translations for Hindi language support.\n * Uses imperative verb forms (common in software UIs).\n */\n\nimport { Dictionary } from '../types';\n\nexport const hindiDictionary: Dictionary = {\n commands: {\n // Event handling\n on: 'पर',\n tell: 'बताएं',\n trigger: 'ट्रिगर',\n send: 'भेजें',\n\n // DOM manipulation\n take: 'लें',\n put: 'रखें',\n set: 'सेट',\n get: 'प्राप्त',\n add: 'जोड़ें',\n remove: 'हटाएं',\n toggle: 'टॉगल',\n hide: 'छिपाएं',\n show: 'दिखाएं',\n\n // Control flow\n if: 'अगर',\n unless: 'जब_तक_नहीं',\n repeat: 'दोहराएं',\n for: 'के_लिए',\n while: 'जब_तक',\n until: 'तक',\n continue: 'जारी',\n break: 'रोकें',\n halt: 'रोकें',\n\n // Async\n wait: 'प्रतीक्षा',\n fetch: 'लाएं',\n call: 'कॉल',\n return: 'लौटाएं',\n\n // Other commands\n make: 'बनाएं',\n log: 'लॉग',\n throw: 'फेंकें',\n catch: 'पकड़ें',\n measure: 'मापें',\n transition: 'संक्रमण',\n\n // Data Commands\n increment: 'बढ़ाएं',\n decrement: 'घटाएं',\n default: 'डिफ़ॉल्ट',\n\n // Navigation Commands\n go: 'जाएं',\n pushUrl: 'url_जोड़ें',\n replaceUrl: 'url_बदलें',\n\n // Utility Commands\n copy: 'कॉपी',\n pick: 'चुनें',\n beep: 'बीप',\n\n // Advanced Commands\n js: 'जेएस',\n async: 'असिंक',\n render: 'रेंडर',\n\n // Animation Commands\n swap: 'बदलें',\n morph: 'रूपांतर',\n settle: 'स्थिर',\n\n // Content Commands\n append: 'जोड़ें_अंत',\n\n // Control Flow\n exit: 'बाहर',\n else: 'वरना',\n\n // Behaviors\n install: 'इंस्टॉल',\n init: 'प्रारंभ',\n behavior: 'व्यवहार',\n\n // Focus\n focus: 'फोकस',\n blur: 'धुंधला',\n\n // Clone\n clone: 'कॉपी',\n prepend: 'जोड़ें_शुरू',\n },\n\n modifiers: {\n to: 'को',\n from: 'से',\n into: 'में',\n with: 'के_साथ',\n at: 'पर',\n in: 'में',\n of: 'का',\n as: 'के_रूप_में',\n by: 'द्वारा',\n before: 'से_पहले',\n after: 'के_बाद',\n over: 'के_ऊपर',\n under: 'के_नीचे',\n between: 'के_बीच',\n through: 'के_माध्यम_से',\n without: 'के_बिना',\n on: 'पर',\n },\n\n events: {\n click: 'क्लिक',\n dblclick: 'डबल_क्लिक',\n mousedown: 'माउस_नीचे',\n mouseup: 'माउस_ऊपर',\n mouseenter: 'माउस_प्रवेश',\n mouseleave: 'माउस_बाहर',\n mouseover: 'माउस_ओवर',\n mouseout: 'माउस_आउट',\n mousemove: 'माउस_मूव',\n\n keydown: 'की_नीचे',\n keyup: 'की_ऊपर',\n keypress: 'की_प्रेस',\n\n focus: 'फोकस',\n blur: 'धुंधला',\n change: 'परिवर्तन',\n input: 'इनपुट',\n submit: 'जमा',\n reset: 'रीसेट',\n\n load: 'लोड',\n unload: 'अनलोड',\n resize: 'आकार_बदलें',\n scroll: 'स्क्रॉल',\n\n touchstart: 'टच_शुरू',\n touchend: 'टच_समाप्त',\n touchmove: 'टच_मूव',\n touchcancel: 'टच_रद्द',\n },\n\n logical: {\n when: 'जब',\n where: 'कहाँ',\n and: 'और',\n or: 'या',\n not: 'नहीं',\n is: 'है',\n exists: 'मौजूद',\n matches: 'मेल_खाता',\n contains: 'शामिल',\n includes: 'में_है',\n equals: 'बराबर',\n then: 'फिर',\n else: 'वरना',\n otherwise: 'अन्यथा',\n end: 'समाप्त',\n has: 'है', // existence verb (context-based)\n have: 'है', // same verb for first/third person\n isNot: 'नहीं_है',\n empty: 'खाली',\n },\n\n temporal: {\n seconds: 'सेकंड',\n second: 'सेकंड',\n milliseconds: 'मिलीसेकंड',\n millisecond: 'मिलीसेकंड',\n minutes: 'मिनट',\n minute: 'मिनट',\n hours: 'घंटे',\n hour: 'घंटा',\n ms: 'मिसे',\n s: 'से',\n min: 'मि',\n h: 'घं',\n forever: 'हमेशा',\n once: 'एक_बार',\n every: 'हर',\n until: 'तक',\n },\n\n values: {\n true: 'सच',\n false: 'झूठ',\n null: 'खाली',\n undefined: 'अपरिभाषित',\n it: 'यह',\n its: 'इसका',\n me: 'मैं',\n my: 'मेरा',\n you: 'आप',\n your: 'आपका',\n yourself: 'स्वयं',\n myself: 'मैं_स्वयं',\n element: 'तत्व',\n target: 'लक्ष्य',\n detail: 'विवरण',\n event: 'घटना',\n window: 'विंडो',\n document: 'दस्तावेज़',\n body: 'बॉडी',\n result: 'परिणाम',\n value: 'मान',\n first: 'पहला',\n last: 'अंतिम',\n next: 'अगला',\n previous: 'पिछला',\n closest: 'निकटतम',\n parent: 'मूल',\n },\n\n attributes: {\n class: 'क्लास',\n classes: 'क्लासेस',\n style: 'स्टाइल',\n styles: 'स्टाइल्स',\n attribute: 'गुण',\n attributes: 'गुण',\n property: 'संपत्ति',\n properties: 'संपत्तियाँ',\n disabled: 'अक्षम',\n hidden: 'छिपा',\n checked: 'चेक',\n selected: 'चयनित',\n readonly: 'केवल_पढ़ने',\n required: 'आवश्यक',\n text: 'पाठ',\n html: 'html',\n },\n\n expressions: {\n // Positional\n first: 'पहला',\n last: 'अंतिम',\n next: 'अगला',\n previous: 'पिछला',\n prev: 'पिछ',\n at: 'पर',\n random: 'यादृच्छिक',\n\n // DOM Traversal\n closest: 'निकटतम',\n parent: 'मूल',\n children: 'बच्चे',\n within: 'के_अंदर',\n\n // Emptiness/Existence\n no: 'नहीं',\n empty: 'खाली',\n some: 'कुछ',\n\n // String operations\n 'starts with': 'से_शुरू',\n 'ends with': 'पर_समाप्त',\n },\n};\n","/**\n * Bengali Dictionary\n *\n * Bengali translations for hyperscript keywords.\n */\n\nimport { Dictionary } from '../types';\n\nexport const bengaliDictionary: Dictionary = {\n commands: {\n on: 'তে',\n toggle: 'টগল',\n add: 'যোগ',\n remove: 'সরান',\n set: 'সেট',\n get: 'পান',\n put: 'রাখুন',\n take: 'নিন',\n show: 'দেখান',\n hide: 'লুকান',\n increment: 'বৃদ্ধি',\n decrement: 'হ্রাস',\n if: 'যদি',\n else: 'নতুবা',\n repeat: 'পুনরাবৃত্তি',\n for: 'জন্য',\n while: 'যতক্ষণ',\n wait: 'অপেক্ষা',\n fetch: 'আনুন',\n call: 'কল',\n return: 'ফিরুন',\n log: 'লগ',\n trigger: 'ট্রিগার',\n send: 'পাঠান',\n go: 'যান',\n halt: 'থামুন',\n throw: 'নিক্ষেপ',\n continue: 'চালিয়ে যান',\n make: 'তৈরি করুন',\n append: 'শেষে যোগ',\n prepend: 'শুরুতে যোগ',\n focus: 'ফোকাস',\n blur: 'ঝাপসা',\n transition: 'সংক্রমণ',\n settle: 'স্থির',\n measure: 'মাপুন',\n async: 'অ্যাসিঙ্ক',\n tell: 'বলুন',\n default: 'ডিফল্ট',\n init: 'শুরু',\n behavior: 'আচরণ',\n install: 'ইনস্টল',\n clone: 'কপি',\n swap: 'বদল',\n morph: 'রূপান্তর',\n },\n modifiers: {\n to: 'কে',\n from: 'থেকে',\n into: 'তে',\n on: 'তে',\n with: 'সাথে',\n by: 'দ্বারা',\n as: 'হিসাবে',\n before: 'আগে',\n after: 'পরে',\n at: 'এ',\n in: 'এ',\n over: 'উপর',\n then: 'তারপর',\n and: 'এবং',\n end: 'শেষ',\n until: 'পর্যন্ত',\n of: 'র',\n },\n events: {\n click: 'ক্লিক',\n change: 'পরিবর্তন',\n input: 'ইনপুট',\n submit: 'জমা',\n load: 'লোড',\n focus: 'ফোকাস',\n blur: 'ঝাপসা',\n keydown: 'কি-ডাউন',\n keyup: 'কি-আপ',\n mouseover: 'মাউস-ওভার',\n mouseout: 'মাউস-আউট',\n scroll: 'স্ক্রোল',\n resize: 'রিসাইজ',\n every: 'প্রতি',\n },\n logical: {\n if: 'যদি',\n when: 'যখন',\n where: 'কোথায়',\n else: 'নতুবা',\n not: 'না',\n and: 'এবং',\n or: 'অথবা',\n is: 'হয়',\n exists: 'আছে',\n has: 'আছে', // possession verb (context-based)\n have: 'আছি', // first-person: আমার আছি\n empty: 'খালি',\n true: 'সত্য',\n false: 'মিথ্যা',\n null: 'শূন্য',\n undefined: 'অনির্ধারিত',\n },\n temporal: {\n now: 'এখন',\n seconds: 'সেকেন্ড',\n milliseconds: 'মিলিসেকেন্ড',\n minutes: 'মিনিট',\n hours: 'ঘণ্টা',\n forever: 'চিরকাল',\n times: 'বার',\n s: 'সে',\n ms: 'মিসে',\n },\n values: {\n me: 'আমি',\n my: 'আমার',\n it: 'এটি',\n its: 'এর',\n result: 'ফলাফল',\n event: 'ঘটনা',\n target: 'লক্ষ্য',\n body: 'বডি',\n },\n attributes: {\n class: 'শ্রেণি',\n id: 'আইডি',\n style: 'শৈলী',\n value: 'মান',\n text: 'পাঠ্য',\n html: 'এইচটিএমএল',\n disabled: 'অক্ষম',\n checked: 'চেক করা',\n },\n expressions: {\n first: 'প্রথম',\n last: 'শেষ',\n next: 'পরবর্তী',\n previous: 'আগের',\n closest: 'নিকটতম',\n parent: 'মূল',\n children: 'সন্তান',\n random: 'এলোমেলো',\n length: 'দৈর্ঘ্য',\n index: 'সূচক',\n },\n};\n\n// Default export alias\nexport const bn = bengaliDictionary;\n","/**\n * Thai Dictionary\n *\n * Thai translations for hyperscript keywords.\n */\n\nimport { Dictionary } from '../types';\n\nexport const thaiDictionary: Dictionary = {\n commands: {\n on: 'เมื่อ',\n toggle: 'สลับ',\n add: 'เพิ่ม',\n remove: 'ลบ',\n set: 'ตั้ง',\n get: 'รับค่า',\n put: 'ใส่',\n take: 'รับ',\n show: 'แสดง',\n hide: 'ซ่อน',\n increment: 'เพิ่มค่า',\n decrement: 'ลดค่า',\n if: 'ถ้า',\n else: 'ไม่งั้น',\n repeat: 'ทำซ้ำ',\n for: 'สำหรับ',\n while: 'ในขณะที่',\n wait: 'รอ',\n fetch: 'ดึงข้อมูล',\n call: 'เรียก',\n return: 'คืนค่า',\n log: 'บันทึก',\n trigger: 'ทริกเกอร์',\n send: 'ส่ง',\n go: 'ไป',\n halt: 'หยุด',\n throw: 'โยน',\n continue: 'ต่อไป',\n make: 'สร้าง',\n append: 'เพิ่มท้าย',\n prepend: 'เพิ่มหน้า',\n focus: 'โฟกัส',\n blur: 'เบลอ',\n transition: 'เปลี่ยน',\n settle: 'คงที่',\n measure: 'วัด',\n async: 'อะซิงค์',\n tell: 'บอก',\n default: 'ค่าเริ่มต้น',\n init: 'เริ่มต้น',\n behavior: 'พฤติกรรม',\n install: 'ติดตั้ง',\n clone: 'คัดลอก',\n swap: 'สลับที่',\n morph: 'แปลงร่าง',\n },\n modifiers: {\n to: 'ไปยัง',\n from: 'จาก',\n into: 'ใน',\n on: 'เมื่อ',\n with: 'ด้วย',\n by: 'โดย',\n as: 'เป็น',\n before: 'ก่อน',\n after: 'หลัง',\n at: 'ที่',\n in: 'ใน',\n over: 'เหนือ',\n then: 'แล้ว',\n and: 'และ',\n end: 'จบ',\n until: 'จนถึง',\n of: 'ของ',\n },\n events: {\n click: 'คลิก',\n change: 'เปลี่ยนแปลง',\n input: 'อินพุต',\n submit: 'ส่ง',\n load: 'โหลด',\n focus: 'โฟกัส',\n blur: 'เบลอ',\n keydown: 'กดคีย์',\n keyup: 'ปล่อยคีย์',\n mouseover: 'เมาส์เข้า',\n mouseout: 'เมาส์ออก',\n scroll: 'เลื่อน',\n resize: 'ปรับขนาด',\n every: 'ทุก',\n },\n logical: {\n if: 'ถ้า',\n when: 'เมื่อ',\n where: 'ที่ไหน',\n else: 'ไม่งั้น',\n not: 'ไม่',\n and: 'และ',\n or: 'หรือ',\n is: 'เป็น',\n exists: 'มีอยู่',\n has: 'มี', // possession verb (context-based)\n have: 'มี', // same for first/third person\n empty: 'ว่าง',\n true: 'จริง',\n false: 'เท็จ',\n null: 'ว่าง',\n undefined: 'ไม่กำหนด',\n },\n temporal: {\n now: 'ตอนนี้',\n seconds: 'วินาที',\n milliseconds: 'มิลลิวินาที',\n minutes: 'นาที',\n hours: 'ชั่วโมง',\n forever: 'ตลอดไป',\n times: 'ครั้ง',\n s: 'วิ',\n ms: 'มว',\n },\n values: {\n me: 'ฉัน',\n my: 'ของฉัน',\n it: 'มัน',\n its: 'ของมัน',\n result: 'ผลลัพธ์',\n event: 'เหตุการณ์',\n target: 'เป้าหมาย',\n body: 'บอดี้',\n },\n attributes: {\n class: 'คลาส',\n id: 'ไอดี',\n style: 'สไตล์',\n value: 'ค่า',\n text: 'ข้อความ',\n html: 'เอชทีเอ็มแอล',\n disabled: 'ปิดใช้งาน',\n checked: 'เลือกแล้ว',\n },\n expressions: {\n first: 'แรก',\n last: 'สุดท้าย',\n next: 'ถัดไป',\n previous: 'ก่อนหน้า',\n closest: 'ใกล้สุด',\n parent: 'ต้นทาง',\n children: 'ลูก',\n random: 'สุ่ม',\n length: 'ความยาว',\n index: 'ดัชนี',\n },\n};\n\n// Default export alias\nexport const th = thaiDictionary;\n","/**\n * Malay Dictionary\n *\n * Malay translations for hyperscript keywords.\n * Malay is an SVO (Subject-Verb-Object) language with prepositions.\n */\n\nimport { Dictionary } from '../types';\n\nexport const malayDictionary: Dictionary = {\n commands: {\n // Event handling\n on: 'apabila',\n tell: 'beritahu',\n trigger: 'cetuskan',\n send: 'hantar',\n\n // DOM manipulation\n take: 'ambil',\n put: 'letak',\n set: 'tetapkan',\n get: 'dapatkan',\n add: 'tambah',\n remove: 'buang',\n toggle: 'togol',\n hide: 'sembunyi',\n show: 'tunjuk',\n\n // Control flow\n if: 'jika',\n unless: 'kecuali',\n repeat: 'ulang',\n for: 'untuk',\n while: 'selagi',\n until: 'sehingga',\n continue: 'teruskan',\n break: 'henti',\n halt: 'henti',\n\n // Async\n wait: 'tunggu',\n fetch: 'ambil_dari',\n call: 'panggil',\n return: 'pulang',\n\n // Other commands\n make: 'buat',\n log: 'catat',\n throw: 'lempar',\n catch: 'tangkap',\n measure: 'ukur',\n transition: 'peralihan',\n\n // Data Commands\n increment: 'tambah_satu',\n decrement: 'kurang_satu',\n default: 'lalai',\n\n // Navigation Commands\n go: 'pergi',\n pushUrl: 'tolak_url',\n replaceUrl: 'ganti_url',\n\n // Utility Commands\n copy: 'salin',\n pick: 'pilih',\n beep: 'bunyi',\n\n // Advanced Commands\n js: 'js',\n async: 'tak_segerak',\n render: 'papar',\n\n // Animation Commands\n swap: 'tukar_tempat',\n morph: 'ubah_bentuk',\n settle: 'selesai',\n\n // Content Commands\n append: 'tambah_hujung',\n prepend: 'tambah_mula',\n\n // Control Flow\n exit: 'keluar',\n else: 'kalau_tidak',\n\n // Focus Commands\n focus: 'fokus',\n blur: 'kabur',\n\n // Behaviors\n install: 'pasang',\n behavior: 'kelakuan',\n init: 'mula',\n clone: 'klon',\n },\n\n modifiers: {\n to: 'ke',\n from: 'dari',\n into: 'ke_dalam',\n with: 'dengan',\n at: 'di',\n in: 'dalam',\n of: 'daripada',\n as: 'sebagai',\n by: 'oleh',\n before: 'sebelum',\n after: 'selepas',\n over: 'atas',\n under: 'bawah',\n between: 'antara',\n through: 'melalui',\n without: 'tanpa',\n on: 'pada',\n then: 'kemudian',\n and: 'dan',\n end: 'tamat',\n until: 'sehingga',\n },\n\n events: {\n click: 'click',\n dblclick: 'dblclick',\n mousedown: 'mousedown',\n mouseup: 'mouseup',\n mouseenter: 'mouseenter',\n mouseleave: 'mouseleave',\n mouseover: 'mouseover',\n mouseout: 'mouseout',\n mousemove: 'mousemove',\n\n keydown: 'keydown',\n keyup: 'keyup',\n keypress: 'keypress',\n\n focus: 'focus',\n blur: 'blur',\n change: 'change',\n input: 'input',\n submit: 'submit',\n reset: 'reset',\n\n load: 'load',\n unload: 'unload',\n resize: 'resize',\n scroll: 'scroll',\n\n touchstart: 'touchstart',\n touchend: 'touchend',\n touchmove: 'touchmove',\n touchcancel: 'touchcancel',\n\n every: 'setiap',\n },\n\n logical: {\n when: 'apabila',\n where: 'di_mana',\n and: 'dan',\n or: 'atau',\n not: 'bukan',\n is: 'adalah',\n exists: 'wujud',\n matches: 'sepadan',\n contains: 'mengandungi',\n includes: 'termasuk',\n equals: 'sama',\n has: 'ada', // possession verb (context-based)\n have: 'ada', // same for first/third person\n then: 'kemudian',\n else: 'kalau_tidak',\n otherwise: 'jika_tidak',\n end: 'tamat',\n if: 'jika',\n empty: 'kosong',\n true: 'benar',\n false: 'salah',\n null: 'null',\n undefined: 'tidak_ditakrifkan',\n },\n\n temporal: {\n seconds: 'saat',\n second: 'saat',\n milliseconds: 'milisaat',\n millisecond: 'milisaat',\n minutes: 'minit',\n minute: 'minit',\n hours: 'jam',\n hour: 'jam',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'j',\n now: 'sekarang',\n forever: 'selamanya',\n times: 'kali',\n },\n\n values: {\n true: 'benar',\n false: 'salah',\n null: 'null',\n undefined: 'tidak_ditakrifkan',\n it: 'ia',\n its: 'nya',\n me: 'saya',\n my: 'saya_punya',\n myself: 'diri_saya',\n you: 'kamu',\n your: 'kamu_punya',\n yourself: 'diri_kamu',\n element: 'elemen',\n target: 'sasaran',\n detail: 'perincian',\n event: 'peristiwa',\n window: 'tetingkap',\n document: 'dokumen',\n body: 'badan',\n result: 'hasil',\n value: 'nilai',\n },\n\n attributes: {\n class: 'kelas',\n classes: 'kelas_kelas',\n style: 'gaya',\n styles: 'gaya_gaya',\n attribute: 'atribut',\n attributes: 'atribut_atribut',\n property: 'sifat',\n properties: 'sifat_sifat',\n id: 'id',\n value: 'nilai',\n text: 'teks',\n html: 'html',\n disabled: 'dilumpuhkan',\n checked: 'ditanda',\n },\n\n expressions: {\n // Positional\n first: 'pertama',\n last: 'terakhir',\n next: 'seterusnya',\n previous: 'sebelumnya',\n prev: 'sebelum',\n at: 'di',\n random: 'rawak',\n\n // DOM Traversal\n closest: 'terdekat',\n parent: 'induk',\n children: 'anak_anak',\n within: 'dalam',\n\n // Emptiness/Existence\n no: 'tiada',\n empty: 'kosong',\n some: 'beberapa',\n\n // String operations\n 'starts with': 'bermula_dengan',\n 'ends with': 'berakhir_dengan',\n\n // Additional\n length: 'panjang',\n index: 'indeks',\n },\n};\n\n// Default export alias\nexport const ms = malayDictionary;\n","/**\n * Tagalog Dictionary\n *\n * Tagalog translations for hyperscript keywords.\n * Tagalog is a VSO (Verb-Subject-Object) language with rich verbal morphology.\n */\n\nimport { Dictionary } from '../types';\n\nexport const tagalogDictionary: Dictionary = {\n commands: {\n // Event handling\n on: 'kapag',\n tell: 'sabihin',\n trigger: 'palitawin',\n send: 'ipadala',\n\n // DOM manipulation\n take: 'kunin',\n put: 'ilagay',\n set: 'itakda',\n get: 'kuhanin',\n add: 'idagdag',\n remove: 'alisin',\n toggle: 'palitan',\n hide: 'itago',\n show: 'ipakita',\n\n // Control flow\n if: 'kung',\n unless: 'maliban_kung',\n repeat: 'ulitin',\n for: 'para_sa',\n while: 'habang',\n until: 'hanggang',\n continue: 'magpatuloy',\n break: 'itigil',\n halt: 'huminto',\n\n // Async\n wait: 'maghintay',\n fetch: 'kuhanin_mula',\n call: 'tawagin',\n return: 'ibalik',\n\n // Other commands\n make: 'gumawa',\n log: 'itala',\n throw: 'ihagis',\n catch: 'hulihin',\n measure: 'sukatin',\n transition: 'baguhin',\n\n // Data Commands\n increment: 'dagdagan',\n decrement: 'bawasan',\n default: 'pamantayan',\n\n // Navigation Commands\n go: 'pumunta',\n pushUrl: 'itulak_url',\n replaceUrl: 'palitan_url',\n\n // Utility Commands\n copy: 'kopyahin',\n pick: 'pumili',\n beep: 'tunog',\n\n // Advanced Commands\n js: 'js',\n async: 'sabay',\n render: 'ipakita',\n\n // Animation Commands\n swap: 'palitan_pwesto',\n morph: 'baguhin_hugis',\n settle: 'ayusin',\n\n // Content Commands\n append: 'idagdag_sa_dulo',\n prepend: 'idagdag_sa_simula',\n\n // Control Flow\n exit: 'lumabas',\n else: 'kung_hindi',\n\n // Focus Commands\n focus: 'ituon',\n blur: 'alisin_tuon',\n\n // Behaviors\n install: 'ikabit',\n behavior: 'ugali',\n init: 'simulan',\n clone: 'kopyahin',\n },\n\n modifiers: {\n to: 'sa',\n from: 'mula_sa',\n into: 'papasok_sa',\n with: 'kasama',\n at: 'sa',\n in: 'sa_loob',\n of: 'ng',\n as: 'bilang',\n by: 'sa_pamamagitan_ng',\n before: 'bago',\n after: 'pagkatapos',\n over: 'sa_ibabaw',\n under: 'sa_ilalim',\n between: 'sa_pagitan',\n through: 'sa_pamamagitan',\n without: 'walang',\n on: 'sa',\n then: 'pagkatapos',\n and: 'at',\n end: 'wakas',\n until: 'hanggang',\n },\n\n events: {\n click: 'click',\n dblclick: 'dblclick',\n mousedown: 'mousedown',\n mouseup: 'mouseup',\n mouseenter: 'mouseenter',\n mouseleave: 'mouseleave',\n mouseover: 'mouseover',\n mouseout: 'mouseout',\n mousemove: 'mousemove',\n\n keydown: 'keydown',\n keyup: 'keyup',\n keypress: 'keypress',\n\n focus: 'focus',\n blur: 'blur',\n change: 'change',\n input: 'input',\n submit: 'submit',\n reset: 'reset',\n\n load: 'load',\n unload: 'unload',\n resize: 'resize',\n scroll: 'scroll',\n\n touchstart: 'touchstart',\n touchend: 'touchend',\n touchmove: 'touchmove',\n touchcancel: 'touchcancel',\n\n every: 'bawat',\n },\n\n logical: {\n when: 'kapag',\n where: 'kung_saan',\n and: 'at',\n or: 'o',\n not: 'hindi',\n is: 'ay',\n exists: 'may',\n matches: 'tumutugma',\n contains: 'naglalaman',\n includes: 'kasama',\n equals: 'katumbas',\n has: 'may', // possession verb (context-based)\n have: 'may', // same for first/third person in Tagalog\n then: 'pagkatapos',\n else: 'kung_hindi',\n otherwise: 'kung_hindi_man',\n end: 'wakas',\n if: 'kung',\n empty: 'walang_laman',\n true: 'totoo',\n false: 'mali',\n null: 'wala',\n undefined: 'hindi_tinukoy',\n },\n\n temporal: {\n seconds: 'segundo',\n second: 'segundo',\n milliseconds: 'milisegundo',\n millisecond: 'milisegundo',\n minutes: 'minuto',\n minute: 'minuto',\n hours: 'oras',\n hour: 'oras',\n ms: 'ms',\n s: 's',\n min: 'min',\n h: 'h',\n now: 'ngayon',\n forever: 'magpakailanman',\n times: 'beses',\n },\n\n values: {\n true: 'totoo',\n false: 'mali',\n null: 'wala',\n undefined: 'hindi_tinukoy',\n it: 'ito',\n its: 'nito',\n me: 'ako',\n my: 'aking',\n myself: 'sarili_ko',\n you: 'ikaw',\n your: 'iyong',\n yourself: 'sarili_mo',\n element: 'elemento',\n target: 'target',\n detail: 'detalye',\n event: 'pangyayari',\n window: 'bintana',\n document: 'dokumento',\n body: 'katawan',\n result: 'resulta',\n value: 'halaga',\n },\n\n attributes: {\n class: 'klase',\n classes: 'mga_klase',\n style: 'estilo',\n styles: 'mga_estilo',\n attribute: 'katangian',\n attributes: 'mga_katangian',\n property: 'ari_arian',\n properties: 'mga_ari_arian',\n id: 'id',\n value: 'halaga',\n text: 'teksto',\n html: 'html',\n disabled: 'hindi_pinagana',\n checked: 'naka_tsek',\n },\n\n expressions: {\n // Positional\n first: 'una',\n last: 'huli',\n next: 'susunod',\n previous: 'nakaraan',\n prev: 'nakaraan',\n at: 'sa',\n random: 'random',\n\n // DOM Traversal\n closest: 'pinakamalapit',\n parent: 'magulang',\n children: 'mga_anak',\n within: 'sa_loob_ng',\n\n // Emptiness/Existence\n no: 'walang',\n empty: 'walang_laman',\n some: 'ilan',\n\n // String operations\n 'starts with': 'nagsisimula_sa',\n 'ends with': 'nagtatapos_sa',\n\n // Additional\n length: 'haba',\n index: 'indeks',\n },\n};\n\n// Default export alias\nexport const tl = tagalogDictionary;\n","/**\n * Dictionary Index\n *\n * Exports dictionaries for all 22 supported languages.\n * Each dictionary maps English canonical keywords to locale-specific translations\n * across 8 categories: commands, modifiers, events, logical, temporal, values,\n * attributes, and expressions.\n *\n * Derivation utilities (deriveFromProfile, createEnglishDictionary) are available\n * for generating dictionaries from semantic language profiles. See ./derive.ts.\n */\n\nimport { Dictionary } from '../types';\n\n// Import per-language dictionaries\nimport { en as enDict } from './en';\nimport { es as esDict } from './es';\nimport { ko as koDict } from './ko';\nimport { zh as zhDict } from './zh';\nimport { fr as frDict } from './fr';\nimport { de as deDict } from './de';\nimport { ja as jaDict } from './ja';\nimport { ar as arDict } from './ar';\nimport { tr as trDict } from './tr';\nimport { id as idDict } from './id';\nimport { qu as quDict } from './qu';\nimport { sw as swDict } from './sw';\nimport { pt as ptDict } from './pt';\nimport { it as itDict } from './it';\nimport { vi as viDict } from './vi';\nimport { pl as plDict } from './pl';\nimport { russianDictionary as ruDict } from './ru';\nimport { ukrainianDictionary as ukDict } from './uk';\nimport { hindiDictionary as hiDict } from './hi';\nimport { bengaliDictionary as bnDict } from './bn';\nimport { thaiDictionary as thDict } from './th';\nimport { malayDictionary as msDict } from './ms';\nimport { tagalogDictionary as tlDict } from './tl';\n\n// =============================================================================\n// Dictionary Exports\n// =============================================================================\n\n/** English dictionary */\nexport const en: Dictionary = enDict;\n/** Spanish dictionary */\nexport const es: Dictionary = esDict;\n/** Japanese dictionary */\nexport const ja: Dictionary = jaDict;\n/** Korean dictionary */\nexport const ko: Dictionary = koDict;\n/** Chinese dictionary */\nexport const zh: Dictionary = zhDict;\n/** French dictionary */\nexport const fr: Dictionary = frDict;\n/** German dictionary */\nexport const de: Dictionary = deDict;\n/** Arabic dictionary */\nexport const ar: Dictionary = arDict;\n/** Turkish dictionary */\nexport const tr: Dictionary = trDict;\n/** Indonesian dictionary */\nexport const id: Dictionary = idDict;\n/** Portuguese dictionary */\nexport const pt: Dictionary = ptDict;\n/** Quechua dictionary */\nexport const qu: Dictionary = quDict;\n/** Swahili dictionary */\nexport const sw: Dictionary = swDict;\n/** Italian dictionary */\nexport const it: Dictionary = itDict;\n/** Vietnamese dictionary */\nexport const vi: Dictionary = viDict;\n/** Polish dictionary */\nexport const pl: Dictionary = plDict;\n/** Russian dictionary */\nexport const ru: Dictionary = ruDict;\n/** Ukrainian dictionary */\nexport const uk: Dictionary = ukDict;\n/** Hindi dictionary */\nexport const hi: Dictionary = hiDict;\n/** Bengali dictionary */\nexport const bn: Dictionary = bnDict;\n/** Thai dictionary */\nexport const th: Dictionary = thDict;\n/** Malay dictionary */\nexport const ms: Dictionary = msDict;\n/** Tagalog dictionary */\nexport const tl: Dictionary = tlDict;\n\n// =============================================================================\n// Dictionary Registry\n// =============================================================================\n\n/**\n * All available dictionaries indexed by locale code.\n */\nexport const dictionaries: Record<string, Dictionary> = {\n en,\n es,\n ko,\n zh,\n fr,\n de,\n ja,\n ar,\n tr,\n id,\n qu,\n sw,\n pt,\n it,\n vi,\n pl,\n ru,\n uk,\n hi,\n bn,\n th,\n ms,\n tl,\n};\n\n// =============================================================================\n// Helper Functions\n// =============================================================================\n\n/**\n * Get all supported locale codes.\n */\nexport const supportedLocales = Object.keys(dictionaries);\n\n/**\n * Check if a locale is supported.\n */\nexport const isLocaleSupported = (locale: string): boolean => {\n return locale in dictionaries;\n};\n\n/**\n * Get dictionary with fallback to another locale.\n */\nexport const getDictionary = (locale: string, fallback: string = 'en'): Dictionary | null => {\n return dictionaries[locale] || dictionaries[fallback] || null;\n};\n\n// =============================================================================\n// Derivation Utilities\n// =============================================================================\n\n/**\n * Re-export derivation utilities for generating dictionaries from semantic profiles.\n */\nexport { deriveFromProfile, createEnglishDictionary, validateDictionary } from './derive';\n","// packages/i18n/src/utils/locale.ts\n\nimport { dictionaries } from '../dictionaries';\nimport { DICTIONARY_CATEGORIES } from '../types';\nimport { profiles } from '../grammar/profiles';\n\nexport interface LocaleInfo {\n code: string;\n language: string;\n region?: string;\n script?: string;\n}\n\n/**\n * Parse a locale string into its components\n * Examples: 'en-US', 'zh-Hans-CN', 'es-419'\n */\nexport function parseLocale(locale: string): LocaleInfo {\n const parts = locale.split('-');\n const info: LocaleInfo = {\n code: locale,\n language: parts[0].toLowerCase(),\n };\n\n if (parts.length > 1) {\n // Check if second part is a script (4 letters, first capitalized)\n if (parts[1].length === 4 && /^[A-Z][a-z]{3}$/.test(parts[1])) {\n info.script = parts[1];\n if (parts[2]) {\n info.region = parts[2].toUpperCase();\n }\n } else {\n info.region = parts[1].toUpperCase();\n }\n }\n\n return info;\n}\n\n/**\n * Detect the language of hyperscript text\n */\nexport function detectLocale(text: string, supportedLocales: string[]): string {\n const scores = new Map<string, number>();\n\n // Initialize scores\n supportedLocales.forEach(locale => scores.set(locale, 0));\n\n // Count keyword matches for each locale using type-safe iteration\n for (const [locale, dictionary] of Object.entries(dictionaries)) {\n if (!supportedLocales.includes(locale)) continue;\n\n let score = 0;\n\n // Check all categories\n for (const category of DICTIONARY_CATEGORIES) {\n const translations = dictionary[category];\n for (const keyword of Object.values(translations)) {\n // Skip empty or single-character keywords (too ambiguous for detection)\n if (!keyword || keyword.length < 2) continue;\n\n // Use word boundary matching for accuracy\n const regex = new RegExp(`\\\\b${escapeRegex(keyword)}\\\\b`, 'gi');\n const matches = text.match(regex);\n if (matches) {\n score += matches.length;\n }\n }\n }\n\n scores.set(locale, score);\n }\n\n // Find locale with highest score\n let maxScore = 0;\n let detectedLocale = 'en'; // Default to English\n\n scores.forEach((score, locale) => {\n if (score > maxScore) {\n maxScore = score;\n detectedLocale = locale;\n }\n });\n\n return detectedLocale;\n}\n\n/**\n * Get the best matching locale from available locales\n */\nexport function getBestMatchingLocale(\n requestedLocale: string,\n availableLocales: string[]\n): string | null {\n // Exact match\n if (availableLocales.includes(requestedLocale)) {\n return requestedLocale;\n }\n\n const requested = parseLocale(requestedLocale);\n\n // Try language+script match first (more specific)\n if (requested.script) {\n const scriptMatch = availableLocales.find(locale => {\n const available = parseLocale(locale);\n return available.language === requested.language && available.script === requested.script;\n });\n\n if (scriptMatch) {\n return scriptMatch;\n }\n }\n\n // Fall back to language-only match\n const languageMatch = availableLocales.find(locale => {\n const available = parseLocale(locale);\n return available.language === requested.language;\n });\n\n if (languageMatch) {\n return languageMatch;\n }\n\n return null;\n}\n\n/**\n * Get user's preferred locales from browser\n */\nexport function getBrowserLocales(): string[] {\n if (typeof window === 'undefined') {\n return ['en'];\n }\n\n const locales: string[] = [];\n\n // Modern browser API\n if (navigator.languages && navigator.languages.length > 0) {\n locales.push(...navigator.languages);\n }\n\n // Fallback to single language\n if (navigator.language) {\n locales.push(navigator.language);\n }\n\n // Legacy IE\n if ((navigator as any).userLanguage) {\n locales.push((navigator as any).userLanguage);\n }\n\n // Remove duplicates and return\n return [...new Set(locales)];\n}\n\n/**\n * Escape special regex characters\n */\nfunction escapeRegex(str: string): string {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n\n/**\n * Format a locale for display using the native name from its grammar profile.\n */\nexport function formatLocaleName(locale: string): string {\n const profile = profiles[locale];\n if (profile) return profile.name;\n\n // Fallback for sub-locale codes (e.g., 'zh-TW')\n const subLocaleNames: Record<string, string> = {\n 'zh-TW': '繁體中文',\n };\n return subLocaleNames[locale] || locale;\n}\n\n/**\n * Check if a locale uses RTL writing\n */\nexport function isRTL(locale: string): boolean {\n const rtlLocales = ['ar', 'he', 'fa', 'ur', 'yi', 'ji', 'ku', 'dv'];\n const info = parseLocale(locale);\n return rtlLocales.includes(info.language);\n}\n","/**\n * Tokenizer Adapter\n *\n * Bridges the semantic package's sophisticated tokenizers to i18n's\n * dictionary-based token categorization system.\n *\n * The semantic tokenizers handle:\n * - Language-specific word boundaries\n * - CSS selectors, URLs, string literals\n * - Grammatical particles (を, に, من)\n * - Morphological normalization\n *\n * This adapter converts semantic tokens to i18n tokens by:\n * 1. Using semantic's tokenize() for sophisticated tokenization\n * 2. Mapping TokenKind to TokenType via dictionary lookup for keywords\n * 3. Preserving position information for round-trip support\n */\n\nimport type { Token, TokenType } from '../types';\nimport { dictionaries } from '../dictionaries';\n\n// =============================================================================\n// Semantic Tokenizer Integration\n// =============================================================================\n\n// Types from semantic package (inlined to avoid circular dependency issues)\ninterface SourcePosition {\n readonly start: number;\n readonly end: number;\n readonly line?: number;\n readonly column?: number;\n}\n\ntype TokenKind =\n | 'keyword'\n | 'selector'\n | 'literal'\n | 'particle'\n | 'conjunction' // Grammatical conjunction (Arabic و/ف proclitics)\n | 'event-modifier' // Event modifiers (.once, .prevent, etc.)\n | 'identifier'\n | 'operator'\n | 'punctuation'\n | 'url';\n\ninterface LanguageToken {\n readonly value: string;\n readonly kind: TokenKind;\n readonly position: SourcePosition;\n readonly normalized?: string;\n readonly stem?: string;\n readonly stemConfidence?: number;\n}\n\ninterface TokenStream {\n readonly tokens: readonly LanguageToken[];\n readonly language: string;\n}\n\n// Lazy load semantic tokenizers to avoid circular dependency at module load time\nlet _semanticTokenize: ((input: string, language: string) => TokenStream) | null = null;\nlet _isLanguageSupported: ((language: string) => boolean) | null = null;\nlet _semanticLoaded = false;\nlet _semanticLoadFailed = false;\n\nasync function loadSemantic(): Promise<boolean> {\n if (_semanticLoaded) return !_semanticLoadFailed;\n if (_semanticLoadFailed) return false;\n\n try {\n // Dynamic import to break circular dependency\n const semantic = await import('@lokascript/semantic');\n _semanticTokenize = semantic.tokenize;\n _isLanguageSupported = semantic.isLanguageSupported;\n _semanticLoaded = true;\n return true;\n } catch {\n _semanticLoadFailed = true;\n return false;\n }\n}\n\n// Synchronous check - only works after first async load\nfunction isSemanticAvailable(): boolean {\n return _semanticLoaded && !_semanticLoadFailed;\n}\n\nfunction semanticTokenize(input: string, language: string): TokenStream | null {\n if (!_semanticTokenize) return null;\n try {\n return _semanticTokenize(input, language);\n } catch {\n return null;\n }\n}\n\nfunction semanticIsLanguageSupported(language: string): boolean {\n if (!_isLanguageSupported) return false;\n return _isLanguageSupported(language);\n}\n\n// =============================================================================\n// Token Type Mapping\n// =============================================================================\n\n/**\n * Map semantic TokenKind to i18n TokenType.\n *\n * Semantic TokenKind → i18n TokenType:\n * - keyword: Use dictionary lookup to determine specific type\n * - selector: identifier (selectors don't get translated)\n * - literal: literal\n * - particle: modifier (grammatical particles)\n * - identifier: identifier\n * - operator: operator\n * - punctuation: operator\n * - url: literal\n */\nfunction mapTokenKind(kind: TokenKind): TokenType {\n switch (kind) {\n case 'keyword':\n // Will be refined by dictionary lookup\n return 'identifier';\n case 'selector':\n return 'identifier';\n case 'literal':\n return 'literal';\n case 'particle':\n return 'modifier';\n case 'conjunction':\n return 'modifier';\n case 'event-modifier':\n return 'modifier';\n case 'identifier':\n return 'identifier';\n case 'operator':\n return 'operator';\n case 'punctuation':\n return 'operator';\n case 'url':\n return 'literal';\n default:\n return 'identifier';\n }\n}\n\n/**\n * Determine the specific i18n TokenType for a word by looking up\n * in the locale's dictionary.\n *\n * Order matters: events before commands since many events (click, focus)\n * also appear in commands.\n */\nfunction categorizeWord(word: string, locale: string): TokenType {\n const lowerWord = word.toLowerCase();\n\n // Map dictionary categories to token types (events first to handle 'click' etc.)\n const categoryToType: Array<[string, TokenType]> = [\n ['events', 'event'],\n ['commands', 'command'],\n ['expressions', 'expression'],\n ['modifiers', 'modifier'],\n ['logical', 'logical'],\n ['temporal', 'temporal'],\n ['values', 'value'],\n ['attributes', 'attribute'],\n ];\n\n // Check all supported dictionaries (source locale + English)\n const localesToCheck = locale === 'en' ? ['en'] : [locale, 'en'];\n\n for (const loc of localesToCheck) {\n const dict = dictionaries[loc];\n if (!dict) continue;\n\n // Check categories in priority order (events before commands)\n for (const [category, tokenType] of categoryToType) {\n const translations = dict[category as keyof typeof dict];\n if (!translations || typeof translations !== 'object') continue;\n\n // Check if word matches a key (English) or value (translated)\n for (const [key, value] of Object.entries(translations)) {\n if (key.toLowerCase() === lowerWord || value.toLowerCase() === lowerWord) {\n return tokenType;\n }\n }\n }\n }\n\n // Default to identifier\n return 'identifier';\n}\n\n// =============================================================================\n// Token Conversion\n// =============================================================================\n\n/**\n * Convert a semantic LanguageToken to an i18n Token.\n */\nfunction convertToken(token: LanguageToken, locale: string): Token {\n let type: TokenType;\n\n if (token.kind === 'keyword') {\n // For keywords, use dictionary lookup to get specific type\n // Use normalized form if available (e.g., 切り替え → toggle)\n const lookupWord = token.normalized || token.value;\n type = categorizeWord(lookupWord, locale);\n } else {\n type = mapTokenKind(token.kind);\n }\n\n return {\n type,\n value: token.value,\n position: {\n start: token.position.start,\n end: token.position.end,\n line: token.position.line ?? 1,\n column: token.position.column ?? token.position.start + 1,\n },\n };\n}\n\n// =============================================================================\n// Public API\n// =============================================================================\n\n/**\n * Initialize the semantic tokenizer (call once at app startup for best performance).\n * This is optional - tokenize() will work without it, using fallback tokenization.\n */\nexport async function initSemanticTokenizer(): Promise<boolean> {\n return loadSemantic();\n}\n\n/**\n * Tokenize input using semantic package's sophisticated tokenizers,\n * converting to i18n-compatible tokens.\n *\n * Falls back to basic tokenization if:\n * - Semantic package not loaded yet\n * - Language not supported by semantic\n * - Any error occurs\n *\n * For best performance, call initSemanticTokenizer() at app startup.\n */\nexport function tokenize(text: string, locale: string): Token[] {\n // Try semantic tokenization if available\n if (isSemanticAvailable() && semanticIsLanguageSupported(locale)) {\n const stream = semanticTokenize(text, locale);\n if (stream) {\n const tokens: Token[] = [];\n for (const semanticToken of stream.tokens) {\n tokens.push(convertToken(semanticToken, locale));\n }\n return tokens;\n }\n }\n\n // Fall back to basic tokenization\n return tokenizeBasic(text, locale);\n}\n\n/**\n * Tokenize with async initialization of semantic tokenizers.\n * Useful when you want to ensure semantic tokenization is used.\n */\nexport async function tokenizeAsync(text: string, locale: string): Promise<Token[]> {\n await loadSemantic();\n return tokenize(text, locale);\n}\n\n/**\n * Basic tokenization fallback for unsupported languages.\n * This is a simplified version that handles common patterns.\n */\nfunction tokenizeBasic(text: string, locale: string): Token[] {\n const tokens: Token[] = [];\n let position = 0;\n let line = 1;\n let column = 1;\n\n while (position < text.length) {\n const start = position;\n const startLine = line;\n const startColumn = column;\n\n // Skip whitespace but track it\n if (isWhitespace(text[position])) {\n const whitespace = consumeWhitespace(text, position);\n tokens.push({\n type: 'literal',\n value: whitespace,\n position: {\n start,\n end: position + whitespace.length,\n line: startLine,\n column: startColumn,\n },\n });\n\n // Update position tracking\n for (let i = 0; i < whitespace.length; i++) {\n if (whitespace[i] === '\\n') {\n line++;\n column = 1;\n } else {\n column++;\n }\n }\n position += whitespace.length;\n continue;\n }\n\n // String literals\n if (text[position] === '\"' || text[position] === \"'\") {\n const quote = text[position];\n let value = quote;\n position++;\n column++;\n\n while (position < text.length && text[position] !== quote) {\n if (text[position] === '\\\\' && position + 1 < text.length) {\n value += text[position] + text[position + 1];\n position += 2;\n column += 2;\n } else {\n value += text[position];\n if (text[position] === '\\n') {\n line++;\n column = 1;\n } else {\n column++;\n }\n position++;\n }\n }\n\n if (position < text.length) {\n value += text[position];\n position++;\n column++;\n }\n\n tokens.push({\n type: 'literal',\n value,\n position: {\n start,\n end: position,\n line: startLine,\n column: startColumn,\n },\n });\n continue;\n }\n\n // Numbers\n if (isDigit(text[position])) {\n const number = consumeNumber(text, position);\n tokens.push({\n type: 'literal',\n value: number,\n position: {\n start,\n end: position + number.length,\n line: startLine,\n column: startColumn,\n },\n });\n position += number.length;\n column += number.length;\n continue;\n }\n\n // Identifiers and keywords\n if (isIdentifierStart(text[position])) {\n const word = consumeIdentifier(text, position);\n const tokenType = categorizeWord(word, locale);\n\n tokens.push({\n type: tokenType,\n value: word,\n position: {\n start,\n end: position + word.length,\n line: startLine,\n column: startColumn,\n },\n });\n position += word.length;\n column += word.length;\n continue;\n }\n\n // Operators and punctuation\n const operator = consumeOperator(text, position);\n tokens.push({\n type: 'operator',\n value: operator,\n position: {\n start,\n end: position + operator.length,\n line: startLine,\n column: startColumn,\n },\n });\n position += operator.length;\n column += operator.length;\n }\n\n return tokens;\n}\n\n// =============================================================================\n// Helper Functions\n// =============================================================================\n\nfunction isWhitespace(char: string): boolean {\n return /\\s/.test(char);\n}\n\nfunction isDigit(char: string): boolean {\n return /\\d/.test(char);\n}\n\nfunction isIdentifierStart(char: string): boolean {\n return /[a-zA-Z_$áéíóúñÑàèìòùÀÈÌÒÙ一-龯ㄱ-ㅎㅏ-ㅣ가-힣]/.test(char);\n}\n\nfunction isIdentifierPart(char: string): boolean {\n return /[a-zA-Z0-9_$áéíóúñÑàèìòùÀÈÌÒÙ一-龯ㄱ-ㅎㅏ-ㅣ가-힣-]/.test(char);\n}\n\nfunction consumeWhitespace(text: string, start: number): string {\n let end = start;\n while (end < text.length && isWhitespace(text[end])) {\n end++;\n }\n return text.substring(start, end);\n}\n\nfunction consumeNumber(text: string, start: number): string {\n let end = start;\n while (end < text.length && (isDigit(text[end]) || text[end] === '.')) {\n end++;\n }\n return text.substring(start, end);\n}\n\nfunction consumeIdentifier(text: string, start: number): string {\n let end = start;\n while (end < text.length && isIdentifierPart(text[end])) {\n end++;\n }\n return text.substring(start, end);\n}\n\nfunction consumeOperator(text: string, start: number): string {\n // Try to match multi-character operators first\n const twoChar = text.substring(start, start + 2);\n if (['==', '!=', '<=', '>=', '&&', '||', '..'].includes(twoChar)) {\n return twoChar;\n }\n\n // Single character operators\n return text[start];\n}\n","// packages/i18n/src/validators/schema.ts\n\nexport const RequiredCategories = [\n 'commands',\n 'modifiers',\n 'events',\n 'logical',\n 'temporal',\n 'values',\n 'attributes',\n] as const;\n\nexport const RequiredKeys = {\n commands: [\n 'on',\n 'tell',\n 'trigger',\n 'send',\n 'take',\n 'put',\n 'set',\n 'get',\n 'add',\n 'remove',\n 'toggle',\n 'hide',\n 'show',\n 'if',\n 'repeat',\n 'for',\n 'while',\n 'wait',\n 'fetch',\n 'call',\n 'return',\n 'make',\n 'log',\n 'throw',\n 'catch',\n ],\n\n modifiers: [\n 'to',\n 'from',\n 'into',\n 'with',\n 'at',\n 'in',\n 'of',\n 'as',\n 'by',\n 'before',\n 'after',\n 'over',\n 'under',\n 'between',\n ],\n\n events: [\n 'click',\n 'change',\n 'focus',\n 'blur',\n 'keydown',\n 'keyup',\n 'mouseenter',\n 'mouseleave',\n 'submit',\n 'load',\n 'scroll',\n ],\n\n logical: ['and', 'or', 'not', 'is', 'then', 'else', 'end'],\n\n temporal: ['seconds', 'milliseconds', 'minutes', 'hours'],\n\n values: ['true', 'false', 'null', 'it', 'me', 'my', 'element', 'window', 'document'],\n\n attributes: [\n 'class',\n 'style',\n 'attribute',\n 'first',\n 'last',\n 'next',\n 'previous',\n 'parent',\n 'children',\n ],\n} as const;\n\nexport interface DictionarySchema {\n readonly categories: ReadonlyArray<string>;\n readonly requiredKeys: Readonly<Record<string, ReadonlyArray<string>>>;\n}\n\nexport const schema: DictionarySchema = {\n categories: RequiredCategories,\n requiredKeys: RequiredKeys,\n};\n\n// Helper type for strict dictionary validation\nexport type StrictDictionary = {\n [K in (typeof RequiredCategories)[number]]: Record<string, string>;\n};\n\n// Validation helpers\nexport function isValidCategory(category: string): category is (typeof RequiredCategories)[number] {\n return RequiredCategories.includes(category as any);\n}\n\nexport function getRequiredKeysForCategory(category: string): ReadonlyArray<string> {\n return RequiredKeys[category as keyof typeof RequiredKeys] || [];\n}\n\nexport function getMissingKeys(\n dictionary: Record<string, string>,\n requiredKeys: ReadonlyArray<string>\n): string[] {\n return requiredKeys.filter(key => !(key in dictionary));\n}\n\nexport function getExtraKeys(\n dictionary: Record<string, string>,\n requiredKeys: ReadonlyArray<string>\n): string[] {\n const required = new Set(requiredKeys);\n return Object.keys(dictionary).filter(key => !required.has(key));\n}\n","// packages/i18n/src/validators/index.ts\n\nimport {\n Dictionary,\n DICTIONARY_CATEGORIES,\n ValidationResult,\n ValidationError,\n ValidationWarning,\n} from '../types';\nimport { RequiredCategories, RequiredKeys } from './schema';\n\nexport function validate(dictionary: Dictionary, locale: string): ValidationResult {\n const errors: ValidationError[] = [];\n const warnings: ValidationWarning[] = [];\n const coverage = {\n total: 0,\n translated: 0,\n missing: [] as string[],\n };\n\n // Check required categories\n for (const category of RequiredCategories) {\n if (!(category in dictionary)) {\n errors.push({\n type: 'missing',\n key: category,\n message: `Missing required category: ${category}`,\n });\n }\n }\n\n // Check required keys in each category\n for (const [category, requiredKeys] of Object.entries(RequiredKeys)) {\n const categoryDict = dictionary[category as keyof Dictionary];\n\n if (!categoryDict) continue;\n\n for (const key of requiredKeys) {\n coverage.total++;\n\n if (!(key in categoryDict)) {\n errors.push({\n type: 'missing',\n key: `${category}.${key}`,\n message: `Missing required key: ${key} in category ${category}`,\n });\n coverage.missing.push(`${category}.${key}`);\n } else if (!categoryDict[key] || categoryDict[key].trim() === '') {\n errors.push({\n type: 'invalid',\n key: `${category}.${key}`,\n message: `Empty translation for key: ${key} in category ${category}`,\n });\n } else {\n coverage.translated++;\n }\n }\n }\n\n // Check for duplicates using type-safe category iteration\n const seen = new Map<string, string>();\n\n for (const category of DICTIONARY_CATEGORIES) {\n const translations = dictionary[category];\n if (!translations) continue;\n\n for (const [key, value] of Object.entries(translations)) {\n if (seen.has(value)) {\n warnings.push({\n type: 'inconsistent',\n key: `${category}.${key}`,\n message: `Duplicate translation \"${value}\" also used for ${seen.get(value)}`,\n });\n } else {\n seen.set(value, `${category}.${key}`);\n }\n }\n }\n\n // Language-specific validations\n validateLocaleSpecific(dictionary, locale, errors, warnings);\n\n return {\n valid: errors.length === 0,\n errors,\n warnings,\n coverage,\n };\n}\n\nfunction validateLocaleSpecific(\n dictionary: Dictionary,\n locale: string,\n _errors: ValidationError[],\n warnings: ValidationWarning[]\n): void {\n // Spanish-specific validations\n if (locale === 'es') {\n // Check for gender consistency\n if (dictionary.values?.true === 'verdadero' && dictionary.values?.false === 'falso') {\n // Both masculine, good\n } else if (dictionary.values?.true === 'verdadera' && dictionary.values?.false === 'falsa') {\n // Both feminine, good\n } else if (dictionary.values?.true && dictionary.values?.false) {\n warnings.push({\n type: 'inconsistent',\n key: 'values.true/false',\n message: 'Gender inconsistency between true/false translations',\n });\n }\n }\n\n // Korean-specific validations\n if (locale === 'ko') {\n // Check for consistent honorific levels\n const formalEndings = ['습니다', '세요'];\n const informalEndings = ['다', '어', '아'];\n\n let formalCount = 0;\n let informalCount = 0;\n\n for (const category of DICTIONARY_CATEGORIES) {\n const translations = dictionary[category];\n if (!translations) continue;\n for (const value of Object.values(translations)) {\n if (formalEndings.some(ending => value.endsWith(ending))) {\n formalCount++;\n }\n if (informalEndings.some(ending => value.endsWith(ending))) {\n informalCount++;\n }\n }\n }\n\n if (formalCount > 0 && informalCount > 0) {\n warnings.push({\n type: 'inconsistent',\n key: 'global',\n message: 'Mixed formal and informal speech levels',\n });\n }\n }\n\n // Chinese-specific validations\n if (locale === 'zh' || locale === 'zh-TW') {\n // Check for simplified vs traditional consistency\n const simplified = ['设', '获', '显', '发'];\n const traditional = ['設', '獲', '顯', '發'];\n\n let hasSimplified = false;\n let hasTraditional = false;\n\n for (const category of DICTIONARY_CATEGORIES) {\n const translations = dictionary[category];\n if (!translations) continue;\n for (const value of Object.values(translations)) {\n if (simplified.some(char => value.includes(char))) {\n hasSimplified = true;\n }\n if (traditional.some(char => value.includes(char))) {\n hasTraditional = true;\n }\n }\n }\n\n if (hasSimplified && hasTraditional) {\n warnings.push({\n type: 'inconsistent',\n key: 'global',\n message: 'Mixed simplified and traditional Chinese characters',\n });\n }\n }\n}\n","// packages/i18n/src/translator.ts\n\nimport {\n Dictionary,\n DICTIONARY_CATEGORIES,\n I18nConfig,\n TranslationOptions,\n TranslationResult,\n Token,\n TokenType,\n ValidationResult,\n} from './types';\nimport { dictionaries } from './dictionaries';\nimport { detectLocale } from './utils/locale';\nimport { tokenize } from './utils/tokenizer';\nimport { validate } from './validators';\n\nexport class HyperscriptTranslator {\n private config: I18nConfig;\n private dictionaries: Map<string, Dictionary>;\n private reverseDictionaries: Map<string, Map<string, string>>;\n\n constructor(config: I18nConfig) {\n this.config = {\n fallbackLocale: 'en',\n preserveOriginalAttribute: 'data-i18n-original',\n detectLocale: true, // Enable language detection by default\n ...config,\n locale: config.locale || 'en', // Ensure locale has a default\n };\n\n this.dictionaries = new Map();\n this.reverseDictionaries = new Map();\n\n // Load built-in dictionaries\n Object.entries(dictionaries).forEach(([locale, dict]) => {\n this.addDictionary(locale, dict);\n });\n\n // Load custom dictionaries\n if (config.dictionaries) {\n Object.entries(config.dictionaries).forEach(([locale, dict]) => {\n this.addDictionary(locale, dict);\n });\n }\n }\n\n translate(text: string, options: TranslationOptions): string {\n const result = this.translateWithDetails(text, options);\n return result.translated;\n }\n\n translateWithDetails(text: string, options: TranslationOptions): TranslationResult {\n const fromLocale = options.from || this.detectLanguage(text);\n const toLocale = options.to;\n\n if (fromLocale === toLocale) {\n return {\n translated: text,\n original: text,\n tokens: [],\n locale: { from: fromLocale, to: toLocale },\n };\n }\n\n // Get dictionaries\n const fromDict = this.getDictionary(fromLocale);\n const toDict = this.getDictionary(toLocale);\n\n if (!fromDict || !toDict) {\n throw new Error(`Missing dictionary for locale: ${!fromDict ? fromLocale : toLocale}`);\n }\n\n // Tokenize the input\n const tokens = tokenize(text, fromLocale);\n\n // Translate tokens\n const translatedTokens = this.translateTokens(tokens, fromLocale, toLocale);\n\n // Reconstruct the text\n const translated = this.reconstructText(translatedTokens);\n\n // Validate target dictionary if requested\n if (options.validate && toDict) {\n const validation = validate(toDict, toLocale);\n if (!validation.valid) {\n console.warn('Translation validation warnings:', validation.warnings);\n }\n }\n\n const result: TranslationResult = {\n translated,\n tokens: translatedTokens,\n locale: { from: fromLocale, to: toLocale },\n warnings: [],\n };\n if (options.preserveOriginal) {\n result.original = text;\n }\n return result;\n }\n\n private translateTokens(tokens: Token[], fromLocale: string, toLocale: string): Token[] {\n const fromDict = this.getDictionary(fromLocale);\n const toDict = this.getDictionary(toLocale);\n const reverseFromDict = this.getReverseDictionary(fromLocale);\n const emptyDict: Dictionary = {\n commands: {},\n modifiers: {},\n events: {},\n logical: {},\n temporal: {},\n values: {},\n attributes: {},\n expressions: {},\n };\n\n return tokens.map(token => {\n let translated = token.value;\n\n // Only translate keywords, not identifiers or literals\n if (this.isTranslatableToken(token)) {\n // First, try direct translation from source to target\n if (fromLocale !== 'en' && toLocale !== 'en') {\n // Translate through English as intermediate\n const english = this.findTranslation(token.value, fromDict || emptyDict, reverseFromDict);\n if (english) {\n translated =\n this.findTranslation(english, toDict || emptyDict, new Map()) || token.value;\n }\n } else if (fromLocale === 'en') {\n // Direct translation from English\n translated =\n this.findTranslation(token.value, toDict || emptyDict, new Map()) || token.value;\n } else {\n // Translation to English\n translated =\n this.findTranslation(token.value, fromDict || emptyDict, reverseFromDict) ||\n token.value;\n }\n }\n\n return {\n ...token,\n translated,\n };\n });\n }\n\n private findTranslation(\n word: string,\n dict: Dictionary,\n reverseDict: Map<string, string>\n ): string | null {\n const lowerWord = word.toLowerCase();\n\n // Check if translating FROM this locale using reverse dictionary\n if (reverseDict.size > 0) {\n const english = reverseDict.get(lowerWord);\n if (english) return english;\n }\n\n // Check categories in priority order (events before commands to handle 'click' etc.)\n const categoryOrder = [\n 'events',\n 'commands',\n 'expressions',\n 'modifiers',\n 'logical',\n 'temporal',\n 'values',\n 'attributes',\n ];\n\n for (const category of categoryOrder) {\n const translations = dict[category as keyof Dictionary];\n if (translations && typeof translations === 'object') {\n for (const [key, value] of Object.entries(translations)) {\n if (key.toLowerCase() === lowerWord) return value;\n }\n }\n }\n\n return null;\n }\n\n private isTranslatableToken(token: Token): boolean {\n const translatableTypes: TokenType[] = [\n 'command',\n 'modifier',\n 'event',\n 'logical',\n 'temporal',\n 'value',\n 'attribute',\n 'expression',\n ];\n return translatableTypes.includes(token.type);\n }\n\n private reconstructText(tokens: Token[]): string {\n return tokens.map(token => token.translated || token.value).join('');\n }\n\n detectLanguage(text: string): string {\n if (!this.config.detectLocale) {\n return this.config.locale;\n }\n\n return detectLocale(text, Array.from(this.dictionaries.keys()));\n }\n\n addDictionary(locale: string, dictionary: Dictionary): void {\n this.dictionaries.set(locale, dictionary);\n\n // Build reverse dictionary for this locale using type-safe iteration\n const reverseDict = new Map<string, string>();\n\n for (const category of DICTIONARY_CATEGORIES) {\n const translations = dictionary[category];\n if (translations) {\n for (const [english, translated] of Object.entries(translations)) {\n reverseDict.set(translated.toLowerCase(), english);\n }\n }\n }\n\n this.reverseDictionaries.set(locale, reverseDict);\n }\n\n getDictionary(locale: string): Dictionary | undefined {\n return this.dictionaries.get(locale);\n }\n\n private getReverseDictionary(locale: string): Map<string, string> {\n return this.reverseDictionaries.get(locale) || new Map();\n }\n\n getSupportedLocales(): string[] {\n return Array.from(this.dictionaries.keys());\n }\n\n validateDictionary(locale: string): ValidationResult {\n const dict = this.getDictionary(locale);\n if (!dict) {\n return {\n valid: false,\n errors: [\n { type: 'missing', key: locale, message: `Dictionary not found for locale: ${locale}` },\n ],\n warnings: [],\n coverage: { total: 0, translated: 0, missing: [] },\n };\n }\n\n return validate(dict, locale);\n }\n\n isRTL(locale: string): boolean {\n const rtlLocales = this.config.rtlLocales || ['ar', 'he', 'fa', 'ur'];\n return rtlLocales.includes(locale);\n }\n\n getCompletions(context: { text: string; position: number; locale: string }): string[] {\n const dict = this.getDictionary(context.locale);\n if (!dict) return [];\n\n const completions: string[] = [];\n\n // Get the partial word at cursor\n const beforeCursor = context.text.substring(0, context.position);\n const partial = beforeCursor.match(/\\b(\\w+)$/)?.[1] || '';\n const lowerPartial = partial.toLowerCase();\n\n // Search all categories for matches using type-safe iteration\n // For non-English locales, search translated values; for English, search keys\n for (const category of DICTIONARY_CATEGORIES) {\n const translations = dict[category];\n if (translations) {\n for (const [key, value] of Object.entries(translations)) {\n // Search keys (English terms) and values (translated terms)\n if (key.toLowerCase().startsWith(lowerPartial)) {\n completions.push(key);\n }\n if (value.toLowerCase().startsWith(lowerPartial) && !completions.includes(value)) {\n completions.push(value);\n }\n }\n }\n }\n\n return completions;\n }\n}\n\n// Export a singleton instance for convenience\nexport const translator = new HyperscriptTranslator({ locale: 'en' });\n","// packages/i18n/src/plugins/vite.ts\n\nimport type { Plugin } from 'vite';\nimport { HyperscriptTranslator } from '../translator';\n\n// node-html-parser is an optional dependency\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet parse: any;\ntry {\n // Dynamic require for optional dependency\n parse = require('node-html-parser').parse;\n} catch {\n parse = null;\n}\n\nexport interface HyperscriptI18nViteOptions {\n sourceLocale?: string;\n targetLocale?: string;\n preserveOriginal?: boolean;\n attributes?: string[];\n include?: RegExp | string[];\n exclude?: RegExp | string[];\n}\n\nexport function hyperscriptI18nVitePlugin(options: HyperscriptI18nViteOptions = {}): Plugin {\n const {\n sourceLocale = 'en',\n targetLocale = 'en',\n preserveOriginal = false,\n attributes = ['_', 'script', 'data-script'],\n include = /\\.(html|vue|svelte)$/,\n exclude = /node_modules/,\n } = options;\n\n const translator = new HyperscriptTranslator({ locale: sourceLocale });\n\n return {\n name: 'vite-plugin-hyperscript-i18n',\n\n transform(code: string, id: string) {\n // Check if file should be processed\n if (!shouldProcess(id, include, exclude)) {\n return null;\n }\n\n // Skip if no translation needed\n if (sourceLocale === targetLocale) {\n return null;\n }\n\n try {\n // Process HTML files\n if (id.endsWith('.html')) {\n return transformHtml(code, translator, {\n sourceLocale,\n targetLocale,\n preserveOriginal,\n attributes,\n });\n }\n\n // Process Vue SFCs\n if (id.endsWith('.vue')) {\n return transformVue(code, translator, {\n sourceLocale,\n targetLocale,\n preserveOriginal,\n attributes,\n });\n }\n\n // Process Svelte components\n if (id.endsWith('.svelte')) {\n return transformSvelte(code, translator, {\n sourceLocale,\n targetLocale,\n preserveOriginal,\n attributes,\n });\n }\n\n return null;\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : String(error);\n this.error(`Failed to process ${id}: ${message}`);\n }\n },\n\n configureServer(server) {\n // Add middleware for development\n server.middlewares.use((_req, res, next) => {\n // Add i18n headers\n res.setHeader('X-Hyperscript-I18n-Source', sourceLocale);\n res.setHeader('X-Hyperscript-I18n-Target', targetLocale);\n next();\n });\n },\n };\n}\n\nfunction shouldProcess(\n id: string,\n include: RegExp | string[],\n exclude: RegExp | string[]\n): boolean {\n const includePattern = Array.isArray(include) ? new RegExp(include.join('|')) : include;\n\n const excludePattern = Array.isArray(exclude) ? new RegExp(exclude.join('|')) : exclude;\n\n return includePattern.test(id) && !excludePattern.test(id);\n}\n\nfunction transformHtml(\n html: string,\n translator: HyperscriptTranslator,\n options: {\n sourceLocale: string;\n targetLocale: string;\n preserveOriginal: boolean;\n attributes: string[];\n }\n): { code: string; map?: any } {\n const root = parse(html);\n let hasTransformations = false;\n\n // Find all elements with hyperscript attributes\n options.attributes.forEach(attr => {\n const elements = root.querySelectorAll(`[${attr}]`);\n\n elements.forEach((element: any) => {\n const original = element.getAttribute(attr);\n if (!original) return;\n\n const translated = translator.translate(original, {\n from: options.sourceLocale,\n to: options.targetLocale,\n });\n\n if (original !== translated) {\n hasTransformations = true;\n\n if (options.preserveOriginal) {\n element.setAttribute(`${attr}-${options.sourceLocale}`, original);\n }\n\n element.setAttribute(attr, translated);\n }\n });\n });\n\n if (!hasTransformations) {\n return { code: html };\n }\n\n return {\n code: root.toString(),\n map: null, // Source maps could be added here\n };\n}\n\nfunction transformVue(\n code: string,\n translator: HyperscriptTranslator,\n options: any\n): { code: string; map?: any } {\n // Extract template section\n const templateMatch = code.match(/<template[^>]*>([\\s\\S]*?)<\\/template>/);\n if (!templateMatch) {\n return { code };\n }\n\n const template = templateMatch[1];\n const transformed = transformHtml(template, translator, options);\n\n if (transformed.code === template) {\n return { code };\n }\n\n // Replace template content\n const newCode = code.replace(templateMatch[0], `<template>${transformed.code}</template>`);\n\n return { code: newCode };\n}\n\nfunction transformSvelte(\n code: string,\n translator: HyperscriptTranslator,\n options: any\n): { code: string; map?: any } {\n // Svelte components have HTML at the top level\n const scriptMatch = code.match(/<script[^>]*>[\\s\\S]*?<\\/script>/g);\n const styleMatch = code.match(/<style[^>]*>[\\s\\S]*?<\\/style>/g);\n\n // Extract HTML portion\n let html = code;\n if (scriptMatch) {\n scriptMatch.forEach(script => {\n html = html.replace(script, '');\n });\n }\n if (styleMatch) {\n styleMatch.forEach(style => {\n html = html.replace(style, '');\n });\n }\n\n const transformed = transformHtml(html, translator, options);\n\n if (transformed.code === html) {\n return { code };\n }\n\n // Reconstruct Svelte component\n let newCode = '';\n if (scriptMatch) {\n newCode += scriptMatch.join('\\n') + '\\n\\n';\n }\n newCode += transformed.code;\n if (styleMatch) {\n newCode += '\\n\\n' + styleMatch.join('\\n');\n }\n\n return { code: newCode };\n}\n"]}
|