@20syldev/api 5.3.0 → 5.4.0-pre

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 (49) hide show
  1. package/README.md +3 -3
  2. package/dist/app.js +7 -2
  3. package/dist/app.js.map +1 -1
  4. package/dist/middleware/ratelimit.js +1 -1
  5. package/dist/middleware/ratelimit.js.map +1 -1
  6. package/dist/modules/v5/address.js +20 -0
  7. package/dist/modules/v5/address.js.map +1 -0
  8. package/dist/modules/v5/algorithms.js +39 -0
  9. package/dist/modules/v5/algorithms.js.map +1 -0
  10. package/dist/modules/v5/asymmetric.js +10 -3
  11. package/dist/modules/v5/asymmetric.js.map +1 -1
  12. package/dist/modules/v5/barcode.js +424 -0
  13. package/dist/modules/v5/barcode.js.map +1 -0
  14. package/dist/modules/v5/case.js +2 -0
  15. package/dist/modules/v5/case.js.map +1 -1
  16. package/dist/modules/v5/chart.js +16 -10
  17. package/dist/modules/v5/chart.js.map +1 -1
  18. package/dist/modules/v5/chat.js +107 -0
  19. package/dist/modules/v5/chat.js.map +1 -0
  20. package/dist/modules/v5/evaluate.js +8 -5
  21. package/dist/modules/v5/evaluate.js.map +1 -1
  22. package/dist/modules/v5/jwt.js +11 -4
  23. package/dist/modules/v5/jwt.js.map +1 -1
  24. package/dist/modules/v5/matrix.js +5 -4
  25. package/dist/modules/v5/matrix.js.map +1 -1
  26. package/dist/modules/v5/otp.js +16 -7
  27. package/dist/modules/v5/otp.js.map +1 -1
  28. package/dist/modules/v5/symmetric.js +36 -19
  29. package/dist/modules/v5/symmetric.js.map +1 -1
  30. package/dist/modules/v5/text.js +12 -0
  31. package/dist/modules/v5/text.js.map +1 -0
  32. package/dist/modules/v5/tic_tac_toe.js +226 -0
  33. package/dist/modules/v5/tic_tac_toe.js.map +1 -0
  34. package/dist/modules/v5.js +7 -1
  35. package/dist/modules/v5.js.map +1 -1
  36. package/dist/routes/get.js +64 -48
  37. package/dist/routes/get.js.map +1 -1
  38. package/dist/routes/index.js +4 -1
  39. package/dist/routes/index.js.map +1 -1
  40. package/dist/routes/post.js +1 -1
  41. package/dist/utils/helpers.js +6 -1
  42. package/dist/utils/helpers.js.map +1 -1
  43. package/package.json +1 -1
  44. package/dist/modules/v4/colors.js +0 -54
  45. package/dist/modules/v4/colors.js.map +0 -1
  46. package/dist/modules/v4/utils.js +0 -26
  47. package/dist/modules/v4/utils.js.map +0 -1
  48. package/dist/utils/version.js +0 -3
  49. package/dist/utils/version.js.map +0 -1
@@ -8,6 +8,14 @@ import { error } from '../utils/response.js';
8
8
  const router = Router();
9
9
  let activity = [];
10
10
  let lastFetch = 0;
11
+ const postOnly = (name) => (req, res) => {
12
+ const available = versions[req.version]?.endpoints.post.some((e) => e.name === name);
13
+ if (!available) {
14
+ error(res, 404, `Endpoint not available in ${req.version}.`, `${req.latest}/${name}`);
15
+ return;
16
+ }
17
+ error(res, 405, 'This endpoint only supports POST requests.');
18
+ };
11
19
  // Display version information
