@venturekit/infra 0.0.39 → 0.0.41
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/README.md +91 -0
- package/dist/cdk/app-stack.d.ts +15 -0
- package/dist/cdk/app-stack.d.ts.map +1 -1
- package/dist/cdk/app-stack.js +16 -0
- package/dist/cdk/app-stack.js.map +1 -1
- package/dist/cdk/compute-stack.d.ts +146 -0
- package/dist/cdk/compute-stack.d.ts.map +1 -0
- package/dist/cdk/compute-stack.js +485 -0
- package/dist/cdk/compute-stack.js.map +1 -0
- package/dist/cdk/config-stack.d.ts.map +1 -1
- package/dist/cdk/config-stack.js +14 -0
- package/dist/cdk/config-stack.js.map +1 -1
- package/dist/cdk/data-stack.d.ts.map +1 -1
- package/dist/cdk/data-stack.js +30 -14
- package/dist/cdk/data-stack.js.map +1 -1
- package/dist/cdk/edge-stack.d.ts.map +1 -1
- package/dist/cdk/edge-stack.js +42 -6
- package/dist/cdk/edge-stack.js.map +1 -1
- package/dist/cdk/index.d.ts +7 -1
- package/dist/cdk/index.d.ts.map +1 -1
- package/dist/cdk/index.js +7 -1
- package/dist/cdk/index.js.map +1 -1
- package/dist/cdk/services-stack.d.ts +143 -0
- package/dist/cdk/services-stack.d.ts.map +1 -0
- package/dist/cdk/services-stack.js +562 -0
- package/dist/cdk/services-stack.js.map +1 -0
- package/dist/cdk/shared/service-alarms.d.ts +83 -0
- package/dist/cdk/shared/service-alarms.d.ts.map +1 -0
- package/dist/cdk/shared/service-alarms.js +180 -0
- package/dist/cdk/shared/service-alarms.js.map +1 -0
- package/dist/cdk/shared/ssm-keys.d.ts +104 -0
- package/dist/cdk/shared/ssm-keys.d.ts.map +1 -1
- package/dist/cdk/shared/ssm-keys.js +56 -0
- package/dist/cdk/shared/ssm-keys.js.map +1 -1
- package/dist/venture.d.ts +23 -1
- package/dist/venture.d.ts.map +1 -1
- package/dist/venture.js +52 -0
- package/dist/venture.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -135,6 +135,97 @@ CloudWatch log group: `/venturekit/<projectName>/<stage>/migrate-<dbId>`.
|
|
|
135
135
|
The custom resource's failure message contains a deep link straight to
|
|
136
136
|
the failing build's log stream — copy-paste it into the AWS console.
|
|
137
137
|
|
|
138
|
+
## Long-running services (`compute` + `services`)
|
|
139
|
+
|
|
140
|
+
A venture is Lambda + HTTP API; some processes are neither — a TCP listener
|
|
141
|
+
holding device connections open on a fixed address, an engine that keeps a
|
|
142
|
+
road graph in memory, a worker that never returns. Declare them and
|
|
143
|
+
`vk deploy` deploys them with the rest, in the venture's VPC, against the
|
|
144
|
+
venture's database:
|
|
145
|
+
|
|
146
|
+
```ts
|
|
147
|
+
export default defineVenture({
|
|
148
|
+
// ...
|
|
149
|
+
compute: [
|
|
150
|
+
// one private machine: the engine, sized by the preset (`large` = t4g.large on micro)
|
|
151
|
+
{ id: 'routing', kind: 'instance', size: 'large', swapMiB: 4096 },
|
|
152
|
+
// a fleet behind an internet-facing balancer, one task per machine
|
|
153
|
+
{ id: 'tracking', kind: 'instance', size: 'small', instances: { min: 2, max: 3 } },
|
|
154
|
+
],
|
|
155
|
+
services: [
|
|
156
|
+
{
|
|
157
|
+
id: 'routing', compute: 'routing', dns: 'routing', // SERVICE_ROUTING_URL in every Lambda
|
|
158
|
+
volumes: [{ name: 'graph', persistent: true }],
|
|
159
|
+
containers: [{
|
|
160
|
+
name: 'osrm', build: { context: '../..', dockerfile: 'services/routing/osrm/Dockerfile' },
|
|
161
|
+
ports: [{ port: 5000, expose: 'shared' }], // this VPC + other ventures, privately
|
|
162
|
+
mounts: [{ volume: 'graph', path: '/data' }],
|
|
163
|
+
memory: { reservationMiB: 1536, limitMiB: 6144 }, swap: true,
|
|
164
|
+
}],
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
id: 'tracking', compute: 'tracking',
|
|
168
|
+
database: 'main', // DB_HOST … DB_TENANT_ROLE, the Lambdas' contract
|
|
169
|
+
health: { path: '/health', port: 4003 }, // what the balancer probes
|
|
170
|
+
containers: [{
|
|
171
|
+
name: 'tracking',
|
|
172
|
+
build: { context: '../..', dockerfile: 'services/tracking/Dockerfile' },
|
|
173
|
+
ports: [
|
|
174
|
+
{ port: 5027, expose: 'public', from: ['41.250.0.0/16'] }, // empty `from` = closed
|
|
175
|
+
{ port: 4003, expose: 'vpc' },
|
|
176
|
+
],
|
|
177
|
+
secrets: [{ id: 'tracking-key', env: 'TRACKING_KEY' }], // a secrets[] intent, as a value
|
|
178
|
+
healthCheck: { test: ['CMD-SHELL', 'wget -q -O /dev/null http://127.0.0.1:4003/health || exit 1'] },
|
|
179
|
+
}],
|
|
180
|
+
},
|
|
181
|
+
],
|
|
182
|
+
});
|
|
183
|
+
|
|
184
|
+
// another venture, same account and stage: the engine through a private link
|
|
185
|
+
export default defineVenture({
|
|
186
|
+
// ...
|
|
187
|
+
services: [{ id: 'routing', external: { project: 'msb-school' } }], // SERVICE_ROUTING_HOST / SERVICE_ROUTING_URL
|
|
188
|
+
});
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
An `external` service connects to what its owner published at *its* deploy;
|
|
192
|
+
`vk deploy` reads the owner's SSM parameters in its pre-flight and, when the
|
|
193
|
+
owner has not deployed yet (two ventures that each use something the other
|
|
194
|
+
owns, on a fresh stage), skips the endpoint with a warning — the next deploy
|
|
195
|
+
creates it.
|
|
196
|
+
|
|
197
|
+
Two tiers join the generated app: **compute** (the pools) and **services**
|
|
198
|
+
(the tasks, and the endpoints to other ventures' services), between
|
|
199
|
+
`messaging` and `edge`. A pool is one of:
|
|
200
|
+
|
|
201
|
+
| `kind` | What it is | Ports | Persistent volumes | Name |
|
|
202
|
+
|---|---|---|---|---|
|
|
203
|
+
| `instance` | `instances.min`–`max` machines every service of the pool runs on (one task each) — an Auto Scaling group behind a launch template, private subnets by default, SSM Session Manager (no key pair), swap on request. Sized by the preset's `machines.sizes[size]`, or `instanceType`. | `public` → an internet-facing Network Load Balancer with an Elastic IP per AZ, the group as target, client addresses preserved, TLS when asked; `shared` → an internal balancer + a VPC Endpoint Service for other ventures; `vpc` → the machines' group admits the VPC. | Directories on the machines' disks. | `*.<stage>.<project>.internal`: the machine's private IP when there is one, the internal balancer when there are several. |
|
|
204
|
+
| `serverless` | A Fargate task per service, sized by `cpu` / `memoryMiB`, `replicas` copies. | `vpc` from the VPC; `public` through a Network Load Balancer with an Elastic IP per AZ, TLS terminated there when a port asks. | EFS. | Cloud Map, per task. |
|
|
205
|
+
|
|
206
|
+
The same declaration runs on either; a stage flips with
|
|
207
|
+
`compute: [{ id: 'tracking', kind: 'serverless' }]` in its env config, and
|
|
208
|
+
resizes with `compute: [{ id: 'tracking', instances: { min: 1, max: 1 } }]`
|
|
209
|
+
or `machines: { sizes: { small: 't4g.medium' } }`. Per-env `services`
|
|
210
|
+
overrides merge containers by `name` and ports by `port`, so a stage
|
|
211
|
+
changes one memory figure or one admitted range without restating the
|
|
212
|
+
service.
|
|
213
|
+
|
|
214
|
+
Every service carries alarms on a topic of its own (no task running,
|
|
215
|
+
`level: "error"` log lines, an optional `silence`, an unhealthy target
|
|
216
|
+
behind a balancer), an instance pool the two machine alarms; the pool's
|
|
217
|
+
`alarms.email` is subscribed to all of them. Images are built at deploy
|
|
218
|
+
for the pool's architecture (Graviton → arm64) from `build.context` less
|
|
219
|
+
`build.ignore`, so one image's change does not roll another's. `vk deploy`
|
|
220
|
+
refuses to start on a machine without Docker, or without an emulator for a
|
|
221
|
+
pool of another architecture.
|
|
222
|
+
|
|
223
|
+
The vocabulary — `instance` / `serverless`, containers, ports, volumes,
|
|
224
|
+
`dns` — is a compose file's, not AWS's, on purpose: it is the shape the same
|
|
225
|
+
declaration will take on a Linux box or another provider, and the `compute`
|
|
226
|
+
slot a venture's functions will move into when a project decides its
|
|
227
|
+
handlers should run as containers on the same machine.
|
|
228
|
+
|
|
138
229
|
## NAT provider selection
|
|
139
230
|
|
|
140
231
|
Private subnets need an egress path for Lambda + CodeBuild to reach the
|
package/dist/cdk/app-stack.d.ts
CHANGED
|
@@ -245,6 +245,21 @@ export interface AppStackImports {
|
|
|
245
245
|
securityGroupId: string;
|
|
246
246
|
port: number;
|
|
247
247
|
}>;
|
|
248
|
+
/**
|
|
249
|
+
* Private URL per `services[]` intent that declares `dns`
|
|
250
|
+
* (`http://<dns>.<zone>:<port>`, resolvable inside the VPC only).
|
|
251
|
+
* From the services tier's `serviceUrlsById` — plain strings, so no
|
|
252
|
+
* cross-stack token: an image change rolls the service, not the
|
|
253
|
+
* Lambdas. Injected as `SERVICE_<ID>_URL`.
|
|
254
|
+
*/
|
|
255
|
+
serviceUrlsById?: Map<string, string>;
|
|
256
|
+
/**
|
|
257
|
+
* Per external `services[]` intent: the interface endpoint's DNS name in
|
|
258
|
+
* this VPC (a token from the services tier). Injected as
|
|
259
|
+
* `SERVICE_<ID>_HOST`, so a handler can build a URL on any of the
|
|
260
|
+
* owner's shared ports, not just the first.
|
|
261
|
+
*/
|
|
262
|
+
serviceHostsById?: Map<string, string>;
|
|
248
263
|
}
|
|
249
264
|
export interface VentureAppStackProps extends cdk.StackProps {
|
|
250
265
|
projectName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-stack.d.ts","sourceRoot":"","sources":["../../src/cdk/app-stack.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"app-stack.d.ts","sourceRoot":"","sources":["../../src/cdk/app-stack.ts"],"names":[],"mappings":"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"}
|
package/dist/cdk/app-stack.js
CHANGED
|
@@ -633,6 +633,22 @@ export class VentureAppStack extends cdk.Stack {
|
|
|
633
633
|
}
|
|
634
634
|
}
|
|
635
635
|
}
|
|
636
|
+
// ─── Service URLs (`services` intents with a `dns`) ────────
|
|
637
|
+
// `SERVICE_<ID>_URL` is how a handler reaches a long-running
|
|
638
|
+
// service of its own venture — the road engine, the tracker's
|
|
639
|
+
// HTTP door — the way `STORAGE_<ID>_BUCKET` names a bucket. The
|
|
640
|
+
// value is a deterministic private name, never a token, so the
|
|
641
|
+
// services tier redeploys without touching a Lambda.
|
|
642
|
+
if (imports.serviceUrlsById) {
|
|
643
|
+
for (const [id, url] of imports.serviceUrlsById) {
|
|
644
|
+
this.baseEnvVars[`SERVICE_${upperSnake(id)}_URL`] = url;
|
|
645
|
+
}
|
|
646
|
+
}
|
|
647
|
+
if (imports.serviceHostsById) {
|
|
648
|
+
for (const [id, host] of imports.serviceHostsById) {
|
|
649
|
+
this.baseEnvVars[`SERVICE_${upperSnake(id)}_HOST`] = host;
|
|
650
|
+
}
|
|
651
|
+
}
|
|
636
652
|
// ─── Event-bus env injection (owned `events` intents) ──────
|
|
637
653
|
// `publishEvent()` resolves the destination bus from
|
|
638
654
|
// `EVENT_BUS_<ID>_NAME`, falling back to `VENTURE_EVENT_BUS_NAME`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-stack.js","sourceRoot":"","sources":["../../src/cdk/app-stack.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app-stack.js","sourceRoot":"","sources":["../../src/cdk/app-stack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AACjD,OAAO,KAAK,kBAAkB,MAAM,sCAAsC,CAAC;AAC3E,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AACjD,OAAO,KAAK,aAAa,MAAM,gCAAgC,CAAC;AAChE,OAAO,KAAK,YAAY,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,wBAAwB,MAAM,2CAA2C,CAAC;AACtF,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,gBAAgB,MAAM,mCAAmC,CAAC;AACtE,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,iBAAiB,MAAM,oCAAoC,CAAC;AACxE,OAAO,KAAK,cAAc,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GAGrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,kBAAkB,GAEnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EACL,kBAAkB,GAEnB,MAAM,iCAAiC,CAAC;AAEzC;;;GAGG;AACH,MAAM,gBAAgB,GAAG;IACvB,EAAE,EAAE,UAAU,CAAC,kBAAkB,CAAC,sBAAsB;IACxD,GAAG,EAAE,UAAU,CAAC,kBAAkB,CAAC,kCAAkC;IACrE,EAAE,EAAE,UAAU,CAAC,kBAAkB,CAAC,mBAAmB;IACrD,GAAG,EAAE,UAAU,CAAC,kBAAkB,CAAC,+BAA+B;CAC1D,CAAC;AAEX;;;;;GAKG;AACH,SAAS,UAAU,CAAC,EAAU;IAC5B,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,OAAO,CAAC,KAAa;IAC5B,IAAI,IAAI,GAAG,UAAU,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC5B,gEAAgE;QAChE,6DAA6D;QAC7D,wDAAwD;QACxD,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,CAAC;AACpB,CAAC;AAmSD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,eAAgB,SAAQ,GAAG,CAAC,KAAK;IAC5C;;;;;OAKG;IACa,UAAU,CAAW;IAErC;;;;;;;OAOG;IACa,aAAa,CAAY;IAEzC,iEAAiE;IAChD,kBAAkB,CAAoB;IAEvD,yEAAyE;IACzD,mBAAmB,CAAqB;IAExD,oEAAoE;IACpD,kBAAkB,CAAwB;IAE1D;;;;;;OAMG;IACa,WAAW,CAAyB;IAEpD,mEAAmE;IACnD,GAAG,CAAyB;IAE5C,kCAAkC;IAClB,GAAG,CAAY;IAE/B;;;;;;OAMG;IACa,YAAY,GAAiC,IAAI,GAAG,EAAE,CAAC;IAEvE,oDAAoD;IACpC,YAAY,GAAiC,IAAI,GAAG,EAAE,CAAC;IAEvE,sDAAsD;IACtC,eAAe,GAAiC,IAAI,GAAG,EAAE,CAAC;IAE1E,wEAAwE;IACxD,eAAe,GAAiC,IAAI,GAAG,EAAE,CAAC;IAE1E,2DAA2D;IAC3C,uBAAuB,GAAiC,IAAI,GAAG,EAAE,CAAC;IAElF,+DAA+D;IAC/C,mBAAmB,GAAiC,IAAI,GAAG,EAAE,CAAC;IAE9E;;;;;OAKG;IACa,SAAS,CAAuB;IAE/B,cAAc,CAAU;IACxB,WAAW,CAAS;IACpB,KAAK,CAAS;IAE/B;;;;;;OAMG;IACc,mBAAmB,GAAwB,IAAI,GAAG,EAAE,CAAC;IACrD,SAAS,CAAY;IACrB,YAAY,CAAU;IACtB,UAAU,CAAqB;IAEhD;;;;;;;;;;;OAWG;IACc,UAAU,CAAS;IAEpC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACc,oBAAoB,GAAG,IAAI,GAAG,EAG5C,CAAC;IAEJ;;;;;;OAMG;IACK,MAAM,CAAU,sBAAsB,GAAG,CAAC,CAAC;IAEnD;;;OAGG;IACK,uBAAuB,CAAC,KAAgB,EAAE,QAAuB;QACvE,IAAI,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YAC/B,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC,sBAAsB,CAAC;QACjE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACpD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;IAC/B,CAAC;IAED,YAAY,KAAgB,EAAE,EAAU,EAAE,KAA2B;QACnE,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QACxB,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QACzE,IAAI,CAAC,cAAc;YACjB,kBAAkB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,aAAa,KAAK,QAAQ,CAAC;QACtE,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACnC,oEAAoE;QACpE,mEAAmE;QACnE,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAErE,8DAA8D;QAC9D,6DAA6D;QAC7D,+DAA+D;QAC/D,8DAA8D;QAC9D,+DAA+D;QAC/D,sDAAsD;QACtD,uDAAuD;QACvD,2DAA2D;QAC3D,2DAA2D;QAC3D,6DAA6D;QAC7D,uBAAuB;QACvB,MAAM,YAAY,GAChB,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC;YACjC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC;YAC9B,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC;YACjC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAEjC,8DAA8D;QAC9D,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE;YACjD,SAAS,EAAE,IAAI,GAAG,CAAC,gBAAgB,CAAC,sBAAsB,CAAC;YAC3D,WAAW,EAAE,6BAA6B,WAAW,IAAI,KAAK,UAAU;YACxE,eAAe,EAAE;gBACf,GAAG,CAAC,aAAa,CAAC,wBAAwB,CACxC,0CAA0C,CAC3C;aACF;SACF,CAAC,CAAC;QAEH,8DAA8D;QAC9D,2DAA2D;QAC3D,kEAAkE;QAClE,+DAA+D;QAC/D,oEAAoE;QACpE,gEAAgE;QAChE,8DAA8D;QAC9D,+DAA+D;QAC/D,yCAAyC;QACzC,IAAI,CAAC,kBAAkB,GAAG,yBAAyB,CAAC,cAAc,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC/E,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE;gBACvD,SAAS,EAAE,IAAI,GAAG,CAAC,gBAAgB,CAAC,sBAAsB,CAAC;gBAC3D,WAAW,EACT,sBAAsB,WAAW,IAAI,KAAK,kEAAkE;gBAC9G,eAAe,EAAE;oBACf,GAAG,CAAC,aAAa,CAAC,wBAAwB,CACxC,0CAA0C,CAC3C;iBACF;aACF,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,CACjC,uEAAuE,WAAW,IAAI,KAAK,GAAG;gBAC5F,6FAA6F;gBAC7F,iGAAiG;gBACjG,kCAAkC,CACrC,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,+DAA+D;YAC/D,+DAA+D;YAC/D,yBAAyB;YACzB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACvC,IAAI,CAAC,gBAAgB,CACnB,GAAG,CAAC,aAAa,CAAC,wBAAwB,CACxC,8CAA8C,CAC/C,CACF,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,mBAAmB,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE;gBACjE,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,WAAW,EAAE,iBAAiB,WAAW,IAAI,KAAK,UAAU;gBAC5D,+DAA+D;gBAC/D,2DAA2D;gBAC3D,gEAAgE;gBAChE,4DAA4D;gBAC5D,4DAA4D;gBAC5D,6CAA6C;gBAC7C,gBAAgB,EAAE,IAAI;aACvB,CAAC,CAAC;YAEH,8DAA8D;YAC9D,2DAA2D;YAC3D,yDAAyD;YACzD,yDAAyD;YACzD,2DAA2D;YAC3D,8DAA8D;YAC9D,UAAU;YACV,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;gBACpC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;oBAC3D,8DAA8D;oBAC9D,gDAAgD;oBAChD,6DAA6D;oBAC7D,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,mBAAmB,CACjD,IAAI,EACJ,mBAAmB,IAAI,EAAE,EACzB,IAAI,CAAC,eAAe,EACpB,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;oBACF,KAAK,CAAC,WAAW,CAAC,SAAS,CACzB,IAAI,CAAC,mBAAmB,EACxB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;oBACvB,0DAA0D;oBAC1D,kDAAkD;oBAClD,SAAS,WAAW,IAAI,KAAK,6BAA6B,IAAI,EAAE,CACjE,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,8DAA8D;QAC9D,6DAA6D;QAC7D,iEAAiE;QACjE,8DAA8D;QAC9D,4DAA4D;QAC5D,+DAA+D;QAC/D,0DAA0D;QAC1D,EAAE;QACF,+DAA+D;QAC/D,+DAA+D;QAC/D,+DAA+D;QAC/D,iEAAiE;QACjE,mEAAmE;QACnE,EAAE;QACF,8DAA8D;QAC9D,4DAA4D;QAC5D,+DAA+D;QAC/D,kCAAkC;QAClC,mEAAmE;QACnE,qEAAqE;QACrE,iEAAiE;QACjE,qEAAqE;QACrE,qEAAqE;QACrE,wDAAwD;QACxD,mEAAmE;QACnE,kEAAkE;QAClE,IAAI,CAAC,kBAAkB,GAAG,IAAI,cAAc,CAAC,MAAM,CACjD,IAAI,EACJ,oBAAoB,EACpB;YACE,UAAU,EAAE,cAAc,WAAW,IAAI,KAAK,gBAAgB;YAC9D,WAAW,EACT,wEAAwE;YAC1E,oBAAoB,EAAE;gBACpB,4DAA4D;gBAC5D,qDAAqD;gBACrD,uDAAuD;gBACvD,cAAc,EAAE,EAAE;gBAClB,kBAAkB,EAAE,IAAI;gBACxB,sDAAsD;gBACtD,0CAA0C;gBAC1C,iBAAiB,EAAE,OAAO;gBAC1B,oBAAoB,EAAE,IAAI;aAC3B;SACF,CACF,CAAC;QAEF,8DAA8D;QAC9D,8DAA8D;QAC9D,8DAA8D;QAC9D,8DAA8D;QAC9D,gEAAgE;QAChE,4DAA4D;QAC5D,sCAAsC;QACtC,IAAI,CAAC,WAAW,GAAG;YACjB,oBAAoB,EAAE,WAAW;YACjC,aAAa,EAAE,KAAK;YACpB,yDAAyD;YACzD,gEAAgE;YAChE,iEAAiE;YACjE,kEAAkE;YAClE,+DAA+D;YAC/D,yDAAyD;YACzD,gEAAgE;YAChE,+DAA+D;YAC/D,gBAAgB;YAChB,wBAAwB,EAAE,GAAG,WAAW,gBAAgB,KAAK,EAAE;YAC/D,+DAA+D;YAC/D,gEAAgE;YAChE,+DAA+D;YAC/D,wDAAwD;YACxD,6DAA6D;YAC7D,wDAAwD;YACxD,kDAAkD;YAClD,mEAAmE;YACnE,gCAAgC,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS;YACnE,gEAAgE;YAChE,iEAAiE;YACjE,kEAAkE;YAClE,4CAA4C;YAC5C,yBAAyB,EAAE,GAAG,WAAW,gBAAgB,KAAK,EAAE;YAChE,kBAAkB,EAAE,GAAG,WAAW,UAAU,KAAK,EAAE;YACnD,0DAA0D;YAC1D,6DAA6D;YAC7D,YAAY,EAAE,sBAAsB;SACrC,CAAC;QAEF,8DAA8D;QAC9D,8DAA8D;QAC9D,6DAA6D;QAC7D,6DAA6D;QAC7D,qBAAqB;QACrB,IAAI,OAAO,CAAC,qBAAqB,IAAI,OAAO,CAAC,qBAAqB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC5E,0DAA0D;YAC1D,4DAA4D;YAC5D,sDAAsD;YACtD,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAG3E,CAAC;YACF,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAC3C,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAC3C,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAC3C,8DAA8D;YAC9D,+DAA+D;YAC/D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;YACpC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;YACxD,CAAC;YACD,+DAA+D;YAC/D,kEAAkE;YAClE,+DAA+D;YAC/D,MAAM,aAAa,GAAG,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;YAChF,IAAI,aAAa,EAAE,UAAU,EAAE,CAAC;gBAC9B,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC;YAChE,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,sBAAsB,IAAI,OAAO,CAAC,sBAAsB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC9E,MAAM,CAAC,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAGzE,CAAC;YACF,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,GAAG,aAAa,CAAC;QAC7D,CAAC;QAED,qCAAqC;QACrC,EAAE;QACF,6DAA6D;QAC7D,8DAA8D;QAC9D,wDAAwD;QACxD,yDAAyD;QACzD,8BAA8B;QAC9B,EAAE;QACF,8DAA8D;QAC9D,+DAA+D;QAC/D,+DAA+D;QAC/D,2DAA2D;QAC3D,+DAA+D;QAC/D,wCAAwC;QACxC,IAAI,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACxE,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAGlE,CAAC;YACF,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,GAAG,SAAS,CAAC;QACvD,CAAC;aAAM,IAAI,OAAO,CAAC,oBAAoB,IAAI,OAAO,CAAC,oBAAoB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACjF,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAGpE,CAAC;YACF,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACpD,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;YACzD,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,oBAAoB,IAAI,OAAO,CAAC,oBAAoB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC1E,gEAAgE;YAChE,8DAA8D;YAC9D,0DAA0D;YAC1D,6CAA6C;YAC7C,4DAA4D;YAC5D,6CAA6C;YAC7C,MAAM,CAAC,EAAE,eAAe,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAGzE,CAAC;YACF,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,GAAG,eAAe,CAAC;QAC9D,CAAC;QAED,iEAAiE;QACjE,+DAA+D;QAC/D,gEAAgE;QAChE,+DAA+D;QAC/D,kEAAkE;QAClE,gEAAgE;QAChE,sDAAsD;QACtD,gEAAgE;QAChE,2CAA2C;QAC3C,KAAK,MAAM,MAAM,IAAI,cAAc,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,QAAQ,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YAC/C,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACtC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC;gBACrD,IAAI,CAAC,WAAW,CAAC,GAAG,MAAM,eAAe,CAAC,GAAG,aAAa,CACxD,IAAI,EACJ,YAAY,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,CACnD,CAAC;gBACF,IAAI,CAAC,WAAW,CAAC,GAAG,MAAM,gBAAgB,CAAC,GAAG,aAAa,CACzD,IAAI,EACJ,YAAY,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,CACxD,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC9D,IAAI,MAAM;oBAAE,IAAI,CAAC,WAAW,CAAC,GAAG,MAAM,eAAe,CAAC,GAAG,MAAM,CAAC;gBAChE,IAAI,QAAQ;oBAAE,IAAI,CAAC,WAAW,CAAC,GAAG,MAAM,gBAAgB,CAAC,GAAG,QAAQ,CAAC;YACvE,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,GAAG,MAAM,SAAS,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QACnE,CAAC;QAED,KAAK,YAAY,CAAC;QAClB,KAAK,WAAW,CAAC;QACjB,KAAK,QAAQ,CAAC;QAEd,8DAA8D;QAC9D,oDAAoD;QACpD,4DAA4D;QAC5D,wDAAwD;QACxD,8CAA8C;QAC9C,EAAE;QACF,iFAAiF;QACjF,6EAA6E;QAC7E,mEAAmE;QACnE,IAAI,OAAO,CAAC,sBAAsB,IAAI,OAAO,CAAC,sBAAsB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC9E,KAAK,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;gBAC9D,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;gBAC7B,IAAI,CAAC,WAAW,CAAC,WAAW,KAAK,SAAS,CAAC,GAAG,UAAU,CAAC;gBACzD,MAAM,SAAS,GAAG,OAAO,CAAC,qBAAqB,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBACzD,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,CAAC,WAAW,CAAC,WAAW,KAAK,UAAU,CAAC,GAAG,WAAW,SAAS,EAAE,CAAC;gBACxE,CAAC;YACH,CAAC;YACD,mEAAmE;YACnE,MAAM,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAyB,CAAC;YACrG,MAAM,UAAU,GAAG,OAAO,CAAC,qBAAqB,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACxE,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,GAAG,WAAW,UAAU,EAAE,CAAC;YACxE,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,+BAA+B,EAAE,CAAC;YAC5C,+CAA+C;YAC/C,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,+BAA+B,CAAC,OAAO,EAAE,CAAC,CAAC;YACvE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;gBAClD,IAAI,CAAC,WAAW,CAAC,2BAA2B,CAAC,GAAG,gBAAgB,CAAC;gBACjE,MAAM,eAAe,GAAG,OAAO,CAAC,yBAAyB,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC1E,IAAI,eAAe,EAAE,CAAC;oBACpB,IAAI,CAAC,WAAW,CAAC,iCAAiC,CAAC,GAAG,eAAe,CAAC;gBACxE,CAAC;gBACD,MAAM,eAAe,GAAG,OAAO,CAAC,2BAA2B,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC5E,IAAI,eAAe,EAAE,CAAC;oBACpB,IAAI,CAAC,WAAW,CAAC,sCAAsC,CAAC,GAAG,eAAe,CAAC;gBAC7E,CAAC;gBACD,MAAM,gBAAgB,GAAG,OAAO,CAAC,yBAAyB,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3E,IAAI,gBAAgB,EAAE,CAAC;oBACrB,IAAI,CAAC,WAAW,CAAC,oCAAoC,CAAC,GAAG,gBAAgB,CAAC;gBAC5E,CAAC;gBACD,MAAM,kBAAkB,GAAG,OAAO,CAAC,iCAAiC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;gBACrF,IAAI,kBAAkB,EAAE,CAAC;oBACvB,IAAI,CAAC,WAAW,CAAC,6CAA6C,CAAC,GAAG,kBAAkB,CAAC;gBACvF,CAAC;gBACD,MAAM,mBAAmB,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;gBACnF,IAAI,mBAAmB,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;oBACjD,IAAI,CAAC,WAAW,CAAC,kCAAkC,CAAC;wBAClD,mBAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAC/C,CAAC;gBACD,IAAI,mBAAmB,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;oBAC1C,IAAI,CAAC,WAAW,CAAC,iCAAiC,CAAC;wBACjD,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACxC,CAAC;gBACD,IAAI,mBAAmB,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;oBAC9C,IAAI,CAAC,WAAW,CAAC,qCAAqC,CAAC;wBACrD,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC5C,CAAC;YACH,CAAC;YACD,KAAK,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,+BAA+B,EAAE,CAAC;gBACtE,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;gBAC7B,IAAI,CAAC,WAAW,CAAC,UAAU,KAAK,aAAa,CAAC,GAAG,SAAS,CAAC;gBAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,yBAAyB,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC5D,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,CAAC,WAAW,CAAC,UAAU,KAAK,mBAAmB,CAAC,GAAG,QAAQ,CAAC;gBAClE,CAAC;YACH,CAAC;QACH,CAAC;QAED,8DAA8D;QAC9D,6DAA6D;QAC7D,8DAA8D;QAC9D,gEAAgE;QAChE,+DAA+D;QAC/D,qDAAqD;QACrD,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5B,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;gBAChD,IAAI,CAAC,WAAW,CAAC,WAAW,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;YAC1D,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC7B,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAClD,IAAI,CAAC,WAAW,CAAC,WAAW,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,8DAA8D;QAC9D,qDAAqD;QACrD,kEAAkE;QAClE,0DAA0D;QAC1D,qEAAqE;QACrE,IAAI,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACpE,MAAM,CAAC,EAAE,cAAc,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAGrE,CAAC;YACF,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,GAAG,cAAc,CAAC;YAC5D,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBACtD,IAAI,CAAC,WAAW,CAAC,aAAa,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;YACjE,CAAC;QACH,CAAC;QAED,8DAA8D;QAC9D,iEAAiE;QACjE,iEAAiE;QACjE,gCAAgC;QAChC,kEAAkE;QAClE,8DAA8D;QAC9D,gEAAgE;QAChE,+DAA+D;QAC/D,uEAAuE;QACvE,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC;YACxC,KAAK,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC;gBAChE,KAAK,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;oBACxD,MAAM,GAAG,GAAG,qBAAqB,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;oBACrE,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;wBAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;oBAC9B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,8DAA8D;QAC9D,+DAA+D;QAC/D,iEAAiE;QACjE,kEAAkE;QAClE,qEAAqE;QACrE,sEAAsE;QACtE,EAAE;QACF,kEAAkE;QAClE,2CAA2C;QAC3C,oEAAoE;QACpE,kEAAkE;QAClE,oEAAoE;QACpE,+DAA+D;QAC/D,+DAA+D;QAC/D,+DAA+D;QAC/D,iEAAiE;QACjE,kEAAkE;QAClE,iEAAiE;QACjE,mEAAmE;QACnE,gEAAgE;QAChE,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,8BAA8B,IAAI,EAAE,EAAE,CAAC;YACxE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;YAC7C,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1B,IAAI,CAAC,EAAE,EACP,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CACrF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACpD,IAAI,CAAC,WAAW,CAAC,QAAQ,UAAU,CAAC,EAAE,CAAC,4BAA4B,CAAC,GAAG,MAAM,CAAC;YAC9E,IAAI,CAAC,WAAW,CAAC,mCAAmC,CAAC,KAAK,MAAM,CAAC;QACnE,CAAC;QAED,2DAA2D;QAC3D,iEAAiE;QACjE,sEAAsE;QACtE,oEAAoE;QACpE,iEAAiE;QACjE,6CAA6C;QAC7C,EAAE;QACF,oEAAoE;QACpE,oEAAoE;QACpE,mEAAmE;QACnE,qDAAqD;QACrD,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAClC,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;gBACtD,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBAChE,IAAI,CAAC,MAAM;oBAAE,SAAS;gBACtB,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;gBAC1D,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;QAED,2DAA2D;QAC3D,+DAA+D;QAC/D,8DAA8D;QAC9D,mEAAmE;QACnE,8DAA8D;QAC9D,iEAAiE;QACjE,sDAAsD;QACtD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC/C,MAAM,GAAG,GAAG,GAAG,UAAU,CAAC,EAAE,CAAC,aAAa,CAAC;gBAC3C,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;QAED,8DAA8D;QAC9D,2DAA2D;QAC3D,2DAA2D;QAC3D,yDAAyD;QACzD,0DAA0D;QAC1D,0DAA0D;QAC1D,2DAA2D;QAC3D,8CAA8C;QAC9C,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAElC,6DAA6D;QAC7D,sDAAsD;QACtD,uDAAuD;QACvD,4DAA4D;QAC5D,sCAAsC;QACtC,0DAA0D;QAC1D,0DAA0D;QAC1D,iCAAiC;QACjC,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACpD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAChC,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,KAAK,IAAI,QAAQ,CACxB,CAAC;YACF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;YACjD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC,IAAI,EAAE;oBACxC,WAAW;oBACX,KAAK;oBACL,SAAS;oBACT,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;oBAC7C,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;oBACzD,MAAM,EAAE,QAAQ;oBAChB,cAAc,EAAE,IAAI,CAAC,cAAc;oBACnC,gEAAgE;oBAChE,+DAA+D;oBAC/D,8DAA8D;oBAC9D,gCAAgC;oBAChC,OAAO,EAAE,CAAC,cAAc,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAChC;iBACF,CAAC,CAAC;gBACH,2DAA2D;gBAC3D,6DAA6D;gBAC7D,4DAA4D;gBAC5D,iEAAiE;gBACjE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;oBAClE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAChC,CAAC;YACH,CAAC;QACH,CAAC;QAED,2DAA2D;QAC3D,0DAA0D;QAC1D,4DAA4D;QAC5D,wDAAwD;QACxD,uBAAuB;QACvB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEhC,8DAA8D;QAC9D,8DAA8D;QAC9D,6DAA6D;QAC7D,8DAA8D;QAC9D,6DAA6D;QAC7D,8BAA8B;QAC9B,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CACpC,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,SAAS,IAAI,YAAY,CAChC,CAAC;YACF,MAAM,gBAAgB,GAAsB,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC;gBAC1E,CAAC,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;gBACvC,CAAC,CAAC,EAAE,CAAC;YACP,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;oBACd,MAAM,IAAI,KAAK,CACb,2BAA2B,gBAAgB,CAAC,MAAM,oBAAoB;wBACtE,qBAAqB,iBAAiB,iCAAiC;wBACvE,qEAAqE;wBACrE,6DAA6D;wBAC7D,iCAAiC,CAClC,CAAC;gBACJ,CAAC;gBACD,4DAA4D;gBAC5D,8DAA8D;gBAC9D,8DAA8D;gBAC9D,0DAA0D;gBAC1D,uDAAuD;gBACvD,6DAA6D;gBAC7D,iDAAiD;gBACjD,6DAA6D;gBAC7D,iBAAiB;gBACjB,EAAE;gBACF,4DAA4D;gBAC5D,2DAA2D;gBAC3D,2DAA2D;gBAC3D,yDAAyD;gBACzD,sBAAsB;gBACtB,EAAE;gBACF,6DAA6D;gBAC7D,4DAA4D;gBAC5D,4DAA4D;gBAC5D,qDAAqD;gBACrD,wDAAwD;gBACxD,4DAA4D;gBAC5D,2DAA2D;gBAC3D,2DAA2D;gBAC3D,wDAAwD;gBACxD,uDAAuD;gBACvD,yBAAyB;gBACzB,EAAE;gBACF,0DAA0D;gBAC1D,8DAA8D;gBAC9D,2DAA2D;gBAC3D,+DAA+D;gBAC/D,4DAA4D;gBAC5D,+DAA+D;gBAC/D,gEAAgE;gBAChE,gEAAgE;gBAChE,4DAA4D;gBAC5D,EAAE;gBACF,+DAA+D;gBAC/D,4DAA4D;gBAC5D,8DAA8D;gBAC9D,4DAA4D;gBAC5D,EAAE;gBACF,4DAA4D;gBAC5D,8DAA8D;gBAC9D,6DAA6D;gBAC7D,8DAA8D;gBAC9D,sDAAsD;gBACtD,2DAA2D;gBAC3D,4DAA4D;gBAC5D,0DAA0D;gBAC1D,gEAAgE;gBAChE,gEAAgE;gBAChE,+DAA+D;gBAC/D,wDAAwD;gBACxD,6DAA6D;gBAC7D,+DAA+D;gBAC/D,gEAAgE;gBAChE,2DAA2D;gBAC3D,yDAAyD;gBACzD,MAAM,iBAAiB,GAAG,EAAE,CAAC;gBAC7B,MAAM,aAAa,GAAG,CAAC,CAAC;gBACxB,IAAI,gBAAgB,CAAC,MAAM,IAAI,iBAAiB,EAAE,CAAC;oBACjD,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;wBACrC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;oBAClC,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,OAAO,GAAwB,KAAK,CAAC,IAAI,CAC7C,EAAE,MAAM,EAAE,aAAa,EAAE,EACzB,GAAG,EAAE,CAAC,EAAE,CACT,CAAC;oBACF,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;wBACrC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC;wBAChD,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC3B,CAAC;oBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;wBACvC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;wBACzB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;4BAAE,SAAS;wBACjC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE;4BACtD,WAAW,EACT,yBAAyB,CAAC,IAAI,aAAa,GAAG;gCAC9C,IAAI,KAAK,CAAC,MAAM,OAAO,gBAAgB,CAAC,MAAM,KAAK;gCACnD,uDAAuD;gCACvD,GAAG,aAAa,sCAAsC;gCACtD,2DAA2D;yBAC9D,CAAC,CAAC;wBACH,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;4BAC1B,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;wBAC1C,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,6DAA6D;YAC7D,wDAAwD;YACxD,yDAAyD;YACzD,0DAA0D;YAC1D,+CAA+C;YAC/C,wCAAwC;YACxC,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CACpC,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,SAAS,IAAI,YAAY,CAChC,CAAC;YACF,IAAI,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACrC,MAAM,aAAa,GAAG,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;gBAC/D,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,IAAI,EAAE,CAAC;gBACjD,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;oBAClC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;oBAClE,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;YAED,4DAA4D;YAC5D,gDAAgD;YAChD,4DAA4D;YAC5D,uDAAuD;YACvD,wDAAwD;YACxD,sDAAsD;YACtD,0BAA0B;YAC1B,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CACnC,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,QAAQ,IAAI,WAAW,CAC9B,CAAC;YACF,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACpC,MAAM,YAAY,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;gBAC7D,MAAM,eAAe,GAAG,cAAc,CAAC,SAAS,IAAI,EAAE,CAAC;gBACvD,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;oBACjC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;oBACrE,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;YAED,6DAA6D;YAC7D,oDAAoD;YACpD,wDAAwD;YACxD,yDAAyD;YACzD,kDAAkD;YAClD,2DAA2D;YAC3D,2DAA2D;YAC3D,2DAA2D;YAC3D,yDAAyD;YACzD,0DAA0D;YAC1D,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,CACvC,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,YAAY,IAAI,eAAe,CACtC,CAAC;YACF,IAAI,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBACxC,MAAM,UAAU,GAAG,qBAAqB,CAAC,oBAAoB,CAAC,CAAC;gBAC/D,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,IAAI,EAAE,CAAC;gBACjD,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;oBAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC/D,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;YAED,6DAA6D;YAC7D,4DAA4D;YAC5D,4DAA4D;YAC5D,2DAA2D;YAC3D,gEAAgE;YAChE,4DAA4D;YAC5D,wEAAwE;YACxE,yEAAyE;YACzE,wDAAwD;YACxD,MAAM,aAAa,GAAG,CAAC,cAAc,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CACxD,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,MAAM,CACvC,CAAC;YACF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QAED,8DAA8D;QAC9D,oEAAoE;QACpE,mEAAmE;QACnE,kEAAkE;QAClE,iEAAiE;QACjE,qEAAqE;QACrE,mEAAmE;QACnE,IAAI,cAAc,CAAC,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChE,CAAC;QAED,6DAA6D;QAC7D,oEAAoE;QACpE,wDAAwD;QACxD,qEAAqE;QACrE,+DAA+D;QAC/D,mEAAmE;QACnE,6BAA6B;QAC7B,uBAAuB,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAE7G,6DAA6D;QAC7D,6DAA6D;QAC7D,gEAAgE;QAChE,iEAAiE;QACjE,oCAAoC;QACpC,IAAI,cAAc,CAAC,UAAU,IAAI,cAAc,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtE,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,iBAAiB,CAAC,WAAmB;QAC3C,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,oBAAoB,EAAE,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,qDAAqD;YACrD,yDAAyD;YACzD,0DAA0D;YAC1D,oCAAoC;YACpC,MAAM,IAAI,KAAK,CACb,gEAAgE;gBAChE,2EAA2E,CAC5E,CAAC;QACJ,CAAC;QACD,OAAO,4BAA4B,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;OAMG;IACK,mBAAmB,CACzB,KAAsB,EACtB,QAAmB,IAAI;QAEvB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAC3C,MAAM,YAAY,GAAG,uBAAuB,CAC1C,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,UAAU,KAAK,CAAC,IAAI,EAAE,CACxD,CAAC;QACF,MAAM,UAAU,GAAG,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC;QAEzC,6DAA6D;QAC7D,gEAAgE;QAChE,6DAA6D;QAC7D,gEAAgE;QAChE,2DAA2D;QAC3D,+DAA+D;QAC/D,8DAA8D;QAC9D,6DAA6D;QAC7D,8DAA8D;QAC9D,QAAQ;QACR,EAAE;QACF,+DAA+D;QAC/D,8DAA8D;QAC9D,4DAA4D;QAC5D,kEAAkE;QAClE,iEAAiE;QACjE,4DAA4D;QAC5D,iEAAiE;QACjE,gEAAgE;QAChE,4DAA4D;QAC5D,+DAA+D;QAC/D,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,UAAU,OAAO,EAAE;YAC9D,YAAY,EAAE,kBAAkB,CAAC,KAAK,EAAE,YAAY,CAAC;YACrD,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC,gBAAgB,CAAC;YACxD,aAAa,EAAE,IAAI,CAAC,cAAc;gBAChC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM;gBAC1B,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO;SAC9B,CAAC,CAAC;QACH,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAE9C,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE;YAChD,YAAY;YACZ,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC;YACxC,YAAY,EAAE,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC;YAClD,OAAO,EAAE,YAAY;YACrB,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC;YAC/C,UAAU,EAAE,YAAY,CAAC,QAAQ;YACjC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC;YACtD,0DAA0D;YAC1D,iEAAiE;YACjE,+DAA+D;YAC/D,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,cAAc,IAAI,CAAC,UAAU,GAAG;YAC7E,WAAW,EAAE;gBACX,GAAG,IAAI,CAAC,WAAW;gBACnB,GAAG,YAAY,CAAC,oBAAoB;aACrC;YACD,QAAQ;YACR,OAAO,EAAE,YAAY,CAAC,cAAc;gBAClC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM;gBACvB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ;YAC3B,4BAA4B,EAAE,YAAY,CAAC,mBAAmB;YAC9D,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC;YACtC,gEAAgE;YAChE,4DAA4D;YAC5D,4DAA4D;YAC5D,gBAAgB;YAChB,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,mBAAmB;gBACtC,CAAC,CAAC;oBACE,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,UAAU,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,mBAAmB,EAAE;oBAC9D,cAAc,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;iBAC3C;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;QAEH,kEAAkE;QAClE,gEAAgE;QAChE,+DAA+D;QAC/D,6DAA6D;QAC7D,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAEzD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAEtC,6DAA6D;QAC7D,2DAA2D;QAC3D,+DAA+D;QAC/D,kCAAkC;QAClC,IAAI,YAAY,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,UAAU,QAAQ,EAAE;YACvD,OAAO,EAAE,IAAI,CAAC,GAAI;YAClB,QAAQ,EAAE,YAAY,CAAC,YAAY,CAAC,IAAI,CACtC,KAAK,CAAC,OAAO,EACb,YAAY,CAAC,UAAU,CACrB,KAAK,CAAC,MAA8C,CACrD,CACF;YACD,WAAW,EAAE,IAAI,wBAAwB,CAAC,qBAAqB,CAC7D,GAAG,UAAU,cAAc,EAC3B,EAAE,CACH;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,IAAY,cAAc;QACxB,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxF,CAAC;IAED;;;;OAIG;IACH,IAAY,iBAAiB;QAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvE,CAAC;IAED,+CAA+C;IACvC,aAAa,CAAC,KAAkC;QACtD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,cAAc;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,4FAA4F;IACpF,YAAY,CAAC,OAAe;QAClC,IAAI,IAAI,CAAC,aAAa,IAAI,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;YAClF,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,mGAAmG;IAC3F,eAAe,CAAC,EAAU;QAChC,IAAI,IAAI,CAAC,aAAa,IAAI,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;YACzF,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;;;;;OAOG;IACK,WAAW,CACjB,UAAkB,EAClB,YAAoB,EACpB,WAAmB,EACnB,WAAmB,EACnB,SAAwC;QAExC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,UAAU,OAAO,EAAE;YAC7D,yDAAyD;YACzD,8DAA8D;YAC9D,YAAY,EAAE,kBAAkB,CAAC,IAAI,EAAE,YAAY,CAAC;YACpD,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC,gBAAgB,CAAC;YACxD,aAAa,EAAE,IAAI,CAAC,cAAc;gBAChC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM;gBAC1B,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO;SAC9B,CAAC,CAAC;QACH,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7C,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE;YAC3C,YAAY;YACZ,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC;YACxC,YAAY,EAAE,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC;YAClD,OAAO,EAAE,YAAY;YACrB,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC;YACzC,UAAU,EAAE,YAAY,CAAC,QAAQ;YACjC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC;YACtD,WAAW;YACX,WAAW,EAAE;gBACX,GAAG,IAAI,CAAC,WAAW;gBACnB,GAAG,YAAY,CAAC,oBAAoB;aACrC;YACD,QAAQ;YACR,OAAO,EAAE,YAAY,CAAC,cAAc;gBAClC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM;gBACvB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ;YAC3B,4BAA4B,EAAE,YAAY,CAAC,mBAAmB;YAC9D,IAAI,EAAE,IAAI,CAAC,UAAU;YACrB,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,mBAAmB;gBACtC,CAAC,CAAC;oBACE,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,UAAU,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,mBAAmB,EAAE;oBAC9D,cAAc,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;iBAC3C;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,SAAS;SACb,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACK,mBAAmB,CACzB,IAAY,EACZ,WAAmB,EACnB,MAAuB,EACvB,OAAwB;QAExB,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,0CAA0C,IAAI,YAAY,WAAW,IAAI;gBACzE,oEAAoE;gBACpE,2CAA2C,IAAI,qBAAqB;gBACpE,qDAAqD;gBACrD,8BAA8B,IAAI,eAAe,CAClD,CAAC;QACJ,CAAC;QACD,MAAM,UAAU,GAAG,kBAAkB,IAAI,EAAE,CAAC;QAC5C,MAAM,YAAY,GAAG,uBAAuB,CAC1C,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,UAAU,IAAI,EAAE,CAClD,CAAC;QAEF,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CACzB,UAAU,EACV,YAAY,EACZ,WAAW,EACX,MAAM,EAAE,WAAW,IAAI,mBAAmB,IAAI,EAAE,EAChD;YACE,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ;YAChE,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAC3B,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CACpD;YACD,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;SACjC,CACF,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAEhC,0DAA0D;QAC1D,6DAA6D;QAC7D,yDAAyD;QACzD,gEAAgE;QAChE,2DAA2D;QAC3D,iEAAiE;QACjE,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,UAAU,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAC7F,EAAE,CAAC,cAAc,CACf,IAAI,kBAAkB,CAAC,cAAc,CAAC,aAAa,EAAE;YACnD,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,EAAE;SACnC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,qBAAqB,CAC3B,IAAY,EACZ,WAAmB,EACnB,MAAuB;QAEvB,MAAM,UAAU,GAAG,QAAQ,IAAI,EAAE,CAAC;QAClC,MAAM,YAAY,GAAG,uBAAuB,CAC1C,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,SAAS,IAAI,EAAE,CACjD,CAAC;QAEF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,UAAU,MAAM,EAAE;YACnD,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM;YAC/D,eAAe,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,UAAU,EAAE,GAAG,CAAC,eAAe,CAAC,WAAW;YAC3C,mDAAmD;YACnD,aAAa,EAAE,GAAG,CAAC,aAAa,CAAC,OAAO;SACzC,CAAC,CAAC;QAEH,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CACzB,UAAU,EACV,YAAY,EACZ,WAAW,EACX,MAAM,EAAE,WAAW,IAAI,iBAAiB,IAAI,EAAE,EAC9C;YACE,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ;YAChE,0DAA0D;YAC1D,4DAA4D;YAC5D,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC;YACpD,eAAe,EAAE,GAAG;YACpB,sBAAsB,EAAE,IAAI;YAC5B,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;SACjC,CACF,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAEnC,4DAA4D;QAC5D,6DAA6D;QAC7D,6DAA6D;QAC7D,aAAa;QACb,IAAI,MAAM,EAAE,QAAQ,EAAE,CAAC;YACrB,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC;YACrC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC;YACzC,MAAM,QAAQ,GACZ,MAAM,IAAI,YAAY;gBACpB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,YAAY,CAAC,IAAI,GAAG,CAAC;gBAC1D,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC;YAC/D,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,UAAU,OAAO,EAAE;gBAC1C,QAAQ,EAAE,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,SAAS,IAAI,EAAE;gBAC1D,QAAQ;gBACR,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE,CAAC,IAAI,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;aAChD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACK,wBAAwB,CAC9B,IAAY,EACZ,WAAmB,EACnB,MAAuB;QAEvB,MAAM,UAAU,GAAG,MAAM,IAAI,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,uBAAuB,CAC1C,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,OAAO,IAAI,EAAE,CAC/C,CAAC;QAEF,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CACzB,UAAU,EACV,YAAY,EACZ,WAAW,EACX,MAAM,EAAE,WAAW,IAAI,wBAAwB,IAAI,EAAE,EACrD;YACE,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ;YAChE,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAC3B,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CACpD;YACD,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;SACjC,CACF,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACK,wBAAwB,CAC9B,aAAoB,EACpB,OAAwB;QAExB,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,MAAM,IAAI,GAAU,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;YAC/C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAEhC,IAAI,GAAqB,CAAC;YAC1B,IAAI,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;gBAC7B,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CACpC,IAAI,EACJ,UAAU,MAAM,CAAC,EAAE,WAAW,EAC9B,MAAM,CAAC,QAAQ,CAAC,OAAO,CACxB,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACxD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CACb,0CAA0C,MAAM,CAAC,EAAE,QAAQ;wBAC3D,yDAAyD;wBACzD,8DAA8D;wBAC9D,mDAAmD;wBACnD,+DAA+D;wBAC/D,UAAU,CACX,CAAC;gBACJ,CAAC;gBACD,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACnF,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC;YACxD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACK,eAAe,CACrB,MAAW,EACX,GAAQ,EACR,GAAqB,EACrB,aAAqB,EACrB,OAAwB;QAExB,MAAM,UAAU,GAAG,UAAU,MAAM,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;QAEnD,MAAM,OAAO,GAAwB;YACnC,MAAM,EAAE,GAAG,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC;YACtC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAE,GAAG,CAAC,OAA2C,IAAI,EAAE,CAAC;SAC5D,CAAC;QAEF,IAAI,MAA0B,CAAC;QAC/B,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CACb,gDAAgD,MAAM,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI;oBACvE,kBAAkB,GAAG,CAAC,MAAM,CAAC,KAAK,mCAAmC;oBACrE,kCAAkC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CACvD,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,UAAU,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC5E,gEAAgE;YAChE,yDAAyD;YACzD,8DAA8D;YAC9D,oEAAoE;YACpE,2DAA2D;YAC3D,4DAA4D;YAC5D,MAAM,GAAG,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE;gBACzC,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,UAAU,CAAC;aAC1D,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;YAChC,MAAM,EAAE,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC7D,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,MAAM,IAAI,KAAK,CACb,gDAAgD,MAAM,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI;oBACvE,qBAAqB,GAAG,CAAC,MAAM,CAAC,QAAQ,2BAA2B;oBACnE,2CAA2C,GAAG,CAAC,MAAM,CAAC,QAAQ,MAAM,CACrE,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,IAAI,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,gDAAgD,MAAM,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI;gBACvE,mEAAmE,CACpE,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,UAAU,OAAO,EAAE;YAC1C,QAAQ,EAAE,uBAAuB,CAC/B,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,WAAW,MAAM,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE,CAClE;YACD,QAAQ,EAAE,GAAG;YACb,YAAY,EAAE,OAAO;YACrB,OAAO,EAAE,CAAC,MAAM,CAAC;SAClB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACK,gBAAgB,CAAC,UAAiB;QACxC,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,MAAM,GAAU,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;YAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS;gBAAE,SAAS;YAEvD,8DAA8D;YAC9D,4CAA4C;YAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe;gBAClC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CACpB,IAAI,EACJ,eAAe,MAAM,CAAC,EAAE,EAAE,EAC1B,MAAM,CAAC,eAAe,CACvB;gBACH,CAAC,CAAC,SAAS,CAAC;YAEd,MAAM,aAAa,GAAuB,EAAE,CAAC;YAC7C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;oBACvE,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,EAAE;oBACxD,gBAAgB,EAAE,CAAC,CAAC,WAAW;oBAC/B,MAAM,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC;wBAC5B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,YAAY;wBACtC,UAAU,EAAE,CAAC,CAAC,MAAM;wBACpB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,SAAS;wBACnC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,IAAI,GAAG,CAAC;wBACpD,aAAa,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,UAAU,CAAC;qBACzD,CAAC;oBACF,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,kBAAkB,EAChB,gBAAgB,CAAC,CAAC,CAAC,UAA2C,CAAC;wBAC/D,UAAU,CAAC,kBAAkB,CAAC,sBAAsB;oBACtD,iBAAiB,EAAE,CAAC,CAAC,iBAAiB,IAAI,CAAC;oBAC3C,yDAAyD;oBACzD,gDAAgD;oBAChD,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,CAAC,aAAa;iBAC5D,CAAC,CAAC;gBACH,IAAI,KAAK,EAAE,CAAC;oBACV,KAAK,CAAC,cAAc,CAAC,IAAI,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC/D,CAAC;gBACD,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;YAED,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,aAAa,MAAM,CAAC,EAAE,EAAE,EAAE;oBACzE,aAAa,EAAE,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,EAAE,EAAE;iBAChE,CAAC,CAAC;gBACH,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,SAAS,CAAC,UAAU,CAClB,IAAI,UAAU,CAAC,iBAAiB,CAAC;wBAC/B,KAAK,EAAE,GAAG,MAAM,CAAC,EAAE,SAAS;wBAC5B,MAAM,EAAE,aAAa;wBACrB,KAAK,EAAE,EAAE;qBACV,CAAC,CACH,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,sBAAsB,CAC5B,UAA8C;QAE9C,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACtD,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;gBAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;gBAC/C,4DAA4D;gBAC5D,4DAA4D;gBAC5D,0DAA0D;gBAC1D,4DAA4D;gBAC5D,MAAM,KAAK,GAAG,EAAE,EAAE,IAAI,CAAC,YAA8C,CAAC;gBACtE,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,YAAY,IAAI,KAAK,CAAC;YAC/C,CAAC;iBAAM,IAAI,GAAG,KAAK,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjE,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,SAAS,KAAK,EAAE,CAAC;YACpE,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACxB,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACK,uBAAuB,CAAC,IAAY;QAC1C,OAAO,CACL,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;YAC9B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;YAC9B,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC;YACtC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CACnC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACK,mBAAmB,CAAC,OAAwB;QAClD,6DAA6D;QAC7D,4CAA4C;QAC5C,gEAAgE;QAChE,iEAAiE;QACjE,kEAAkE;QAClE,6DAA6D;QAC7D,gEAAgE;QAChE,+DAA+D;QAC/D,4DAA4D;QAC5D,gEAAgE;QAChE,kEAAkE;QAClE,4DAA4D;QAC5D,oDAAoD;QACpD,kEAAkE;QAClE,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,CACjD,IAAI,EACJ,2BAA2B,EAC3B,GAAG,IAAI,CAAC,WAAW,gBAAgB,IAAI,CAAC,KAAK,EAAE,CAChD,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtE,8DAA8D;QAC9D,8DAA8D;QAC9D,oEAAoE;QACpE,aAAa;QACb,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,CACnD,IAAI,EACJ,4BAA4B,EAC5B,GAAG,IAAI,CAAC,WAAW,gBAAgB,IAAI,CAAC,KAAK,EAAE,CAChD,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,CAC5C,IAAI,EACJ,qBAAqB,EACrB,GAAG,IAAI,CAAC,WAAW,UAAU,IAAI,CAAC,KAAK,EAAE,CAC1C,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QAEjE,8DAA8D;QAC9D,oEAAoE;QACpE,8DAA8D;QAC9D,iCAAiC;QACjC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtE,6DAA6D;QAC7D,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAClC,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;gBACrD,IAAI,CAAC,EAAE,CAAC,SAAS;oBAAE,SAAS;gBAC5B,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,qBAAqB,CAChE,IAAI,EACJ,sBAAsB,EAAE,EAAE,EAC1B,EAAE,CAAC,SAAS,CACb,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,6DAA6D;QAC7D,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC;YACxC,KAAK,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC;gBACtE,KAAK,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;oBACxD,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,qBAAqB,CAChE,IAAI,EACJ,uBAAuB,MAAM,IAAI,QAAQ,EAAE,EAC3C,GAAG,CACJ,CAAC;oBACF,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;QACH,CAAC;QAED,6DAA6D;QAC7D,gEAAgE;QAChE,+DAA+D;QAC/D,mEAAmE;QACnE,iEAAiE;QACjE,+DAA+D;QAC/D,kEAAkE;QAClE,mEAAmE;QACnE,2DAA2D;QAC3D,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACxD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,8BAA8B,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;YACrF,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,8DAA8D;QAC9D,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC;YACxC,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC;gBAC5D,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,qBAAqB,CAChE,IAAI,EACJ,4BAA4B,EAAE,EAAE,EAChC,GAAG,CACJ,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,yBAAyB,EAAE,CAAC;YACtC,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,yBAAyB,EAAE,CAAC;gBAC1D,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,qBAAqB,CAChE,IAAI,EACJ,gCAAgC,EAAE,EAAE,EACpC,GAAG,CACJ,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,iCAAiC,EAAE,CAAC;YAC9C,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,iCAAiC,EAAE,CAAC;gBAClE,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,qBAAqB,CAChE,IAAI,EACJ,kCAAkC,EAAE,EAAE,EACtC,GAAG,CACJ,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,yDAAyD;QACzD,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAClC,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;gBACtD,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,qBAAqB,CAChE,IAAI,EACJ,2BAA2B,EAAE,EAAE,EAC/B,GAAG,CACJ,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,yDAAyD;QACzD,iEAAiE;QACjE,oEAAoE;QACpE,2BAA2B;QAC3B,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC/C,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,qBAAqB,CAChE,IAAI,EACJ,0BAA0B,EAAE,EAAE,EAC9B,GAAG,CACJ,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,4DAA4D;QAC5D,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;YACnC,KAAK,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;gBAC9D,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CACrC,IAAI,EACJ,mBAAmB,EAAE,EAAE,EACvB,UAAU,CACX,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,4DAA4D;QAC5D,8DAA8D;QAC9D,gEAAgE;QAChE,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;YACjC,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;gBACvD,kDAAkD;gBAClD,sDAAsD;gBACtD,sDAAsD;gBACtD,+CAA+C;gBAC/C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAC1C,IAAI,CAAC,oBAAoB,CACvB,IAAI,GAAG,CAAC,eAAe,CAAC;wBACtB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK;wBACxB,OAAO,EAAE;4BACP,6BAA6B;4BAC7B,6BAA6B;4BAC7B,0BAA0B;4BAC1B,gCAAgC;4BAChC,+BAA+B;4BAC/B,kCAAkC;4BAClC,uCAAuC;4BACvC,sCAAsC;4BACtC,uBAAuB;yBACxB;wBACD,SAAS,EAAE,CAAC,OAAO,CAAC;qBACrB,CAAC,CACH,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,4DAA4D;QAC5D,4DAA4D;QAC5D,6DAA6D;QAC7D,wDAAwD;QACxD,yDAAyD;QACzD,aAAa;QACb,IAAI,OAAO,CAAC,+BAA+B,IAAI,OAAO,CAAC,+BAA+B,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAChG,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAC1B,IAAI,CAAC,oBAAoB,CACvB,IAAI,GAAG,CAAC,eAAe,CAAC;gBACtB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK;gBACxB,OAAO,EAAE,CAAC,eAAe,EAAE,kBAAkB,CAAC;gBAC9C,SAAS,EAAE,CAAC,GAAG,CAAC;aACjB,CAAC,CACH,CACF,CAAC;QACJ,CAAC;QAED,2DAA2D;QAC3D,6DAA6D;QAC7D,wDAAwD;QACxD,8DAA8D;QAC9D,8DAA8D;QAC9D,gCAAgC;QAChC,IAAI,OAAO,CAAC,yBAAyB,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,CAAC,GAAG,OAAO,CAAC,yBAAyB,CAAC,MAAM,EAAE,CAAC,CAAC;YAClE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAC1B,IAAI,CAAC,oBAAoB,CACvB,IAAI,GAAG,CAAC,eAAe,CAAC;oBACtB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK;oBACxB,OAAO,EAAE,CAAC,aAAa,CAAC;oBACxB,SAAS,EAAE,SAAS;iBACrB,CAAC,CACH,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,4DAA4D;QAC5D,kEAAkE;QAClE,gEAAgE;QAChE,oEAAoE;QACpE,mEAAmE;QACnE,0CAA0C;QAC1C,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;YACvD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAC1B,IAAI,CAAC,oBAAoB,CACvB,IAAI,GAAG,CAAC,eAAe,CAAC;oBACtB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK;oBACxB,OAAO,EAAE,CAAC,kBAAkB,CAAC;oBAC7B,SAAS,EAAE,OAAO;iBACnB,CAAC,CACH,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACK,uBAAuB,CAC7B,aAAoB,EACpB,UAAkB,EAClB,OAAwB;QAExB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,2DAA2D;YAC3D,+DAA+D;YAC/D,0DAA0D;YAC1D,qBAAqB;QACvB,CAAC;QAED,8DAA8D;QAC9D,4DAA4D;QAC5D,oDAAoD;QACpD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;YAC5E,IAAI,CAAC;gBACH,cAAc,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;gBACrE,cAAc,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC;YAC3E,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CACb,sEAAsE;oBACtE,gEAAgE;oBAChE,wDAAyD,GAAa,CAAC,OAAO,EAAE,EAChF,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;YACJ,CAAC;QACH,CAAC;QAED,8DAA8D;QAC9D,4DAA4D;QAC5D,wDAAwD;QACxD,6CAA6C;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC7B,MAAM,mBAAmB,GACvB,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,mBAAmB,IAAI,CAAC;gBAC3D,CAAC,CAAC,MAAM,CAAC,mBAAmB;gBAC5B,CAAC,CAAC,CAAC,CAAC;YACR,MAAM,SAAS,GACb,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,iBAAiB,IAAI,CAAC;gBACvD,CAAC,CAAC,MAAM,CAAC,iBAAiB;gBAC1B,CAAC,CAAC,EAAE,CAAC;YAET,MAAM,YAAY,GACf,MAAM,CAAC,YAAmC,IAAI,qBAAqB,CAAC;YAEvE,IAAI,gBAAgB,GAAG,GAAG,EAAE,gBAAgB,CAAC;YAC7C,IAAI,eAAe,GAAG,GAAG,EAAE,YAAY,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;gBAClE,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;gBAE7D,iEAAiE;gBACjE,mEAAmE;gBACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;gBAC3D,MAAM,UAAU,GAAG,IAAI;qBACpB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;qBAC/B,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;qBACpB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAEvB,EAAE,CAAC,aAAa,CACd,gBAAgB,EAChB,6DAA6D;oBAC3D,2BAA2B,UAAU,QAAQ;oBAC7C,4EAA4E;oBAC5E,mFAAmF;oBACnF,OAAO,EACT,OAAO,CACR,CAAC;gBAEF,EAAE,CAAC,aAAa,CACd,eAAe,EACf,2DAA2D;oBACzD,2BAA2B,UAAU,QAAQ;oBAC7C,yEAAyE,EAC3E,OAAO,CACR,CAAC;YACJ,CAAC;YAED,4DAA4D;YAC5D,MAAM,cAAc,GAAG,UAAU,EAAE,aAAa,CAAC;YACjD,MAAM,gBAAgB,GAAG,OAAO,CAAC,2BAA2B,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YACtE,MAAM,aAAa,GAAG,gBAAgB;gBACpC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,cAAc,eAAe,EAAE,gBAAgB,CAAC;gBAClF,CAAC,CAAC,SAAS,CAAC;YAEd,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CACnC,cAAc,EACd,uBAAuB,CAAC,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,IAAI,cAAc,EAAE,CAAC,EAC9E,gBAAgB,EAChB,0BAA0B,EAAE,wBAAwB,EACpD;gBACE,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,WAAW,EAAE;oBACX,GAAG,IAAI,CAAC,WAAW;oBACnB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB;oBAC7C,yBAAyB,EAAE,MAAM,CAAC,SAAS,CAAC;oBAC5C,wBAAwB,EAAE,EAAE;oBAC5B,4BAA4B,EAAE,YAAY;iBAC3C;gBACD,GAAG,CAAC,aAAa;oBACf,CAAC,CAAC,EAAE,eAAe,EAAE,aAAa,EAAE,sBAAsB,EAAE,IAAI,EAAE;oBAClE,CAAC,CAAC,EAAE,CAAC;aACR,CACF,CAAC;YACF,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;YAEnD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,cAAc,OAAO,EAAE;gBAC9C,QAAQ,EAAE,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,IAAI,cAAc,EAAE;gBAC/D,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;gBACzE,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,CAAC,IAAI,aAAa,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;aAC1D,CAAC,CAAC;YAEH,4DAA4D;YAC5D,MAAM,UAAU,GAAG,UAAU,EAAE,iBAAiB,CAAC;YACjD,MAAM,YAAY,GAAG,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9D,MAAM,SAAS,GAAG,YAAY;gBAC5B,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,UAAU,eAAe,EAAE,YAAY,CAAC;gBAC1E,CAAC,CAAC,SAAS,CAAC;YAEd,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAC/B,UAAU,EACV,uBAAuB,CAAC,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,IAAI,UAAU,EAAE,CAAC,EAC1E,eAAe,EACf,wCAAwC,EAAE,IAAI,EAC9C;gBACE,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,WAAW,EAAE;oBACX,GAAG,IAAI,CAAC,WAAW;oBACnB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB;oBAC7C,wBAAwB,EAAE,EAAE;oBAC5B,4BAA4B,EAAE,YAAY;iBAC3C;gBACD,GAAG,CAAC,SAAS;oBACX,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,sBAAsB,EAAE,IAAI,EAAE;oBAC9D,CAAC,CAAC,EAAE,CAAC;aACR,CACF,CAAC;YACF,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAE3C,0DAA0D;YAC1D,0DAA0D;YAC1D,4DAA4D;YAC5D,8CAA8C;YAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,yBAAyB,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5D,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAC1C,IAAI,EACJ,GAAG,UAAU,iBAAiB,EAC9B,QAAQ,CACT,CAAC;gBACF,aAAa,CAAC,eAAe,CAC3B,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAClD,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tier — Compute stack: the pools `services[]` run on (`compute[]`).
|
|
3
|
+
*
|
|
4
|
+
* One ECS cluster per pool, and per `kind`:
|
|
5
|
+
*
|
|
6
|
+
* - `instance` — the machines every service of the pool runs on: an Auto
|
|
7
|
+
* Scaling group of `instances.min`–`max` (the preset's `machines.count`
|
|
8
|
+
* by default) behind an explicit launch template (a launch
|
|
9
|
+
* *configuration* is deprecated and refused in accounts opened after
|
|
10
|
+
* June 2024), in the private subnets unless `placement: 'public'`, a
|
|
11
|
+
* capacity provider the cluster knows them by, a security group that is
|
|
12
|
+
* every service's door (tasks use the host's network), and a private
|
|
13
|
+
* hosted zone for their names. Operators reach a machine through SSM
|
|
14
|
+
* Session Manager: no key pair, no open port.
|
|
15
|
+
*
|
|
16
|
+
* What fronts the machines is decided by the services' ports:
|
|
17
|
+
* - any `public` port → an internet-facing Network Load Balancer with an
|
|
18
|
+
* Elastic IP per AZ — the fixed addresses devices are configured
|
|
19
|
+
* with — the group as instance target, client addresses preserved;
|
|
20
|
+
* - any `shared` port, or a `vpc` port of a named service on a pool of
|
|
21
|
+
* several machines → an internal Network Load Balancer, and, for the
|
|
22
|
+
* shared ports, a VPC Endpoint Service other ventures reach through
|
|
23
|
+
* a private link.
|
|
24
|
+
* A pool of one machine with neither is just the machine: the zone's
|
|
25
|
+
* wildcard record points at its private IP, registered at boot. The zone
|
|
26
|
+
* exists for names — a pool none of whose services declares `dns` has
|
|
27
|
+
* none.
|
|
28
|
+
* - `serverless` — the cluster and, for named services, a Cloud Map private
|
|
29
|
+
* DNS namespace on the same zone name; the services tier registers each
|
|
30
|
+
* task's name in it.
|
|
31
|
+
*
|
|
32
|
+
* # Why the pool knows the services
|
|
33
|
+
*
|
|
34
|
+
* On an `instance` pool the machines' security group admits what the
|
|
35
|
+
* services' ports declare, the balancers' listeners are those ports, the
|
|
36
|
+
* machines' disks carry the services' persistent volumes, and the machines —
|
|
37
|
+
* not a task — are what the databases they use admit. So this stack reads
|
|
38
|
+
* `services[]` too, for the pool's sake only; the tasks themselves are the
|
|
39
|
+
* services tier's.
|
|
40
|
+
*
|
|
41
|
+
* # Lifecycle position
|
|
42
|
+
*
|
|
43
|
+
* Rarely updated: a size, a count, a disk. The balancer's Elastic IPs are the
|
|
44
|
+
* external contract — units in the field are configured with them — hence
|
|
45
|
+
* `retainAddress` (default: retained under strict data safety).
|
|
46
|
+
*
|
|
47
|
+
* # Public surface (via SSM)
|
|
48
|
+
*
|
|
49
|
+
* - `computeKeys.clusterName / privateZoneName` per pool;
|
|
50
|
+
* - `computeKeys.capacityProviderName / instanceSecurityGroupId /
|
|
51
|
+
* alarmTopicArn` per instance pool;
|
|
52
|
+
* - `computeKeys.loadBalancerDnsName / addresses` when the pool has a
|
|
53
|
+
* public balancer, `internalLoadBalancerDnsName / endpointServiceName`
|
|
54
|
+
* when it has an internal one / an endpoint service.
|
|
55
|
+
*/
|
|
56
|
+
import * as cdk from 'aws-cdk-lib';
|
|
57
|
+
import * as ec2 from 'aws-cdk-lib/aws-ec2';
|
|
58
|
+
import * as ecs from 'aws-cdk-lib/aws-ecs';
|
|
59
|
+
import * as elbv2 from 'aws-cdk-lib/aws-elasticloadbalancingv2';
|
|
60
|
+
import * as servicediscovery from 'aws-cdk-lib/aws-servicediscovery';
|
|
61
|
+
import { Construct } from 'constructs';
|
|
62
|
+
import { type ComputeIntent, type ComputeKind, type EnvConfig, type ServiceIntent, type VentureIntent } from '@venturekit/core';
|
|
63
|
+
/** Memory the ECS agent keeps for the operating system and itself on an instance pool, MiB. */
|
|
64
|
+
export declare const INSTANCE_RESERVED_MEMORY_MIB = 384;
|
|
65
|
+
/** Where an instance pool keeps the services' persistent volumes: `<root>/<service>/<volume>`. */
|
|
66
|
+
export declare const INSTANCE_VOLUME_ROOT = "/var/lib/venturekit";
|
|
67
|
+
/** The zone services are named under when the pool gives none. */
|
|
68
|
+
export declare function defaultPrivateZone(projectName: string, stage: string): string;
|
|
69
|
+
/** The host path of a service's persistent volume on an instance pool. */
|
|
70
|
+
export declare function instanceVolumePath(serviceId: string, volume: string): string;
|
|
71
|
+
/** The pool a service is on: its own `compute`, else the first declared. */
|
|
72
|
+
export declare function poolOf(service: ServiceIntent, compute: ComputeIntent[]): ComputeIntent | undefined;
|
|
73
|
+
/** The instance type of a pool: spelled out on the intent, else the stage's table for its `size`. */
|
|
74
|
+
export declare function instanceTypeOf(intent: ComputeIntent, envConfig: EnvConfig): string;
|
|
75
|
+
/** A port some service on the pool declares, with what the balancers need to know about it. */
|
|
76
|
+
export interface PoolPort {
|
|
77
|
+
serviceId: string;
|
|
78
|
+
containerName: string;
|
|
79
|
+
port: number;
|
|
80
|
+
expose: 'vpc' | 'public' | 'shared';
|
|
81
|
+
from: string[];
|
|
82
|
+
tls?: {
|
|
83
|
+
certificateArn: string;
|
|
84
|
+
port?: number;
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
/** What the services tier needs of a pool to put a task on it. */
|
|
88
|
+
export interface ComputePool {
|
|
89
|
+
intent: ComputeIntent;
|
|
90
|
+
kind: ComputeKind;
|
|
91
|
+
/** What the pool's images are built for. */
|
|
92
|
+
architecture: 'arm64' | 'x86_64';
|
|
93
|
+
cluster: ecs.ICluster;
|
|
94
|
+
/** `<service.dns>.<zoneName>` is a service's private name. */
|
|
95
|
+
zoneName: string;
|
|
96
|
+
/** Whether the zone (or namespace) exists: only when a service on the pool declares `dns`. */
|
|
97
|
+
hasZone: boolean;
|
|
98
|
+
/** `instance`: how many machines. */
|
|
99
|
+
machines: {
|
|
100
|
+
min: number;
|
|
101
|
+
max: number;
|
|
102
|
+
};
|
|
103
|
+
/** `serverless`: where the services tier registers each task's name. */
|
|
104
|
+
namespace?: servicediscovery.IPrivateDnsNamespace;
|
|
105
|
+
/** `instance`: what a service names to land on the machines. */
|
|
106
|
+
capacityProvider?: ecs.AsgCapacityProvider;
|
|
107
|
+
/** `instance` with public ports: the internet-facing balancer and its fixed addresses. */
|
|
108
|
+
publicLoadBalancer?: elbv2.NetworkLoadBalancer;
|
|
109
|
+
addresses: ec2.CfnEIP[];
|
|
110
|
+
/** `instance` with shared ports (or named vpc ports on several machines): the internal balancer. */
|
|
111
|
+
internalLoadBalancer?: elbv2.NetworkLoadBalancer;
|
|
112
|
+
/** `instance` with shared ports: what other ventures' endpoints connect to. */
|
|
113
|
+
endpointService?: ec2.VpcEndpointService;
|
|
114
|
+
/** `instance`: the balancers' target groups, by port — for the services tier's alarms. */
|
|
115
|
+
targetGroups: Map<number, elbv2.NetworkTargetGroup>;
|
|
116
|
+
/** `instance`: the shared ports, in declaration order — the first is the one a consumer's URL names. */
|
|
117
|
+
sharedPorts: number[];
|
|
118
|
+
}
|
|
119
|
+
export interface VentureComputeStackProps extends cdk.StackProps {
|
|
120
|
+
projectName: string;
|
|
121
|
+
stage: string;
|
|
122
|
+
envConfig: EnvConfig;
|
|
123
|
+
/** Reads `compute[]`; and `services[]`, for what each pool must admit, front and carry. */
|
|
124
|
+
infrastructure: VentureIntent;
|
|
125
|
+
/** The venture's VPC (network tier). Services need one; the generator turns the tier on when they are declared. */
|
|
126
|
+
vpc: ec2.IVpc;
|
|
127
|
+
/**
|
|
128
|
+
* Per database intent: its security group id and port. An `instance`
|
|
129
|
+
* pool is admitted here to every database a service on it declares — the
|
|
130
|
+
* machines, once, for every task on them. (`serverless` tasks are admitted
|
|
131
|
+
* by the services tier, each with its own group.)
|
|
132
|
+
*/
|
|
133
|
+
databaseConnectionsById?: Map<string, {
|
|
134
|
+
securityGroupId: string;
|
|
135
|
+
port: number;
|
|
136
|
+
}>;
|
|
137
|
+
}
|
|
138
|
+
export declare class VentureComputeStack extends cdk.Stack {
|
|
139
|
+
/** In-process handles for the services tier, keyed by pool id. */
|
|
140
|
+
readonly pools: Map<string, ComputePool>;
|
|
141
|
+
private readonly isStrictRetain;
|
|
142
|
+
constructor(scope: Construct, id: string, props: VentureComputeStackProps);
|
|
143
|
+
private createServerlessPool;
|
|
144
|
+
private createInstancePool;
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=compute-stack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compute-stack.d.ts","sourceRoot":"","sources":["../../src/cdk/compute-stack.ts"],"names":[],"mappings":"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"}
|