@_linked/server 2.9.0 → 2.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,49 @@
1
1
  # @\_linked/server
2
2
 
3
+ ## 2.10.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#67](https://github.com/linked-fw/server/pull/67) [`d541028`](https://github.com/linked-fw/server/commit/d541028464414e37b364501ea90b6f04e7f39c96) Thanks [@flyon](https://github.com/flyon)! - `/resized/*` only resizes images the app already stores, and both branches agree on the cache key.
8
+
9
+ **The SSRF.** `?src=` was handed straight to `fetch`, with the check that should
10
+ have guarded it sitting commented out above a `TODO`. Any unauthenticated caller
11
+ could aim the server at cloud metadata, `localhost`, or a private range — and
12
+ the route is registered _before_ the `apiOnly` guard, so this was live in
13
+ API-only deployments too. Worse than a read: the fetched bytes were written into
14
+ the **public** file store and the caller redirected to the public URL, so a
15
+ reachable internal resource was persisted, not merely leaked. Differing status
16
+ codes (404 connection failed, 400 connected-but-not-an-image) made it a usable
17
+ port scanner even when nothing decoded.
18
+
19
+ `src` must now resolve to a key inside the configured store. `resolveResizeSource`
20
+ compares **parsed origins** — a `startsWith` check is defeated by
21
+ `https://cdn.example.com.evil.com` — rejects embedded credentials and scheme
22
+ downgrades, derives the key, and the route confirms `fileExists` before anything
23
+ is requested. The URL that is finally fetched is **rebuilt from the validated
24
+ key**, never the caller's string, so encoding and fragment tricks cannot
25
+ reintroduce what the check removed.
26
+
27
+ Three limits come with it, because an allowed source should still not be able to
28
+ exhaust the process: a 10s timeout, a 25MB cap enforced while streaming rather
29
+ than after buffering, and `redirect: 'error'`. The redirect rule is not
30
+ optional — `fetch` follows redirects by default, so a 302 would undo the origin
31
+ check one hop later.
32
+
33
+ Refused sources return 400 `Unsupported image source`; a well-formed store URL
34
+ for a file that is not there returns 404, as before.
35
+
36
+ **The cache key.** The underscore in a resized name was emitted by the _width_
37
+ segment, so a height-only request produced `logo_h30.png` on the local branch
38
+ but `logoh30.png` on the remote one — two halves of one route disagreeing on the
39
+ key for the same request. The separator is now emitted once, before either
40
+ dimension, so both read `logo_h30.png`. Height-only entries cached under the old
41
+ name are orphaned: they still resolve if a URL was handed out, but the next
42
+ request generates the new key. Width-only and width+height keys are unchanged,
43
+ which is the overwhelming majority.
44
+
45
+ Tests 126 → 137.
46
+
3
47
  ## 2.9.0
4
48
 
5
49
  ### Minor Changes