12
20
  router.get('/:version', (req, res) => {
13
21
  const version = req.params.version;
@@ -51,6 +59,10 @@ router.get('/:version/address', (req, res) => {
51
59
  return;
52
60
  }
53
61
  const parsedCount = count !== undefined ? parseInt(count, 10) : 1;
62
+ if (isNaN(parsedCount)) {
63
+ error(res, 400, 'Please provide a valid count (&count={n})', `${version}/address`);
64
+ return;
65
+ }
54
66
  try {
55
67
  const result = addressFn(country, parsedCount);
56
68
  res.jsonResponse(result);
@@ -62,8 +74,12 @@ router.get('/:version/address', (req, res) => {
62
74
  // Parse a User-Agent string
63
75
  router.get('/:version/agent', (req, res) => {
64
76
  const ua = req.query.ua ?? req.headers['user-agent'] ?? '';
77
+ const agentFn = req.module.agent;
78
+ if (!agentFn) {
79
+ error(res, 404, `Endpoint not available in ${req.version}.`, `${req.latest}/agent`);
80
+ return;
81
+ }
65
82
  try {
66
- const agentFn = req.module.agent;
67
83
  const result = agentFn(ua);
68
84
  res.jsonResponse(result);
69
85
  }
@@ -89,9 +105,7 @@ router.get('/:version/algorithms', (req, res) => {
89
105
  }
90
106
  });
91
107
  // GET asymmetric error
92
- router.get('/:version/asymmetric', (_req, res) => {
93
- error(res, 405, 'This endpoint only supports POST requests.');
94
- });
108
+ router.get('/:version/asymmetric', postOnly('asymmetric'));
95
109
  // Convert text to a different case format
96
110
  router.get('/:version/case', (req, res) => {
97
111
  const { text, to } = req.query;
@@ -121,10 +135,15 @@ router.get('/:version/avatar', (req, res) => {
121
135
  return;
122
136
  }
123
137
  const { seed, size, type, bg, format } = req.query;
138
+ const parsedSize = size !== undefined ? parseInt(size, 10) : undefined;
139
+ if (parsedSize !== undefined && isNaN(parsedSize)) {
140
+ error(res, 400, 'Please provide a valid size (&size={50-2000})', `${req.version}/avatar`);
141
+ return;
142
+ }
124
143
  try {
125
144
  const { contentType, body } = avatarFn({
126
145
  seed: seed,
127
- size: size !== undefined ? parseInt(size, 10) : undefined,
146
+ size: parsedSize,
128
147
  type: type,
129
148
  bg: bg,
130
149
  format: format,
@@ -147,12 +166,18 @@ router.get('/:version/barcode', (req, res) => {
147
166
  error(res, 400, 'Please provide data to encode (?data={string})', `${req.version}/barcode`);
148
167
  return;
149
168
  }
169
+ const parsedWidth = width !== undefined ? parseInt(width, 10) : undefined;
170
+ const parsedHeight = height !== undefined ? parseInt(height, 10) : undefined;
171
+ if ((parsedWidth !== undefined && isNaN(parsedWidth)) || (parsedHeight !== undefined && isNaN(parsedHeight))) {
172
+ error(res, 400, 'Please provide valid dimensions (&width={px}&height={px})', `${req.version}/barcode`);
173
+ return;
174
+ }
150
175
  try {
151
176
  const { contentType, body } = barcodeFn({
152
177
  data: data,
153
178
  type: type,
154
- width: width !== undefined ? parseInt(width, 10) : undefined,
155
- height: height !== undefined ? parseInt(height, 10) : undefined,
179
+ width: parsedWidth,
180
+ height: parsedHeight,
156
181
  format: format,
157
182
  color: color,
158
183
  bg: bg,
@@ -195,14 +220,12 @@ router.get('/:version/captcha', (req, res) => {
195
220
  }
196
221
  });
197
222
  // GET chart error
198
- router.get('/:version/chart', (_req, res) => {
199
- error(res, 405, 'This endpoint only supports POST requests.');
200
- });
223
+ router.get('/:version/chart', postOnly('chart'));
201
224
  // Display stored data
202
225
  router.get('/:version/chat', (req, res) => {
203
226
  try {
204
227
  const messages = req.module.chat('fetch', {
205
- username: 'system',
228
+ username: `reader:${req.ip ?? 'unknown'}`,
206
229
  storage: chatStorage,
207
230
  });
208
231
  res.jsonResponse(messages);
@@ -212,9 +235,7 @@ router.get('/:version/chat', (req, res) => {
212
235
  }
213
236
  });
214
237
  // GET private chat error
215
- router.get('/:version/chat/private', (_req, res) => {
216
- error(res, 405, 'This endpoint only supports POST requests.');
217
- });
238
+ router.get('/:version/chat/private', postOnly('chat'));
218
239
  // Generate color
219
240
  router.get('/:version/color', (req, res) => {
220
241
  try {
@@ -293,8 +314,13 @@ router.get('/:version/cron', (req, res) => {
293
314
  error(res, 400, 'Please provide a cron expression (?expr=* * * * *)', `${version}/cron`);
294
315
  return;
295
316
  }
317
+ const parsedCount = count !== undefined ? parseInt(count, 10) : 5;
318
+ if (isNaN(parsedCount)) {
319
+ error(res, 400, 'Please provide a valid count (&count={n})', `${version}/cron`);
320
+ return;
321
+ }
296
322
  try {
297
- const result = cronFn(expr, count !== undefined ? parseInt(count, 10) : 5, from, timezone ?? 'UTC');
323
+ const result = cronFn(expr, parsedCount, from, timezone ?? 'UTC');
298
324
  res.jsonResponse(result);
299
325
  }
300
326
  catch (err) {
@@ -396,9 +422,7 @@ router.get('/:version/geo', (req, res) => {
396
422
  }
397
423
  });
398
424
  // GET hash error
399
- router.get('/:version/hash', (_req, res) => {
400
- error(res, 405, 'This endpoint only supports POST requests.');
401
- });
425
+ router.get('/:version/hash', postOnly('hash'));
402
426
  // Echo request headers
403
427
  router.get('/:version/headers', (req, res) => {
404
428
  const redacted = new Set(['authorization', 'cookie', 'set-cookie', 'proxy-authorization']);
@@ -406,7 +430,8 @@ router.get('/:version/headers', (req, res) => {
406
430
  for (const [k, v] of Object.entries(req.headers)) {
407
431
  headers[k] = redacted.has(k) ? '[redacted]' : v;
408
432
  }
409
- const filter = req.query.filter;
433
+ const filterParam = req.query.filter;
434
+ const filter = Array.isArray(filterParam) ? filterParam.join(',') : filterParam;
410
435
  if (filter) {
411
436
  const keys = new Set(filter.split(',').map((k) => k.trim().toLowerCase()));
412
437
  headers = Object.fromEntries(Object.entries(headers).filter(([k]) => keys.has(k)));
@@ -420,9 +445,7 @@ router.get('/:version/headers', (req, res) => {
420
445
  });
421
446
  });
422
447
  // GET planning error
423
- router.get('/:version/hyperplanning', (_req, res) => {
424
- error(res, 405, 'This endpoint only supports POST requests.');
425
- });
448
+ router.get('/:version/hyperplanning', postOnly('hyperplanning'));
426
449
  // Display API informations
427
450
  router.get('/:version/infos', (req, res) => {
428
451
  const endpoints = Object.values(versions[req.version].endpoints).flat();
@@ -438,8 +461,12 @@ router.get('/:version/infos', (req, res) => {
438
461
  // Analyze an IP address
439
462
  router.get('/:version/ip', (req, res) => {
440
463
  const address = req.query.address ?? req.ip ?? '';
464
+ const ipFn = req.module.ip;
465
+ if (!ipFn) {
466
+ error(res, 404, `Endpoint not available in ${req.version}.`, `${req.latest}/ip`);
467
+ return;
468
+ }
441
469
  try {
442
- const ipFn = req.module.ip;
443
470
  const result = ipFn(address);
444
471
  res.jsonResponse(result);
445
472
  }
@@ -448,9 +475,7 @@ router.get('/:version/ip', (req, res) => {
448
475
  }
449
476
  });
450
477
  // GET jwt error
451
- router.get('/:version/jwt', (_req, res) => {
452
- error(res, 405, 'This endpoint only supports POST requests.');
453
- });
478
+ router.get('/:version/jwt', postOnly('jwt'));
454
479
  // Calculate Levenshtein distance
455
480
  router.get('/:version/levenshtein', (req, res) => {
456
481
  const { str1, str2 } = req.query;
@@ -471,13 +496,9 @@ router.get('/:version/levenshtein', (req, res) => {
471
496
  }
472
497
  });
473
498
  // GET matrix error
474
- router.get('/:version/matrix', (_req, res) => {
475
- error(res, 405, 'This endpoint only supports POST requests.');
476
- });
499
+ router.get('/:version/matrix', postOnly('matrix'));
477
500
  // GET otp error
478
- router.get('/:version/otp', (_req, res) => {
479
- error(res, 405, 'This endpoint only supports POST requests.');
480
- });
501
+ router.get('/:version/otp', postOnly('otp'));
481
502
  // Generate a color palette from a base color
482
503
  router.get('/:version/palette', (req, res) => {
483
504
  const { color, type } = req.query;
@@ -642,9 +663,7 @@ router.get('/:version/statistics', (req, res) => {
642
663
  }
643
664
  });
644
665
  // GET symmetric error
645
- router.get('/:version/symmetric', (_req, res) => {
646
- error(res, 405, 'This endpoint only supports POST requests.');
647
- });
666
+ router.get('/:version/symmetric', postOnly('symmetric'));
648
667
  // Text utilities (slug, stats, lorem, number)
649
668
  router.get('/:version/text', (req, res) => {
650
669
  const { method, value, type, count, lang, text } = req.query;
@@ -681,15 +700,9 @@ router.get('/:version/text', (req, res) => {
681
700
  }
682
701
  });
683
702
  // GET tic-tac-toe errors
684
- router.get('/:version/tic-tac-toe', (_req, res) => {
685
- error(res, 405, 'This endpoint only supports POST requests.');
686
- });
687
- router.get('/:version/tic-tac-toe/fetch', (_req, res) => {
688
- error(res, 405, 'This endpoint only supports POST requests.');
689
- });
690
- router.get('/:version/tic-tac-toe/list', (_req, res) => {
691
- error(res, 405, 'This endpoint only supports POST requests.');
692
- });
703
+ router.get('/:version/tic-tac-toe', postOnly('tic_tac_toe'));
704
+ router.get('/:version/tic-tac-toe/fetch', postOnly('tic_tac_toe'));
705
+ router.get('/:version/tic-tac-toe/list', postOnly('tic_tac_toe'));
693
706
  // Display or generate time informations, or compute a countdown
694
707
  router.get('/:version/time', (req, res) => {
695
708
  const { type = 'live', start, end, format, timezone, target } = req.query;
@@ -703,9 +716,7 @@ router.get('/:version/time', (req, res) => {
703
716
  }
704
717
  });
705
718
  // GET token error
706
- router.get('/:version/token', (_req, res) => {
707
- error(res, 405, 'This endpoint only supports POST requests.');
708
- });
719
+ router.get('/:version/token', postOnly('token'));
709
720
  // Generate username
710
721
  router.get('/:version/username', (req, res) => {
711
722
  try {
@@ -843,7 +854,12 @@ router.get('/:version/website', async (req, res) => {
843
854
  tag: env.TAG,
844
855
  active: env.ACTIVE,
845
856
  };
846
- const key = req.query.key;
857
+ const keyParam = req.query.key;
858
+ if (Array.isArray(keyParam)) {
859
+ error(res, 400, 'Invalid key.');
860
+ return;
861
+ }
862
+ const key = keyParam;
847
863
  if (key) {
848
864
  if (['__proto__', 'constructor', 'prototype'].some((p) => key.includes(p))) {
849
865
  error(res, 400, 'Invalid key.');
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/routes/get.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/routes/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,MAAM,EAAE,MAAM,SAAS,CAAC;AAE9D,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAW7D,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;AAExB,IAAI,QAAQ,GAA8B,EAAE,CAAC;AAC7C,IAAI,SAAS,GAAG,CAAC,CAAC;AAElB,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC/D,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACrF,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,6BAA6B,GAAG,CAAC,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;QACtF,OAAO;IACX,CAAC;IACD,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,4CAA4C,CAAC,CAAC;AAClE,CAAC,CAAC;AAEF,8BAA8B;AAC9B,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IACpD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,OAAiB,CAAC;IAC7C,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAE,CAAC;IAEzC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,CAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;QACnG,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC,MAA8C,CAAC,CAAC;QAC7F,IAAI,CAAC,YAAY;YAAE,OAAO,GAAG,CAAC;QAC9B,GAAG,CAAC,MAAM,CAAC,GAAG,YAAY;aACrB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAoB,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC;aAC1D,IAAI,CAAC,CAAC,CAAmB,EAAE,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAChF,MAAM,CACH,CACI,KAA8B,EAC9B,QAA4E,EAC9E,EAAE;YACA,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;qBAChD,IAAI,CAAC,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;qBAClD,MAAM,CAAyB,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE;oBACtD,UAAU,CAAC,SAAS,CAAC,GAAG,IAAI,OAAO,GAAG,QAAQ,CAAC,QAAS,CAAC,SAAS,CAAC,EAAE,CAAC;oBACtE,OAAO,UAAU,CAAC;gBACtB,CAAC,EAAE,EAAE,CAAC,CAAC;YACf,CAAC;iBAAM,CAAC;gBACJ,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;YACzD,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,EACD,EAAE,CACL,CAAC;QACN,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,GAAG,CAAC,YAAY,CAAC;QACb,OAAO;QACP,aAAa,EAAE,GAAG,QAAQ,IAAI,OAAO,EAAE;QACvC,SAAS;KACZ,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,sCAAsC;AACtC,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC5D,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IACrC,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAE/B,MAAM,SAAS,GAAI,GAAG,CAAC,MAAkE,CAAC,OAAO,CAAC;IAClG,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,6BAA6B,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,UAAU,CAAC,CAAC;QAClF,OAAO;IACX,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAe,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,2CAA2C,EAAE,GAAG,OAAO,UAAU,CAAC,CAAC;QACnF,OAAO;IACX,CAAC;IAED,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,CAAC,OAA6B,EAAE,WAAW,CAAC,CAAC;QACrE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC;IACtE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,4BAA4B;AAC5B,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC1D,MAAM,EAAE,GAAI,GAAG,CAAC,KAAK,CAAC,EAAyB,IAAK,GAAG,CAAC,OAAO,CAAC,YAAY,CAAY,IAAI,EAAE,CAAC;IAC/F,MAAM,OAAO,GAAI,GAAG,CAAC,MAAsD,CAAC,KAAK,CAAC;IAClF,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,6BAA6B,GAAG,CAAC,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,QAAQ,CAAC,CAAC;QACpF,OAAO;IACX,CAAC;IACD,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;QAC3B,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC;IACpE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,aAAa;AACb,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC/D,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IAC5C,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAE/B,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,UAAiE,CAAC;IAChG,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAgB,CAAC,EAAE,CAAC;QACzE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,wDAAwD,EAAE,GAAG,OAAO,aAAa,CAAC,CAAC;QACnG,OAAO;IACX,CAAC;IAED,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAgB,CAAE,CAAC,KAAe,EAAE,MAAgB,CAAC,CAAC;QAChF,GAAG,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC;IACzE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,uBAAuB;AACvB,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;AAE3D,0CAA0C;AAC1C,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IACzD,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAE/B,MAAM,aAAa,GAAI,GAAG,CAAC,MAAgE,CAAC,WAAW,CAAC;IACxG,IAAI,CAAC,aAAa,EAAE,CAAC;QACjB,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,6BAA6B,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC;QAC/E,OAAO;IACX,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,sCAAsC,EAAE,GAAG,OAAO,OAAO,CAAC,CAAC;QAC3E,OAAO;IACX,CAAC;IAED,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,EAAwB,CAAC,CAAC;QAC7D,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC;IACnE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,wDAAwD;AACxD,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC3D,MAAM,QAAQ,GAAI,GAAG,CAAC,MAA6D,CAAC,MAAM,CAAC;IAC3F,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,6BAA6B,GAAG,CAAC,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,SAAS,CAAC,CAAC;QACrF,OAAO;IACX,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IACnD,MAAM,UAAU,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAc,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjF,IAAI,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QAChD,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,+CAA+C,EAAE,GAAG,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC;QAC1F,OAAO;IACX,CAAC;IACD,IAAI,CAAC;QACD,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;YACnC,IAAI,EAAE,IAA0B;YAChC,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,IAA0B;YAChC,EAAE,EAAE,EAAwB;YAC5B,MAAM,EAAE,MAA4B;SACvC,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC;IACrE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,2BAA2B;AAC3B,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC5D,MAAM,SAAS,GAAI,GAAG,CAAC,MAAgE,CAAC,OAAO,CAAC;IAChG,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,6BAA6B,GAAG,CAAC,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,UAAU,CAAC,CAAC;QACtF,OAAO;IACX,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IACnE,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,gDAAgD,EAAE,GAAG,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC;QAC5F,OAAO;IACX,CAAC;IACD,MAAM,WAAW,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAe,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpF,MAAM,YAAY,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvF,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QAC3G,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,2DAA2D,EAAE,GAAG,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC;QACvG,OAAO;IACX,CAAC;IACD,IAAI,CAAC;QACD,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;YACpC,IAAI,EAAE,IAAc;YACpB,IAAI,EAAE,IAA0B;YAChC,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,MAA4B;YACpC,KAAK,EAAE,KAA2B;YAClC,EAAE,EAAE,EAAwB;SAC/B,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC;IACtE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,mBAAmB;AACnB,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC5D,IAAI,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,OAA+C,CAAC;YAC7E,MAAM,MAAM,GAAG,SAAS,CAAC;gBACrB,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAA0B;gBAC1C,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC/D,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC5D,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC/D,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAgC;gBACjD,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,EAAwB;gBACtC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAA2B;aAC/C,CAAC,CAAC;YACH,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACvC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAc,CAAC;YACtC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,gDAAgD,EAAE,GAAG,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC;gBAC5F,OAAO;YACX,CAAC;YACD,MAAM,MAAM,GAAI,GAAG,CAAC,MAAM,CAAC,OAAiC,CAAC,IAAI,CAAC,CAAC;YACnE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC;IACtE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,kBAAkB;AAClB,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAEjD,sBAAsB;AACtB,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IACzD,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;YACtC,QAAQ,EAAE,UAAU,GAAG,CAAC,EAAE,IAAI,SAAS,EAAE;YACzC,OAAO,EAAE,WAAW;SACvB,CAAC,CAAC;QACH,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,yBAAyB;AACzB,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAEvD,iBAAiB;AACjB,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC1D,IAAI,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,KAAsC,CAAC;YAClE,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAyB,CAAC;YAChD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC;YACzC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACJ,MAAM,MAAM,GAAI,GAAG,CAAC,MAAM,CAAC,KAAsC,EAAE,CAAC;YACpE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC;IACpE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,gBAAgB;AAChB,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC5D,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IAEtC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,+CAA+C,EAAE,GAAG,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC;QAC3F,OAAO;IACX,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,mDAAmD,EAAE,GAAG,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC;QAC/F,OAAO;IACX,CAAC;IACD,IAAI,CAAC,EAAE,EAAE,CAAC;QACN,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,iDAAiD,EAAE,GAAG,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC;QAC7F,OAAO;IACX,CAAC;IAED,IAAI,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,OAAuE,CAAC;YACrG,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAc,EAAE,EAAY,CAAC,CAAC;YACtE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACJ,MAAM,MAAM,GAAI,GAAG,CAAC,MAAM,CAAC,OAAwE,CAC/F,KAAe,EACf,IAAc,EACd,EAAY,CACf,CAAC;YACF,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC;IACtE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,0CAA0C;AAC1C,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC3D,MAAM,QAAQ,GAAI,GAAG,CAAC,MAAyF;SAC1G,MAAM,CAAC;IACZ,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,6BAA6B,GAAG,CAAC,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,SAAS,CAAC,CAAC;QACrF,OAAO;IACX,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IAC3C,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,CACnB,KAA2B,EAC3B,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAe,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EACvD,MAA4B,CAC/B,CAAC;QACF,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC;IACrE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,2DAA2D;AAC3D,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IACzD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IAClD,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAE/B,MAAM,MAAM,GAAI,GAAG,CAAC,MAAiF,CAAC,IAAI,CAAC;IAC3G,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,6BAA6B,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC;QAC/E,OAAO;IACX,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,oDAAoD,EAAE,GAAG,OAAO,OAAO,CAAC,CAAC;QACzF,OAAO;IACX,CAAC;IACD,MAAM,WAAW,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAe,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,2CAA2C,EAAE,GAAG,OAAO,OAAO,CAAC,CAAC;QAChF,OAAO;IACX,CAAC;IAED,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CACjB,IAAc,EACd,WAAW,EACX,IAA0B,EACzB,QAAmB,IAAI,KAAK,CAChC,CAAC;QACF,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC;IACnE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,kBAAkB;AAClB,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IACzD,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IAC3B,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAE/B,MAAM,IAAI,GAAI,GAAG,CAAC,MAA4C,CAAC,IAAI,CAAC;IACpE,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,6BAA6B,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC;QAC/E,OAAO;IACX,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,8CAA8C,EAAE,GAAG,OAAO,OAAO,CAAC,CAAC;QACnF,OAAO;IACX,CAAC;IAED,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAc,CAAC,CAAC;QACpC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC;IACnE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,+BAA+B;AAC/B,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC3D,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC;IACrE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,uBAAuB;AACvB,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC3D,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IAC1C,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAE/B,MAAM,MAAM,GAAI,GAAG,CAAC,MAA0E,CAAC,MAAM,CAAC;IACtG,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,6BAA6B,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,SAAS,CAAC,CAAC;QACjF,OAAO;IACX,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAgB,CAAC,EAAE,CAAC;QACtD,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,kDAAkD,EAAE,GAAG,OAAO,SAAS,CAAC,CAAC;QACzF,OAAO;IACX,CAAC;IAED,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAgB,CAAE,CAAC,IAAc,EAAE,KAAe,CAAC,CAAC;QAC1E,GAAG,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC;IACrE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,6BAA6B;AAC7B,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC7D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IACtC,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAE/B,MAAM,UAAU,GAAI,GAAG,CAAC,MAA4D,CAAC,QAAQ,CAAC;IAC9F,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,6BAA6B,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,WAAW,CAAC,CAAC;QACnF,OAAO;IACX,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,uDAAuD,EAAE,GAAG,OAAO,WAAW,CAAC,CAAC;QAChG,OAAO;IACX,CAAC;IAED,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACzG,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC;IACvE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,0DAA0D;AAC1D,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IACxD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IAC7C,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAE/B,MAAM,GAAG,GAAI,GAAG,CAAC,MAA4E,CAAC,GAAG,CAAC;IAClG,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,6BAA6B,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;QAC9E,OAAO;IACX,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvF,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,0CAA0C,EAAE,GAAG,OAAO,MAAM,CAAC,CAAC;QAC9E,OAAO;IACX,CAAC;IAED,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAc,EAAE,IAAc,EAAE,IAAc,EAAE,IAAc,CAAC,CAAC;QACnF,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC;IAClE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,iBAAiB;AACjB,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAE/C,uBAAuB;AACvB,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC5D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAC3F,IAAI,OAAO,GAA4B,EAAE,CAAC;IAE1C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/C,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;IACrC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,WAAkC,CAAC;IACxG,IAAI,MAAM,EAAE,CAAC;QACT,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC3E,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,GAAG,CAAC,YAAY,CAAC;QACb,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM;QAClC,OAAO;QACP,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,GAAG,EAAE,GAAG,CAAC,WAAW;KACvB,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,qBAAqB;AACrB,MAAM,CAAC,GAAG,CAAC,yBAAyB,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;AAEjE,2BAA2B;AAC3B,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;IAEzE,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE1G,GAAG,CAAC,YAAY,CAAC;QACb,SAAS,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI;QAC9B,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE;QACzC,aAAa,EAAE,QAAQ;QACvB,MAAM,EAAE,iCAAiC;QACzC,QAAQ,EAAE,oBAAoB;KACjC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,wBAAwB;AACxB,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IACvD,MAAM,OAAO,GAAI,GAAG,CAAC,KAAK,CAAC,OAA8B,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;IAC1E,MAAM,IAAI,GAAI,GAAG,CAAC,MAA2C,CAAC,EAAE,CAAC;IACjE,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,6BAA6B,GAAG,CAAC,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC;QACjF,OAAO;IACX,CAAC;IACD,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC;IACjE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,gBAAgB;AAChB,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAE7C,iCAAiC;AACjC,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IAEjC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,gDAAgD,EAAE,GAAG,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC;QAChG,OAAO;IACX,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,iDAAiD,EAAE,GAAG,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC;QACjG,OAAO;IACX,CAAC;IAED,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClD,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC;IAC1E,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,mBAAmB;AACnB,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEnD,gBAAgB;AAChB,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAE7C,6CAA6C;AAC7C,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC5D,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IAClC,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAE/B,MAAM,OAAO,GAAI,GAAG,CAAC,MAA0D,CAAC,OAAO,CAAC;IACxF,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,6BAA6B,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,UAAU,CAAC,CAAC;QAClF,OAAO;IACX,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,8CAA8C,EAAE,GAAG,OAAO,UAAU,CAAC,CAAC;QACtF,OAAO;IACX,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,qDAAqD,EAAE,GAAG,OAAO,UAAU,CAAC,CAAC;QAC7F,OAAO;IACX,CAAC;IAED,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAe,EAAE,IAAc,CAAC,CAAC;QACxD,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC;IACtE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,oCAAoC;AACpC,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC7D,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IACrG,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAE/B,MAAM,UAAU,GACZ,GAAG,CAAC,MACP,CAAC,QAAQ,CAAC;IACX,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,6BAA6B,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,WAAW,CAAC,CAAC;QACnF,OAAO;IACX,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,CAAU,EAAE,GAAY,EAAW,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;IAEjG,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,UAAU,CACpB,IAAe,IAAI,QAAQ,EAC5B,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAC1D;YACI,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC;YACrC,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC;YACrC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;YAC/B,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC;YAClC,OAAO,EAAG,OAAkB,IAAI,EAAE;YAClC,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAe,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,SAAS,EAAG,SAAoB,IAAI,GAAG;SAC1C,CACJ,CAAC;QACF,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC;IACvE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,yBAAyB;AACzB,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC7D,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC;IACvE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,2CAA2C;AAC3C,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAChE,MAAM,EAAE,IAAI,GAAG,OAAO,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IACrC,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAE/B,MAAM,WAAW,GACb,GAAG,CAAC,MAMP,CAAC,WAAW,CAAC;IACd,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,6BAA6B,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,cAAc,CAAC,CAAC;QACtF,OAAO;IACX,CAAC;IAED,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,WAAW,CAAC,IAAc,EAAE,GAAG,CAAC,KAA2C,CAAC,CAAC;QAC5F,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC;IAC1E,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,mBAAmB;AACnB,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IACjE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IAE1B,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,yCAAyC,EAAE,GAAG,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC;QACpF,OAAO;IACX,CAAC;IAED,IAAI,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,MAAqD,CAAC;YAClF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC;gBAC1B,GAAG,EAAE,GAAa;gBAClB,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;gBACzD,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC/D,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,UAAyC;gBAC/D,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAA0B;gBAC1C,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAA2B;gBAC5C,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAA0B;gBAC1C,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;gBACrE,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC9E,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC3E,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAiC;aACtD,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,WAAW,KAAK,kBAAkB,EAAE,CAAC;gBAC5C,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACJ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACnD,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,MAAM,GAAG,MAAO,GAAG,CAAC,MAAM,CAAC,MAAyC,CAAC,GAAa,CAAC,CAAC;YAC1F,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC;IACrE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,sCAAsC;AACtC,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC1D,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IAC3C,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAE/B,MAAM,OAAO,GAAI,GAAG,CAAC,MAAoE,CAAC,KAAK,CAAC;IAChG,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,6BAA6B,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,QAAQ,CAAC,CAAC;QAChF,OAAO;IACX,CAAC;IACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,6CAA6C,EAAE,GAAG,OAAO,QAAQ,CAAC,CAAC;QACnF,OAAO;IACX,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,wCAAwC,EAAE,GAAG,OAAO,QAAQ,CAAC,CAAC;QAC9E,OAAO;IACX,CAAC;IAED,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAiB,EAAE,IAAc,EAAE,KAA2B,CAAC,CAAC;QACvF,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC;IACpE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,kCAAkC;AAClC,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC/D,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IAC7B,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAE/B,MAAM,UAAU,GAAI,GAAG,CAAC,MAAkD,CAAC,UAAU,CAAC;IACtF,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,6BAA6B,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,aAAa,CAAC,CAAC;QACrF,OAAO;IACX,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,iDAAiD,EAAE,GAAG,OAAO,aAAa,CAAC,CAAC;QAC5F,OAAO;IACX,CAAC;IAED,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAgB,CAAC,CAAC;QAC5C,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC;IACzE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,sBAAsB;AACtB,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;AAEzD,8CAA8C;AAC9C,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IACzD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IAC7D,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAE/B,MAAM,OAAO,GAAI,GAAG,CAAC,MAAoE,CAAC,IAAI,CAAC;IAC/F,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,6BAA6B,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC;QAC/E,OAAO;IACX,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAgB,CAAC,EAAE,CAAC;QACvD,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,mEAAmE,EAAE,GAAG,OAAO,OAAO,CAAC,CAAC;QACxG,OAAO;IACX,CAAC;IAED,IAAI,CAAC;QACD,IAAI,MAAe,CAAC;QACpB,QAAQ,MAAM,EAAE,CAAC;YACb,KAAK,MAAM,CAAC;YACZ,KAAK,OAAO;gBACR,MAAM,GAAG,OAAO,CAAC,MAAgB,CAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAW,CAAC,CAAC;gBAC/D,MAAM;YACV,KAAK,OAAO;gBACR,MAAM,GAAG,OAAO,CAAC,KAAM,CAAE,IAAe,IAAI,OAAO,EAAG,KAAgB,IAAI,GAAG,CAAC,CAAC;gBAC/E,MAAM;YACV,KAAK,QAAQ;gBACT,MAAM,GAAG,OAAO,CAAC,MAAO,CAAC,KAAe,EAAG,IAAe,IAAI,IAAI,CAAC,CAAC;gBACpE,MAAM;YACV;gBACI,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC1C,CAAC;QACD,GAAG,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC;IACnE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,yBAAyB;AACzB,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;AAE7D,MAAM,CAAC,GAAG,CAAC,6BAA6B,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;AAEnE,MAAM,CAAC,GAAG,CAAC,4BAA4B,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;AAElE,gEAAgE;AAChE,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IACzD,MAAM,EAAE,IAAI,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IAE1E,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAOE,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,CACf,IAAc,EACd,KAAe,EACf,GAAa,EACb,MAAgB,EAChB,QAAkB,EAClB,MAAgB,CACnB,CAAC;QACF,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC;IACnE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,kBAAkB;AAClB,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAEjD,oBAAoB;AACpB,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC7D,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC;IACvE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,oCAAoC;AACpC,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC7D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IAClC,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;IAE/B,MAAM,QAAQ,GAAI,GAAG,CAAC,MAAgE,CAAC,QAAQ,CAAC;IAChG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,6BAA6B,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,WAAW,CAAC,CAAC;QACnF,OAAO;IACX,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAc,CAAC,EAAE,CAAC;QACpD,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,uDAAuD,EAAE,GAAG,OAAO,WAAW,CAAC,CAAC;QAChG,OAAO;IACX,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,yCAAyC,EAAE,GAAG,OAAO,WAAW,CAAC,CAAC;QAClF,OAAO;IACX,CAAC;IAED,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAc,CAAE,CAAC,KAAe,CAAC,CAAC;QAC1D,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC;IACvE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,2CAA2C;AAC3C,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IAClE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE/B,IAAI,WAAW,GAAG,SAAS,IAAI,gBAAgB,EAAE,CAAC;QAC9C,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,UAAU,CAAC;YAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC;YAC/B,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAE5G,MAAM,KAAK,GAAG;;6BAEG,QAAQ;iDACY,QAAQ;;;;;;;;;;;;;cAa3C,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,gCAAgC,EAAE;gBAC9D,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBACjF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;aAClC,CAAC,CAAC;YAEH,IAAI,CAAC,WAAW,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAE7D,MAAM,IAAI,GAAG,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,CAarC,CAAC;YACF,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YAE9B,MAAM,KAAK,GAAG,IAAI,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,KAAK,IAAI,EAAE,CAAC;YAC/E,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACzB,IAAI,EAAE,CAAC,CAAC,QAAQ;gBAChB,KAAK,EAAE,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC;gBAC1E,IAAI,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC;aACtF,CAAC,CAAC,CAAC;YAEJ,SAAS,GAAG,WAAW,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACL,QAAQ,GAAG,EAAE,CAAC;QAClB,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAA4B;QACtC,QAAQ,EAAE;YACN,IAAI,EAAE,GAAG,CAAC,MAAM;YAChB,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,IAAI,EAAE,GAAG,CAAC,IAAI;SACjB;QACD,gBAAgB,EAAE,GAAG,CAAC,KAAK;QAC3B,gBAAgB,EAAE,GAAG,CAAC,MAAM;QAC5B,YAAY,EAAE,GAAG,CAAC,GAAG;QACrB,WAAW,EAAE,GAAG,CAAC,OAAO;QACxB,KAAK,EAAE;YACH,CAAC,EAAE,GAAG,CAAC,MAAM;YACb,CAAC,EAAE,GAAG,CAAC,MAAM;YACb,CAAC,EAAE,GAAG,CAAC,MAAM;YACb,CAAC,EAAE,GAAG,CAAC,MAAM;YACb,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM;YAC/B,QAAQ;SACX;QACD,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,MAAM,EAAE,GAAG,CAAC,MAAM;KACrB,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;QAChC,OAAO;IACX,CAAC;IACD,MAAM,GAAG,GAAG,QAA8B,CAAC;IAC3C,IAAI,GAAG,EAAE,CAAC;QACN,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;YAChC,OAAO;QACX,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,GAAY,QAAQ,CAAC;QAE/B,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACnB,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC;gBACjE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,GAAG,cAAc,CAAC,CAAC;gBAC3C,OAAO;YACX,CAAC;YACD,MAAM,GAAI,MAAkC,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACpC,OAAO;IACX,CAAC;IAED,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,eAAe,MAAM,CAAC"}
@@ -44,7 +44,10 @@ router.get('/latest', (_req, res) => {
44
44
  router.get('/latest/{*rest}', (req, res) => {
45
45
  const latest = Object.keys(versions).pop();
46
46
  const rest = req.params.rest;
47
- res.redirect(`/${latest}/${rest}`);
47
+ const path = Array.isArray(rest) ? rest.join('/') : rest;
48
+ const queryIndex = req.originalUrl.indexOf('?');
49
+ const query = queryIndex === -1 ? '' : req.originalUrl.slice(queryIndex);
50
+ res.redirect(`/${latest}/${path}${query}`);
48
51
  });
49
52
  export default router;
50
53
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"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"}
@@ -348,7 +348,7 @@ router.post('/:version/tic-tac-toe/list', (req, res) => {
348
348
  // Generate Token
349
349
  router.post('/:version/token', (req, res) => {
350
350
  const body = req.body || {};
351
- const len = parseInt(String(body.len || 24), 10);
351
+ const len = parseInt(String(body.len ?? 24), 10);
352
352
  const type = body.type ? String(body.type).toLowerCase() : 'alpha';
353
353
  if (isNaN(len) || len < 0) {
354
354
  error(res, 400, 'Invalid number.', `${req.version}/token`);
@@ -10,8 +10,13 @@
10
10
  * @throws Error if rate limit is exceeded
11
11
  */
12
12
  export function checkRateLimit(rateLimits, userId, timestamp, window = 10000, limit = 50) {
13
+ for (const key of Object.keys(rateLimits)) {
14
+ if (key !== userId && !rateLimits[key].some((ts) => timestamp - ts < window)) {
15
+ delete rateLimits[key];
16
+ }
17
+ }
13
18
  rateLimits[userId] = (rateLimits[userId] ?? []).filter((ts) => timestamp - ts < window);
14
- if (rateLimits[userId].length > limit) {
19
+ if (rateLimits[userId].length >= limit) {
15
20
  const remainingTime = Math.ceil((rateLimits[userId][0] + window - timestamp) / 1000);
16
21
  throw new Error(`Rate limit exceeded. Try again in ${remainingTime} seconds.`);
17
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAC1B,UAAoC,EACpC,MAAc,EACd,SAAiB,EACjB,MAAM,GAAG,KAAK,EACd,KAAK,GAAG,EAAE;IAEV,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;IAExF,IAAI,UAAU,CAAC,MAAM,CAAE,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAE,CAAC,CAAC,CAAE,GAAG,MAAM,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;QACvF,MAAM,IAAI,KAAK,CAAC,qCAAqC,aAAa,WAAW,CAAC,CAAC;IACnF,CAAC;IAED,UAAU,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,GAAW;IAC/B,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,IAAU;IACjC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACtG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,KAAK;IACjB,OAAO,GAAG,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAC7G,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAI,GAAQ;IAC9B,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAE,CAAC;AACxD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,GAAW;IACjD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAC7D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAAC,OAAe,EAAE,GAAW;IAC9C,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAC1B,UAAoC,EACpC,MAAc,EACd,SAAiB,EACjB,MAAM,GAAG,KAAK,EACd,KAAK,GAAG,EAAE;IAEV,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACxC,IAAI,GAAG,KAAK,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;YAC5E,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;IACL,CAAC;IAED,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;IAExF,IAAI,UAAU,CAAC,MAAM,CAAE,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;QACtC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAE,CAAC,CAAC,CAAE,GAAG,MAAM,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;QACvF,MAAM,IAAI,KAAK,CAAC,qCAAqC,aAAa,WAAW,CAAC,CAAC;IACnF,CAAC;IAED,UAAU,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,GAAW;IAC/B,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,IAAU;IACjC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACtG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,KAAK;IACjB,OAAO,GAAG,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAC7G,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAI,GAAQ;IAC9B,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAE,CAAC;AACxD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,GAAW;IACjD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAC7D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAAC,OAAe,EAAE,GAAW;IAC9C,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC;AACrD,CAAC"}
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "5.3.0",
2
+ "version": "5.4.0-pre",
3
3
  "name": "@20syldev/api",
4
4
  "description": "Node.js API with multiple features. Check the documentation at https://docs.sylvain.sh",
5
5
  "main": "dist/app.js",
@@ -1,54 +0,0 @@
1
- export function hexToRgb(hex) {
2
- const clean = hex.replace('#', '');
3
- if (!/^[0-9a-fA-F]{6}$/.test(clean))
4
- throw new Error('Invalid HEX color (use #RRGGBB)');
5
- return [parseInt(clean.slice(0, 2), 16), parseInt(clean.slice(2, 4), 16), parseInt(clean.slice(4, 6), 16)];
6
- }
7
- export function rgbToHsl(r, g, b) {
8
- const r1 = r / 255, g1 = g / 255, b1 = b / 255;
9
- const max = Math.max(r1, g1, b1), min = Math.min(r1, g1, b1);
10
- const l = (max + min) / 2;
11
- if (max === min)
12
- return [0, 0, l];
13
- const d = max - min;
14
- const s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
15
- let h = 0;
16
- if (max === r1)
17
- h = (g1 - b1) / d + (g1 < b1 ? 6 : 0);
18
- else if (max === g1)
19
- h = (b1 - r1) / d + 2;
20
- else
21
- h = (r1 - g1) / d + 4;
22
- return [(h * 60 + 360) % 360, s, l];
23
- }
24
- export function hslToRgb(h, s, l) {
25
- const c = (1 - Math.abs(2 * l - 1)) * s;
26
- const x = c * (1 - Math.abs(((h / 60) % 2) - 1));
27
- const m = l - c / 2;
28
- let r1 = 0, g1 = 0, b1 = 0;
29
- if (h < 60)
30
- [r1, g1, b1] = [c, x, 0];
31
- else if (h < 120)
32
- [r1, g1, b1] = [x, c, 0];
33
- else if (h < 180)
34
- [r1, g1, b1] = [0, c, x];
35
- else if (h < 240)
36
- [r1, g1, b1] = [0, x, c];
37
- else if (h < 300)
38
- [r1, g1, b1] = [x, 0, c];
39
- else
40
- [r1, g1, b1] = [c, 0, x];
41
- return [Math.round((r1 + m) * 255), Math.round((g1 + m) * 255), Math.round((b1 + m) * 255)];
42
- }
43
- export function rgbToHex(r, g, b) {
44
- return `#${[r, g, b].map((x) => x.toString(16).padStart(2, '0')).join('')}`;
45
- }
46
- export function normalizeColor(value, def) {
47
- if (!value)
48
- return def;
49
- const clean = value.startsWith('#') ? value : `#${value}`;
50
- if (!/^#([0-9a-fA-F]{3}){1,2}$/.test(clean))
51
- throw new Error('Invalid color (use hex like ff6600)');
52
- return clean;
53
- }
54
- //# sourceMappingURL=colors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../../src/modules/v4/colors.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- export function random(arr) {
2
- return arr[Math.floor(Math.random() * arr.length)];
3
- }
4
- export function randomNumber(min, max) {
5
- return Math.floor(Math.random() * (max - min + 1)) + min;
6
- }
7
- export function genIP() {
8
- return `${randomNumber(0, 255)}.${randomNumber(0, 255)}.${randomNumber(0, 255)}.${randomNumber(0, 255)}`;
9
- }
10
- export function formatDate(date) {
11
- return new Date(date.getTime() - date.getTimezoneOffset() * 60000).toISOString().replace('Z', '');
12
- }
13
- export function envList(key) {
14
- const v = process.env[key];
15
- return v && v !== 'undefined' ? v.split(' ') : null;
16
- }
17
- export function checkRateLimit(rateLimits, userId, timestamp, window = 10000, limit = 50) {
18
- rateLimits[userId] = (rateLimits[userId] ?? []).filter((ts) => timestamp - ts < window);
19
- if (rateLimits[userId].length > limit) {
20
- const remainingTime = Math.ceil((rateLimits[userId][0] + window - timestamp) / 1000);
21
- throw new Error(`Rate limit exceeded. Try again in ${remainingTime} seconds.`);
22
- }
23
- rateLimits[userId].push(timestamp);
24
- return false;
25
- }
26
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/modules/v4/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,MAAM,CAAI,GAAQ;IAC9B,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAE,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,GAAW;IACjD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,KAAK;IACjB,OAAO,GAAG,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAC7G,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAU;IACjC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACtG,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAW;IAC/B,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,cAAc,CAC1B,UAAoC,EACpC,MAAc,EACd,SAAiB,EACjB,MAAM,GAAG,KAAK,EACd,KAAK,GAAG,EAAE;IAEV,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;IAExF,IAAI,UAAU,CAAC,MAAM,CAAE,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAE,CAAC,CAAC,CAAE,GAAG,MAAM,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;QACvF,MAAM,IAAI,KAAK,CAAC,qCAAqC,aAAa,WAAW,CAAC,CAAC;IACnF,CAAC;IAED,UAAU,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC;AACjB,CAAC"}
@@ -1,3 +0,0 @@
1
- const REST_VERSIONS = new Set(['v4']);
2
- export const supportsRest = (req) => REST_VERSIONS.has(req.version);
3
- //# sourceMappingURL=version.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAEtC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAY,EAAW,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC"}