@syllst/ka 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/{index-D9QQnpu5.js → index-D7wYzNIf.js} +18 -40
  2. package/dist/index-D7wYzNIf.js.map +1 -0
  3. package/dist/index-Dx8CaIyS.js +42 -0
  4. package/dist/index-Dx8CaIyS.js.map +1 -0
  5. package/dist/index.js +17 -11
  6. package/dist/index.js.map +1 -1
  7. package/dist/lesson-01-CXuaNjfX.js +196 -0
  8. package/dist/lesson-01-CXuaNjfX.js.map +1 -0
  9. package/dist/lesson-01-Cjq5zM3G.js +169 -0
  10. package/dist/lesson-01-Cjq5zM3G.js.map +1 -0
  11. package/dist/lesson-02-CW2iIZWk.js +242 -0
  12. package/dist/lesson-02-CW2iIZWk.js.map +1 -0
  13. package/dist/lesson-02-DEX5_pni.js +184 -0
  14. package/dist/lesson-02-DEX5_pni.js.map +1 -0
  15. package/dist/lesson-03-Cc9VcHwa.js +310 -0
  16. package/dist/lesson-03-Cc9VcHwa.js.map +1 -0
  17. package/dist/lesson-03-DIsrN1SX.js +192 -0
  18. package/dist/lesson-03-DIsrN1SX.js.map +1 -0
  19. package/dist/lesson-04-D3NM9z0Z.js +220 -0
  20. package/dist/lesson-04-D3NM9z0Z.js.map +1 -0
  21. package/dist/lesson-05-Dp2ZUMvn.js +227 -0
  22. package/dist/lesson-05-Dp2ZUMvn.js.map +1 -0
  23. package/dist/lesson-06-C_aRLClN.js +224 -0
  24. package/dist/lesson-06-C_aRLClN.js.map +1 -0
  25. package/dist/shared-DADMaTE7.js +27 -0
  26. package/dist/shared-DADMaTE7.js.map +1 -0
  27. package/dist/syllabi/alphabet/index.js +6 -5
  28. package/dist/syllabi/alphabet/index.js.map +1 -1
  29. package/dist/syllabi/essentials/index.d.ts +7 -0
  30. package/dist/syllabi/essentials/index.js +40 -0
  31. package/dist/syllabi/essentials/index.js.map +1 -0
  32. package/dist/syllabi/numbers/index.d.ts +7 -0
  33. package/dist/syllabi/numbers/index.js +10 -0
  34. package/dist/syllabi/numbers/index.js.map +1 -0
  35. package/package.json +23 -9
  36. package/src/syllabi/essentials/lessons/lesson-01.mdx +164 -0
  37. package/src/syllabi/essentials/lessons/lesson-02.mdx +179 -0
  38. package/src/syllabi/essentials/lessons/lesson-03.mdx +187 -0
  39. package/src/syllabi/essentials/lessons/lesson-04.mdx +215 -0
  40. package/src/syllabi/essentials/lessons/lesson-05.mdx +222 -0
  41. package/src/syllabi/essentials/lessons/lesson-06.mdx +219 -0
  42. package/src/syllabi/essentials/meta.mdx +87 -0
  43. package/src/syllabi/numbers/lessons/lesson-01.mdx +191 -0
  44. package/src/syllabi/numbers/lessons/lesson-02.mdx +237 -0
  45. package/src/syllabi/numbers/lessons/lesson-03.mdx +305 -0
  46. package/dist/index-D9QQnpu5.js.map +0 -1
