dsh-coding-subscription-oauth 0.7.1 → 0.8.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.
Files changed (42) hide show
  1. package/CHANGELOG.md +312 -302
  2. package/CONTRIBUTING.md +138 -138
  3. package/INSTALL.md +267 -262
  4. package/LICENSE +19 -19
  5. package/NOTICE +11 -11
  6. package/README.de.md +309 -303
  7. package/README.es.md +310 -304
  8. package/README.fr.md +310 -304
  9. package/README.ja.md +310 -304
  10. package/README.ko.md +310 -304
  11. package/README.md +327 -321
  12. package/README.pt-BR.md +310 -304
  13. package/README.ru.md +310 -304
  14. package/README.zh-CN.md +325 -319
  15. package/compatibility/dsh-bom.json +36 -36
  16. package/cordis.patch.yml +13 -13
  17. package/docs/00-project-rules.md +213 -213
  18. package/docs/02-architecture.md +143 -142
  19. package/docs/02-architecture.zh-CN.md +143 -142
  20. package/lib/bin.js +13 -6
  21. package/lib/bin.js.map +3 -3
  22. package/lib/client.js +3 -3
  23. package/lib/client.js.map +4 -4
  24. package/lib/gateway-auth.d.ts +1 -0
  25. package/lib/gateway-auth.d.ts.map +1 -1
  26. package/lib/gateway-config.d.ts +4 -0
  27. package/lib/gateway-config.d.ts.map +1 -1
  28. package/lib/gateway-http.d.ts +5 -0
  29. package/lib/gateway-http.d.ts.map +1 -1
  30. package/lib/gateway-opencode-go.d.ts +22 -0
  31. package/lib/gateway-opencode-go.d.ts.map +1 -0
  32. package/lib/gateway.d.ts +2 -0
  33. package/lib/gateway.d.ts.map +1 -1
  34. package/lib/index.js +276 -63
  35. package/lib/index.js.map +4 -4
  36. package/lib/invariant.js.map +1 -1
  37. package/package.json +229 -229
  38. package/patches/dsh-agy@0.1.2.patch +25 -25
  39. package/scripts/release.mjs +187 -187
  40. package/scripts/smoke-deployed-routes.mjs +146 -146
  41. package/scripts/verify-adapter-host.mjs +70 -70
  42. package/scripts/verify-deployed-catalog.mjs +87 -87
@@ -9,6 +9,7 @@ export interface GatewayKeyDocument {
9
9
  apiKey: string;
10
10
  enabled?: boolean;
11
11
  port?: number;
12
+ opencodeGoEnabled?: boolean;
12
13
  }
13
14
  export declare function gatewayKeyPath(dshHome?: string): string;