@@ -0,0 +1,79 @@
1
+ ---
2
+ summary: >
3
+ /resized/* still takes `?src=` as a full URL and fetches it over HTTP, even
4
+ though the source is now required to be an image this app already stores. The
5
+ fetch is a network round-trip for bytes the process can read directly, and it
6
+ keeps a URL-shaped API for what is really a store key. Collapsing it to
7
+ getFile(key) removes the last of the SSRF surface and deletes code, but it
8
+ changes the route's contract, so it needs a major.
9
+ ---
10
+
11
+ # 001 — Resize by store key instead of fetching a URL
12
+
13
+ ## Where this came from
14
+
15
+ `?src=` used to be handed straight to `fetch`, which made every deployment an
16
+ open proxy into its own network — and because the fetched bytes were written
17
+ into the *public* file store and the caller redirected to them, a reachable
18
+ internal resource was persisted rather than merely leaked.
19
+
20
+ That was fixed by restricting `src` to the configured file store: parsed-origin
21
+ comparison against `LinkedFileStorage.accessURL`, a `fileExists` check on the
22
+ derived key, a fetch of a URL rebuilt from that key, and `redirect: 'error'`
23
+ plus a timeout and a size cap. See `src/utils/resizeSource.ts`.
24
+
25
+ That fix was deliberately the conservative one, because it is backward
26
+ compatible. This item is the version that is actually correct.
27
+
28
+ ## The problem with what is there now
29
+
30
+ Once `src` is guaranteed to name an image in the store, the URL is a store key
31
+ with extra steps:
32
+
33
+ - **The fetch is pointless.** `resizeImage` calls
34
+ `LinkedFileStorage.fileExists(key)` and then performs an HTTP request to
35
+ retrieve bytes that `LinkedFileStorage.getFile(key)` would return directly.
36
+ For a local store that is a loopback request to read a file already on disk.
37
+ - **It keeps a fetch that has to stay correct.** Origin comparison, redirect
38
+ refusal, credential rejection, the size cap and the timeout all exist to make
39
+ an outbound request safe. None of that code needs to exist if there is no
40
+ outbound request.
41
+ - **The API lies about what it accepts.** Callers pass a full URL, but only one
42
+ origin's URLs are valid. A key says what is meant.
43
+
44
+ ## What the change looks like
45
+
46
+ Replace the `src`-fetch branch with a key lookup:
47
+
48
+ ```ts
49
+ const bytes = await LinkedFileStorage.getFile(key);
50
+ ```
51
+
52
+ `resolveResizeSource` still has a job during a deprecation window — turning a
53
+ legacy full URL into a key — but `fetchStoredImage`, and with it the timeout,
54
+ the size cap and the redirect handling, can go.
55
+
56
+ ## Why it is not done yet
57
+
58
+ It is a breaking change to the route's contract. Anything passing
59
+ `?src=<full URL>` keeps working only if the URL-to-key translation is retained,
60
+ and anything passing a third-party URL — which no longer works anyway after the
61
+ SSRF fix — breaks visibly rather than silently.
62
+
63
+ ## First open questions
64
+
65
+ 1. Is `?src=` as a full URL used by real consumers, or is the local branch
66
+ (`/resized/<path>`) the only one anyone uses? That decides whether this needs
67
+ a deprecation window at all.
68
+ 2. Should the key form be a new parameter (`?key=`) so both can coexist for a
69
+ release, or should `src` simply start accepting a key as well as a URL?
70
+ 3. The other branch of the same route reads from `<cwd>/data/uploads` directly,
71
+ bypassing `LinkedFileStorage` entirely, so it cannot work for an S3-backed
72
+ app at all, and its cache directory is never created because the `mkdirSync`
73
+ is commented out. These probably want doing together, since both end at "the
74
+ route reads and writes through the store".
75
+
76
+ ## Related
77
+
78
+ - `src/utils/resizeSource.ts` — the guard this would let go.
79
+ - `src/tests/resized-images.test.ts` — the behaviour that must keep passing.
@@ -39,6 +39,7 @@ import * as React from 'react';
39
39
  import { renderToPipeableStream, renderToStaticMarkup } from 'react-dom/server';
40
40
  import { StaticRouter } from 'react-router-dom/server.js';
41
41
  import sharp from 'sharp';
42
+ import { fetchStoredImage, resolveResizeSource, } from '../utils/resizeSource.js';
42
43
  import { Transform } from 'stream';
43
44
  import { CookieJar } from 'tough-cookie';
44
45
  import { lincdServer } from '../ontologies/lincd-server.js';
@@ -606,18 +607,38 @@ let LinkedServer = class LinkedServer extends Shape {
606
607
  let imageFileName = req.query.src; // example: https://cdnurl.com/uploads/1710814765388-935b511c9_cropped.jpeg
607
608
  const accessURL = LinkedFileStorage.accessURL;
608
609
  if (imageFileName) {
609
- // TODO: restrict resizing to images that are stored by LinkedFileStorage.fileExists()
610
- // if (imageFileName.startsWith(accessURL)) {
611
- // const exists = await LinkedFileStorage.fileExists(
612
- // imageFileName.replace(`${accessURL}/`, ''),
613
- // );
610
+ // `src` may only name an image this app already stores. Before this check
611
+ // the value went straight to fetch(), which made the route an open proxy
612
+ // into its own network -- cloud metadata, localhost, private ranges -- and
613
+ // the response was then written into the PUBLIC file store and the caller
614
+ // redirected to it, so anything reachable was persisted, not just leaked.
615
+ //
616
+ // resolveResizeSource compares parsed origins (a startsWith check is
617
+ // defeated by https://cdn.example.com.evil.com) and hands back the key,
618
+ // which must also exist in the store before anything is requested.
619
+ const source = resolveResizeSource(imageFileName, accessURL);
620
+ if (!source.allowed) {
621
+ res.status(400).send({ error: 'Unsupported image source' });
622
+ return;
623
+ }
624
+ if (!(await LinkedFileStorage.fileExists(source.key))) {
625
+ res.status(404).send({ error: 'Could not fetch image from URL' });
626
+ return;
627
+ }
614
628
  // extract the base name and extension from the imageFileName
615
629
  // example: /uploads/resized/935b511c9_cropped.jpeg
616
- const url = new URL(imageFileName);
630
+ const url = new URL(source.url);
617
631
  const { name, ext } = path.parse(url.pathname);
618
632
  // append the width and height parameters to the base name
619
633
  // example: 935b511c9_cropped_w190.jpeg or 935b511c9_cropped_w190h190.jpeg
620
- const newName = `${name}${width ? '_w' + width : ''}${height ? 'h' + height : ''}`;
634
+ //
635
+ // The underscore is emitted once, before either dimension, rather than as
636
+ // part of the width segment. With it inside the width, a height-only
637
+ // request produced `logoh30.jpeg` here while the local branch below --
638
+ // which has always written the separator unconditionally -- produced
639
+ // `logo_h30.jpeg` for the same request. The two halves of one route
640
+ // disagreed on the cache key.
641
+ const newName = `${name}_${width ? 'w' + width : ''}${height ? 'h' + height : ''}`;
621
642
  // create a new pathname with dimensions
622
643
  // example: /uploads/resized/935b511c9_cropped.jpeg -> /uploads/resized/935b511c9_cropped_w190.jpeg
623
644
  const newPathname = path.join(path.dirname(url.pathname), 'resized', `${newName}${ext}`);
@@ -647,15 +668,11 @@ let LinkedServer = class LinkedServer extends Shape {
647
668
  // // if (process.env.NODE_ENV === 'development' && process.env.NUM_WORKER_PROCESSES) {
648
669
  // // imageFileName = imageFileName.replace('localhost', '127.0.0.1');
649
670
  // // }
650
- // get the image from imageFileName
651
- const image = await globalThis
652
- .fetch(imageFileName)
653
- .then((res) => res.arrayBuffer())
654
- .then((arrayBuffer) => Buffer.from(arrayBuffer))
655
- .catch((err) => {
656
- console.warn('Could not fetch image from URL: ' + err);
657
- return null;
658
- });
671
+ // Fetch the URL rebuilt from the validated key, never the caller's
672
+ // string, and under a timeout, a size cap and redirect: 'error'. The
673
+ // redirect rule is not optional: fetch follows redirects by default, so
674
+ // a 302 would otherwise undo the origin check one hop later.
675
+ const image = await fetchStoredImage(source.url);
659
676
  // if image is null, return 404
660
677
  if (!image) {
661
678
  res.status(404).send({ error: 'Could not fetch image from URL' });
@@ -1 +1 @@
1
- {"version":3,"file":"LinkedServer.js","sourceRoot":"","sources":["../../../src/shapes/LinkedServer.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;AACb,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,OAAqC,MAAM,SAAS,CAAC;AAC5D,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,QAAQ,MAAM,IAAI,CAAC;AAC/B,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAElC,oEAAoE;AACpE,oEAAoE;AACpE,oEAAoE;AACpE,0BAA0B;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAEjF,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EACL,aAAa,EACb,qBAAqB,GACtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACL,sBAAsB,EACtB,cAAc,GACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACL,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,gEAAgE;AAChE,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;AAC3D,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC;AAG7D,mFAAmF;AACnF,oGAAoG;AACpG,MAAM,gBAAgB,GAAG,IAAI,SAAS,EAAE,CAAC;AACzC,6EAA6E;AAC7E,MAAM,uBAAuB,GAAG,WAAW,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;AAErE,sEAAsE;AACrE,UAAkB,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;AAExD,4DAA4D;AAC3D,UAAkB,CAAC,KAAK,GAAG,uBAAuB,CAAC;AAEpD,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE;IACtC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEnB,gBAAgB;IAChB,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AACH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,EAAE,EAAE;IACvC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEnB,gBAAgB;IAChB,kBAAkB,CAAC,GAAG,CAAC,GAAY,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAEpD,6DAA6D;AAC7D,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;AAEnD,kCAAkC;AAClC,2BAA2B;AAC3B,kDAAkD;AAClD,EAAE;AACF,iCAAiC;AACjC,MAAM,CAAC,qBAAqB,CAAC,GAAG,oBAAoB,CAAC;AAErD,oBAAoB,CAAC,IAAI,CAAC,CAAC;AAGpB,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,KAAK;IAqCrC;;;OAGG;IACH,YAAY,MAAgD;QAC1D,KAAK,CACH,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC;YACtD,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,SAAS,CACd,CAAC;QAxCI,gBAAW,GAAwB,IAAI,GAAG,EAAE,CAAC;QAI7C,mBAAc,GAAkC,IAAI,CAAC;QAC7D;;;;;WAKG;QACK,oBAAe,GAAW,EAAE,CAAC;QACrC;;;;;WAKG;QACK,sBAAiB,GAAG,KAAK,CAAC;QAK1B,YAAO,GAAG,cAAc,CAAC;QACzB,YAAO,GAAY,KAAK,CAAC;QACzB,mBAAc,GAAiC,IAAI,GAAG,EAAE,CAAC;QACzD,qBAAgB,GAAiC,IAAI,GAAG,EAAE,CAAC;QACnE,4DAA4D;QACpD,mBAAc,GAAwB,IAAI,GAAG,EAAE,CAAC;QAatD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC;YAC9D,uEAAuE;YACvE,0EAA0E;YAC1E,6BAA6B;YAC7B,IAAI,CAAC,MAAM,GAAG,MAAsB,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,GAAG,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,MAAM,EAAE,CAAC,CAAC;QAEhE,iEAAiE;QACjE,qEAAqE;QACrE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAmCE;IACF,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,WAAW;QACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CACvB,QAAQ,CAAC,YAAY,CACnB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,EAC3C,OAAO,CACR,CACF,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAExB,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC;QAExB,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAElC,MAAM,qBAAqB,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,KAAK,CAAC,0BAA0B;;QACtC,qEAAqE;QACrE,+DAA+D;QAC/D,8EAA8E;QAC9E,6EAA6E;QAC7E,wDAAwD;QACxD,MAAM,UAAU,GAAG,MAAC,IAAI,CAAC,MAAc,0CAAE,gBAAgB,CAAC;QAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;QACvD,IAAI,UAAU,KAAK,KAAK,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YAChD,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,aAAa,CAAC,iBAAiB,EAAE,CAAC;QAClD,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,IAAI,CAAC;YACH,MAAM,EAAC,UAAU,EAAC,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;YACnD,yEAAyE;YACzE,2EAA2E;YAC3E,sEAAsE;YACtE,iDAAiD;YACjD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAc,CAAC,CAAC;YAChD,yEAAyE;YACzE,6DAA6D;YAC7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1C,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,CAAC,GAAG,CACT,+BAA+B,MAAM,CAAC,MAAM,yBAAyB,CACtE,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,0DAA0D,EAAE,GAAG,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,4EAA4E;IAC5E,EAAE;IACF,4DAA4D;IAC5D,mDAAmD;IACnD,OAAO;IACP,IAAI;IAEJ,KAAK,CAAC,KAAK;;QACT,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,wEAAwE;QACxE,sEAAsE;QACtE,sEAAsE;QACtE,wEAAwE;QACxE,oEAAoE;QACpE,yEAAyE;QACzE,qEAAqE;QACrE,sEAAsE;QACtE,0CAA0C;QAC1C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC;QAC3D,MAAM,eAAe,GAAG,sBAAsB,CAAC;YAC7C,WAAW;YACX,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;YACtB,kBAAkB,EAAE,iBAAiB,CAAC,SAAS;SAChD,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAE,EAAE,CACxC,cAAc,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QAE7C,qEAAqE;QACrE,6DAA6D;QAC7D,IAAI,CAAC,MAAM,GAAG;YACZ,SAAS,EACP,WAAW,CAAC,yBAAyB,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO;YACvE,UAAU,EAAE,WAAW,CAAC,mBAAmB,CAAC;SAC7C,CAAC;QACF,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CACnC,OAAO,CAAC,GAAG,EAAE,EACb,oCAAoC,CACrC,CAAC;YACF,IAAI,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC1C,MAAM,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;gBACrE,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,YAAY,CAAC;gBACpC,8CAA8C;gBAC9C,uEAAuE;gBACvE,MAAM,SAAS,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;gBACrD,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,EAAE,CAAC;oBACpB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC,YAAY,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;oBACnE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAChC,CAAC;gBACD,IAAI,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,0CAAG,CAAC,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC,YAAY,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC;QACvD,CAAC;QACD,uEAAuE;QACvE,6DAA6D;QAC7D,mEAAmE;QACnE,gEAAgE;QAChE,wBAAwB;QACxB,IACE,eAAe,CAAC;YACd,UAAU,EAAE,MAAC,IAAI,CAAC,MAAM,CAAC,MAAc,0CAAE,IAAI;YAC7C,WAAW,EAAE,oBAAoB,CAAC,MAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,mCAAI,EAAE,CAAC;SAC9D,CAAC,EACF,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC;QACjC,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;QAC3D,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACxD,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,6BAA6B,CAAC;QAC9D,CAAC;QAED,wEAAwE;QACxE,+DAA+D;QAC/D,qEAAqE;QACrE,+CAA+C;QAC/C,oFAAoF;QACpF,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC;QAExB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;QAExD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,gOAAgO;QAChO,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAExB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,qCAAqC;QACrC,kCAAkC;QAClC,YAAY;QACZ,MAAM;QACN,qBAAqB;QACrB,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAElC,MAAM,qBAAqB,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAExC,wCAAwC;QAExC,UAAU;QACV,sBAAsB;QACtB,gEAAgE;QAChE,6FAA6F;QAC7F,KAAK;QACL,uBAAuB;QACvB,qDAAqD;QACrD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAEjD,sCAAsC;QACtC,EAAE;QACF,sCAAsC;QACtC,yIAAyI;QACzI,yCAAyC;QAEzC,MAAM,IAAI,CAAC,iCAAiC,CAAC,wBAAwB,CAAC,CAAC;QAEvE,gEAAgE;QAChE,mEAAmE;QACnE,iEAAiE;QACjE,6CAA6C;QAC7C,MAAM,cAAc,GAAG,MAAC,IAAI,CAAC,MAAM,CAAC,MAAc,0CAAE,cAAc,CAAC;QACnE,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAClC,CAAC;QAED,qEAAqE;QACrE,mEAAmE;QACnE,iEAAiE;QACjE,gEAAgE;QAChE,qEAAqE;QACrE,0DAA0D;QAE1D,iCAAiC;QACjC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,kBAAkB;QAC7D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,kBAAkB;QAC7D,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,SAAS,EACT,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE;YACzB,MAAM,EAAE,OAAO,EAAE,mCAAmC;YACpD,SAAS,EAAE,IAAI,EAAE,wCAAwC;SAC1D,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,UAAU,EACV,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE;YAC/B,MAAM,EAAE,OAAO,EAAE,mCAAmC;YACpD,SAAS,EAAE,IAAI,EAAE,wCAAwC;SAC1D,CAAC,CACH,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,cAAc,EACd,OAAO,CAAC,MAAM,CAAC,sBAAsB,EAAE;YACrC,MAAM,EAAE,QAAQ,EAAE,mCAAmC;YACrD,SAAS,EAAE,IAAI,EAAE,wCAAwC;SAC1D,CAAC,CACH,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAExE,gGAAgG;QAChG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YAC/C,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,qEAAqE;QACrE,8DAA8D;QAC9D,sEAAsE;QACtE,mEAAmE;QACnE,mEAAmE;QACnE,sEAAsE;QACtE,qEAAqE;QACrE,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,4BAA4B,EAC5B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACvC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACjD,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,mCAAmC,EACnC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACvC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/C,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,oBAAoB,EACpB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CACvC,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,CACxC,CACF,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,2BAA2B,EAC3B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CACvC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,CACtC,CACF,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,uBAAuB,EACvB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CACvC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CACtC,CACF,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,uBAAuB,EACvB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CACvC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CACrC,CACF,CAAC;QACF,oBAAoB;QACpB,0BAA0B;QAC1B,4EAA4E;QAC5E,KAAK;QAEL,0GAA0G;QAC1G,mBAAmB;QACnB,qCAAqC;QACrC,MAAM,IAAI,CAAC,iCAAiC,CAC1C,gCAAgC,CACjC,CAAC;QAEF,2FAA2F;QAC3F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACzC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,yEAAyE;QACzE,2EAA2E;QAC3E,kEAAkE;QAClE,oDAAoD;QACpD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;QACpD,2EAA2E;QAC3E,4EAA4E;QAC5E,MAAM,aAAa,GAAG,CAAC,QAA4B,EAAW,EAAE;YAC9D,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC5C,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACnC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC;QACF,MAAM,YAAY,GAAG,CAAC,GAAoB,EAAE,GAAqB,EAAW,EAAE;YAC5E,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,kCAAkC;gBACvD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC;gBACjD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACpB,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC5C,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC;gBAAE,OAAO;YACpC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC9C,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC;gBAAE,OAAO;YACpC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACpB,mEAAmE;YACnE,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,mBAAmB;QACnB,MAAM,IAAI,CAAC,iCAAiC,CAAC,uBAAuB,CAAC,CAAC;QAEtE,0EAA0E;QAC1E,qEAAqE;QACrE,sEAAsE;QACtE,sDAAsD;QACtD,wEAAwE;QACxE,gEAAgE;QAChE,IAAI,CAAC,CAAA,MAAC,IAAI,CAAC,MAAM,CAAC,MAAc,0CAAE,OAAO,CAAA,EAAE,CAAC;YAC1C,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;QAED,2CAA2C;QAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,OAAO,CACnE,OAAO,EACP,EAAE,CACH,CAAC;QAEF,sFAAsF;QACtF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE;YACvE,OAAO,CAAC,GAAG,CAAC,sCAAsC,IAAI,EAAE,CAAC,CAAC;YAC1D,mCAAmC;QACrC,CAAC,CAAC,CAAC;QACH,4HAA4H;QAC5H,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,KAAM,CAAC;QAC1C,mJAAmJ;QACnJ,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,KAAM,CAAC;QAExC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK;YACzC,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAClC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACxD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;YAC5D,QAAQ,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtB,KAAK,QAAQ;oBACX,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,+BAA+B,CAAC,CAAC;oBACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,KAAK,YAAY;oBACf,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,oBAAoB,CAAC,CAAC;oBAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB;oBACE,MAAM,KAAK,CAAC;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,cAAc,KAAI,CAAC;IAEzB;;;;OAIG;IACH,KAAK,CAAC,UAAU;QACd,OAAO,OAAO,CAAC,GAAG,CAChB,aAAa,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACxC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACvD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAC,iCAAiC,CAAC,MAAc,EAAE,GAAG,IAAW;QACpE,KAAK,IAAI,eAAe,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3D,IAAI,CAAC,eAAe,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjD,SAAS;YACX,CAAC;YACD,IAAI,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBACjD,MAAM,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,qBAAqB;QACnB,8CAA8C;QAC9C,sBAAsB;QACtB,EAAE;QACF,8CAA8C;QAC9C,gDAAgD;QAChD,8BAA8B;QAC9B,gDAAgD;QAChD,UAAU;QACV,sBAAsB;QACtB,iBAAiB;QACjB,4BAA4B;QAC5B,UAAU;QACV,QAAQ;QACR,OAAO;QACP,8BAA8B;QAC9B,gCAAgC;QAChC,sCAAsC;IACxC,CAAC;IACD,KAAK,CAAC,oBAAoB;QACxB,mEAAmE;QACnE,kEAAkE;QAClE,0DAA0D;QAC1D,MAAM,gBAAgB,GAAG,gBAAgB,EAAE,CAAC;QAC5C,MAAM,eAAe,GAAG,IAAI,GAAG,CAG7B,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,gBAAgB,GAAG,IAAI,CAAC,8BAA8B,CAC1D,eAAe,EACf,IAAI,CAAC,OAAO,CACb,CAAC;QACF,KAAK,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,gBAAgB,EAAE,CAAC;YAC5C,MAAM,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE;iBACL,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC;iBAC3D,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;gBACvB,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC/B,6DAA6D;gBAC7D,6DAA6D;gBAC7D,iBAAiB;gBACjB,qBAAqB;gBACrB,2CAA2C;gBAC3C,0CAA0C;gBAC1C,QAAQ;gBACR,MAAM;gBACN,0CAA0C;gBAC1C,8DAA8D;gBAC9D,wDAAwD;gBACxD,4CAA4C;gBAC5C,MAAM,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,8BAA8B,CACpC,WAA+D,EAC/D,cAAmB;QAEnB,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAG7B,CAAC;QACJ,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAC1C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;QAE5C,8CAA8C;QAC9C,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC;YAChC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC3D,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;QAED,iDAAiD;QACjD,OAAO,eAAe,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAC1D,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvC,SAAS;YACX,CAAC;YACD,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACnC,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACpD,IAAI,cAAc,EAAE,CAAC;gBACnB,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;gBAClD,MAAM,GAAG,GAAG,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAChD,IAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,YAAY,EAAE,CAAC;oBACtB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;wBAChD,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;4BACxD,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAC3B,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG;;QACxB,8CAA8C;QAC9C,IAAI,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACxB,IAAI,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACzB,QAAQ;QACR,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACtB,gCAAgC;YAChC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,IAAI,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,2EAA2E;QAC9G,MAAM,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC;QAE9C,IAAI,aAAa,EAAE,CAAC;YAClB,sFAAsF;YACtF,6CAA6C;YAC7C,uDAAuD;YACvD,kDAAkD;YAClD,OAAO;YAEP,6DAA6D;YAC7D,mDAAmD;YACnD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;YACnC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAE/C,0DAA0D;YAC1D,0EAA0E;YAC1E,MAAM,OAAO,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,GACjD,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,EAC1B,EAAE,CAAC;YAEH,wCAAwC;YACxC,mGAAmG;YACnG,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAC1B,SAAS,EACT,GAAG,OAAO,GAAG,GAAG,EAAE,CACnB,CAAC;YAEF,6CAA6C;YAC7C,uGAAuG;YACvG,MAAM,oBAAoB,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC;gBACtD,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtB,CAAC,CAAC,WAAW,CAAC;YAEhB,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAClD,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAC5D,OAAO;YACT,CAAC;YAED,uDAAuD;YACvD,MAAM,WAAW,GAAY,MAAM,iBAAiB,CAAC,UAAU,CAC7D,oBAAoB,CACrB,CAAC;YAEF,2CAA2C;YAC3C,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,gBAAgB,GAAW,SAAS,GAAG,GAAG,GAAG,oBAAoB,CAAC;gBACxE,eAAe;gBACf,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;gBAChE,4CAA4C;gBAC5C,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;gBAC/B,OAAO;YACT,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CACT,GAAG,OAAO,CAAC,GAAG,MACZ,OAAO,CAAC,GAAG,CAAC,IACd,qBAAqB,aAAa,OAAO,KAAK,MAAM,MAAM,IAAI,EAAE,EAAE,CACnE,CAAC;gBACF,2GAA2G;gBAC3G,uFAAuF;gBACvF,wEAAwE;gBACxE,OAAO;gBAEP,mCAAmC;gBACnC,MAAM,KAAK,GAAG,MAAM,UAAU;qBAC3B,KAAK,CAAC,aAAa,CAAC;qBACpB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;qBAChC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;qBAC/C,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,OAAO,CAAC,IAAI,CAAC,kCAAkC,GAAG,GAAG,CAAC,CAAC;oBACvD,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;gBAEL,+BAA+B;gBAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC,CAAC;oBAClE,OAAO;gBACT,CAAC;gBAED,8BAA8B;gBAC9B,IAAI,MAAM,CAAC;gBACX,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC;yBACxB,QAAQ,EAAE;yBACV,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACjC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,IAAI,CAAC,4BAA4B,GAAG,GAAG,CAAC,CAAC;oBACjD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC,CAAC;oBAC5D,OAAO;gBACT,CAAC;gBAED,yEAAyE;gBACzE,IAAI,aAAa,CAAC;gBAClB,QAAQ,MAAM,EAAE,CAAC;oBACf,KAAK,MAAM;wBACT,aAAa,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;wBAChC,MAAM;oBACR,KAAK,KAAK;wBACR,aAAa,GAAG,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;wBACxC,MAAM;oBACR,KAAK,MAAM;wBACT,aAAa,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;wBAChC,MAAM;oBACR,wBAAwB;oBACxB;wBACE,aAAa,GAAG,EAAE,CAAC;gBACvB,CAAC;gBAED,mBAAmB;gBACnB,MAAM,YAAY,GAAW,MAAM,KAAK,CAAC,KAAK,CAAC;qBAC5C,MAAM,CACL,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAC9B,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CACjC;qBACA,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;qBAC/B,QAAQ,EAAE;qBACV,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,OAAO,CAAC,IAAI,CAAC,0BAA0B,GAAG,GAAG,CAAC,CAAC;oBAC/C,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;gBAEL,sCAAsC;gBACtC,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC;oBAC1D,OAAO;gBACT,CAAC;gBAED,sCAAsC;gBACtC,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CACvD,WAAW,EACX,YAAY,CACb,CAAC;gBAEF,eAAe;gBACf,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;gBAChE,4CAA4C;gBAC5C,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;gBAC/B,OAAO;YACT,CAAC;QACH,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,MAAA,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,0CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACvE,CAAC;QAED,iEAAiE;QACjE,IAAI,CAAC,YAAY,EAAE,GAAG,UAAU,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAErC,IAAI,oBAAoB,GACtB,YAAY;YACZ,GAAG;YACH,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1B,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,GAAG;YACH,SAAS,CAAC;QAEZ,IAAI,eAAe,GAAG,IAAI,CAAC,IAAI,CAC7B,OAAO,CAAC,GAAG,EAAE,EACb,MAAM,EACN,SAAS,EACT,SAAS,EACT,oBAAoB,CACrB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAC1C,kCAAkC;YAClC,sFAAsF;YACtF,mGAAmG;YACnG,IAAI;YAEJ,uCAAuC;YACvC,4CAA4C;YAC5C,IAAI,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAC/B,OAAO,CAAC,GAAG,EAAE,EACb,MAAM,EACN,SAAS,EACT,aAAa,CACd,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC5C,OAAO,CAAC,IAAI,CAAC,mCAAmC,GAAG,iBAAiB,CAAC,CAAC;gBACtE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC,CAAC;YAC1E,CAAC;YAED,IAAI,CAAC;gBACH,IAAI,KAAK,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBACrC,KAAK,CAAC,MAAM,CACV,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAC9B,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CACjC,CAAC;gBAEF,qBAAqB;gBACrB,MAAM,KAAK;qBACR,MAAM,CAAC,eAAe,CAAC;qBACvB,IAAI,CAAC,GAAG,EAAE;oBACT,oEAAoE;gBACtE,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,OAAO,CAAC,IAAI,CACV,2CAA2C;wBACzC,eAAe;wBACf,IAAI;wBACJ,GAAG,CACN,CAAC;gBACJ,CAAC,CAAC,CAAC;gBACL,EAAE;gBACF,6CAA6C;gBAC7C,mBAAmB;gBACnB,kDAAkD;gBAClD,uBAAuB;gBACvB,gBAAgB;gBAChB,iBAAiB;gBACjB,kCAAkC;gBAClC,aAAa;gBACb,gBAAgB;gBAChB,iCAAiC;gBACjC,aAAa;gBACb,gBAAgB;gBAChB,iCAAiC;gBACjC,aAAa;gBACb,aAAa;gBACb,kCAAkC;gBAClC,IAAI;gBACJ,8CAA8C;gBAC9C,mBAAmB;YACrB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QACD,wBAAwB;QACxB,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,GAAW,EAAE,iBAA0B,KAAK;;QAClE,IAAI,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,6CAA6C;YAC7C,eAAe;YACf,wCAAwC;YACxC,YAAY;YACZ,mCAAmC;YACnC,KAAK;YACL,yEAAyE;YACzE,uEAAuE;YACvE,yEAAyE;YACzE,sEAAsE;YACtE,yEAAyE;YACzE,iEAAiE;YACjE,MAAM,IAAI,GAAQ,MAAC,IAAI,CAAC,MAAM,CAAC,MAAc,0CAAE,IAAI,CAAC;YACpD,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;gBACrD,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,+DAA+D;gBAC/D,kEAAkE;gBAClE,iDAAiD;gBACjD,MAAM,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YACvC,CAAC;YACD,gDAAgD;QAClD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,gBAAgB,GAClB,CAAC,CAAC,IAAI,KAAK,kBAAkB;gBAC7B,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,wBAAwB,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3D,IAAI,gBAAgB,EAAE,CAAC;gBACrB,kEAAkE;gBAClE,IAAI,cAAc,EAAE,CAAC;oBACnB,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,OAAO,CACX,0BAA0B,GAAG,EAAE,EAC/B,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,OAAO,KAAK,WAAW;wBAC7D,CAAC,CAAC,YAAY;4BACZ,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;wBAC3C,CAAC,CAAC,EAAE,CACP,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,GAAG,CACP,kBAAkB,GAAG,KACnB,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,OAAO,KAAK,WAAW;oBAC7D,CAAC,CAAC,YAAY;wBACZ,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC3C,CAAC,CAAC,EACN,KAAK,CAAC,CAAC,OAAO,IAAI,CACnB,EACD,CAAC,CAAC,KAAK,CACR,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,CAAC,4BAA4B,CAChC,GAAW,EACX,iBAA0B,KAAK,EAC/B,oBAA6B;;QAE7B,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,oBAAoB,GAAG,GAAG,GAAG,UAAU,CAAC;QAC1C,CAAC;QACD,IAAI,sBAAsB,CAAC;QAC3B,IAAI,sBAAsB,CAAC;QAC3B,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,oEAAoE;QACpE,uEAAuE;QACvE,yDAAyD;QACzD,wEAAwE;QACxE,yDAAyD;QACzD,MAAM,IAAI,GAAQ,MAAC,IAAI,CAAC,MAAM,CAAC,MAAc,0CAAE,IAAI,CAAC;QACpD,MAAM,UAAU,GAAG,KAAK,EAAE,SAAiB,EAAE,EAAE;;YAC7C,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;gBACrD,wEAAwE;gBACxE,mEAAmE;gBACnE,IAAI,SAAS,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,UAAU,EAAE,CAAC;oBACjD,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;gBACrD,CAAC;gBACD,iEAAiE;gBACjE,+DAA+D;gBAC/D,gEAAgE;gBAChE,+DAA+D;gBAC/D,+BAA+B;gBAC/B,EAAE;gBACF,2DAA2D;gBAC3D,2DAA2D;gBAC3D,8DAA8D;gBAC9D,+DAA+D;gBAC/D,6DAA6D;gBAC7D,4DAA4D;gBAC5D,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,MAAA,IAAI,CAAC,eAAe,0CAAE,SAAS,mDAAG,SAAS,CAAC,CAAA,CAAC;oBACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,2DAA2D;wBAC3D,iDAAiD;wBACjD,MAAM,GAAG,GAAQ,IAAI,KAAK,CACxB,sBAAsB,SAAS,kBAAkB,SAAS,yBAAyB,CACpF,CAAC;wBACF,MAAM,GAAG,CAAC;oBACZ,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,0DAA0D;oBAC1D,4DAA4D;oBAC5D,mBAAmB;oBACnB,IAAI,CAAC,CAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO,0CAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAA,EAAE,CAAC;wBAChD,uDAAuD;oBACzD,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,CAAC;oBACV,CAAC;gBACH,CAAC;gBACD,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAC7C,CAAC;YACD,8DAA8D;YAC9D,kDAAkD;YAClD,OAAO,MAAM,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC;QACF,MAAM,UAAU,CAAC,oBAAoB,CAAC;aACnC,IAAI,CAAC,CAAC,sBAAsB,EAAE,EAAE;YAC/B,2EAA2E;YAC3E,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClD,IAAI,aAAa,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;gBAChD,+CAA+C;gBAC/C,qFAAqF;gBACrF,IAAI,QAAQ,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACpD,IAAI,QAAQ,YAAY,aAAa,EAAE,CAAC;oBACtC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC5D,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,GAAG,CAAC,GACR,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,IAC9C,eAAe,GAAG;gFAC8C,CAAC,CAClE,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,sBAAsB,EAAE,CAAC;wBAC3B,OAAO,CAAC,IAAI,CACV,WAAW,GAAG,4DAA4D,CAC3E,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,sBAAsB,GAAG,QAAQ,CAAC;oBACpC,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;;YACX,4DAA4D;YAC5D,UAAU;YACV,0FAA0F;YAC1F,iEAAiE;YACjE,8DAA8D;YAC9D,iFAAiF;YACjF,6DAA6D;YAC7D,2DAA2D;YAC3D,8DAA8D;YAC9D,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACxD,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACjE,MAAM,WAAW,GAAG,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,CAAC,CAAC,mCAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,CAAC,CAAC,CAAC;YACrD,MAAM,WAAW,GAAG,oDAAoD,CAAC,IAAI,CAC3E,CAAC,CAAC,OAAO,CACV,CAAC;YACF,IAAI,gBAAgB,GAClB,WAAW;gBACX,CAAC,CAAC,CAAC,WAAW;oBACZ,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAChC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,sBAAsB;wBACjC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;wBAC/C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,IAAI,gBAAgB,EAAE,CAAC;gBACrB,kEAAkE;gBAClE,IAAI,cAAc,EAAE,CAAC;oBACnB,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,OAAO,CAAC,0CAA0C,GAAG;;;kGAGyB,CAAC,CACtF,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,GAAG,CACP,0CAA0C,GAAG,UAAU,OAAO,CAAC,GAAG,EAAE,KAAK,CAC1E,EACD,CAAC,CAAC,KAAK,CACR,CAAC;YACJ,CAAC;YACD,sBAAsB,GAAG,IAAI,CAAC;QAChC,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;QACvD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAC7C,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,CAAC;IACpD,CAAC;IAED;;;;;;;;;;;OAWG;IACH;;;;OAIG;IACK,kBAAkB;QACxB,kBAAkB,CAChB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACnC,qDAAqD;YACrD,+BAA+B;YAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,GAAW;;QAC9B,MAAM,kBAAkB,GAAG,KAAK,EAAE,CAAM,EAAE,KAAa,EAAE,EAAE;YACzD,IAAI,CAAC,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO,CAAA;gBAAE,OAAO;YACxB,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,IAAI,CAAC;oBACjB,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;oBACzC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CACxB,UAAU,CACR,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,EACnD,IAAI,CACL,CACF;iBACF,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,MAAM,CAAC,YAAY,KAAK,oBAAoB,GAAG,CAAC,OAAO,EAAE,CAAC,CACjE,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,kBAAkB,CAAC,OAAO,EAAE,GAAG,GAAG,mBAAmB,CAAC,CAAC;YAC7D,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,UAAU,GAAG,MAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,EAAE,CAAC;QACtD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,MAAM,kBAAkB,CACtB,CAAC,EACD,GAAG,GAAG,IAAI,MAAA,MAAA,MAAA,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,0CAAE,WAAW,0CAAE,IAAI,mCAAI,gBAAgB,EAAE,CAC5E,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEhC,MAAM,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAEnD,8DAA8D;QAC9D,oEAAoE;QACpE,mEAAmE;QACnE,oEAAoE;QACpE,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,sBAAsB,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,sBAAsB,EAAE,CAAC;YACvC,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,MAAM,CACV,YAAY,GAAG,gDAAgD,GAAG,CAAC,OAAO,EAAE,CAC7E,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,EAAE,CAAC;QACvD,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,IAAI,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,sBAAsB,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACH,MAAM,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBACnC,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAClB,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,MAAM,CACV,YAAY,GAAG,+DAA+D,GAAG,CAAC,OAAO,EAAE,CAC5F,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,2EAA2E;QAC3E,uEAAuE;QACvE,qEAAqE;QACrE,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,OAAO,EAAE,QAAQ;QAC9C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC1C,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QACrC,IAAI,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,WAAW,CAAW,OAAO,CAAC,IAAI,CAAC,CAAC;QAE9D,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,IAAI,CACtE,CAAC,MAAM,EAAE,EAAE;YACT,kHAAkH;YAClH,iCAAiC;YACjC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,sDAAsD;gBACtD,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,+EAA+E;gBAC/E,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;oBAC1B,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,QAAQ;QACd,QAAQ,CAAC,SAAS,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;QACpD,QAAQ,CAAC,SAAS,CAChB,eAAe,EACf,uDAAuD,CACxD,CAAC;QACF,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;IACD,KAAK,CAAC,cAAc,CAClB,OAAO,EACP,QAAQ,EACR,MAAyC;QAEzC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACnE,CAAC;IACD,0CAA0C;IAC1C,EAAE;IACF,yCAAyC;IACzC,IAAI;IACJ,KAAK,CAAC,sBAAsB,CAAC,OAAO,EAAE,QAAQ;;QAC5C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvB,qCAAqC;QACrC,qCAAqC;QACrC,qDAAqD;QACrD,MAAM;QACN,EAAE;QACF,oCAAoC;QACpC,0BAA0B;QAC1B,MAAM;QACN,EAAE;QACF,kCAAkC;QAClC,wBAAwB;QACxB,MAAM;QACN,EAAE;QACF,qCAAqC;QACrC,2BAA2B;QAC3B,sCAAsC;QACtC,MAAM;QAEN,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC1C,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QAC5C,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,WAAW,CAI1D,OAAO,CAAC,IAAI,CAAC,CAAC;QAEjB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,MAAA,OAAO,CAAC,KAAK,0CAAE,QAAQ,EAAE,CAAC;gBAC5B,QAAQ,GAAG,MAAA,OAAO,CAAC,KAAK,0CAAE,QAAQ,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACxB,KAAK,EAAE,+BAA+B,GAAG,OAAO,CAAC,WAAW;iBAC7D,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,GAAG,CAAC,+BAA+B,GAAG,OAAO,CAAC,WAAW,CAAC,CACjE,CAAC;gBACF,OAAO;YACT,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CACzB,GAAG,EACH,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,IAAI,EACJ,OAAO,EACP,QAAQ,CACT,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAChB,6KAA6K;YAC7K,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC3D,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,GAAW,EACX,MAAc,EACd,QAAgB,EAChB,YAAmC,EACnC,IAAW,EACX,OAAO,EACP,QAAQ;;QAER,0CAA0C;QAC1C,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,qBAAqB,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEzD,IAAI,oBAAoB,GAAG,CAAC,WAAmB,EAAE,EAAE;YACjD,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;;gBAC7C,kEAAkE;gBAClE,iEAAiE;gBACjE,OAAO,CACL,QAAQ,YAAY,aAAa;oBACjC,CAAA,MAAA,MAAA,QAAQ,CAAC,KAAK,0CAAE,KAAK,0CAAE,EAAE,MAAK,WAAW,CAC1C,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,IAAI,oBAAoB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC;YACH,0BAA0B;YAC1B,IAAI,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,aAAa,GAAkB,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK;gBAClD,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3C,CAAC,CAAC,SAAS,CAAC;YACd,IAAI,CAAC,aAAa,IAAI,UAAU,EAAE,CAAC;gBACjC,IAAI,iBAAiB,GAAG,qBAAqB,CAC3C,UAAqC,CACtC,CAAC;gBACF,KAAK,IAAI,eAAe,IAAI,iBAAiB,EAAE,CAAC;oBAC9C,IAAI,kBAAkB,GAAG,oBAAoB,CAC3C,MAAA,eAAe,CAAC,KAAK,0CAAE,EAAE,CAC1B,CAAC;oBACF,IAAI,kBAAkB,EAAE,CAAC;wBACvB,aAAa,GAAG,kBAAkB,CAAC;wBACnC,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YACD,sEAAsE;YACtE,uEAAuE;YACvE,4DAA4D;YAC5D,2EAA2E;YAC3E,8DAA8D;YAC9D,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAI,CACV,oDAAoD,QAAQ,IAAI;oBAC9D,SAAS,GAAG,cAAc,MAAM,KAAK,CACxC,CAAC;gBACF,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI,MAAM,EAAE,CAAC,CAAC;YACrE,CAAC;YAED,IAAI,aAAa,EAAE,CAAC;gBAClB,wJAAwJ;gBACxJ,+DAA+D;gBAC/D,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;oBACxB,wDAAwD;oBACxD,oFAAoF;oBACpF,MAAM,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACtE,CAAC;gBAED,uDAAuD;gBACvD,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC1B,4BAA4B;oBAC5B,yGAAyG;oBACzG,4BAA4B;oBAC5B,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;wBACxB,2HAA2H;wBAC3H,IAAI,YAAY,EAAE,CAAC;4BACjB,IAAI,kBAAkB,GAAG,aAAa,CAAC,KAAK,CAAC;4BAC7C,IAAI,QAAQ,GAAG,IAAK,kBAA0B,CAAC;gCAC7C,EAAE,EAAE,YAAY,CAAC,EAAE;6BACpB,CAAC,CAAC;4BAEH,uEAAuE;4BACvE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;wBACzB,CAAC;wBAED,IAAI,CAAC;4BACH,0CAA0C;4BAC1C,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAChC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,CACjD,CAAC;4BACF,OAAO,MAAM,CAAC;wBAChB,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,OAAO,CAAC,IAAI,CACV,wBACE,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,IACnD,IAAI,MAAM,MAAM,EAChB,CAAC,CACF,CAAC;4BACF,8DAA8D;4BAC9D,8DAA8D;4BAC9D,kCAAkC;4BAClC,oBAAoB,GAAG,IAAI,CAAC;4BAC5B,MAAM,CAAC,CAAC;wBACV,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,IAAI,CACV,GACE,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,IACnD,2FAA2F,CAC5F,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CACV,GACE,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,IACnD,kCAAkC,MAAM,EAAE,CAC3C,CAAC;oBACF,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI,MAAM,EAAE,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,oBAAoB,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtD,OAAO,CAAC,IAAI,CAAC,6CAA6C,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;YAC1E,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,EAAE;QACb,OAAO,KAAK,WAAW,GAAG,EAAE,GAAG,EAAE,IAAI;YACnC,IAAI,CAAC;gBACH,OAAO,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACf,IAAI,CAAC,CAAC,CAAC,CAAC;YACV,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,EAAE;QACjB,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YAC9B,IAAI,CAAC;gBACH,OAAO,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,sEAAsE;gBACtE,mEAAmE;gBACnE,IAAI,eAAe,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBACtD,CAAC;gBACD,IAAI,CAAC,SAAS,CACZ,GAAG,EACH,GAAG,EACH,uBAAuB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,IAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,CAAA,CAAC,CAAC,CAAC,EAAE,CAAC,EAClE,yBAAyB,IAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,CAAA,CACvC,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,GAAG,EAAE,UAAU,GAAG,GAAG,EAAE,OAAO,EAAE,UAAmB;QAC3D,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QACxB,IAAI,OAAO,EAAE,CAAC;YACZ,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG;;QACnB,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/B,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,4IAA4I;QAC5I,mEAAmE;QACnE,8BAA8B;QAC9B,IAAI,GAAG,CAAC,cAAc,CAAC,IAAI,IAAI,EAAE,CAAC;YAChC,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;QAC3B,CAAC;QAED,6BAA6B;QAC7B,IACE,CAAA,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,0CAAE,UAAU;YAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAC/C,CAAC;YACD,2CAA2C;YAC3C,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,oDAAoD;gBACpD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC3C,6DAA6D;gBAC7D,+EAA+E;gBAC/E,6BAA6B;gBAC7B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACf,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,IAAI,GAAG,GAAG,CAAA,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,0CAAE,gBAAgB;YAC5C,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE;YAC7C,CAAC,CAAC,IAAI,CAAC;QAET,0DAA0D;QAC1D,iEAAiE;QACjE,iEAAiE;QACjE,mEAAmE;QACnE,gEAAgE;QAChE,mEAAmE;QACnE,+DAA+D;QAC/D,sDAAsD;QACtD,uDAAuD;QACvD,MAAM,IAAI,GAAQ,MAAC,IAAI,CAAC,MAAM,CAAC,MAAc,0CAAE,IAAI,CAAC;QACpD,kDAAkD;QAClD,oEAAoE;QACpE,qEAAqE;QACrE,mEAAmE;QACnE,kEAAkE;QAClE,6DAA6D;QAC7D,+DAA+D;QAC/D,gCAAgC;QAChC,MAAM,cAAc,GAAQ,MAAC,IAAI,CAAC,MAAM,CAAC,MAAc,0CAAE,cAAc,CAAC;QACxE,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,KAAI,cAAc,IAAI,CAAE,IAAY,CAAC,iBAAiB,EAAE,CAAC;YAC9E,IAAI,CAAC;gBACH,MAAM,SAAS,GAAa,MAAM,cAAc,EAAE,CAAC;gBACnD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;oBAC1B,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;oBAC9B,CAAC;oBAAC,QAAO,kDAAkD,IAAnD,CAAC,CAAA,kDAAkD,CAAA,CAAC;gBAC9D,CAAC;YACH,CAAC;YAAC,QAAO,YAAY,IAAb,CAAC,CAAA,YAAY,CAAA,CAAC;YACrB,IAAY,CAAC,iBAAiB,GAAG,IAAI,CAAC;QACzC,CAAC;QAED,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,0CAAE,aAAa,EAAE,CAAC;YACrC,MAAM,SAAS,GAAa,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;YAC/B,+DAA+D;YAC/D,mEAAmE;YACnE,+DAA+D;YAC/D,iEAAiE;YACjE,kEAAkE;YAClE,gEAAgE;YAChE,gEAAgE;YAChE,8DAA8D;YAC9D,qCAAqC;YACrC,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,aAGnC,EAAE,CAAC;gBACF,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAE,SAAS;gBAC3B,IAAI,CAAC,yCAAyC,CAAC,IAAI,CAAC,EAAE,CAAC;oBAAE,SAAS;gBAClE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACb,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;oBACjE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;oBACtD,IAAI,OAAO,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAA,KAAK,QAAQ,EAAE,CAAC;wBAC3C,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;gBAAC,QAAO,UAAU,IAAX,CAAC,CAAA,UAAU,CAAA,CAAC;YACtB,CAAC;YACD,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QACA,IAAI,CAAC,MAAc,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC;QAE9C,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACjC,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAEvE,qEAAqE;QACrE,+CAA+C;QAC/C,iCAAiC;QACjC,gEAAgE;QAChE,+CAA+C;QAC/C,gEAAgE;QAChE,+CAA+C;QAC/C,IAAI,MAAM,CAAC;QACX,IAAI,OAAkD,CAAC;QACvD,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,qCAAqC;QACrC,0EAA0E;QAC1E,4BAA4B;QAC5B,4BAA4B;QAC5B,gCAAgC;QAChC,MAAM;QACN,qBAAqB;QACrB,aAAa;QAEb,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QACjE,IAAI,cAAc,GAAa,EAAE,CAAC;QAClC,IAAI,aAAa,GAAa,EAAE,CAAC;QACjC,IAAI,eAAe,GAAkB,IAAI,CAAC;QAC1C,iEAAiE;QACjE,+DAA+D;QAC/D,kEAAkE;QAClE,iEAAiE;QACjE,oDAAoD;QACpD,MAAM,YAAY,GAAG,eAAe,CAAC;YACnC,UAAU,EAAE,MAAC,IAAI,CAAC,MAAM,CAAC,MAAc,0CAAE,IAAI;YAC7C,WAAW,EAAE,IAAI,CAAC,cAAc;SACjC,CAAC,CAAC;QAEH,mFAAmF;QACnF,IAAI,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,0CAAE,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC3D,MAAM,MAAM,GACV,YAAY,CAAC,MAAM;qBACnB,MAAA,YAAY,CAAC,OAAO,0CAAE,MAAM,CAAA;oBAC3B,YAA6B,CAAC;gBAEjC,4CAA4C;gBAC5C,IAAI,YAAY,GAAuB,IAAI,CAAC;gBAC5C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBAClD,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAA;wBAAE,SAAS;oBAC3B,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI;yBAC3B,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC;yBAC9B,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBACxB,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,WAAW,GAAG,GAAG,CAAC,CAAC;oBAClD,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;wBACzB,YAAY,GAAG,KAAK,CAAC;wBACrB,eAAe,GAAG,GAAG,CAAC;wBACtB,MAAM;oBACR,CAAC;gBACH,CAAC;gBAED,2FAA2F;gBAC3F,wFAAwF;gBACxF,iFAAiF;gBACjF,mFAAmF;gBACnF,sBAAsB;gBACtB,IACE,CAAC,YAAY;qBACb,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,aAAa,CAAA;oBAC3B,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,EACzC,CAAC;oBACD,oEAAoE;oBACpE,gEAAgE;oBAChE,2DAA2D;oBAC3D,MAAM,WAAW,GAAG,kBAAkB,CACpC,QAAQ,EACR,YAAY,CAAC,aAAa,EAC1B,IAAI,CAAC,eAAe,CACrB,CAAC;oBACF,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC;oBACrC,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC;gBACrC,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAED,6DAA6D;QAC7D,GAAG,CAAC,iBAAiB,CAAC,GAAG,eAAe,CAAC;QAEzC,MAAM,GAAG,sBAAsB,CAC7B,oBAAC,KAAK,CAAC,UAAU;YACf,oBAAC,YAAY,IAAC,QAAQ,EAAE,GAAG,CAAC,GAAG;gBAC7B,oBAAC,kBAAkB,IACjB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,GAAG,EACnB,eAAe,EAAE,GAAG;oBAEpB,oBAAC,GAAG,OAAG,CACY,CACR,CACE,EACnB;YACE,mEAAmE;YACnE,oCAAoC;YACpC,GAAG,qBAAqB,CAAC;gBACvB,aAAa,EAAE,YAAY;gBAC3B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;aAClC,CAAC;YACF,YAAY,EAAE;;gBACZ,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBACtC,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;gBAE3C,2EAA2E;gBAC3E,IACE,CAAA,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,0CAAE,UAAU;oBAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAC/C,CAAC;oBACD,MAAM,cAAc,GAAa,EAAE,CAAC;oBAEpC,MAAM,WAAW,GAAG,IAAI,SAAS,CAAC;wBAChC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;4BACvB,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc;4BAC1C,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,oBAAoB;wBACvC,CAAC;wBACD,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE;4BACZ,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;4BAC5D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;4BACpC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;gCACpC,UAAU,CACR,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EACtC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAChC,CAAC;4BACJ,CAAC;4BACD,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,kCAAkC;4BACzD,EAAE,EAAE,CAAC;wBACP,CAAC;qBACF,CAAC,CAAC;oBAEH,iDAAiD;oBACjD,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEtB,kEAAkE;oBAClE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACZ,YAAY,CAAC,CAAC;;gBACZ,QAAQ,GAAG,IAAI,CAAC;gBAChB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjB,gEAAgE;gBAChE,gEAAgE;gBAChE,gEAAgE;gBAChE,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;oBACpB,GAAG,CAAC,GAAG,EAAE,CAAC;oBACV,OAAO;gBACT,CAAC;gBACD,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;gBACrB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;gBAC5C,GAAG,CAAC,GAAG,CACL,mDAAmD;oBACjD,CAAC,MAAA,MAAC,CAAS,aAAT,CAAC,uBAAD,CAAC,CAAU,KAAK,mCAAK,CAAS,aAAT,CAAC,uBAAD,CAAC,CAAU,OAAO,mCAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAC1D,CAAC;YACJ,CAAC;SACF,CACF,CAAC;QAEF,gEAAgE;QAChE,+CAA+C;QAC/C,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YACxB,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;YACzD,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;gBACrB,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC,EAAE,KAAM,CAAC,CAAC;QAEX,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,mCAAmC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sGAAsG;IACtG;;;;;;;;;;;;;;;;;SAiBE;IAEF,QAAQ,CAAC,GAAG,EAAE,GAAG;QACf,IAAI,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC5C,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ;QACjC,sFAAsF;QACtF,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;aAChC,MAAM,CAAC,OAAO,CAAC;aACf,OAAO,CAAC,CAAC,eAAe,EAAE,EAAE;YAC3B,CAAC,GAAG,CAAC;iBACF,IAAI,CAAC,GAAG,EAAE;gBACT,OAAO,eAAe,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACxD,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,OAAO,CAAC,IAAI,CACV,yCACE,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,IACrD,IAAI,EACJ,GAAG,CACJ,CAAC;YACJ,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEL,OAAO,CAAC,CAAC;IACX,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,OAAO,EACP,QAAQ;QAER,sEAAsE;QACtE,uEAAuE;QACvE,uEAAuE;QACvE,IAAI,WAAW,GAAwB,EAAE,CAAC;QAC1C,MAAM,OAAO,CAAC,GAAG,CACf,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE;YAC1D,IAAI,eAAe,EAAE,CAAC;gBACpB,OAAO,OAAO,CAAC,OAAO,CACpB,eAAe,CAAC,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CACrE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACd,OAAO,CAAC,IAAI,CACV,2CACE,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,IACrD,IAAI,EACJ,GAAG,CACJ,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,aAAa,GAAG,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;QAClE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,GAAW,EACX,MAAc,EACd,IAAW,EACX,OAAO,EACP,QAAQ;QAER,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACrD,CAAC;QAED,gFAAgF;QAChF,IAAI,sBAAsB,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE5D,IAAI,MAAM,CAAC;QACX,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CACV,GAAG,KAAK,CAAC,OAAO,CACd,GAAG,CACJ,gKAAgK,CAClK,CAAC;YACF,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI,MAAM,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,4DAA4D;QAC5D,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CACV,qBACE,MAAM,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,WAAW,CAAC,IAC5D,QAAQ,GAAG,kCAAkC,MAAM,EAAE,CACtD,CAAC;YACF,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI,MAAM,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,CAAC;YACH,4BAA4B;YAC5B,sEAAsE;YACtE,wJAAwJ;YACxJ,+DAA+D;YAC/D,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;gBACxB,mDAAmD;gBACnD,oFAAoF;gBACpF,MAAM,OAAO,CAAC,OAAO,CACnB,sBAAsB,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CACtD,CAAC;YACJ,CAAC;YACD,sBAAsB;YACtB,uBAAuB;YAEvB,wEAAwE;YACxE,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAC5B,sBAAsB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,sBAAsB,EAAE,IAAI,CAAC,CACnE,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CACV,wBAAwB,MAAM,kBAC5B,MAAM,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,WAAW,CAAC,IAC5D,eAAe,GAAG,KAAK,EACvB,CAAC,CACF,CAAC;YAEF,gBAAgB;YAChB,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC1B,gFAAgF;YAChF,MAAM,CAAC,CAAC;QACV,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;;AAl1DD;;GAEG;AACI,wBAAW,GAAG,WAAW,CAAC,WAAW,AAA1B,CAA2B;AAJlC,YAAY;IADxB,WAAW;;GACC,YAAY,CAo1DxB"}
1
+ {"version":3,"file":"LinkedServer.js","sourceRoot":"","sources":["../../../src/shapes/LinkedServer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Deciding whether `/resized/*` is allowed to fetch a given `src`.
3
+ *
4
+ * The route used to hand `req.query.src` straight to `fetch`, which made every
5
+ * deployment an open proxy into its own network: cloud metadata endpoints,
6
+ * anything on localhost, anything on a private range. The fetched bytes were
7
+ * then written into the *public* file store and the caller redirected to them,
8
+ * so a reachable internal resource was not merely leaked but persisted.
9
+ *
10
+ * The rule now is the one the route always intended, and which the TODO in
11
+ * `resizeImage` described: a `src` may only name an image this app already
12
+ * stores. Everything else is refused before any request is made.
13
+ */
14
+ /** Why a `src` was refused. Kept separate from the message so callers can map it to a status. */
15
+ export type ResizeSourceRejection = 'unparsable' | 'wrong-origin' | 'outside-store' | 'not-stored';
16
+ export interface ResizeSourceAllowed {
17
+ allowed: true;
18
+ /** The key inside the file store, ready for `getFile`/`fileExists`. */
19
+ key: string;
20
+ /**
21
+ * The URL to fetch: rebuilt from `accessURL` and the validated key, never the
22
+ * caller's string. A validated string can still carry credentials, a
23
+ * fragment, a different case, or percent-encoding that resolves elsewhere, so
24
+ * reusing it would hand back the control the check just took away.
25
+ */
26
+ url: string;
27
+ }
28
+ export interface ResizeSourceRefused {
29
+ allowed: false;
30
+ reason: ResizeSourceRejection;
31
+ }
32
+ export type ResizeSourceDecision = ResizeSourceAllowed | ResizeSourceRefused;
33
+ /**
34
+ * Work out the key a `src` refers to inside the store, or why it does not.
35
+ *
36
+ * Origin is compared on parsed URLs, never with `startsWith`: with a string
37
+ * prefix, `https://cdn.example.com.evil.com/x.png` passes a check for
38
+ * `https://cdn.example.com`. `URL.origin` folds in scheme, host and port, and
39
+ * normalises the host, so it cannot be walked past that way.
40
+ *
41
+ * `accessURL` may carry a path (a bucket sub-path, or a CDN mounted under a
42
+ * prefix). The key is what remains of the source's pathname after that prefix,
43
+ * so a source outside the prefix is refused rather than silently resolving to a
44
+ * key that climbs out of it.
45
+ */
46
+ export declare function resolveResizeSource(src: string, accessURL: string | undefined): ResizeSourceDecision;
47
+ /** Fetch limits, so an allowed source still cannot exhaust the process. */
48
+ export declare const RESIZE_FETCH_TIMEOUT_MS = 10000;
49
+ export declare const RESIZE_MAX_BYTES: number;
50
+ /**
51
+ * Fetch a validated store URL under a timeout and a size cap.
52
+ *
53
+ * `redirect: 'error'` matters as much as the origin check: `fetch` follows
54
+ * redirects by default, so without it a store that 302s anywhere would undo the
55
+ * validation one hop later.
56
+ *
57
+ * The cap is enforced while streaming rather than after `arrayBuffer()`, so a
58
+ * response that lies about `content-length`, or omits it, still cannot buffer
59
+ * more than the limit.
60
+ */
61
+ export declare function fetchStoredImage(url: string, { timeoutMs, maxBytes, fetchImpl, }?: {
62
+ timeoutMs?: number;
63
+ maxBytes?: number;
64
+ fetchImpl?: typeof globalThis.fetch;
65
+ }): Promise<Buffer | null>;
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Deciding whether `/resized/*` is allowed to fetch a given `src`.
3
+ *
4
+ * The route used to hand `req.query.src` straight to `fetch`, which made every
5
+ * deployment an open proxy into its own network: cloud metadata endpoints,
6
+ * anything on localhost, anything on a private range. The fetched bytes were
7
+ * then written into the *public* file store and the caller redirected to them,
8
+ * so a reachable internal resource was not merely leaked but persisted.
9
+ *
10
+ * The rule now is the one the route always intended, and which the TODO in
11
+ * `resizeImage` described: a `src` may only name an image this app already
12
+ * stores. Everything else is refused before any request is made.
13
+ */
14
+ /**
15
+ * Work out the key a `src` refers to inside the store, or why it does not.
16
+ *
17
+ * Origin is compared on parsed URLs, never with `startsWith`: with a string
18
+ * prefix, `https://cdn.example.com.evil.com/x.png` passes a check for
19
+ * `https://cdn.example.com`. `URL.origin` folds in scheme, host and port, and
20
+ * normalises the host, so it cannot be walked past that way.
21
+ *
22
+ * `accessURL` may carry a path (a bucket sub-path, or a CDN mounted under a
23
+ * prefix). The key is what remains of the source's pathname after that prefix,
24
+ * so a source outside the prefix is refused rather than silently resolving to a
25
+ * key that climbs out of it.
26
+ */
27
+ export function resolveResizeSource(src, accessURL) {
28
+ if (!accessURL) {
29
+ // No store configured means nothing can be proven to belong to it.
30
+ return { allowed: false, reason: 'outside-store' };
31
+ }
32
+ let source;
33
+ let base;
34
+ try {
35
+ source = new URL(src);
36
+ base = new URL(accessURL);
37
+ }
38
+ catch (_a) {
39
+ return { allowed: false, reason: 'unparsable' };
40
+ }
41
+ // Scheme is part of origin, so http:// is refused when the store is https://.
42
+ // That is deliberate: a downgrade is a redirect target waiting to happen.
43
+ if (source.origin !== base.origin || source.origin === 'null') {
44
+ return { allowed: false, reason: 'wrong-origin' };
45
+ }
46
+ // Credentials never belong in a store URL, and `URL.origin` ignores them.
47
+ if (source.username || source.password) {
48
+ return { allowed: false, reason: 'wrong-origin' };
49
+ }
50
+ const basePath = trimTrailingSlash(base.pathname);
51
+ const sourcePath = source.pathname;
52
+ if (basePath && basePath !== '/') {
53
+ if (sourcePath !== basePath &&
54
+ !sourcePath.startsWith(basePath + '/')) {
55
+ return { allowed: false, reason: 'outside-store' };
56
+ }
57
+ }
58
+ const key = decodeURIComponent(sourcePath.slice(basePath === '/' ? 0 : basePath.length)).replace(/^\/+/, '');
59
+ if (!key || key.includes('\0')) {
60
+ return { allowed: false, reason: 'outside-store' };
61
+ }
62
+ // `..` cannot escape the store through a URL pathname, because the URL parser
63
+ // resolves it before we see it — but a key is also used to build a filesystem
64
+ // path downstream, so refuse it rather than rely on that.
65
+ if (key.split('/').some((segment) => segment === '..')) {
66
+ return { allowed: false, reason: 'outside-store' };
67
+ }
68
+ return {
69
+ allowed: true,
70
+ key,
71
+ url: `${trimTrailingSlash(base.origin + basePath)}/${key
72
+ .split('/')
73
+ .map(encodeURIComponent)
74
+ .join('/')}`,
75
+ };
76
+ }
77
+ function trimTrailingSlash(value) {
78
+ return value.endsWith('/') ? value.slice(0, -1) : value;
79
+ }
80
+ /** Fetch limits, so an allowed source still cannot exhaust the process. */
81
+ export const RESIZE_FETCH_TIMEOUT_MS = 10000;
82
+ export const RESIZE_MAX_BYTES = 25 * 1024 * 1024;
83
+ /**
84
+ * Fetch a validated store URL under a timeout and a size cap.
85
+ *
86
+ * `redirect: 'error'` matters as much as the origin check: `fetch` follows
87
+ * redirects by default, so without it a store that 302s anywhere would undo the
88
+ * validation one hop later.
89
+ *
90
+ * The cap is enforced while streaming rather than after `arrayBuffer()`, so a
91
+ * response that lies about `content-length`, or omits it, still cannot buffer
92
+ * more than the limit.
93
+ */
94
+ export async function fetchStoredImage(url, { timeoutMs = RESIZE_FETCH_TIMEOUT_MS, maxBytes = RESIZE_MAX_BYTES, fetchImpl = globalThis.fetch, } = {}) {
95
+ var _a, _b;
96
+ const controller = new AbortController();
97
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
98
+ try {
99
+ const response = await fetchImpl(url, {
100
+ redirect: 'error',
101
+ signal: controller.signal,
102
+ });
103
+ if (!response.ok) {
104
+ return null;
105
+ }
106
+ const declared = Number((_b = (_a = response.headers) === null || _a === void 0 ? void 0 : _a.get) === null || _b === void 0 ? void 0 : _b.call(_a, 'content-length'));
107
+ if (Number.isFinite(declared) && declared > maxBytes) {
108
+ return null;
109
+ }
110
+ if (!response.body) {
111
+ // No stream to meter (a mocked or non-streaming response): fall back to
112
+ // buffering, then check. Bounded by the declared length above where present.
113
+ const buffer = Buffer.from(await response.arrayBuffer());
114
+ return buffer.byteLength > maxBytes ? null : buffer;
115
+ }
116
+ const chunks = [];
117
+ let total = 0;
118
+ for await (const chunk of response.body) {
119
+ total += chunk.byteLength;
120
+ if (total > maxBytes) {
121
+ controller.abort();
122
+ return null;
123
+ }
124
+ chunks.push(Buffer.from(chunk));
125
+ }
126
+ return Buffer.concat(chunks);
127
+ }
128
+ catch (err) {
129
+ console.warn('Could not fetch image from URL: ' + err);
130
+ return null;
131
+ }
132
+ finally {
133
+ clearTimeout(timer);
134
+ }
135
+ }
136
+ //# sourceMappingURL=resizeSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resizeSource.js","sourceRoot":"","sources":["../../../src/utils/resizeSource.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "type": "git",
11
11
  "url": "git+https://github.com/linked-fw/server.git"
12
12
  },
13
- "version": "2.9.0",
13
+ "version": "2.10.0",
14
14
  "packageManager": "npm@11.19.1",
15
15
  "linkedPackage": true,
16
16
  "type": "module",