@@ -0,0 +1,305 @@
1
+ ---
2
+ type: lesson
3
+ id: georgian-numbers-lesson-03
4
+ title: "გაკვეთილი 3 — პრაქტიკული რიცხვები"
5
+ description: "Practical numbers: Prices, phone numbers, and dates"
6
+ order: 3
7
+ parentId: georgian-numbers
8
+ difficulty: beginner
9
+ cefrLevel: A1
10
+ categories:
11
+ - numbers
12
+ - practical
13
+ - conversation
14
+ metadata:
15
+ estimatedTime: 30
16
+ prerequisites:
17
+ - georgian-numbers-lesson-01
18
+ - georgian-numbers-lesson-02
19
+ learningObjectives:
20
+ - id: obj-prices
21
+ description: "Understand and state prices in Georgian lari"
22
+ skill: word-pronunciation
23
+ references: []
24
+ - id: obj-phone-numbers
25
+ description: "Give and understand phone numbers in Georgian"
26
+ skill: word-production
27
+ references: []
28
+ - id: obj-dates
29
+ description: "Express dates using Georgian numbers"
30
+ skill: word-recognition
31
+ references: []
32
+ ---
33
+
34
+ # გაკვეთილი 3 (Lesson 3) — Practical Numbers
35
+
36
+ ## Introduction
37
+
38
+ Now that you know how to count in Georgian, it's time to use numbers in real-life situations. In this lesson, you'll learn how to handle prices, give phone numbers, and understand dates — essential skills for living in or visiting Georgia.
39
+
40
+ ## Georgian Currency
41
+
42
+ The official currency of Georgia is the **ლარი** (lari), abbreviated as ₾ or GEL.
43
+
44
+ :::vocabulary-set{id="georgian-currency" title="Currency Vocabulary"}
45
+
46
+ ::vocab{id="currency-lari" word="ლარი" transliteration="lari" translation="lari (Georgian currency)" category="money"}
47
+
48
+ ::vocab{id="currency-tetri" word="თეთრი" transliteration="tetri" translation="tetri (1/100 lari, like cents)" category="money"}
49
+
50
+ ::vocab{id="price-how-much" word="რამდენი?" transliteration="ramdeni?" translation="How much?" category="question"}
51
+
52
+ ::vocab{id="price-costs" word="ღირს" transliteration="ghirs" translation="costs, is worth" category="verb"}
53
+
54
+ ::vocab{id="price-total" word="ჯამში" transliteration="jamshi" translation="in total, altogether" category="adverb"}
55
+
56
+ :::
57
+
58
+ ## Stating Prices
59
+
60
+ When stating prices in Georgian, the number comes before the currency:
61
+
62
+ **[Number] + ლარი (lari)**
63
+
64
+ Examples:
65
+ - 5₾ = **ხუთი ლარი** (khuti lari) = "five lari"
66
+ - 25₾ = **ოცდახუთი ლარი** (otsdakhuti lari) = "twenty-five lari"
67
+ - 100₾ = **ასი ლარი** (asi lari) = "one hundred lari"
68
+
69
+ For prices with decimals (tetri):
70
+ - 5.50₾ = **ხუთი ლარი და ორმოცდაათი თეთრი** (khuti lari da ormotsdaati tetri)
71
+ - 12.99₾ = **თორმეტი ლარი და ოთხმოცდაცხრამეტი თეთრი** (tormeti lari da otkhmosdatskhrameti tetri)
72
+
73
+ ## Shopping Phrases
74
+
75
+ :::vocabulary-set{id="georgian-shopping" title="Shopping Vocabulary"}
76
+
77
+ ::vocab{id="shop-want" word="მინდა" transliteration="minda" translation="I want" category="verb"}
78
+
79
+ ::vocab{id="shop-this" word="ეს" transliteration="es" translation="this" category="pronoun"}
80
+
81
+ ::vocab{id="shop-that" word="ის" transliteration="is" translation="that" category="pronoun"}
82
+
83
+ ::vocab{id="shop-please" word="თუ შეიძლება" transliteration="tu sheidzleba" translation="please (lit: if possible)" category="phrase"}
84
+
85
+ ::vocab{id="shop-thank-you" word="გმადლობთ" transliteration="gmadlobt" translation="thank you" category="phrase"}
86
+
87
+ :::
88
+
89
+ ## Common Shopping Dialogues
90
+
91
+ **Asking the price:**
92
+ - **რამდენი ღირს?** (ramdeni ghirs?) — "How much does it cost?"
93
+ - **რამდენია ჯამში?** (ramdenia jamshi?) — "How much is it in total?"
94
+
95
+ **Typical exchange:**
96
+ - Customer: **ეს რამდენი ღირს?** (es ramdeni ghirs?) — "How much does this cost?"
97
+ - Seller: **ათი ლარი.** (ati lari) — "Ten lari."
98
+
99
+ ## Phone Numbers
100
+
101
+ Georgian phone numbers are typically 9 digits for mobile phones. Numbers are read digit by digit:
102
+
103
+ **Mobile format: XXX XX XX XX**
104
+
105
+ Example: 555 12 34 56
106
+ - **ხუთას ორმოცდათხუთმეტი, თორმეტი, ოცდათოთხმეტი, ორმოცდათექვსმეტი**
107
+
108
+ Wait — that's complicated! In practice, Georgians often read phone numbers in **chunks**:
109
+
110
+ **Easier method — read in pairs:**
111
+ - 555 = **ხუთას ორმოცდათხუთმეტი** (five hundred fifty-five)
112
+ - 12 = **თორმეტი** (twelve)
113
+ - 34 = **ოცდათოთხმეტი** (thirty-four)
114
+ - 56 = **ორმოცდათექვსმეტი** (fifty-six)
115
+
116
+ **Alternative — digit by digit:**
117
+ - 5-5-5-1-2-3-4-5-6
118
+ - **ხუთი, ხუთი, ხუთი, ერთი, ორი, სამი, ოთხი, ხუთი, ექვსი**
119
+
120
+ :::vocabulary-set{id="georgian-phone" title="Phone Vocabulary"}
121
+
122
+ ::vocab{id="phone-number" word="ნომერი" transliteration="nomeri" translation="number" category="noun"}
123
+
124
+ ::vocab{id="phone-mobile" word="მობილური" transliteration="mobiluri" translation="mobile phone" category="noun"}
125
+
126
+ ::vocab{id="phone-my" word="ჩემი" transliteration="chemi" translation="my" category="pronoun"}
127
+
128
+ ::vocab{id="phone-your" word="შენი" transliteration="sheni" translation="your" category="pronoun"}
129
+
130
+ :::
131
+
132
+ **Asking for a phone number:**
133
+ - **რა არის შენი მობილურის ნომერი?** (ra aris sheni mobìluris nomeri?) — "What is your mobile number?"
134
+
135
+ ## Dates
136
+
137
+ Georgian dates follow the format: **Day Month Year**
138
+
139
+ For dates, you use **ordinal numbers** (first, second, third...). Here are the key ordinals:
140
+
141
+ :::vocabulary-set{id="georgian-ordinals" title="Ordinal Numbers (1st-10th)"}
142
+
143
+ ::vocab{id="ord-first" word="პირველი" transliteration="pirveli" translation="first" category="ordinal"}
144
+
145
+ ::vocab{id="ord-second" word="მეორე" transliteration="meore" translation="second" category="ordinal"}
146
+
147
+ ::vocab{id="ord-third" word="მესამე" transliteration="mesame" translation="third" category="ordinal"}
148
+
149
+ ::vocab{id="ord-fourth" word="მეოთხე" transliteration="meotkhe" translation="fourth" category="ordinal"}
150
+
151
+ ::vocab{id="ord-fifth" word="მეხუთე" transliteration="mekhute" translation="fifth" category="ordinal"}
152
+
153
+ ::vocab{id="ord-tenth" word="მეათე" transliteration="meate" translation="tenth" category="ordinal"}
154
+
155
+ ::vocab{id="ord-twentieth" word="მეოცე" transliteration="meotse" translation="twentieth" category="ordinal"}
156
+
157
+ ::vocab{id="ord-thirtieth" word="ოცდამეათე" transliteration="otsdameate" translation="thirtieth" category="ordinal"}
158
+
159
+ :::
160
+
161
+ **Ordinals follow a pattern:**
162
+ - Most begin with **მე-** (me-) prefix
163
+ - Based on the cardinal number + ending -ე
164
+
165
+ Examples:
166
+ - 1st = **პირველი** (pirveli) — irregular
167
+ - 2nd = **მეორე** (meore) — irregular
168
+ - 3rd = **მესამე** (mesame) — მე + სამ + ე
169
+ - 5th = **მეხუთე** (mekhute) — მე + ხუთ + ე
170
+ - 10th = **მეათე** (meate) — მე + ათ + ე
171
+ - 25th = **ოცდამეხუთე** (otsdamekhute)
172
+
173
+ ## Months of the Year
174
+
175
+ :::vocabulary-set{id="georgian-months" title="Months"}
176
+
177
+ ::vocab{id="month-january" word="იანვარი" transliteration="ianuari" translation="January" category="time"}
178
+
179
+ ::vocab{id="month-february" word="თებერვალი" transliteration="tebervali" translation="February" category="time"}
180
+
181
+ ::vocab{id="month-march" word="მარტი" transliteration="marti" translation="March" category="time"}
182
+
183
+ ::vocab{id="month-april" word="აპრილი" transliteration="aprili" translation="April" category="time"}
184
+
185
+ ::vocab{id="month-may" word="მაისი" transliteration="maisi" translation="May" category="time"}
186
+
187
+ ::vocab{id="month-december" word="დეკემბერი" transliteration="dekemberi" translation="December" category="time"}
188
+
189
+ :::
190
+
191
+ **Stating a date:**
192
+ - January 5 = **ხუთი იანვარი** (khuti ianuari) or **იანვრის მეხუთე** (ianuaris mekhute)
193
+ - December 25 = **ოცდახუთი დეკემბერი** (otsdakhuti dekemberi)
194
+
195
+ ## Years
196
+
197
+ Years are stated as full numbers:
198
+ - 2024 = **ორი ათას ოცდაოთხი** (ori atas otsdaotkhi) — "two thousand twenty-four"
199
+ - 1990 = **ათას ცხრაას ოთხმოცდაათი** (atas tskhraas otkhmotsdaati)
200
+
201
+ ## Telling Time
202
+
203
+ :::vocabulary-set{id="georgian-time" title="Time Vocabulary"}
204
+
205
+ ::vocab{id="time-hour" word="საათი" transliteration="saati" translation="hour, o'clock" category="time"}
206
+
207
+ ::vocab{id="time-minute" word="წუთი" transliteration="ts'uti" translation="minute" category="time"}
208
+
209
+ ::vocab{id="time-half" word="ნახევარი" transliteration="nakhevari" translation="half" category="time"}
210
+
211
+ ::vocab{id="time-quarter" word="მეოთხედი" transliteration="meotkedi" translation="quarter" category="time"}
212
+
213
+ ::vocab{id="time-what-time" word="რომელი საათია?" transliteration="romeli saatia?" translation="What time is it?" category="question"}
214
+
215
+ :::
216
+
217
+ **Basic time format:**
218
+ - 3:00 = **სამი საათი** (sami saati) — "three o'clock"
219
+ - 3:15 = **სამი საათი და თხუთმეტი წუთი** (sami saati da tkhutmeti ts'uti) — "three fifteen"
220
+ - 3:30 = **სამი საათი და ნახევარი** (sami saati da nakhevari) — "three thirty / half past three"
221
+
222
+ ## Key Points
223
+
224
+ 1. **Currency**: ლარი (lari) is Georgia's currency; numbers come before currency name
225
+ 2. **Phone numbers**: Read digit-by-digit or in chunks, both are acceptable
226
+ 3. **Dates**: Day + Month format; use ordinals for calendar dates
227
+ 4. **Time**: Hour + და (and) + minutes
228
+ 5. **Practice everywhere**: Markets, restaurants, and shops are great for number practice
229
+
230
+ ## Practice Exercises
231
+
232
+ :::exercise{id="ka-num-03-prices" type="fill-in-blank" title="Stating Prices" skill="word-pronunciation" tests="" objectiveId="obj-prices"}
233
+
234
+ **Question:** How do you say these prices in Georgian?
235
+
236
+ - 15₾ = ___
237
+ - 40₾ = ___
238
+ - 99₾ = ___
239
+
240
+ **Answer:**
241
+
242
+ - 15₾ = თხუთმეტი ლარი (tkhutmeti lari)
243
+ - 40₾ = ორმოცი ლარი (ormotsi lari)
244
+ - 99₾ = ოთხმოცდაცხრამეტი ლარი (otkhmosdatskhrameti lari)
245
+
246
+ **Explanation:** Georgian prices follow the pattern [number] + ლარი. Remember the vigesimal system: 40 is "two-twenty" (ორმოცი) and 99 is "four-twenty-and-nineteen" (ოთხმოცდაცხრამეტი).
247
+
248
+ :::
249
+
250
+ :::exercise{id="ka-num-03-phone" type="matching" title="Phone Numbers" skill="word-production" tests="" objectiveId="obj-phone-numbers"}
251
+
252
+ **Question:** Match the phone number chunk to its Georgian pronunciation
253
+
254
+ - 12
255
+ - 34
256
+ - 56
257
+ - 78
258
+
259
+ **Answer:**
260
+
261
+ - 12 = თორმეტი (tormeti)
262
+ - 34 = ოცდათოთხმეტი (otsdatotkhmetі)
263
+ - 56 = ორმოცდათექვსმეტი (ormotsdatekvsmeti)
264
+ - 78 = სამოცდათვრამეტი (samotsdatvrameti)
265
+
266
+ **Explanation:** When reading phone numbers in chunks, you use the full number words. Remember: 34 is "twenty-and-fourteen" and 78 is "sixty-and-eighteen" in the vigesimal system.
267
+
268
+ :::
269
+
270
+ :::exercise{id="ka-num-03-dates" type="multiple-choice" title="Expressing Dates" skill="word-recognition" tests="" objectiveId="obj-dates"}
271
+
272
+ **Question:** How would you say "May 5th" in Georgian?
273
+
274
+ **Options:**
275
+ - ხუთი მაისი
276
+ - მაისის მეხუთე
277
+ - Both are correct
278
+ - მეხუთე ხუთი
279
+
280
+ **Answer:** 3
281
+
282
+ **Explanation:** Both "ხუთი მაისი" (khuti maisi - cardinal) and "მაისის მეხუთე" (maisis mekhute - ordinal) are acceptable in Georgian. The first is more casual (literally "five May"), while the second is more formal ("May's fifth").
283
+
284
+ :::
285
+
286
+ ## Real-World Practice
287
+
288
+ Try using Georgian numbers in these situations:
289
+
290
+ 1. **At a market**: Ask prices using "რამდენი ღირს?" (ramdeni ghirs?)
291
+ 2. **Exchange contacts**: Practice saying your phone number digit by digit
292
+ 3. **Check the calendar**: Say today's date in Georgian
293
+ 4. **Tell time**: Look at a clock and state the time in Georgian
294
+ 5. **Count money**: If you have Georgian lari, count them out loud
295
+
296
+ ## What's Next
297
+
298
+ Congratulations! You now know the Georgian number system from 0 to 100, including the unique vigesimal pattern, practical applications, and real-world usage. To continue building your Georgian skills, consider:
299
+
300
+ - Learning larger numbers (hundreds, thousands)
301
+ - Practicing shopping dialogues
302
+ - Studying more time expressions
303
+ - Expanding your everyday vocabulary
304
+
305
+ Keep practicing numbers in daily life — they're one of the most frequently used parts of any language!
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-D9QQnpu5.js","sources":["../src/shared.ts","../src/syllabi/alphabet/index.ts"],"sourcesContent":["/**\n * Shared types and utilities for SYLLST content\n * (Inlined from @syllst/content-shared to make package self-contained)\n */\n\n/**\n * CEFR language proficiency levels\n */\nexport type CEFRLevel = 'A1' | 'A2' | 'B1' | 'B2' | 'C1' | 'C2';\n\n/**\n * Difficulty levels\n */\nexport type Difficulty = 'beginner' | 'intermediate' | 'advanced';\n\n/**\n * Icon types for syllabi\n */\nexport type SyllabusIcon =\n | 'alphabet'\n | 'dialogue'\n | 'vocabulary'\n | 'grammar'\n | 'reading'\n | 'numbers'\n | 'food'\n | 'travel';\n\n/**\n * Configuration for a syllabus content package\n */\nexport interface SyllabusConfig {\n /** Unique syllabus ID (e.g., \"ka-alphabet\") */\n id: string;\n /** Display title */\n title: string;\n /** Description */\n description: string;\n /** Language code (ISO 639-1) */\n language: string;\n /** Locale code (e.g., \"ka-GE\") */\n locale: string;\n /** Number of lessons */\n lessonCount: number;\n /** Difficulty level */\n difficulty: Difficulty;\n /** CEFR level */\n cefrLevel: CEFRLevel;\n /** Icon for display */\n icon?: SyllabusIcon;\n /** Package version */\n version: string;\n}\n\n/**\n * Result of loading a lesson\n */\nexport interface LoadedLesson {\n /** Lesson number (1-indexed) */\n number: number;\n /** Raw MDX content */\n rawContent: string;\n}\n\n/**\n * Content loader interface\n */\nexport interface ContentLoader {\n /** Syllabus configuration */\n config: SyllabusConfig;\n /** Load a single lesson by number */\n loadLesson(lessonNumber: number): Promise<LoadedLesson>;\n /** Load all lessons */\n loadAllLessons(): Promise<LoadedLesson[]>;\n /** Get list of available lesson numbers */\n getAvailableLessons(): number[];\n}\n\n/**\n * Create a content loader from config and lesson loader function\n */\nexport function createContentLoader(\n config: SyllabusConfig,\n loadLessonMDX: (lessonNumber: number) => Promise<{ default: string }>\n): ContentLoader {\n return {\n config,\n\n async loadLesson(lessonNumber: number): Promise<LoadedLesson> {\n if (lessonNumber < 1 || lessonNumber > config.lessonCount) {\n throw new Error(`Lesson ${lessonNumber} not found. Valid range: 1-${config.lessonCount}`);\n }\n const module = await loadLessonMDX(lessonNumber);\n return {\n number: lessonNumber,\n rawContent: module.default,\n };\n },\n\n async loadAllLessons(): Promise<LoadedLesson[]> {\n const lessons: LoadedLesson[] = [];\n for (let i = 1; i <= config.lessonCount; i++) {\n lessons.push(await this.loadLesson(i));\n }\n return lessons;\n },\n\n getAvailableLessons(): number[] {\n return Array.from({ length: config.lessonCount }, (_, i) => i + 1);\n },\n };\n}\n","/**\n * Georgian Alphabet syllabus\n */\n\nimport { createContentLoader, type SyllabusConfig, type ContentLoader } from '../../shared.js';\n\nexport const config: SyllabusConfig = {\n id: 'ka-alphabet',\n title: 'ქართული ანბანი (Georgian Alphabet)',\n description: 'Learn the Georgian Mkhedruli script - vowels and consonants',\n language: 'ka',\n locale: 'ka-GE',\n lessonCount: 10,\n difficulty: 'beginner',\n cefrLevel: 'A1',\n icon: 'alphabet',\n version: '0.1.0',\n};\n\nasync function loadLessonMDX(lessonNumber: number) {\n switch (lessonNumber) {\n case 1: return import('./lessons/lesson-01.mdx?raw');\n case 2: return import('./lessons/lesson-02.mdx?raw');\n case 3: return import('./lessons/lesson-03.mdx?raw');\n case 4: return import('./lessons/lesson-04.mdx?raw');\n case 5: return import('./lessons/lesson-05.mdx?raw');\n case 6: return import('./lessons/lesson-06.mdx?raw');\n case 7: return import('./lessons/lesson-07.mdx?raw');\n case 8: return import('./lessons/lesson-08.mdx?raw');\n case 9: return import('./lessons/lesson-09.mdx?raw');\n case 10: return import('./lessons/lesson-10.mdx?raw');\n default: throw new Error(`Lesson ${lessonNumber} not found`);\n }\n}\n\nexport const loader: ContentLoader = createContentLoader(config, loadLessonMDX);\nexport const loadLesson = loader.loadLesson.bind(loader);\nexport const loadAllLessons = loader.loadAllLessons.bind(loader);\nexport const getAvailableLessons = loader.getAvailableLessons.bind(loader);\n"],"names":["createContentLoader","config","loadLessonMDX","lessonNumber","module","lessons","i","_","loader","loadLesson","loadAllLessons","getAvailableLessons"],"mappings":"AAiFO,SAASA,EACdC,GACAC,GACe;AACf,SAAO;AAAA,IACL,QAAAD;AAAA,IAEA,MAAM,WAAWE,GAA6C;AAC5D,UAAIA,IAAe,KAAKA,IAAeF,EAAO;AAC5C,cAAM,IAAI,MAAM,UAAUE,CAAY,8BAA8BF,EAAO,WAAW,EAAE;AAE1F,YAAMG,IAAS,MAAMF,EAAcC,CAAY;AAC/C,aAAO;AAAA,QACL,QAAQA;AAAA,QACR,YAAYC,EAAO;AAAA,MAAA;AAAA,IAEvB;AAAA,IAEA,MAAM,iBAA0C;AAC9C,YAAMC,IAA0B,CAAA;AAChC,eAASC,IAAI,GAAGA,KAAKL,EAAO,aAAaK;AACvC,QAAAD,EAAQ,KAAK,MAAM,KAAK,WAAWC,CAAC,CAAC;AAEvC,aAAOD;AAAA,IACT;AAAA,IAEA,sBAAgC;AAC9B,aAAO,MAAM,KAAK,EAAE,QAAQJ,EAAO,YAAA,GAAe,CAACM,GAAGD,MAAMA,IAAI,CAAC;AAAA,IACnE;AAAA,EAAA;AAEJ;ACzGO,MAAML,IAAyB;AAAA,EACpC,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,aAAa;AAAA,EACb,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,MAAM;AAAA,EACN,SAAS;AACX;AAEA,eAAeC,EAAcC,GAAsB;AACjD,UAAQA,GAAA;AAAA,IACN,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAI,aAAO,OAAO,yBAA6B;AAAA,IACpD;AAAS,YAAM,IAAI,MAAM,UAAUA,CAAY,YAAY;AAAA,EAAA;AAE/D;AAEO,MAAMK,IAAwBR,EAAoBC,GAAQC,CAAa,GACjEO,IAAaD,EAAO,WAAW,KAAKA,CAAM,GAC1CE,IAAiBF,EAAO,eAAe,KAAKA,CAAM,GAClDG,IAAsBH,EAAO,oBAAoB,KAAKA,CAAM;;;;;;;;"}