14
15
  export declare function generateGatewayApiKey(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"gateway-auth.d.ts","sourceRoot":"","sources":["../../src/gateway-auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,QAAA,MAAM,kBAAkB,IAAI,CAAC;AAE7B,MAAM,WAAW,kBAAkB;IAClC,OAAO,EAAE,OAAO,kBAAkB,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAIrE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CA0BlG;AAED,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAelG;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQtF;AAED,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGzG"}
1
+ {"version":3,"file":"gateway-auth.d.ts","sourceRoot":"","sources":["../../src/gateway-auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,QAAA,MAAM,kBAAkB,IAAI,CAAC;AAE7B,MAAM,WAAW,kBAAkB;IAClC,OAAO,EAAE,OAAO,kBAAkB,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAIrE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGxD;AAYD,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CA6BlG;AAED,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAclG;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOtF;AAED,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGzG"}
@@ -9,12 +9,16 @@ export declare const GATEWAY_MIN_PORT = 1024;
9
9
  export declare const GATEWAY_MAX_PORT = 65535;
10
10
  export declare const GATEWAY_RANDOM_PORT_MIN = 18100;
11
11
  export declare const GATEWAY_RANDOM_PORT_MAX = 18999;
12
+ export interface GatewayOpencodeGoConfig {
13
+ readonly enabled: boolean;
14
+ }
12
15
  export interface GatewayConfig {
13
16
  readonly enabled: boolean;
14
17
  readonly bind: string;
15
18
  readonly port: number;
16
19
  readonly apiKey?: string;
17
20
  readonly rateLimit: number;
21
+ readonly opencodeGo: GatewayOpencodeGoConfig;
18
22
  }
19
23
  export declare const GatewayConfigSchema: z<Partial<GatewayConfig>>;
20
24
  export declare function resolveGatewayConfig(raw?: Partial<GatewayConfig>): GatewayConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"gateway-config.d.ts","sourceRoot":"","sources":["../../src/gateway-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,CAAC,MAAM,0BAA0B,CAAC;AAEzC,eAAO,MAAM,oBAAoB,cAAc,CAAC;AAChD,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAC3C,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,gBAAgB,QAAS,CAAC;AACvC,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAC9C,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAG9C,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,mBAAmB,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAMxD,CAAC;AAEH,wBAAgB,oBAAoB,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAmBhF;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOtD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,MAAM,GAAG,SAAS,MAAM,EAAO,GAAG,MAAM,CAUlF"}
1
+ {"version":3,"file":"gateway-config.d.ts","sourceRoot":"","sources":["../../src/gateway-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,CAAC,MAAM,0BAA0B,CAAC;AAEzC,eAAO,MAAM,oBAAoB,cAAc,CAAC;AAChD,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAC3C,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,gBAAgB,QAAS,CAAC;AACvC,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAC9C,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAG9C,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,uBAAuB,CAAC;CAC7C;AAED,eAAO,MAAM,mBAAmB,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAWxD,CAAC;AAEH,wBAAgB,oBAAoB,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAuBhF;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOtD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,MAAM,GAAG,SAAS,MAAM,EAAO,GAAG,MAAM,CAUlF"}
@@ -5,10 +5,15 @@
5
5
  import { type Server } from "node:http";
6
6
  import { type GatewayBackend } from "./gateway-backend.js";
7
7
  import { type GatewayConfig } from "./gateway-config.js";
8
+ import { type OpencodeGoSessionMap } from "./gateway-opencode-go.js";
8
9
  export interface GatewayHttpOptions {
9
10
  config: GatewayConfig;
10
11
  apiKey: string;
11
12
  backend: GatewayBackend;
13
+ isOpencodeGoEnabled?: () => boolean;
14
+ getUpstreamApiKey?: () => string;
15
+ sessionMap?: OpencodeGoSessionMap;
16
+ fetchImpl?: typeof fetch;
12
17
  }
13
18
  export declare function createGatewayHttpServer(options: GatewayHttpOptions): Server;
14
19
  export declare function listenGateway(server: Server, config: GatewayConfig): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"gateway-http.d.ts","sourceRoot":"","sources":["../../src/gateway-http.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAsC,KAAK,MAAM,EAAuB,MAAM,WAAW,CAAC;AAGjG,OAAO,EAAE,KAAK,cAAc,EAAwB,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,KAAK,aAAa,EAAkB,MAAM,qBAAqB,CAAC;AAIzE,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,CAAC;CACxB;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAc3E;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAQlF;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO1D"}
1
+ {"version":3,"file":"gateway-http.d.ts","sourceRoot":"","sources":["../../src/gateway-http.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAsC,KAAK,MAAM,EAAuB,MAAM,WAAW,CAAC;AAGjG,OAAO,EAAE,KAAK,cAAc,EAAwB,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,KAAK,aAAa,EAAkB,MAAM,qBAAqB,CAAC;AAGzE,OAAO,EAGN,KAAK,oBAAoB,EACzB,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC;IACpC,iBAAiB,CAAC,EAAE,MAAM,MAAM,CAAC;IACjC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CACzB;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAkB3E;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAQlF;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO1D"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Opt-in OpenCode Go chat completions proxy for the local gateway.
3
+ * @module dsh-coding-subscription-oauth/gateway-opencode-go
4
+ */
5
+ import type { IncomingMessage, ServerResponse } from "node:http";
6
+ export declare const OPENCODE_GO_ORIGIN = "https://opencode.ai";
7
+ export declare const OPENCODE_GO_CHAT_COMPLETIONS_URL = "https://opencode.ai/zen/go/v1/chat/completions";
8
+ export interface OpencodeGoSessionMap {
9
+ get(key: string): string | undefined;
10
+ set(key: string, value: string): void;
11
+ readonly size: number;
12
+ }
13
+ export declare function createOpencodeGoSessionMap(maxEntries?: number): OpencodeGoSessionMap;
14
+ export declare function resolveSessionId(req: IncomingMessage, bodyRecord: Record<string, unknown>, sessionMap: OpencodeGoSessionMap): string;
15
+ export interface OpencodeGoChatCompletionsDeps {
16
+ fetchImpl: typeof fetch;
17
+ sessionMap: OpencodeGoSessionMap;
18
+ getUpstreamApiKey: () => string;
19
+ isEnabled: () => boolean;
20
+ }
21
+ export declare function handleOpencodeGoChatCompletions(req: IncomingMessage, res: ServerResponse, deps: OpencodeGoChatCompletionsDeps): Promise<void>;
22
+ //# sourceMappingURL=gateway-opencode-go.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway-opencode-go.d.ts","sourceRoot":"","sources":["../../src/gateway-opencode-go.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAKjE,eAAO,MAAM,kBAAkB,wBAAwB,CAAC;AACxD,eAAO,MAAM,gCAAgC,mDAAqD,CAAC;AAiBnG,MAAM,WAAW,oBAAoB;IACpC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACrC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,0BAA0B,CAAC,UAAU,SAAkB,GAAG,oBAAoB,CAwB7F;AAED,wBAAgB,gBAAgB,CAC/B,GAAG,EAAE,eAAe,EACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,UAAU,EAAE,oBAAoB,GAC9B,MAAM,CAaR;AAED,MAAM,WAAW,6BAA6B;IAC7C,SAAS,EAAE,OAAO,KAAK,CAAC;IACxB,UAAU,EAAE,oBAAoB,CAAC;IACjC,iBAAiB,EAAE,MAAM,MAAM,CAAC;IAChC,SAAS,EAAE,MAAM,OAAO,CAAC;CACzB;AAED,wBAAsB,+BAA+B,CACpD,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,6BAA6B,GACjC,OAAO,CAAC,IAAI,CAAC,CAyFf"}
package/lib/gateway.d.ts CHANGED
@@ -31,12 +31,14 @@ export interface GatewayPublicStatus {
31
31
  keyHint: string;
32
32
  models: string[];
33
33
  warning: string;
34
+ opencodeGoEnabled: boolean;
34
35
  }
35
36
  export interface CodingOAuthGatewayController {
36
37
  status(): Promise<GatewayPublicStatus>;
37
38
  startIfEnabled(): Promise<StartedGateway | undefined>;
38
39
  setEnabled(enabled: boolean): Promise<GatewayPublicStatus>;
39
40
  setPort(port: number): Promise<GatewayPublicStatus>;
41
+ setOpencodeGoEnabled(enabled: boolean): Promise<GatewayPublicStatus>;
40
42
  revealKey(): Promise<{
41
43
  apiKey: string;
42
44
  keyHint: string;
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/gateway.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,OAAO,EAA+B,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAqB,KAAK,aAAa,EAAwB,MAAM,qBAAqB,CAAC;AAElG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,eAAO,MAAM,mBAAmB,0HACwF,CAAC;AAEzH,MAAM,WAAW,mBAAmB;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,aAAa,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAChD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,4BAA4B;IAC5C,MAAM,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACvC,cAAc,IAAI,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IACtD,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC3D,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACpD,SAAS,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,SAAS,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACtB;AAED,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAG/G;AAED,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,mBAAmB,GAAG,4BAA4B,CA+L7G"}
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/gateway.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,OAAO,EAA+B,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAqB,KAAK,aAAa,EAAwB,MAAM,qBAAqB,CAAC;AAGlG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,eAAO,MAAM,mBAAmB,0HACwF,CAAC;AAEzH,MAAM,WAAW,mBAAmB;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,aAAa,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAChD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,4BAA4B;IAC5C,MAAM,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACvC,cAAc,IAAI,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IACtD,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC3D,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACpD,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACrE,SAAS,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,SAAS,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACtB;AAED,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAG/G;AAED,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,mBAAmB,GAAG,4BAA4B,CAuO7G"}