@kulupu-linku/sona 0.3.7 → 2.0.2
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/.assetsignore +0 -0
- package/dist/client-BSyS8F5a.d.ts +1612 -0
- package/dist/client-BitJ28pJ.js +10 -0
- package/dist/client-CUMo53JZ.d.ts +1612 -0
- package/dist/client-DNWH1gFt.js +10 -0
- package/dist/index-1jX6YIBj.d.ts +1497 -0
- package/dist/index-DObG_APy.d.ts +398 -0
- package/dist/index-DsVEVr6r.d.ts +300 -0
- package/dist/lib/v1/client.d.ts +3 -0
- package/dist/lib/v1/client.js +3 -0
- package/dist/lib/v1/client.test.d.ts +31 -0
- package/dist/lib/v1/client.test.js +3 -0
- package/dist/lib/v1/index.d.ts +2 -0
- package/dist/lib/v1/index.js +4 -0
- package/dist/lib/v1/types.d.ts +2 -0
- package/dist/lib/v1/types.js +1 -0
- package/dist/lib/v1/utils.d.ts +26 -0
- package/dist/lib/v1/utils.js +3 -0
- package/dist/lib/v2/client.d.ts +3 -0
- package/dist/lib/v2/client.js +3 -0
- package/dist/lib/v2/client.test.d.ts +36 -0
- package/dist/lib/v2/client.test.js +3 -0
- package/dist/lib/v2/index.d.ts +2 -0
- package/dist/lib/v2/index.js +4 -0
- package/dist/lib/v2/types.d.ts +2 -0
- package/dist/lib/v2/types.js +1 -0
- package/dist/lib/v2/utils.d.ts +44 -0
- package/dist/lib/v2/utils.js +3 -0
- package/dist/server/index.d.ts +2 -685
- package/dist/server/index.js +43 -0
- package/dist/server/utils.d.ts +23 -15
- package/dist/server/utils.js +3 -0
- package/dist/server/v1/index.d.ts +864 -639
- package/dist/server/v1/index.js +8 -0
- package/dist/server/v2/index.d.ts +1112 -0
- package/dist/server/v2/index.js +8 -0
- package/dist/server/versioning.d.ts +1965 -2369
- package/dist/server/versioning.js +8 -0
- package/dist/utils-DkAaVBMs.js +33 -0
- package/dist/utils-QiKwNnnL.js +37 -0
- package/dist/utils-Z1o5sWsW.js +40 -0
- package/dist/v1-DkHVwPCI.js +139 -0
- package/dist/v1-obRCoWWK.js +267 -0
- package/dist/v2-CDtbJFxV.js +194 -0
- package/generated/v2/fingerspelling.json +124 -0
- package/generated/v2/fingerspellings.json +135 -0
- package/generated/v2/font.json +119 -0
- package/generated/v2/fonts.json +130 -0
- package/generated/v2/glyph.json +160 -0
- package/generated/v2/glyphs.json +167 -0
- package/generated/v2/language.json +58 -0
- package/generated/v2/languages.json +67 -0
- package/generated/v2/sign.json +149 -0
- package/generated/v2/signs.json +160 -0
- package/generated/v2/word.json +306 -0
- package/generated/v2/words.json +313 -0
- package/package.json +47 -28
- package/dist/client.d.ts +0 -2
- package/dist/client.js +0 -172
- package/dist/index.d.ts +0 -2
- package/dist/index.js +0 -223
- package/dist/lib/client.d.ts +0 -743
- package/dist/lib/client.test.d.ts +0 -27
- package/dist/lib/index.d.ts +0 -962
- package/dist/lib/types.d.ts +0 -17
- package/dist/lib/utils.d.ts +0 -13
- package/dist/utils-B3Jq5OVZ.js +0 -2899
- package/dist/utils.d.ts +0 -2
- package/dist/utils.js +0 -9
- package/generated/words.json +0 -315
- /package/generated/{commentary_translation.json → v1/commentary_translation.json} +0 -0
- /package/generated/{definition_translation.json → v1/definition_translation.json} +0 -0
- /package/generated/{etymology_translation.json → v1/etymology_translation.json} +0 -0
- /package/generated/{fingerspelling.json → v1/fingerspelling.json} +0 -0
- /package/generated/{fingerspelling_sign.json → v1/fingerspelling_sign.json} +0 -0
- /package/generated/{font.json → v1/font.json} +0 -0
- /package/generated/{fonts.json → v1/fonts.json} +0 -0
- /package/generated/{icon_translation.json → v1/icon_translation.json} +0 -0
- /package/generated/{languages.json → v1/languages.json} +0 -0
- /package/generated/{parameters_translation.json → v1/parameters_translation.json} +0 -0
- /package/generated/{sign.json → v1/sign.json} +0 -0
- /package/generated/{signs.json → v1/signs.json} +0 -0
- /package/generated/{sitelen_pona_translation.json → v1/sitelen_pona_translation.json} +0 -0
- /package/generated/{word.json → v1/word.json} +0 -0
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"description": "A raw data object containing dictionary info about Toki Pona words",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"propertyNames": {
|
|
6
|
+
"$ref": "#/$defs/__schema0"
|
|
7
|
+
},
|
|
8
|
+
"additionalProperties": {
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"id": {
|
|
12
|
+
"description": "A unique identifier for the word. May have an integer to distinguish words with the same spelling but distinct coinings.",
|
|
13
|
+
"$ref": "#/$defs/__schema0"
|
|
14
|
+
},
|
|
15
|
+
"word": {
|
|
16
|
+
"description": "The latin alphabet representation of the word.",
|
|
17
|
+
"type": "string",
|
|
18
|
+
"minLength": 1
|
|
19
|
+
},
|
|
20
|
+
"author_verbatim": {
|
|
21
|
+
"description": "The author's original definition, taken verbatim in their words",
|
|
22
|
+
"type": "string"
|
|
23
|
+
},
|
|
24
|
+
"author_source": {
|
|
25
|
+
"description": "The source or origin of this glyph, often a URL.",
|
|
26
|
+
"type": "string"
|
|
27
|
+
},
|
|
28
|
+
"book": {
|
|
29
|
+
"description": "Which official Toki Pona book was this word featured in, if any.",
|
|
30
|
+
"type": "string",
|
|
31
|
+
"enum": [
|
|
32
|
+
"pu",
|
|
33
|
+
"ku suli",
|
|
34
|
+
"ku lili",
|
|
35
|
+
"none"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
"coined_era": {
|
|
39
|
+
"description": "The period of time in which this word was coined, relative to the publication of the first two official Toki Pona books",
|
|
40
|
+
"type": "string",
|
|
41
|
+
"enum": [
|
|
42
|
+
"pre-pu",
|
|
43
|
+
"post-pu",
|
|
44
|
+
"post-ku"
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
"creation_date": {
|
|
48
|
+
"description": "When this word was coined, to precision known.",
|
|
49
|
+
"type": "string",
|
|
50
|
+
"pattern": "^(?:|(?<year>20\\d{2})(?:-(?<month>0[1-9]|1[0-2])(?:-(?<day>0[1-9]|[12]\\d|3[01]))?)?|(?<startYear>20\\d{2})-(?<endYear>20\\d{2}))$"
|
|
51
|
+
},
|
|
52
|
+
"author": {
|
|
53
|
+
"description": "The name or names of those involved in creating this word.",
|
|
54
|
+
"type": "array",
|
|
55
|
+
"items": {
|
|
56
|
+
"$ref": "#/$defs/__schema1"
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"ku_data": {
|
|
60
|
+
"description": "The usage data of this word, as described in the Toki Pona Dictionary.",
|
|
61
|
+
"type": "object",
|
|
62
|
+
"propertyNames": {
|
|
63
|
+
"description": "A possible translation of the word into English, as listed in the Toki Pona dictionary.",
|
|
64
|
+
"type": "string",
|
|
65
|
+
"minLength": 1
|
|
66
|
+
},
|
|
67
|
+
"additionalProperties": {
|
|
68
|
+
"description": "The percentage of Toki Pona Dictionary survey respondents who report this translation as accurate to their usage.",
|
|
69
|
+
"$ref": "#/$defs/__schema2"
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
"parent_id": {
|
|
73
|
+
"description": "The most widely used word which is considered to be an exact synonym for this word.",
|
|
74
|
+
"$ref": "#/$defs/__schema0"
|
|
75
|
+
},
|
|
76
|
+
"see_also": {
|
|
77
|
+
"description": "The IDs of words related to this one.",
|
|
78
|
+
"$ref": "#/$defs/__schema3"
|
|
79
|
+
},
|
|
80
|
+
"resources": {
|
|
81
|
+
"description": "Non-Linku resources related to the specific word, such as wiki links.",
|
|
82
|
+
"type": "object",
|
|
83
|
+
"properties": {
|
|
84
|
+
"sona_pona": {
|
|
85
|
+
"description": "A link to the word's page on sona.pona.la, a Toki Pona wiki. May redirect for words with references but no dedicated page.",
|
|
86
|
+
"$ref": "#/$defs/__schema4"
|
|
87
|
+
},
|
|
88
|
+
"lipamanka_semantic": {
|
|
89
|
+
"description": "A link to lipamanka's description of the word's semantic space.",
|
|
90
|
+
"$ref": "#/$defs/__schema4"
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
"additionalProperties": false
|
|
94
|
+
},
|
|
95
|
+
"representations": {
|
|
96
|
+
"description": "Ways of representing this word via text/computers",
|
|
97
|
+
"type": "object",
|
|
98
|
+
"properties": {
|
|
99
|
+
"sitelen_emosi": {
|
|
100
|
+
"description": "The sitelen emosi representation of this word, a script for writing Toki Pona using emoji",
|
|
101
|
+
"type": "string",
|
|
102
|
+
"minLength": 1,
|
|
103
|
+
"format": "emoji",
|
|
104
|
+
"pattern": "^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$"
|
|
105
|
+
},
|
|
106
|
+
"sitelen_jelo": {
|
|
107
|
+
"description": "One or more example emojis for how the word can be written in sitelen jelo",
|
|
108
|
+
"minItems": 1,
|
|
109
|
+
"type": "array",
|
|
110
|
+
"items": {
|
|
111
|
+
"type": "string",
|
|
112
|
+
"minLength": 1,
|
|
113
|
+
"format": "emoji",
|
|
114
|
+
"pattern": "^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$"
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
"ligatures": {
|
|
118
|
+
"description": "A list of sitelen Lasina representations of the word, used by ligature fonts to visually convert latin characters into sitelen pona",
|
|
119
|
+
"type": "array",
|
|
120
|
+
"items": {
|
|
121
|
+
"type": "string",
|
|
122
|
+
"minLength": 1
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
"sitelen_sitelen": {
|
|
126
|
+
"description": "A URL pointing to an image of this word's sitelen sitelen hieroglyphic block",
|
|
127
|
+
"$ref": "#/$defs/__schema4"
|
|
128
|
+
},
|
|
129
|
+
"ucsur": {
|
|
130
|
+
"description": "The UCSUR codepoint for this word.",
|
|
131
|
+
"type": "string",
|
|
132
|
+
"pattern": "^U\\+[\\da-fA-F]{4,6}$"
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
"additionalProperties": false
|
|
136
|
+
},
|
|
137
|
+
"source_language": {
|
|
138
|
+
"description": "The language this word originated from",
|
|
139
|
+
"type": "string",
|
|
140
|
+
"minLength": 1
|
|
141
|
+
},
|
|
142
|
+
"usage_category": {
|
|
143
|
+
"description": "The word's usage category, derived from the data of the annual Linku word survey.",
|
|
144
|
+
"type": "string",
|
|
145
|
+
"enum": [
|
|
146
|
+
"core",
|
|
147
|
+
"common",
|
|
148
|
+
"uncommon",
|
|
149
|
+
"obscure",
|
|
150
|
+
"sandbox"
|
|
151
|
+
]
|
|
152
|
+
},
|
|
153
|
+
"deprecated": {
|
|
154
|
+
"description": "Whether this word is considered deprecated by its author(s).",
|
|
155
|
+
"type": "boolean"
|
|
156
|
+
},
|
|
157
|
+
"audio": {
|
|
158
|
+
"type": "array",
|
|
159
|
+
"items": {
|
|
160
|
+
"description": "Audio files of the words pronounced out loud",
|
|
161
|
+
"type": "object",
|
|
162
|
+
"properties": {
|
|
163
|
+
"author": {
|
|
164
|
+
"description": "The author of the audio file in `link`.",
|
|
165
|
+
"$ref": "#/$defs/__schema1"
|
|
166
|
+
},
|
|
167
|
+
"link": {
|
|
168
|
+
"description": "A link to the audio file for the word, pronounced by `author`.",
|
|
169
|
+
"$ref": "#/$defs/__schema4"
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
"required": [
|
|
173
|
+
"author",
|
|
174
|
+
"link"
|
|
175
|
+
],
|
|
176
|
+
"additionalProperties": false
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
"pu_verbatim": {
|
|
180
|
+
"description": "The definition of the word in specific language editions of Toki Pona: The Language of Good",
|
|
181
|
+
"type": "object",
|
|
182
|
+
"properties": {
|
|
183
|
+
"en": {
|
|
184
|
+
"description": "The word's definition in the English edition of Toki Pona: The Language of Good",
|
|
185
|
+
"$ref": "#/$defs/__schema5"
|
|
186
|
+
},
|
|
187
|
+
"fr": {
|
|
188
|
+
"description": "The word's definition in the French edition of Toki Pona: The Language of Good",
|
|
189
|
+
"$ref": "#/$defs/__schema5"
|
|
190
|
+
},
|
|
191
|
+
"de": {
|
|
192
|
+
"description": "The word's definition in the German edition of Toki Pona: The Language of Good",
|
|
193
|
+
"$ref": "#/$defs/__schema5"
|
|
194
|
+
},
|
|
195
|
+
"eo": {
|
|
196
|
+
"description": "The word's definition in the Esperanto edition of Toki Pona: The Language of Good",
|
|
197
|
+
"$ref": "#/$defs/__schema5"
|
|
198
|
+
}
|
|
199
|
+
},
|
|
200
|
+
"required": [
|
|
201
|
+
"en",
|
|
202
|
+
"fr",
|
|
203
|
+
"de",
|
|
204
|
+
"eo"
|
|
205
|
+
],
|
|
206
|
+
"additionalProperties": false
|
|
207
|
+
},
|
|
208
|
+
"usage": {
|
|
209
|
+
"description": "The percentage of respondents to the annual Linku word survey who report to use this word, by the date of the survey.",
|
|
210
|
+
"type": "object",
|
|
211
|
+
"propertyNames": {
|
|
212
|
+
"type": "string",
|
|
213
|
+
"pattern": "^(?<year>20\\d{2})(?:-(?<month>0[1-9]|1[0-2])(?:-(?<day>0[1-9]|[12]\\d|3[01]))?)?$"
|
|
214
|
+
},
|
|
215
|
+
"additionalProperties": {
|
|
216
|
+
"$ref": "#/$defs/__schema2"
|
|
217
|
+
}
|
|
218
|
+
},
|
|
219
|
+
"glyph_ids": {
|
|
220
|
+
"description": "The IDs of all sitelen pona glyphs which represent the word. The usage category of each fetched glyph may be used to show or hide glyphs.",
|
|
221
|
+
"$ref": "#/$defs/__schema3"
|
|
222
|
+
},
|
|
223
|
+
"primary_glyph_id": {
|
|
224
|
+
"description": "The ID of the glyph most commonly used to represent this word in sitelen pona.",
|
|
225
|
+
"type": "string",
|
|
226
|
+
"minLength": 3
|
|
227
|
+
},
|
|
228
|
+
"image": {
|
|
229
|
+
"description": "Link to a PNG of the primary sitelen pona glyph for this word.",
|
|
230
|
+
"$ref": "#/$defs/__schema4"
|
|
231
|
+
},
|
|
232
|
+
"svg": {
|
|
233
|
+
"description": "Link to an SVG of the primary sitelen pona glyph for this word.",
|
|
234
|
+
"$ref": "#/$defs/__schema4"
|
|
235
|
+
},
|
|
236
|
+
"translations": {
|
|
237
|
+
"type": "object",
|
|
238
|
+
"properties": {
|
|
239
|
+
"commentary": {
|
|
240
|
+
"description": "Localized commentary on this word, such as history, clarifications, or trivia.",
|
|
241
|
+
"type": "string"
|
|
242
|
+
},
|
|
243
|
+
"etymology": {
|
|
244
|
+
"description": "Localized etymology of this word.",
|
|
245
|
+
"type": "string"
|
|
246
|
+
},
|
|
247
|
+
"definition": {
|
|
248
|
+
"description": "Localized definition of this word.",
|
|
249
|
+
"$ref": "#/$defs/__schema5"
|
|
250
|
+
}
|
|
251
|
+
},
|
|
252
|
+
"required": [
|
|
253
|
+
"commentary",
|
|
254
|
+
"etymology",
|
|
255
|
+
"definition"
|
|
256
|
+
],
|
|
257
|
+
"additionalProperties": false
|
|
258
|
+
}
|
|
259
|
+
},
|
|
260
|
+
"required": [
|
|
261
|
+
"id",
|
|
262
|
+
"word",
|
|
263
|
+
"book",
|
|
264
|
+
"coined_era",
|
|
265
|
+
"creation_date",
|
|
266
|
+
"author",
|
|
267
|
+
"see_also",
|
|
268
|
+
"resources",
|
|
269
|
+
"representations",
|
|
270
|
+
"source_language",
|
|
271
|
+
"usage_category",
|
|
272
|
+
"deprecated",
|
|
273
|
+
"audio",
|
|
274
|
+
"usage",
|
|
275
|
+
"glyph_ids",
|
|
276
|
+
"translations"
|
|
277
|
+
],
|
|
278
|
+
"additionalProperties": false
|
|
279
|
+
},
|
|
280
|
+
"$defs": {
|
|
281
|
+
"__schema0": {
|
|
282
|
+
"description": "A unique identifier for an object in Linku. Generally named after the object.",
|
|
283
|
+
"type": "string",
|
|
284
|
+
"minLength": 1
|
|
285
|
+
},
|
|
286
|
+
"__schema1": {
|
|
287
|
+
"type": "string",
|
|
288
|
+
"minLength": 1
|
|
289
|
+
},
|
|
290
|
+
"__schema2": {
|
|
291
|
+
"type": "number",
|
|
292
|
+
"minimum": 0,
|
|
293
|
+
"maximum": 100
|
|
294
|
+
},
|
|
295
|
+
"__schema3": {
|
|
296
|
+
"description": "The IDs of one or more objects related to this one.",
|
|
297
|
+
"type": "array",
|
|
298
|
+
"items": {
|
|
299
|
+
"$ref": "#/$defs/__schema0"
|
|
300
|
+
}
|
|
301
|
+
},
|
|
302
|
+
"__schema4": {
|
|
303
|
+
"description": "A URL pointing to some external resource.",
|
|
304
|
+
"type": "string",
|
|
305
|
+
"format": "uri"
|
|
306
|
+
},
|
|
307
|
+
"__schema5": {
|
|
308
|
+
"description": "Localized definition on the parent, such as a word or luka pona sign",
|
|
309
|
+
"type": "string",
|
|
310
|
+
"minLength": 1
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kulupu-linku/sona",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "2.0.2",
|
|
4
4
|
"description": "A library providing TypeScript types and Zod schemas for the sona API",
|
|
5
5
|
"homepage": "https://linku.la/",
|
|
6
6
|
"bugs": {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"license": "GPL-3.0-or-later",
|
|
10
10
|
"contributors": [
|
|
11
11
|
{
|
|
12
|
-
"name": "
|
|
12
|
+
"name": "Shachar Zidon",
|
|
13
13
|
"url": "https://theonlytails.com/",
|
|
14
14
|
"email": "theonlytails@theonlytails.com"
|
|
15
15
|
},
|
|
@@ -25,50 +25,69 @@
|
|
|
25
25
|
"type": "git"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@hono/
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"p-lazy": "^4.0.0",
|
|
33
|
-
"zod": "^3.23.6",
|
|
34
|
-
"zod-validation-error": "^3.2.0"
|
|
28
|
+
"@hono/zod-validator": "^0.7.4",
|
|
29
|
+
"hono": "^4.10.4",
|
|
30
|
+
"p-lazy": "^5.0.0",
|
|
31
|
+
"zod": "^4.1.12"
|
|
35
32
|
},
|
|
36
33
|
"devDependencies": {
|
|
37
|
-
"@
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
34
|
+
"@cloudflare/vite-plugin": "1.11.7",
|
|
35
|
+
"@hono/vite-build": "^1.7.0",
|
|
36
|
+
"@hono/vite-dev-server": "^0.20.1",
|
|
37
|
+
"@types/node": "^24.10.0",
|
|
38
|
+
"ajv": "^8.17.1",
|
|
39
|
+
"ajv-cli": "^5.0.0",
|
|
40
|
+
"ajv-formats": "^3.0.1",
|
|
41
|
+
"prettier": "^3.6.2",
|
|
42
|
+
"tsdown": "^0.14.2",
|
|
43
|
+
"tsx": "^4.20.6",
|
|
44
|
+
"typescript": "^5.9.3",
|
|
45
|
+
"vite": "npm:rolldown-vite@^7.2.2",
|
|
46
|
+
"wrangler": "4.32.0"
|
|
44
47
|
},
|
|
45
48
|
"engines": {
|
|
46
|
-
"pnpm": ">=
|
|
49
|
+
"pnpm": ">=10"
|
|
47
50
|
},
|
|
48
51
|
"files": [
|
|
49
52
|
"/dist",
|
|
50
53
|
"/generated"
|
|
51
54
|
],
|
|
52
|
-
"main": "./dist/index.js",
|
|
55
|
+
"main": "./dist/lib/v1/index.js",
|
|
56
|
+
"module": "./dist/lib/v1/index.js",
|
|
57
|
+
"types": "./dist/lib/v1/index.d.ts",
|
|
53
58
|
"exports": {
|
|
54
|
-
"
|
|
55
|
-
"import": "./dist/index.js",
|
|
56
|
-
"types": "./dist/index.d.ts"
|
|
59
|
+
"./v1": {
|
|
60
|
+
"import": "./dist/lib/v1/index.js",
|
|
61
|
+
"types": "./dist/lib/v1/index.d.ts"
|
|
57
62
|
},
|
|
58
|
-
"./utils": {
|
|
59
|
-
"import": "./dist/utils.js",
|
|
60
|
-
"types": "./dist/utils.d.ts"
|
|
63
|
+
"./v1/utils": {
|
|
64
|
+
"import": "./dist/lib/v1/utils.js",
|
|
65
|
+
"types": "./dist/lib/v1/utils.d.ts"
|
|
61
66
|
},
|
|
62
|
-
"./client": {
|
|
63
|
-
"import": "./dist/client.js",
|
|
64
|
-
"types": "./dist/client.d.ts"
|
|
67
|
+
"./v1/client": {
|
|
68
|
+
"import": "./dist/lib/v1/client.js",
|
|
69
|
+
"types": "./dist/lib/v1/client.d.ts"
|
|
70
|
+
},
|
|
71
|
+
"./v2": {
|
|
72
|
+
"import": "./dist/lib/v2/index.js",
|
|
73
|
+
"types": "./dist/lib/v2/index.d.ts"
|
|
74
|
+
},
|
|
75
|
+
"./v2/utils": {
|
|
76
|
+
"import": "./dist/lib/v2/utils.js",
|
|
77
|
+
"types": "./dist/lib/v2/utils.d.ts"
|
|
78
|
+
},
|
|
79
|
+
"./v2/client": {
|
|
80
|
+
"import": "./dist/lib/v2/client.js",
|
|
81
|
+
"types": "./dist/lib/v2/client.d.ts"
|
|
65
82
|
}
|
|
66
83
|
},
|
|
67
84
|
"type": "module",
|
|
68
85
|
"scripts": {
|
|
69
86
|
"dev": "vite",
|
|
70
87
|
"build": "vite build",
|
|
71
|
-
"build:lib": "
|
|
88
|
+
"build:lib": "tsdown",
|
|
89
|
+
"preview": "vite preview",
|
|
90
|
+
"prod": "vite preview",
|
|
72
91
|
"generate": "tsx ./generateSchemas.ts",
|
|
73
92
|
"generate:watch": "tsx ./generateSchemas.ts --watch-path=./**/*.ts",
|
|
74
93
|
"format": "prettier --write ."
|
package/dist/client.d.ts
DELETED
package/dist/client.js
DELETED
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
var k = Object.defineProperty;
|
|
2
|
-
var P = (e, r, t) => r in e ? k(e, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[r] = t;
|
|
3
|
-
var f = (e, r, t) => P(e, typeof r != "symbol" ? r + "" : r, t);
|
|
4
|
-
var p = (e, r, t = {}) => {
|
|
5
|
-
let i = `${e}=${r}`;
|
|
6
|
-
if (e.startsWith("__Secure-") && !t.secure)
|
|
7
|
-
throw new Error("__Secure- Cookie must have Secure attributes");
|
|
8
|
-
if (e.startsWith("__Host-")) {
|
|
9
|
-
if (!t.secure)
|
|
10
|
-
throw new Error("__Host- Cookie must have Secure attributes");
|
|
11
|
-
if (t.path !== "/")
|
|
12
|
-
throw new Error('__Host- Cookie must have Path attributes with "/"');
|
|
13
|
-
if (t.domain)
|
|
14
|
-
throw new Error("__Host- Cookie must not have Domain attributes");
|
|
15
|
-
}
|
|
16
|
-
if (t && typeof t.maxAge == "number" && t.maxAge >= 0) {
|
|
17
|
-
if (t.maxAge > 3456e4)
|
|
18
|
-
throw new Error(
|
|
19
|
-
"Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration."
|
|
20
|
-
);
|
|
21
|
-
i += `; Max-Age=${Math.floor(t.maxAge)}`;
|
|
22
|
-
}
|
|
23
|
-
if (t.domain && t.prefix !== "host" && (i += `; Domain=${t.domain}`), t.path && (i += `; Path=${t.path}`), t.expires) {
|
|
24
|
-
if (t.expires.getTime() - Date.now() > 3456e7)
|
|
25
|
-
throw new Error(
|
|
26
|
-
"Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future."
|
|
27
|
-
);
|
|
28
|
-
i += `; Expires=${t.expires.toUTCString()}`;
|
|
29
|
-
}
|
|
30
|
-
if (t.httpOnly && (i += "; HttpOnly"), t.secure && (i += "; Secure"), t.sameSite && (i += `; SameSite=${t.sameSite.charAt(0).toUpperCase() + t.sameSite.slice(1)}`), t.partitioned) {
|
|
31
|
-
if (!t.secure)
|
|
32
|
-
throw new Error("Partitioned Cookie must have Secure attributes");
|
|
33
|
-
i += "; Partitioned";
|
|
34
|
-
}
|
|
35
|
-
return i;
|
|
36
|
-
}, C = (e, r, t) => (r = encodeURIComponent(r), p(e, r, t)), U = (e, r) => (e = e.replace(/\/+$/, ""), e = e + "/", r = r.replace(/^\/+/, ""), e + r), w = (e, r) => {
|
|
37
|
-
for (const [t, i] of Object.entries(r)) {
|
|
38
|
-
const a = new RegExp("/:" + t + "(?:{[^/]+})?");
|
|
39
|
-
e = e.replace(a, `/${i}`);
|
|
40
|
-
}
|
|
41
|
-
return e;
|
|
42
|
-
}, g = (e, r) => {
|
|
43
|
-
switch (r) {
|
|
44
|
-
case "ws":
|
|
45
|
-
return e.replace(/^http/, "ws");
|
|
46
|
-
case "http":
|
|
47
|
-
return e.replace(/^ws/, "http");
|
|
48
|
-
}
|
|
49
|
-
}, A = (e) => /^https?:\/\/[^\/]+?\/index$/.test(e) ? e.replace(/\/index$/, "/") : e.replace(/\/index$/, "");
|
|
50
|
-
function m(e) {
|
|
51
|
-
return typeof e == "object" && e !== null && !Array.isArray(e);
|
|
52
|
-
}
|
|
53
|
-
function b(e, r) {
|
|
54
|
-
if (!m(e) && !m(r))
|
|
55
|
-
return r;
|
|
56
|
-
const t = { ...e };
|
|
57
|
-
for (const i in r) {
|
|
58
|
-
const a = r[i];
|
|
59
|
-
m(t[i]) && m(a) ? t[i] = b(t[i], a) : t[i] = a;
|
|
60
|
-
}
|
|
61
|
-
return t;
|
|
62
|
-
}
|
|
63
|
-
var x = (e, r) => new Proxy(() => {
|
|
64
|
-
}, {
|
|
65
|
-
get(i, a) {
|
|
66
|
-
if (!(typeof a != "string" || a === "then"))
|
|
67
|
-
return x(e, [...r, a]);
|
|
68
|
-
},
|
|
69
|
-
apply(i, a, n) {
|
|
70
|
-
return e({
|
|
71
|
-
path: r,
|
|
72
|
-
args: n
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
}), _ = class {
|
|
76
|
-
constructor(e, r) {
|
|
77
|
-
f(this, "url");
|
|
78
|
-
f(this, "method");
|
|
79
|
-
f(this, "queryParams");
|
|
80
|
-
f(this, "pathParams", {});
|
|
81
|
-
f(this, "rBody");
|
|
82
|
-
f(this, "cType");
|
|
83
|
-
f(this, "fetch", async (e, r) => {
|
|
84
|
-
if (e) {
|
|
85
|
-
if (e.query) {
|
|
86
|
-
for (const [s, o] of Object.entries(e.query))
|
|
87
|
-
if (o !== void 0)
|
|
88
|
-
if (this.queryParams || (this.queryParams = new URLSearchParams()), Array.isArray(o))
|
|
89
|
-
for (const c of o)
|
|
90
|
-
this.queryParams.append(s, c);
|
|
91
|
-
else
|
|
92
|
-
this.queryParams.set(s, o);
|
|
93
|
-
}
|
|
94
|
-
if (e.form) {
|
|
95
|
-
const s = new FormData();
|
|
96
|
-
for (const [o, c] of Object.entries(e.form))
|
|
97
|
-
if (Array.isArray(c))
|
|
98
|
-
for (const h of c)
|
|
99
|
-
s.append(o, h);
|
|
100
|
-
else
|
|
101
|
-
s.append(o, c);
|
|
102
|
-
this.rBody = s;
|
|
103
|
-
}
|
|
104
|
-
e.json && (this.rBody = JSON.stringify(e.json), this.cType = "application/json"), e.param && (this.pathParams = e.param);
|
|
105
|
-
}
|
|
106
|
-
let t = this.method.toUpperCase();
|
|
107
|
-
const i = {
|
|
108
|
-
...(e == null ? void 0 : e.header) ?? {},
|
|
109
|
-
...typeof (r == null ? void 0 : r.headers) == "function" ? await r.headers() : r != null && r.headers ? r.headers : {}
|
|
110
|
-
};
|
|
111
|
-
if (e != null && e.cookie) {
|
|
112
|
-
const s = [];
|
|
113
|
-
for (const [o, c] of Object.entries(e.cookie))
|
|
114
|
-
s.push(C(o, c, { path: "/" }));
|
|
115
|
-
i.Cookie = s.join(",");
|
|
116
|
-
}
|
|
117
|
-
this.cType && (i["Content-Type"] = this.cType);
|
|
118
|
-
const a = new Headers(i ?? void 0);
|
|
119
|
-
let n = this.url;
|
|
120
|
-
n = A(n), n = w(n, this.pathParams), this.queryParams && (n = n + "?" + this.queryParams.toString()), t = this.method.toUpperCase();
|
|
121
|
-
const l = !(t === "GET" || t === "HEAD");
|
|
122
|
-
return ((r == null ? void 0 : r.fetch) || fetch)(n, {
|
|
123
|
-
body: l ? this.rBody : void 0,
|
|
124
|
-
method: t,
|
|
125
|
-
headers: a,
|
|
126
|
-
...r == null ? void 0 : r.init
|
|
127
|
-
});
|
|
128
|
-
});
|
|
129
|
-
this.url = e, this.method = r;
|
|
130
|
-
}
|
|
131
|
-
}, E = (e, r) => x(function t(i) {
|
|
132
|
-
var c;
|
|
133
|
-
const a = [...i.path];
|
|
134
|
-
if (a[a.length - 1] === "toString")
|
|
135
|
-
return a[a.length - 2] === "name" ? a[a.length - 3] || "" : t.toString();
|
|
136
|
-
if (a[a.length - 1] === "valueOf")
|
|
137
|
-
return a[a.length - 2] === "name" ? a[a.length - 3] || "" : t;
|
|
138
|
-
let n = "";
|
|
139
|
-
if (/^\$/.test(a[a.length - 1])) {
|
|
140
|
-
const h = a.pop();
|
|
141
|
-
h && (n = h.replace(/^\$/, ""));
|
|
142
|
-
}
|
|
143
|
-
const l = a.join("/"), s = U(e, l);
|
|
144
|
-
if (n === "url")
|
|
145
|
-
return i.args[0] && i.args[0].param ? new URL(w(s, i.args[0].param)) : new URL(s);
|
|
146
|
-
if (n === "ws") {
|
|
147
|
-
const h = g(
|
|
148
|
-
i.args[0] && i.args[0].param ? w(s, i.args[0].param) : s,
|
|
149
|
-
"ws"
|
|
150
|
-
), d = new URL(h), v = (c = i.args[0]) == null ? void 0 : c.query;
|
|
151
|
-
return v && Object.entries(v).forEach(([u, y]) => {
|
|
152
|
-
Array.isArray(y) ? y.forEach((S) => d.searchParams.append(u, S)) : d.searchParams.set(u, y);
|
|
153
|
-
}), ((...u) => (r == null ? void 0 : r.webSocket) !== void 0 && typeof r.webSocket == "function" ? r.webSocket(...u) : new WebSocket(...u))(d.toString());
|
|
154
|
-
}
|
|
155
|
-
const o = new _(s, n);
|
|
156
|
-
if (n) {
|
|
157
|
-
r ?? (r = {});
|
|
158
|
-
const h = b(r, { ...i.args[1] ?? {} });
|
|
159
|
-
return o.fetch(i.args[0], h);
|
|
160
|
-
}
|
|
161
|
-
return o;
|
|
162
|
-
}, []);
|
|
163
|
-
const j = (e) => {
|
|
164
|
-
const { baseUrl: r = "https://api.linku.la", fetch: t = globalThis.fetch } = e ?? {};
|
|
165
|
-
return E(r, {
|
|
166
|
-
fetch: t
|
|
167
|
-
});
|
|
168
|
-
};
|
|
169
|
-
export {
|
|
170
|
-
j as client
|
|
171
|
-
};
|
|
172
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlcyI6WyIuLi9ub2RlX21vZHVsZXMvLnBucG0vaG9ub0A0LjUuNi9ub2RlX21vZHVsZXMvaG9uby9kaXN0L3V0aWxzL2Nvb2tpZS5qcyIsIi4uL25vZGVfbW9kdWxlcy8ucG5wbS9ob25vQDQuNS42L25vZGVfbW9kdWxlcy9ob25vL2Rpc3QvY2xpZW50L3V0aWxzLmpzIiwiLi4vbm9kZV9tb2R1bGVzLy5wbnBtL2hvbm9ANC41LjYvbm9kZV9tb2R1bGVzL2hvbm8vZGlzdC9jbGllbnQvY2xpZW50LmpzIiwiLi4vc3JjL2xpYi9jbGllbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gc3JjL3V0aWxzL2Nvb2tpZS50c1xuaW1wb3J0IHsgZGVjb2RlVVJJQ29tcG9uZW50XyB9IGZyb20gXCIuL3VybC5qc1wiO1xudmFyIGFsZ29yaXRobSA9IHsgbmFtZTogXCJITUFDXCIsIGhhc2g6IFwiU0hBLTI1NlwiIH07XG52YXIgZ2V0Q3J5cHRvS2V5ID0gYXN5bmMgKHNlY3JldCkgPT4ge1xuICBjb25zdCBzZWNyZXRCdWYgPSB0eXBlb2Ygc2VjcmV0ID09PSBcInN0cmluZ1wiID8gbmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKHNlY3JldCkgOiBzZWNyZXQ7XG4gIHJldHVybiBhd2FpdCBjcnlwdG8uc3VidGxlLmltcG9ydEtleShcInJhd1wiLCBzZWNyZXRCdWYsIGFsZ29yaXRobSwgZmFsc2UsIFtcInNpZ25cIiwgXCJ2ZXJpZnlcIl0pO1xufTtcbnZhciBtYWtlU2lnbmF0dXJlID0gYXN5bmMgKHZhbHVlLCBzZWNyZXQpID0+IHtcbiAgY29uc3Qga2V5ID0gYXdhaXQgZ2V0Q3J5cHRvS2V5KHNlY3JldCk7XG4gIGNvbnN0IHNpZ25hdHVyZSA9IGF3YWl0IGNyeXB0by5zdWJ0bGUuc2lnbihhbGdvcml0aG0ubmFtZSwga2V5LCBuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUodmFsdWUpKTtcbiAgcmV0dXJuIGJ0b2EoU3RyaW5nLmZyb21DaGFyQ29kZSguLi5uZXcgVWludDhBcnJheShzaWduYXR1cmUpKSk7XG59O1xudmFyIHZlcmlmeVNpZ25hdHVyZSA9IGFzeW5jIChiYXNlNjRTaWduYXR1cmUsIHZhbHVlLCBzZWNyZXQpID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBzaWduYXR1cmVCaW5TdHIgPSBhdG9iKGJhc2U2NFNpZ25hdHVyZSk7XG4gICAgY29uc3Qgc2lnbmF0dXJlID0gbmV3IFVpbnQ4QXJyYXkoc2lnbmF0dXJlQmluU3RyLmxlbmd0aCk7XG4gICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IHNpZ25hdHVyZUJpblN0ci5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgc2lnbmF0dXJlW2ldID0gc2lnbmF0dXJlQmluU3RyLmNoYXJDb2RlQXQoaSk7XG4gICAgfVxuICAgIHJldHVybiBhd2FpdCBjcnlwdG8uc3VidGxlLnZlcmlmeShhbGdvcml0aG0sIHNlY3JldCwgc2lnbmF0dXJlLCBuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUodmFsdWUpKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufTtcbnZhciB2YWxpZENvb2tpZU5hbWVSZWdFeCA9IC9eW1xcdyEjJCUmJyouXmB8fistXSskLztcbnZhciB2YWxpZENvb2tpZVZhbHVlUmVnRXggPSAvXlsgISMtOjwtW1xcXS1+XSokLztcbnZhciBwYXJzZSA9IChjb29raWUsIG5hbWUpID0+IHtcbiAgY29uc3QgcGFpcnMgPSBjb29raWUudHJpbSgpLnNwbGl0KFwiO1wiKTtcbiAgcmV0dXJuIHBhaXJzLnJlZHVjZSgocGFyc2VkQ29va2llLCBwYWlyU3RyKSA9PiB7XG4gICAgcGFpclN0ciA9IHBhaXJTdHIudHJpbSgpO1xuICAgIGNvbnN0IHZhbHVlU3RhcnRQb3MgPSBwYWlyU3RyLmluZGV4T2YoXCI9XCIpO1xuICAgIGlmICh2YWx1ZVN0YXJ0UG9zID09PSAtMSkge1xuICAgICAgcmV0dXJuIHBhcnNlZENvb2tpZTtcbiAgICB9XG4gICAgY29uc3QgY29va2llTmFtZSA9IHBhaXJTdHIuc3Vic3RyaW5nKDAsIHZhbHVlU3RhcnRQb3MpLnRyaW0oKTtcbiAgICBpZiAobmFtZSAmJiBuYW1lICE9PSBjb29raWVOYW1lIHx8ICF2YWxpZENvb2tpZU5hbWVSZWdFeC50ZXN0KGNvb2tpZU5hbWUpKSB7XG4gICAgICByZXR1cm4gcGFyc2VkQ29va2llO1xuICAgIH1cbiAgICBsZXQgY29va2llVmFsdWUgPSBwYWlyU3RyLnN1YnN0cmluZyh2YWx1ZVN0YXJ0UG9zICsgMSkudHJpbSgpO1xuICAgIGlmIChjb29raWVWYWx1ZS5zdGFydHNXaXRoKCdcIicpICYmIGNvb2tpZVZhbHVlLmVuZHNXaXRoKCdcIicpKSB7XG4gICAgICBjb29raWVWYWx1ZSA9IGNvb2tpZVZhbHVlLnNsaWNlKDEsIC0xKTtcbiAgICB9XG4gICAgaWYgKHZhbGlkQ29va2llVmFsdWVSZWdFeC50ZXN0KGNvb2tpZVZhbHVlKSkge1xuICAgICAgcGFyc2VkQ29va2llW2Nvb2tpZU5hbWVdID0gZGVjb2RlVVJJQ29tcG9uZW50Xyhjb29raWVWYWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiBwYXJzZWRDb29raWU7XG4gIH0sIHt9KTtcbn07XG52YXIgcGFyc2VTaWduZWQgPSBhc3luYyAoY29va2llLCBzZWNyZXQsIG5hbWUpID0+IHtcbiAgY29uc3QgcGFyc2VkQ29va2llID0ge307XG4gIGNvbnN0IHNlY3JldEtleSA9IGF3YWl0IGdldENyeXB0b0tleShzZWNyZXQpO1xuICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhwYXJzZShjb29raWUsIG5hbWUpKSkge1xuICAgIGNvbnN0IHNpZ25hdHVyZVN0YXJ0UG9zID0gdmFsdWUubGFzdEluZGV4T2YoXCIuXCIpO1xuICAgIGlmIChzaWduYXR1cmVTdGFydFBvcyA8IDEpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBjb25zdCBzaWduZWRWYWx1ZSA9IHZhbHVlLnN1YnN0cmluZygwLCBzaWduYXR1cmVTdGFydFBvcyk7XG4gICAgY29uc3Qgc2lnbmF0dXJlID0gdmFsdWUuc3Vic3RyaW5nKHNpZ25hdHVyZVN0YXJ0UG9zICsgMSk7XG4gICAgaWYgKHNpZ25hdHVyZS5sZW5ndGggIT09IDQ0IHx8ICFzaWduYXR1cmUuZW5kc1dpdGgoXCI9XCIpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgY29uc3QgaXNWZXJpZmllZCA9IGF3YWl0IHZlcmlmeVNpZ25hdHVyZShzaWduYXR1cmUsIHNpZ25lZFZhbHVlLCBzZWNyZXRLZXkpO1xuICAgIHBhcnNlZENvb2tpZVtrZXldID0gaXNWZXJpZmllZCA/IHNpZ25lZFZhbHVlIDogZmFsc2U7XG4gIH1cbiAgcmV0dXJuIHBhcnNlZENvb2tpZTtcbn07XG52YXIgX3NlcmlhbGl6ZSA9IChuYW1lLCB2YWx1ZSwgb3B0ID0ge30pID0+IHtcbiAgbGV0IGNvb2tpZSA9IGAke25hbWV9PSR7dmFsdWV9YDtcbiAgaWYgKG5hbWUuc3RhcnRzV2l0aChcIl9fU2VjdXJlLVwiKSAmJiAhb3B0LnNlY3VyZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIl9fU2VjdXJlLSBDb29raWUgbXVzdCBoYXZlIFNlY3VyZSBhdHRyaWJ1dGVzXCIpO1xuICB9XG4gIGlmIChuYW1lLnN0YXJ0c1dpdGgoXCJfX0hvc3QtXCIpKSB7XG4gICAgaWYgKCFvcHQuc2VjdXJlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJfX0hvc3QtIENvb2tpZSBtdXN0IGhhdmUgU2VjdXJlIGF0dHJpYnV0ZXNcIik7XG4gICAgfVxuICAgIGlmIChvcHQucGF0aCAhPT0gXCIvXCIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignX19Ib3N0LSBDb29raWUgbXVzdCBoYXZlIFBhdGggYXR0cmlidXRlcyB3aXRoIFwiL1wiJyk7XG4gICAgfVxuICAgIGlmIChvcHQuZG9tYWluKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJfX0hvc3QtIENvb2tpZSBtdXN0IG5vdCBoYXZlIERvbWFpbiBhdHRyaWJ1dGVzXCIpO1xuICAgIH1cbiAgfVxuICBpZiAob3B0ICYmIHR5cGVvZiBvcHQubWF4QWdlID09PSBcIm51bWJlclwiICYmIG9wdC5tYXhBZ2UgPj0gMCkge1xuICAgIGlmIChvcHQubWF4QWdlID4gMzQ1NmU0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiQ29va2llcyBNYXgtQWdlIFNIT1VMRCBOT1QgYmUgZ3JlYXRlciB0aGFuIDQwMCBkYXlzICgzNDU2MDAwMCBzZWNvbmRzKSBpbiBkdXJhdGlvbi5cIlxuICAgICAgKTtcbiAgICB9XG4gICAgY29va2llICs9IGA7IE1heC1BZ2U9JHtNYXRoLmZsb29yKG9wdC5tYXhBZ2UpfWA7XG4gIH1cbiAgaWYgKG9wdC5kb21haW4gJiYgb3B0LnByZWZpeCAhPT0gXCJob3N0XCIpIHtcbiAgICBjb29raWUgKz0gYDsgRG9tYWluPSR7b3B0LmRvbWFpbn1gO1xuICB9XG4gIGlmIChvcHQucGF0aCkge1xuICAgIGNvb2tpZSArPSBgOyBQYXRoPSR7b3B0LnBhdGh9YDtcbiAgfVxuICBpZiAob3B0LmV4cGlyZXMpIHtcbiAgICBpZiAob3B0LmV4cGlyZXMuZ2V0VGltZSgpIC0gRGF0ZS5ub3coKSA+IDM0NTZlNykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIkNvb2tpZXMgRXhwaXJlcyBTSE9VTEQgTk9UIGJlIGdyZWF0ZXIgdGhhbiA0MDAgZGF5cyAoMzQ1NjAwMDAgc2Vjb25kcykgaW4gdGhlIGZ1dHVyZS5cIlxuICAgICAgKTtcbiAgICB9XG4gICAgY29va2llICs9IGA7IEV4cGlyZXM9JHtvcHQuZXhwaXJlcy50b1VUQ1N0cmluZygpfWA7XG4gIH1cbiAgaWYgKG9wdC5odHRwT25seSkge1xuICAgIGNvb2tpZSArPSBcIjsgSHR0cE9ubHlcIjtcbiAgfVxuICBpZiAob3B0LnNlY3VyZSkge1xuICAgIGNvb2tpZSArPSBcIjsgU2VjdXJlXCI7XG4gIH1cbiAgaWYgKG9wdC5zYW1lU2l0ZSkge1xuICAgIGNvb2tpZSArPSBgOyBTYW1lU2l0ZT0ke29wdC5zYW1lU2l0ZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIG9wdC5zYW1lU2l0ZS5zbGljZSgxKX1gO1xuICB9XG4gIGlmIChvcHQucGFydGl0aW9uZWQpIHtcbiAgICBpZiAoIW9wdC5zZWN1cmUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlBhcnRpdGlvbmVkIENvb2tpZSBtdXN0IGhhdmUgU2VjdXJlIGF0dHJpYnV0ZXNcIik7XG4gICAgfVxuICAgIGNvb2tpZSArPSBcIjsgUGFydGl0aW9uZWRcIjtcbiAgfVxuICByZXR1cm4gY29va2llO1xufTtcbnZhciBzZXJpYWxpemUgPSAobmFtZSwgdmFsdWUsIG9wdCkgPT4ge1xuICB2YWx1ZSA9IGVuY29kZVVSSUNvbXBvbmVudCh2YWx1ZSk7XG4gIHJldHVybiBfc2VyaWFsaXplKG5hbWUsIHZhbHVlLCBvcHQpO1xufTtcbnZhciBzZXJpYWxpemVTaWduZWQgPSBhc3luYyAobmFtZSwgdmFsdWUsIHNlY3JldCwgb3B0ID0ge30pID0+IHtcbiAgY29uc3Qgc2lnbmF0dXJlID0gYXdhaXQgbWFrZVNpZ25hdHVyZSh2YWx1ZSwgc2VjcmV0KTtcbiAgdmFsdWUgPSBgJHt2YWx1ZX0uJHtzaWduYXR1cmV9YDtcbiAgdmFsdWUgPSBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpO1xuICByZXR1cm4gX3NlcmlhbGl6ZShuYW1lLCB2YWx1ZSwgb3B0KTtcbn07XG5leHBvcnQge1xuICBwYXJzZSxcbiAgcGFyc2VTaWduZWQsXG4gIHNlcmlhbGl6ZSxcbiAgc2VyaWFsaXplU2lnbmVkXG59O1xuIiwiLy8gc3JjL2NsaWVudC91dGlscy50c1xudmFyIG1lcmdlUGF0aCA9IChiYXNlLCBwYXRoKSA9PiB7XG4gIGJhc2UgPSBiYXNlLnJlcGxhY2UoL1xcLyskLywgXCJcIik7XG4gIGJhc2UgPSBiYXNlICsgXCIvXCI7XG4gIHBhdGggPSBwYXRoLnJlcGxhY2UoL15cXC8rLywgXCJcIik7XG4gIHJldHVybiBiYXNlICsgcGF0aDtcbn07XG52YXIgcmVwbGFjZVVybFBhcmFtID0gKHVybFN0cmluZywgcGFyYW1zKSA9PiB7XG4gIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKHBhcmFtcykpIHtcbiAgICBjb25zdCByZWcgPSBuZXcgUmVnRXhwKFwiLzpcIiArIGsgKyBcIig/OntbXi9dK30pP1wiKTtcbiAgICB1cmxTdHJpbmcgPSB1cmxTdHJpbmcucmVwbGFjZShyZWcsIGAvJHt2fWApO1xuICB9XG4gIHJldHVybiB1cmxTdHJpbmc7XG59O1xudmFyIHJlcGxhY2VVcmxQcm90b2NvbCA9ICh1cmxTdHJpbmcsIHByb3RvY29sKSA9PiB7XG4gIHN3aXRjaCAocHJvdG9jb2wpIHtcbiAgICBjYXNlIFwid3NcIjpcbiAgICAgIHJldHVybiB1cmxTdHJpbmcucmVwbGFjZSgvXmh0dHAvLCBcIndzXCIpO1xuICAgIGNhc2UgXCJodHRwXCI6XG4gICAgICByZXR1cm4gdXJsU3RyaW5nLnJlcGxhY2UoL153cy8sIFwiaHR0cFwiKTtcbiAgfVxufTtcbnZhciByZW1vdmVJbmRleFN0cmluZyA9ICh1cmxTdGluZykgPT4ge1xuICBpZiAoL15odHRwcz86XFwvXFwvW15cXC9dKz9cXC9pbmRleCQvLnRlc3QodXJsU3RpbmcpKSB7XG4gICAgcmV0dXJuIHVybFN0aW5nLnJlcGxhY2UoL1xcL2luZGV4JC8sIFwiL1wiKTtcbiAgfVxuICByZXR1cm4gdXJsU3RpbmcucmVwbGFjZSgvXFwvaW5kZXgkLywgXCJcIik7XG59O1xuZnVuY3Rpb24gaXNPYmplY3QoaXRlbSkge1xuICByZXR1cm4gdHlwZW9mIGl0ZW0gPT09IFwib2JqZWN0XCIgJiYgaXRlbSAhPT0gbnVsbCAmJiAhQXJyYXkuaXNBcnJheShpdGVtKTtcbn1cbmZ1bmN0aW9uIGRlZXBNZXJnZSh0YXJnZXQsIHNvdXJjZSkge1xuICBpZiAoIWlzT2JqZWN0KHRhcmdldCkgJiYgIWlzT2JqZWN0KHNvdXJjZSkpIHtcbiAgICByZXR1cm4gc291cmNlO1xuICB9XG4gIGNvbnN0IG1lcmdlZCA9IHsgLi4udGFyZ2V0IH07XG4gIGZvciAoY29uc3Qga2V5IGluIHNvdXJjZSkge1xuICAgIGNvbnN0IHZhbHVlID0gc291cmNlW2tleV07XG4gICAgaWYgKGlzT2JqZWN0KG1lcmdlZFtrZXldKSAmJiBpc09iamVjdCh2YWx1ZSkpIHtcbiAgICAgIG1lcmdlZFtrZXldID0gZGVlcE1lcmdlKG1lcmdlZFtrZXldLCB2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1lcmdlZFtrZXldID0gdmFsdWU7XG4gICAgfVxuICB9XG4gIHJldHVybiBtZXJnZWQ7XG59XG5leHBvcnQge1xuICBkZWVwTWVyZ2UsXG4gIG1lcmdlUGF0aCxcbiAgcmVtb3ZlSW5kZXhTdHJpbmcsXG4gIHJlcGxhY2VVcmxQYXJhbSxcbiAgcmVwbGFjZVVybFByb3RvY29sXG59O1xuIiwiLy8gc3JjL2NsaWVudC9jbGllbnQudHNcbmltcG9ydCB7IHNlcmlhbGl6ZSB9IGZyb20gXCIuLi91dGlscy9jb29raWUuanNcIjtcbmltcG9ydCB7XG4gIGRlZXBNZXJnZSxcbiAgbWVyZ2VQYXRoLFxuICByZW1vdmVJbmRleFN0cmluZyxcbiAgcmVwbGFjZVVybFBhcmFtLFxuICByZXBsYWNlVXJsUHJvdG9jb2xcbn0gZnJvbSBcIi4vdXRpbHMuanNcIjtcbnZhciBjcmVhdGVQcm94eSA9IChjYWxsYmFjaywgcGF0aCkgPT4ge1xuICBjb25zdCBwcm94eSA9IG5ldyBQcm94eSgoKSA9PiB7XG4gIH0sIHtcbiAgICBnZXQoX29iaiwga2V5KSB7XG4gICAgICBpZiAodHlwZW9mIGtleSAhPT0gXCJzdHJpbmdcIiB8fCBrZXkgPT09IFwidGhlblwiKSB7XG4gICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICB9XG4gICAgICByZXR1cm4gY3JlYXRlUHJveHkoY2FsbGJhY2ssIFsuLi5wYXRoLCBrZXldKTtcbiAgICB9LFxuICAgIGFwcGx5KF8xLCBfMiwgYXJncykge1xuICAgICAgcmV0dXJuIGNhbGxiYWNrKHtcbiAgICAgICAgcGF0aCxcbiAgICAgICAgYXJnc1xuICAgICAgfSk7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIHByb3h5O1xufTtcbnZhciBDbGllbnRSZXF1ZXN0SW1wbCA9IGNsYXNzIHtcbiAgdXJsO1xuICBtZXRob2Q7XG4gIHF1ZXJ5UGFyYW1zID0gdm9pZCAwO1xuICBwYXRoUGFyYW1zID0ge307XG4gIHJCb2R5O1xuICBjVHlwZSA9IHZvaWQgMDtcbiAgY29uc3RydWN0b3IodXJsLCBtZXRob2QpIHtcbiAgICB0aGlzLnVybCA9IHVybDtcbiAgICB0aGlzLm1ldGhvZCA9IG1ldGhvZDtcbiAgfVxuICBmZXRjaCA9IGFzeW5jIChhcmdzLCBvcHQpID0+IHtcbiAgICBpZiAoYXJncykge1xuICAgICAgaWYgKGFyZ3MucXVlcnkpIHtcbiAgICAgICAgZm9yIChjb25zdCBbaywgdl0gb2YgT2JqZWN0LmVudHJpZXMoYXJncy5xdWVyeSkpIHtcbiAgICAgICAgICBpZiAodiA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5xdWVyeVBhcmFtcyB8fD0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHYpKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHYyIG9mIHYpIHtcbiAgICAgICAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5hcHBlbmQoaywgdjIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnNldChrLCB2KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChhcmdzLmZvcm0pIHtcbiAgICAgICAgY29uc3QgZm9ybSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgICBmb3IgKGNvbnN0IFtrLCB2XSBvZiBPYmplY3QuZW50cmllcyhhcmdzLmZvcm0pKSB7XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodikpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgdjIgb2Ygdikge1xuICAgICAgICAgICAgICBmb3JtLmFwcGVuZChrLCB2Mik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZvcm0uYXBwZW5kKGssIHYpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJCb2R5ID0gZm9ybTtcbiAgICAgIH1cbiAgICAgIGlmIChhcmdzLmpzb24pIHtcbiAgICAgICAgdGhpcy5yQm9keSA9IEpTT04uc3RyaW5naWZ5KGFyZ3MuanNvbik7XG4gICAgICAgIHRoaXMuY1R5cGUgPSBcImFwcGxpY2F0aW9uL2pzb25cIjtcbiAgICAgIH1cbiAgICAgIGlmIChhcmdzLnBhcmFtKSB7XG4gICAgICAgIHRoaXMucGF0aFBhcmFtcyA9IGFyZ3MucGFyYW07XG4gICAgICB9XG4gICAgfVxuICAgIGxldCBtZXRob2RVcHBlckNhc2UgPSB0aGlzLm1ldGhvZC50b1VwcGVyQ2FzZSgpO1xuICAgIGNvbnN0IGhlYWRlclZhbHVlcyA9IHtcbiAgICAgIC4uLmFyZ3M/LmhlYWRlciA/PyB7fSxcbiAgICAgIC4uLnR5cGVvZiBvcHQ/LmhlYWRlcnMgPT09IFwiZnVuY3Rpb25cIiA/IGF3YWl0IG9wdC5oZWFkZXJzKCkgOiBvcHQ/LmhlYWRlcnMgPyBvcHQuaGVhZGVycyA6IHt9XG4gICAgfTtcbiAgICBpZiAoYXJncz8uY29va2llKSB7XG4gICAgICBjb25zdCBjb29raWVzID0gW107XG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhhcmdzLmNvb2tpZSkpIHtcbiAgICAgICAgY29va2llcy5wdXNoKHNlcmlhbGl6ZShrZXksIHZhbHVlLCB7IHBhdGg6IFwiL1wiIH0pKTtcbiAgICAgIH1cbiAgICAgIGhlYWRlclZhbHVlc1tcIkNvb2tpZVwiXSA9IGNvb2tpZXMuam9pbihcIixcIik7XG4gICAgfVxuICAgIGlmICh0aGlzLmNUeXBlKSB7XG4gICAgICBoZWFkZXJWYWx1ZXNbXCJDb250ZW50LVR5cGVcIl0gPSB0aGlzLmNUeXBlO1xuICAgIH1cbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEhlYWRlcnMoaGVhZGVyVmFsdWVzID8/IHZvaWQgMCk7XG4gICAgbGV0IHVybCA9IHRoaXMudXJsO1xuICAgIHVybCA9IHJlbW92ZUluZGV4U3RyaW5nKHVybCk7XG4gICAgdXJsID0gcmVwbGFjZVVybFBhcmFtKHVybCwgdGhpcy5wYXRoUGFyYW1zKTtcbiAgICBpZiAodGhpcy5xdWVyeVBhcmFtcykge1xuICAgICAgdXJsID0gdXJsICsgXCI/XCIgKyB0aGlzLnF1ZXJ5UGFyYW1zLnRvU3RyaW5nKCk7XG4gICAgfVxuICAgIG1ldGhvZFVwcGVyQ2FzZSA9IHRoaXMubWV0aG9kLnRvVXBwZXJDYXNlKCk7XG4gICAgY29uc3Qgc2V0Qm9keSA9ICEobWV0aG9kVXBwZXJDYXNlID09PSBcIkdFVFwiIHx8IG1ldGhvZFVwcGVyQ2FzZSA9PT0gXCJIRUFEXCIpO1xuICAgIHJldHVybiAob3B0Py5mZXRjaCB8fCBmZXRjaCkodXJsLCB7XG4gICAgICBib2R5OiBzZXRCb2R5ID8gdGhpcy5yQm9keSA6IHZvaWQgMCxcbiAgICAgIG1ldGhvZDogbWV0aG9kVXBwZXJDYXNlLFxuICAgICAgaGVhZGVycyxcbiAgICAgIC4uLm9wdD8uaW5pdFxuICAgIH0pO1xuICB9O1xufTtcbnZhciBoYyA9IChiYXNlVXJsLCBvcHRpb25zKSA9PiBjcmVhdGVQcm94eShmdW5jdGlvbiBwcm94eUNhbGxiYWNrKG9wdHMpIHtcbiAgY29uc3QgcGFydHMgPSBbLi4ub3B0cy5wYXRoXTtcbiAgaWYgKHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdID09PSBcInRvU3RyaW5nXCIpIHtcbiAgICBpZiAocGFydHNbcGFydHMubGVuZ3RoIC0gMl0gPT09IFwibmFtZVwiKSB7XG4gICAgICByZXR1cm4gcGFydHNbcGFydHMubGVuZ3RoIC0gM10gfHwgXCJcIjtcbiAgICB9XG4gICAgcmV0dXJuIHByb3h5Q2FsbGJhY2sudG9TdHJpbmcoKTtcbiAgfVxuICBpZiAocGFydHNbcGFydHMubGVuZ3RoIC0gMV0gPT09IFwidmFsdWVPZlwiKSB7XG4gICAgaWYgKHBhcnRzW3BhcnRzLmxlbmd0aCAtIDJdID09PSBcIm5hbWVcIikge1xuICAgICAgcmV0dXJuIHBhcnRzW3BhcnRzLmxlbmd0aCAtIDNdIHx8IFwiXCI7XG4gICAgfVxuICAgIHJldHVybiBwcm94eUNhbGxiYWNrO1xuICB9XG4gIGxldCBtZXRob2QgPSBcIlwiO1xuICBpZiAoL15cXCQvLnRlc3QocGFydHNbcGFydHMubGVuZ3RoIC0gMV0pKSB7XG4gICAgY29uc3QgbGFzdCA9IHBhcnRzLnBvcCgpO1xuICAgIGlmIChsYXN0KSB7XG4gICAgICBtZXRob2QgPSBsYXN0LnJlcGxhY2UoL15cXCQvLCBcIlwiKTtcbiAgICB9XG4gIH1cbiAgY29uc3QgcGF0aCA9IHBhcnRzLmpvaW4oXCIvXCIpO1xuICBjb25zdCB1cmwgPSBtZXJnZVBhdGgoYmFzZVVybCwgcGF0aCk7XG4gIGlmIChtZXRob2QgPT09IFwidXJsXCIpIHtcbiAgICBpZiAob3B0cy5hcmdzWzBdICYmIG9wdHMuYXJnc1swXS5wYXJhbSkge1xuICAgICAgcmV0dXJuIG5ldyBVUkwocmVwbGFjZVVybFBhcmFtKHVybCwgb3B0cy5hcmdzWzBdLnBhcmFtKSk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgVVJMKHVybCk7XG4gIH1cbiAgaWYgKG1ldGhvZCA9PT0gXCJ3c1wiKSB7XG4gICAgY29uc3Qgd2ViU29ja2V0VXJsID0gcmVwbGFjZVVybFByb3RvY29sKFxuICAgICAgb3B0cy5hcmdzWzBdICYmIG9wdHMuYXJnc1swXS5wYXJhbSA/IHJlcGxhY2VVcmxQYXJhbSh1cmwsIG9wdHMuYXJnc1swXS5wYXJhbSkgOiB1cmwsXG4gICAgICBcIndzXCJcbiAgICApO1xuICAgIGNvbnN0IHRhcmdldFVybCA9IG5ldyBVUkwod2ViU29ja2V0VXJsKTtcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IG9wdHMuYXJnc1swXT8ucXVlcnk7XG4gICAgaWYgKHF1ZXJ5UGFyYW1zKSB7XG4gICAgICBPYmplY3QuZW50cmllcyhxdWVyeVBhcmFtcykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgIHZhbHVlLmZvckVhY2goKGl0ZW0pID0+IHRhcmdldFVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKGtleSwgaXRlbSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRhcmdldFVybC5zZWFyY2hQYXJhbXMuc2V0KGtleSwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgZXN0YWJsaXNoV2ViU29ja2V0ID0gKC4uLmFyZ3MpID0+IHtcbiAgICAgIGlmIChvcHRpb25zPy53ZWJTb2NrZXQgIT09IHZvaWQgMCAmJiB0eXBlb2Ygb3B0aW9ucy53ZWJTb2NrZXQgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICByZXR1cm4gb3B0aW9ucy53ZWJTb2NrZXQoLi4uYXJncyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV3IFdlYlNvY2tldCguLi5hcmdzKTtcbiAgICB9O1xuICAgIHJldHVybiBlc3RhYmxpc2hXZWJTb2NrZXQodGFyZ2V0VXJsLnRvU3RyaW5nKCkpO1xuICB9XG4gIGNvbnN0IHJlcSA9IG5ldyBDbGllbnRSZXF1ZXN0SW1wbCh1cmwsIG1ldGhvZCk7XG4gIGlmIChtZXRob2QpIHtcbiAgICBvcHRpb25zID8/PSB7fTtcbiAgICBjb25zdCBhcmdzID0gZGVlcE1lcmdlKG9wdGlvbnMsIHsgLi4ub3B0cy5hcmdzWzFdID8/IHt9IH0pO1xuICAgIHJldHVybiByZXEuZmV0Y2gob3B0cy5hcmdzWzBdLCBhcmdzKTtcbiAgfVxuICByZXR1cm4gcmVxO1xufSwgW10pO1xuZXhwb3J0IHtcbiAgaGNcbn07XG4iLCJpbXBvcnQgeyBoYyB9IGZyb20gXCJob25vL2NsaWVudFwiO1xuaW1wb3J0IHR5cGUgeyBBcHBUeXBlIH0gZnJvbSBcIi4uL3NlcnZlclwiO1xuXG5leHBvcnQgY29uc3QgY2xpZW50ID0gKGFyZ3M/OiB7IGJhc2VVcmw/OiBzdHJpbmc7IGZldGNoPzogKHR5cGVvZiBnbG9iYWxUaGlzKVtcImZldGNoXCJdIH0pID0+IHtcblx0Y29uc3QgeyBiYXNlVXJsID0gXCJodHRwczovL2FwaS5saW5rdS5sYVwiLCBmZXRjaCA9IGdsb2JhbFRoaXMuZmV0Y2ggfSA9IGFyZ3MgPz8ge307XG5cdHJldHVybiBoYzxBcHBUeXBlPihiYXNlVXJsLCB7XG5cdFx0ZmV0Y2gsXG5cdH0pO1xufTtcblxuZXhwb3J0IHR5cGUgQXBpVHlwZSA9IEFwcFR5cGU7XG4iXSwibmFtZXMiOlsiX3NlcmlhbGl6ZSIsIm5hbWUiLCJ2YWx1ZSIsIm9wdCIsImNvb2tpZSIsInNlcmlhbGl6ZSIsIm1lcmdlUGF0aCIsImJhc2UiLCJwYXRoIiwicmVwbGFjZVVybFBhcmFtIiwidXJsU3RyaW5nIiwicGFyYW1zIiwiayIsInYiLCJyZWciLCJyZXBsYWNlVXJsUHJvdG9jb2wiLCJwcm90b2NvbCIsInJlbW92ZUluZGV4U3RyaW5nIiwidXJsU3RpbmciLCJpc09iamVjdCIsIml0ZW0iLCJkZWVwTWVyZ2UiLCJ0YXJnZXQiLCJzb3VyY2UiLCJtZXJnZWQiLCJrZXkiLCJjcmVhdGVQcm94eSIsImNhbGxiYWNrIiwiX29iaiIsIl8xIiwiXzIiLCJhcmdzIiwiQ2xpZW50UmVxdWVzdEltcGwiLCJ1cmwiLCJtZXRob2QiLCJfX3B1YmxpY0ZpZWxkIiwidjIiLCJmb3JtIiwibWV0aG9kVXBwZXJDYXNlIiwiaGVhZGVyVmFsdWVzIiwiY29va2llcyIsImhlYWRlcnMiLCJzZXRCb2R5IiwiaGMiLCJiYXNlVXJsIiwib3B0aW9ucyIsInByb3h5Q2FsbGJhY2siLCJvcHRzIiwiX2EiLCJwYXJ0cyIsImxhc3QiLCJ3ZWJTb2NrZXRVcmwiLCJ0YXJnZXRV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
|
package/dist/index.d.ts
DELETED