@optimizely-opal/opal-tool-ocp-sdk 1.1.3 → 1.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/function/GlobalToolFunction.d.ts +28 -1
- package/dist/function/GlobalToolFunction.d.ts.map +1 -1
- package/dist/function/GlobalToolFunction.js +29 -0
- package/dist/function/GlobalToolFunction.js.map +1 -1
- package/dist/function/ToolFunction.d.ts +10 -1
- package/dist/function/ToolFunction.d.ts.map +1 -1
- package/dist/function/ToolFunction.js +11 -0
- package/dist/function/ToolFunction.js.map +1 -1
- package/dist/service/Service.d.ts +3 -2
- package/dist/service/Service.d.ts.map +1 -1
- package/dist/service/Service.js +16 -6
- package/dist/service/Service.js.map +1 -1
- package/dist/service/Service.test.js +28 -0
- package/dist/service/Service.test.js.map +1 -1
- package/dist/types/Models.d.ts +17 -0
- package/dist/types/Models.d.ts.map +1 -1
- package/dist/types/Models.js +19 -0
- package/dist/types/Models.js.map +1 -1
- package/dist/types/Models.test.d.ts +2 -0
- package/dist/types/Models.test.d.ts.map +1 -0
- package/dist/types/Models.test.js +84 -0
- package/dist/types/Models.test.js.map +1 -0
- package/package.json +1 -1
- package/src/function/GlobalToolFunction.ts +33 -1
- package/src/function/ToolFunction.ts +15 -1
- package/src/service/Service.test.ts +54 -0
- package/src/service/Service.ts +25 -6
- package/src/types/Models.test.ts +102 -0
- package/src/types/Models.ts +22 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { GlobalFunction, Response } from '@zaiusinc/app-sdk';
|
|
2
|
-
import { ReadyResponse } from '../types/Models';
|
|
2
|
+
import { ReadyResponse, AuthRequirement } from '../types/Models';
|
|
3
3
|
/**
|
|
4
4
|
* Abstract base class for global tool-based function execution
|
|
5
5
|
* Provides a standard interface for processing requests through registered tools
|
|
@@ -12,6 +12,33 @@ export declare abstract class GlobalToolFunction extends GlobalFunction {
|
|
|
12
12
|
* @returns ReadyResponse containing ready status and optional reason when not ready
|
|
13
13
|
*/
|
|
14
14
|
protected ready(): Promise<ReadyResponse | boolean>;
|
|
15
|
+
/**
|
|
16
|
+
* Override this method to customize auth requirements for all tools before they are returned
|
|
17
|
+
* This is useful for instance-level OAuth where the provider name needs to be dynamic
|
|
18
|
+
* based on user settings.
|
|
19
|
+
*
|
|
20
|
+
* @param authRequirements Original auth requirements from tool definitions
|
|
21
|
+
* @returns Modified auth requirements (can return the same array if no changes needed)
|
|
22
|
+
*
|
|
23
|
+
* Example usage:
|
|
24
|
+
* ```typescript
|
|
25
|
+
* public async customizeAuthRequirements(
|
|
26
|
+
* authRequirements: AuthRequirement[]
|
|
27
|
+
* ): Promise<AuthRequirement[]> {
|
|
28
|
+
* const settings = await storage.settings.get('my_settings');
|
|
29
|
+
* const providerName = settings?.provider_name as string;
|
|
30
|
+
*
|
|
31
|
+
* if (providerName) {
|
|
32
|
+
* authRequirements.forEach(auth => {
|
|
33
|
+
* auth.provider = providerName;
|
|
34
|
+
* });
|
|
35
|
+
* }
|
|
36
|
+
*
|
|
37
|
+
* return authRequirements;
|
|
38
|
+
* }
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
customizeAuthRequirements(authRequirements: AuthRequirement[]): Promise<AuthRequirement[]>;
|
|
15
42
|
/**
|
|
16
43
|
* Process the incoming request using the tools service
|
|
17
44
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalToolFunction.d.ts","sourceRoot":"","sources":["../../src/function/GlobalToolFunction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAmB,MAAM,mBAAmB,CAAC;AAI9E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"GlobalToolFunction.d.ts","sourceRoot":"","sources":["../../src/function/GlobalToolFunction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAmB,MAAM,mBAAmB,CAAC;AAI9E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGjE;;;GAGG;AACH,8BAAsB,kBAAmB,SAAQ,cAAc;IAE7D;;;;;OAKG;IACH,SAAS,CAAC,KAAK,IAAI,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC;IAInD;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACU,yBAAyB,CACpC,gBAAgB,EAAE,eAAe,EAAE,GAClC,OAAO,CAAC,eAAe,EAAE,CAAC;IAI7B;;;;OAIG;IACU,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;YAmB3B,aAAa;IAkB3B;;;;;;;OAOG;YACW,gBAAgB;CAiB/B"}
|
|
@@ -20,6 +20,35 @@ class GlobalToolFunction extends app_sdk_1.GlobalFunction {
|
|
|
20
20
|
ready() {
|
|
21
21
|
return Promise.resolve({ ready: true });
|
|
22
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Override this method to customize auth requirements for all tools before they are returned
|
|
25
|
+
* This is useful for instance-level OAuth where the provider name needs to be dynamic
|
|
26
|
+
* based on user settings.
|
|
27
|
+
*
|
|
28
|
+
* @param authRequirements Original auth requirements from tool definitions
|
|
29
|
+
* @returns Modified auth requirements (can return the same array if no changes needed)
|
|
30
|
+
*
|
|
31
|
+
* Example usage:
|
|
32
|
+
* ```typescript
|
|
33
|
+
* public async customizeAuthRequirements(
|
|
34
|
+
* authRequirements: AuthRequirement[]
|
|
35
|
+
* ): Promise<AuthRequirement[]> {
|
|
36
|
+
* const settings = await storage.settings.get('my_settings');
|
|
37
|
+
* const providerName = settings?.provider_name as string;
|
|
38
|
+
*
|
|
39
|
+
* if (providerName) {
|
|
40
|
+
* authRequirements.forEach(auth => {
|
|
41
|
+
* auth.provider = providerName;
|
|
42
|
+
* });
|
|
43
|
+
* }
|
|
44
|
+
*
|
|
45
|
+
* return authRequirements;
|
|
46
|
+
* }
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
async customizeAuthRequirements(authRequirements) {
|
|
50
|
+
return authRequirements;
|
|
51
|
+
}
|
|
23
52
|
/**
|
|
24
53
|
* Process the incoming request using the tools service
|
|
25
54
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalToolFunction.js","sourceRoot":"","sources":["../../src/function/GlobalToolFunction.ts"],"names":[],"mappings":";;;AAAA,+CAA8E;AAC9E,iDAA4G;AAC5G,gDAAkD;AAClD,sDAAmD;AAEnD,4DAA8D;AAE9D;;;GAGG;AACH,MAAsB,kBAAmB,SAAQ,wBAAc;IAE7D;;;;;OAKG;IACO,KAAK;QACb,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,OAAO;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,oEAAoE;QACpE,MAAM,iBAAiB,GAAG,IAAA,2BAAe,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,iBAAiB,EAAE,WAAW,CAAC;QAElD,IAAA,yBAAe,EAAC;YACd,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE;YAChE,UAAU,EAAE,UAAU,IAAI,EAAE;SAC7B,CAAC,CAAC;QAEH,uBAAU,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC5C,uBAAU,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;QACvE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,aAAa,GAAG,OAAO,WAAW,KAAK,SAAS;gBACpD,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE;gBACxB,CAAC,CAAC,WAAW,CAAC;YAChB,OAAO,IAAI,kBAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAE9B,OAAO,MAAM,sBAAY,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAA,oCAAmB,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,gBAAgB;QAC5B,0CAA0C;QAC1C,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QAED,0EAA0E;QAC1E,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACvC,MAAM,IAAA,uCAA2B,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QAED,uEAAuE;QACvE,IAAI,sBAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,MAAM,IAAA,qCAAyB,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;CACF;AA/
|
|
1
|
+
{"version":3,"file":"GlobalToolFunction.js","sourceRoot":"","sources":["../../src/function/GlobalToolFunction.ts"],"names":[],"mappings":";;;AAAA,+CAA8E;AAC9E,iDAA4G;AAC5G,gDAAkD;AAClD,sDAAmD;AAEnD,4DAA8D;AAE9D;;;GAGG;AACH,MAAsB,kBAAmB,SAAQ,wBAAc;IAE7D;;;;;OAKG;IACO,KAAK;QACb,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACI,KAAK,CAAC,yBAAyB,CACpC,gBAAmC;QAEnC,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,OAAO;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,oEAAoE;QACpE,MAAM,iBAAiB,GAAG,IAAA,2BAAe,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,iBAAiB,EAAE,WAAW,CAAC;QAElD,IAAA,yBAAe,EAAC;YACd,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE;YAChE,UAAU,EAAE,UAAU,IAAI,EAAE;SAC7B,CAAC,CAAC;QAEH,uBAAU,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC5C,uBAAU,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;QACvE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,aAAa,GAAG,OAAO,WAAW,KAAK,SAAS;gBACpD,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE;gBACxB,CAAC,CAAC,WAAW,CAAC;YAChB,OAAO,IAAI,kBAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAE9B,OAAO,MAAM,sBAAY,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAA,oCAAmB,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,gBAAgB;QAC5B,0CAA0C;QAC1C,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QAED,0EAA0E;QAC1E,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACvC,MAAM,IAAA,uCAA2B,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QAED,uEAAuE;QACvE,IAAI,sBAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,MAAM,IAAA,qCAAyB,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;CACF;AA/GD,gDA+GC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Function, Response } from '@zaiusinc/app-sdk';
|
|
2
|
-
import { ReadyResponse } from '../types/Models';
|
|
2
|
+
import { ReadyResponse, AuthRequirement } from '../types/Models';
|
|
3
3
|
/**
|
|
4
4
|
* Abstract base class for tool-based function execution
|
|
5
5
|
* Provides a standard interface for processing requests through registered tools
|
|
@@ -12,6 +12,15 @@ export declare abstract class ToolFunction extends Function {
|
|
|
12
12
|
* @returns ReadyResponse containing ready status and optional reason when not ready
|
|
13
13
|
*/
|
|
14
14
|
protected ready(): Promise<ReadyResponse | boolean>;
|
|
15
|
+
/**
|
|
16
|
+
* Override this method to customize auth requirements for all tools before they are returned
|
|
17
|
+
* This is useful for instance-level OAuth where the provider name needs to be dynamic
|
|
18
|
+
* based on user settings.
|
|
19
|
+
*
|
|
20
|
+
* @param authRequirements Original auth requirements from tool definitions
|
|
21
|
+
* @returns Modified auth requirements (can return the same array if no changes needed)
|
|
22
|
+
*/
|
|
23
|
+
customizeAuthRequirements(authRequirements: AuthRequirement[]): Promise<AuthRequirement[]>;
|
|
15
24
|
/**
|
|
16
25
|
* Process the incoming request with logging
|
|
17
26
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolFunction.d.ts","sourceRoot":"","sources":["../../src/function/ToolFunction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAmB,MAAM,mBAAmB,CAAC;AAIxE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"ToolFunction.d.ts","sourceRoot":"","sources":["../../src/function/ToolFunction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAmB,MAAM,mBAAmB,CAAC;AAIxE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGjE;;;GAGG;AACH,8BAAsB,YAAa,SAAQ,QAAQ;IAEjD;;;;;OAKG;IACH,SAAS,CAAC,KAAK,IAAI,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC;IAInD;;;;;;;OAOG;IACU,yBAAyB,CACpC,gBAAgB,EAAE,eAAe,EAAE,GAClC,OAAO,CAAC,eAAe,EAAE,CAAC;IAI7B;;;;OAIG;IACU,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;IAYzC;;;;OAIG;YACW,aAAa;IAmB3B;;;;;;;OAOG;YACW,gBAAgB;CAiB/B"}
|
|
@@ -20,6 +20,17 @@ class ToolFunction extends app_sdk_1.Function {
|
|
|
20
20
|
ready() {
|
|
21
21
|
return Promise.resolve({ ready: true });
|
|
22
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Override this method to customize auth requirements for all tools before they are returned
|
|
25
|
+
* This is useful for instance-level OAuth where the provider name needs to be dynamic
|
|
26
|
+
* based on user settings.
|
|
27
|
+
*
|
|
28
|
+
* @param authRequirements Original auth requirements from tool definitions
|
|
29
|
+
* @returns Modified auth requirements (can return the same array if no changes needed)
|
|
30
|
+
*/
|
|
31
|
+
async customizeAuthRequirements(authRequirements) {
|
|
32
|
+
return authRequirements;
|
|
33
|
+
}
|
|
23
34
|
/**
|
|
24
35
|
* Process the incoming request with logging
|
|
25
36
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolFunction.js","sourceRoot":"","sources":["../../src/function/ToolFunction.ts"],"names":[],"mappings":";;;AAAA,+CAAwE;AACxE,iDAA4F;AAC5F,gDAAkD;AAClD,sDAAmD;AAEnD,4DAA8D;AAE9D;;;GAGG;AACH,MAAsB,YAAa,SAAQ,kBAAQ;IAEjD;;;;;OAKG;IACO,KAAK;QACb,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,OAAO;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAA,yBAAe,EAAC,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAEtF,uBAAU,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE5C,uBAAU,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;QACvE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,aAAa;QACzB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,aAAa,GAAG,OAAO,WAAW,KAAK,SAAS;gBACpD,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE;gBACxB,CAAC,CAAC,WAAW,CAAC;YAChB,OAAO,IAAI,kBAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAE9B,4EAA4E;YAC5E,OAAO,MAAM,sBAAY,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAA,oCAAmB,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,gBAAgB;QAC5B,0CAA0C;QAC1C,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QAED,0EAA0E;QAC1E,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACvC,MAAM,IAAA,uCAA2B,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QAED,uEAAuE;QACvE,IAAI,sBAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,MAAM,IAAA,sCAA0B,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"ToolFunction.js","sourceRoot":"","sources":["../../src/function/ToolFunction.ts"],"names":[],"mappings":";;;AAAA,+CAAwE;AACxE,iDAA4F;AAC5F,gDAAkD;AAClD,sDAAmD;AAEnD,4DAA8D;AAE9D;;;GAGG;AACH,MAAsB,YAAa,SAAQ,kBAAQ;IAEjD;;;;;OAKG;IACO,KAAK;QACb,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,yBAAyB,CACpC,gBAAmC;QAEnC,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,OAAO;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAA,yBAAe,EAAC,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAEtF,uBAAU,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE5C,uBAAU,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;QACvE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,aAAa;QACzB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,aAAa,GAAG,OAAO,WAAW,KAAK,SAAS;gBACpD,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE;gBACxB,CAAC,CAAC,WAAW,CAAC;YAChB,OAAO,IAAI,kBAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAE9B,4EAA4E;YAC5E,OAAO,MAAM,sBAAY,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAA,oCAAmB,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,gBAAgB;QAC5B,0CAA0C;QAC1C,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QAED,0EAA0E;QAC1E,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACvC,MAAM,IAAA,uCAA2B,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QAED,uEAAuE;QACvE,IAAI,sBAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,MAAM,IAAA,sCAA0B,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;CACF;AA5FD,oCA4FC"}
|
|
@@ -132,9 +132,10 @@ export declare class ToolsService {
|
|
|
132
132
|
* Get tool definitions with overrides and tag filtering applied
|
|
133
133
|
* @param appVersionId App version ID
|
|
134
134
|
* @param functionName Function name
|
|
135
|
+
* @param functionContext Optional function context for auth requirement customization
|
|
135
136
|
* @returns Tool definitions with overrides and filtering applied
|
|
136
137
|
*/
|
|
137
|
-
getToolsWithOverrides(appVersionId: string, functionName: string): Promise<Tool[]>;
|
|
138
|
+
getToolsWithOverrides(appVersionId: string, functionName: string, functionContext?: ToolFunction | GlobalToolFunction): Promise<Tool[]>;
|
|
138
139
|
/**
|
|
139
140
|
* Apply default auth requirements if none are specified
|
|
140
141
|
* @param authRequirements Original authentication requirements
|
|
@@ -143,7 +144,7 @@ export declare class ToolsService {
|
|
|
143
144
|
private withDefaultAuthRequirements;
|
|
144
145
|
/**
|
|
145
146
|
* Check if an endpoint requires OptiID authentication
|
|
146
|
-
* Tools: Check auth requirements for OptiID provider
|
|
147
|
+
* Tools: Check auth requirements for OptiID provider with required=true
|
|
147
148
|
* Interactions: Always require OptiID
|
|
148
149
|
* @param endpoint The endpoint path to check
|
|
149
150
|
* @returns true if the endpoint requires OptiID auth
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Service.d.ts","sourceRoot":"","sources":["../../src/service/Service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Service.d.ts","sourceRoot":"","sources":["../../src/service/Service.ts"],"names":[],"mappings":"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"}
|
package/dist/service/Service.js
CHANGED
|
@@ -282,9 +282,10 @@ class ToolsService {
|
|
|
282
282
|
* Get tool definitions with overrides and tag filtering applied
|
|
283
283
|
* @param appVersionId App version ID
|
|
284
284
|
* @param functionName Function name
|
|
285
|
+
* @param functionContext Optional function context for auth requirement customization
|
|
285
286
|
* @returns Tool definitions with overrides and filtering applied
|
|
286
287
|
*/
|
|
287
|
-
async getToolsWithOverrides(appVersionId, functionName) {
|
|
288
|
+
async getToolsWithOverrides(appVersionId, functionName, functionContext) {
|
|
288
289
|
const tools = Array.from(this.functions.values());
|
|
289
290
|
// Apply overrides first
|
|
290
291
|
const overrides = await this.getOverrides(appVersionId, functionName);
|
|
@@ -292,6 +293,14 @@ class ToolsService {
|
|
|
292
293
|
// Apply tag filtering
|
|
293
294
|
const tagsSettings = await this.getToolTagsSettings();
|
|
294
295
|
const filteredTools = toolsWithOverrides.filter((tool) => this.isToolEnabled(tool, tagsSettings));
|
|
296
|
+
// Apply auth requirement customization if function context is provided
|
|
297
|
+
if (functionContext && 'customizeAuthRequirements' in functionContext) {
|
|
298
|
+
for (const tool of filteredTools) {
|
|
299
|
+
if (tool.authRequirements && tool.authRequirements.length > 0) {
|
|
300
|
+
tool.authRequirements = await functionContext.customizeAuthRequirements(tool.authRequirements);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
}
|
|
295
304
|
return filteredTools;
|
|
296
305
|
}
|
|
297
306
|
/**
|
|
@@ -309,7 +318,7 @@ class ToolsService {
|
|
|
309
318
|
}
|
|
310
319
|
/**
|
|
311
320
|
* Check if an endpoint requires OptiID authentication
|
|
312
|
-
* Tools: Check auth requirements for OptiID provider
|
|
321
|
+
* Tools: Check auth requirements for OptiID provider with required=true
|
|
313
322
|
* Interactions: Always require OptiID
|
|
314
323
|
* @param endpoint The endpoint path to check
|
|
315
324
|
* @returns true if the endpoint requires OptiID auth
|
|
@@ -317,7 +326,7 @@ class ToolsService {
|
|
|
317
326
|
requiresOptiIdAuth(endpoint) {
|
|
318
327
|
const func = this.functions.get(endpoint);
|
|
319
328
|
if (func) {
|
|
320
|
-
return func.authRequirements.some((auth) => auth.provider.toLowerCase() === 'optiid');
|
|
329
|
+
return func.authRequirements.some((auth) => auth.provider.toLowerCase() === 'optiid' && auth.required);
|
|
321
330
|
}
|
|
322
331
|
// Interactions always require OptiID
|
|
323
332
|
const interaction = this.interactions.get(endpoint);
|
|
@@ -374,8 +383,9 @@ class ToolsService {
|
|
|
374
383
|
}
|
|
375
384
|
// Extract auth data from body JSON
|
|
376
385
|
const authData = req.bodyJSON?.auth;
|
|
377
|
-
// Validate auth data is present if tool has auth requirements
|
|
378
|
-
|
|
386
|
+
// Validate auth data is present if tool has any required auth requirements
|
|
387
|
+
const hasRequiredAuth = func.authRequirements.some((auth) => auth.required);
|
|
388
|
+
if (hasRequiredAuth && !authData) {
|
|
379
389
|
throw new ToolError_1.ToolError('Authentication data is required', 403);
|
|
380
390
|
}
|
|
381
391
|
const result = await func.handler(functionContext, params, authData);
|
|
@@ -407,7 +417,7 @@ class ToolsService {
|
|
|
407
417
|
const appVersionId = getAppVersionId();
|
|
408
418
|
// Get function name from function context
|
|
409
419
|
const functionName = functionContext.constructor.name;
|
|
410
|
-
const toolsWithOverrides = await this.getToolsWithOverrides(appVersionId, functionName);
|
|
420
|
+
const toolsWithOverrides = await this.getToolsWithOverrides(appVersionId, functionName, functionContext);
|
|
411
421
|
return new App.Response(200, { functions: toolsWithOverrides.map((f) => f.toJSON()) });
|
|
412
422
|
}
|
|
413
423
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Service.js","sourceRoot":"","sources":["../../src/service/Service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Service.js","sourceRoot":"","sources":["../../src/service/Service.ts"],"names":[],"mappings":"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"}
|
|
@@ -552,6 +552,34 @@ describe('ToolsService', () => {
|
|
|
552
552
|
const response = await Service_1.toolsService.processRequest(authRequest, mockToolFunction);
|
|
553
553
|
expect(response.status).toBe(200);
|
|
554
554
|
});
|
|
555
|
+
it('should allow tool execution when auth is optional (required=false) and no auth data provided', async () => {
|
|
556
|
+
const mockHandler = jest.fn().mockResolvedValue({ result: 'success without auth' });
|
|
557
|
+
// Register tool with optional auth (required=false)
|
|
558
|
+
const authRequirements = [
|
|
559
|
+
new Models_1.AuthRequirement('OptiID', 'default', false)
|
|
560
|
+
];
|
|
561
|
+
Service_1.toolsService.registerTool('optionalAuthTool', 'Tool with optional auth', mockHandler, [], '/optional-auth-tool', authRequirements);
|
|
562
|
+
// Request without auth data
|
|
563
|
+
const requestWithoutAuth = createMockRequest({
|
|
564
|
+
path: '/optional-auth-tool',
|
|
565
|
+
bodyJSON: {
|
|
566
|
+
// No auth property
|
|
567
|
+
}
|
|
568
|
+
});
|
|
569
|
+
const response = await Service_1.toolsService.processRequest(requestWithoutAuth, mockToolFunction);
|
|
570
|
+
expect(response.status).toBe(200);
|
|
571
|
+
expect(mockHandler).toHaveBeenCalledWith(mockToolFunction, {}, undefined // No auth data provided
|
|
572
|
+
);
|
|
573
|
+
});
|
|
574
|
+
it('should not require OptiID token validation when auth is optional (required=false)', async () => {
|
|
575
|
+
const authRequirements = [
|
|
576
|
+
new Models_1.AuthRequirement('OptiID', 'default', false)
|
|
577
|
+
];
|
|
578
|
+
Service_1.toolsService.registerTool('optionalOptiIdTool', 'Tool with optional OptiID', jest.fn().mockResolvedValue({ result: 'success' }), [], '/optional-optiid-tool', authRequirements);
|
|
579
|
+
// Check that requiresOptiIdAuth returns false for optional auth
|
|
580
|
+
const requiresAuth = Service_1.toolsService.requiresOptiIdAuth('/optional-optiid-tool');
|
|
581
|
+
expect(requiresAuth).toBe(false);
|
|
582
|
+
});
|
|
555
583
|
});
|
|
556
584
|
describe('edge cases', () => {
|
|
557
585
|
it('should throw 403 when request has null bodyJSON (no auth data)', async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Service.test.js","sourceRoot":"","sources":["../../src/service/Service.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Service.test.js","sourceRoot":"","sources":["../../src/service/Service.test.ts"],"names":[],"mappings":";;AAAA,sDAAsD;AACtD,uCAA4D;AAC5D,4CAAsF;AACtF,kDAA+C;AAC/C,2DAAwD;AACxD,+CAA2C;AAE3C,4CAA4C;AAC5C,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAClC,MAAM,mBAAmB,GAAG;QAC1B,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;QACd,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;QACd,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;QAChB,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;KAClB,CAAC;IAEF,MAAM,yBAAyB,GAAG;QAChC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;QACd,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;QACd,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;QAChB,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;KAClB,CAAC;IAEF,MAAM,oBAAoB,GAAG;QAC3B,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;QACd,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;QACd,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;KAClB,CAAC;IAEF,MAAM,OAAO,GAAG;QACd,OAAO,EAAE;YACP,OAAO,EAAE,mBAAmB;YAC5B,aAAa,EAAE,yBAAyB;YACxC,QAAQ,EAAE,oBAAoB;SAC/B;QACD,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;QACjD,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YACjE,MAAM;YACN,IAAI;YACJ,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE,IAAI,UAAU,EAAE;YAC/B,OAAO,EAAE,OAAO,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;SACvE,CAAC,CAAC;QACH,QAAQ,EAAE;YACkB;YAA1B,YAA0B,OAAY;gBAAZ,YAAO,GAAP,OAAO,CAAK;YAAG,CAAC;SAC3C;KACF,CAAC;IAEF,OAAO;QACL,GAAG,OAAO;QACV,OAAO,EAAE,OAAO;QAChB,GAAG,EAAE,OAAO;QACZ,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;YACvC,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;SAC1C,CAAC;QACF,MAAM,EAAE;YACN,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;YAChB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;YACf,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;YACf,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;SACjB;QACD,OAAO,EAAE;YACP,YAAmB,UAAsB,EAAE;gBACzC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;gBAClB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;oBAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;gBAC3C,CAAC,CAAC,CAAC;YACL,CAAC;YACM,OAAO,CAA4B;YACnC,GAAG,CAAC,IAAY,EAAE,KAAa;gBACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;YAC3C,CAAC;YACM,GAAG,CAAC,IAAY;gBACrB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAC1C,CAAC;YACM,GAAG,CAAC,IAAY;gBACrB,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC;YAC5C,CAAC;SACF;QACD,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YACjE,MAAM;YACN,IAAI;YACJ,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE,IAAI,UAAU,EAAE;YAC/B,OAAO,EAAE,OAAO,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;SACvE,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,gDAAgD;AAChD,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC;IACpC,2BAA2B,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;CACpE,CAAC,CAAC,CAAC;AAEJ,6DAA6D;AAC7D,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;AAC3E,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;AACpC,MAAM,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;AAChD,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;AACtC,MAAM,mBAAmB,GAAG,eAA4B,CAAC;AAGzD,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAI,QAAc,CAAC;IACnB,IAAI,eAA4B,CAAC;IACjC,IAAI,gBAA8B,CAAC;IAEnC,UAAU,CAAC,GAAG,EAAE;QACd,+DAA+D;QAC9D,sBAAoB,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3C,sBAAoB,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;QAE/C,kBAAkB;QAClB,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,2BAA2B;QAC3B,gBAAgB,GAAG;YACjB,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;YACxC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;YAClB,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;YACpD,OAAO,EAAE,EAAS;SACZ,CAAC;QAET,2BAA2B;QAC3B,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAE3E,kCAAkC;QAClC,MAAM,sBAAsB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;QAE/F,mBAAmB;QACnB,QAAQ,GAAG,IAAI,cAAI,CACjB,UAAU,EACV,uBAAuB,EACvB,CAAC,IAAI,kBAAS,CAAC,QAAQ,EAAE,sBAAa,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC,EACvE,YAAY,EACZ,eAAe,CAChB,CAAC;QAEF,0BAA0B;QAC1B,eAAe,GAAG,IAAI,qBAAW,CAC/B,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,CACvB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,CAAC,YAAiB,EAAE,EAAO,EAAE;QACrD,+CAA+C;QAC/C,MAAM,gBAAgB,GAAG,CAAC,aAAkB,EAAE,EAAE,EAAE;YAChD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAClD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;YACH,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG;YAClB,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE;gBACX,WAAW,EAAE,eAAe;gBAC5B,WAAW,EAAE,eAAe;gBAC5B,YAAY,EAAE,YAAY;gBAC1B,WAAW,EAAE,UAAU;aACxB;SACF,CAAC;QAEF,MAAM,WAAW,GAAG;YAClB,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;YACrE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;YACjF,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,gBAAgB,EAAE;YAC3B,MAAM,EAAE,EAAE;YACV,WAAW,EAAE,kBAAkB;SAChC,CAAC;QAEF,OAAO;YACL,GAAG,WAAW;YACd,GAAG,SAAS;YACZ,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC;SAC7C,CAAC;IACJ,CAAC,CAAC;IAEF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;YAClC,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;gBACzE,sBAAY,CAAC,YAAY,CACvB,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,QAAQ,CAClB,CAAC;gBAEF,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;gBACnE,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;gBAEvF,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;gBAC5C,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;gBAE7C,qCAAqC;gBACrC,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAoC,CAAC;gBACnE,MAAM,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;gBACjD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzD,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAE/C,yCAAyC;gBACzC,MAAM,kBAAkB,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACrD,MAAM,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC;oBACjC,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;oBACjE,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,WAAW,EAAE,MAAM;oBACnB,iBAAiB,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;iBACrF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;gBAChF,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;gBACnE,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;gBAEvF,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;gBAE7C,qCAAqC;gBACrC,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAoC,CAAC;gBACnE,MAAM,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;gBACjD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzD,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;gBACjF,sBAAsB;gBACtB,sBAAY,CAAC,YAAY,CACvB,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,QAAQ,CAClB,CAAC;gBAEF,8CAA8C;gBAC9C,MAAM,gBAAgB,GAAG,CAAC,IAAI,wBAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC3E,sBAAY,CAAC,YAAY,CACvB,aAAa,EACb,kBAAkB,EAClB,IAAI,CAAC,EAAE,EAAE,EACT,EAAE,EACF,cAAc,EACd,gBAAgB,CACjB,CAAC;gBAEF,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;gBACnE,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;gBAEvF,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAElC,qCAAqC;gBACrC,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAoC,CAAC;gBACnE,MAAM,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;gBACjD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzD,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAE/C,+BAA+B;gBAC/B,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACxF,MAAM,cAAc,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;gBAEzF,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC;oBAC5B,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;oBACjE,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,WAAW,EAAE,MAAM;oBACnB,iBAAiB,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;iBACrF,CAAC,CAAC;gBAEH,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC;oBAC7B,IAAI,EAAE,aAAa;oBACnB,WAAW,EAAE,kBAAkB;oBAC/B,UAAU,EAAE,EAAE;oBACd,QAAQ,EAAE,cAAc;oBACxB,WAAW,EAAE,MAAM;oBACnB,iBAAiB,EAAE;wBACjB,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;qBACjE;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;YAC9B,UAAU,CAAC,GAAG,EAAE;gBACd,sBAAY,CAAC,YAAY,CACvB,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,QAAQ,CAClB,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;gBAChE,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;gBACxC,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;gBAElF,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAC3C,gBAAgB,EAAE,kBAAkB;gBACpC,EAAE,MAAM,EAAE,YAAY,EAAE,EACxB,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAChD,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;gBAC/E,sCAAsC;gBACtC,MAAM,wBAAwB,GAAG;oBAC/B,YAAY,EAAE,YAAY;oBAC1B,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;oBACrB,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;oBACxC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;oBAClB,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;oBACpD,OAAO,EAAE,EAAS;iBACZ,CAAC;gBAET,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;gBACxC,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;gBAE1F,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAC3C,wBAAwB,EAAE,sCAAsC;gBAChE,EAAE,MAAM,EAAE,YAAY,EAAE,EACxB,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAChD,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;gBACtF,gDAAgD;gBAChD,MAAM,gBAAiB,SAAQ,2BAAY;oBAClC,UAAU;wBACf,OAAO,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACtC,CAAC;oBAEM,cAAc;wBACnB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;oBAC3B,CAAC;iBACF;gBAED,yCAAyC;gBACzC,MAAM,WAAW,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;gBAC9D,MAAM,wBAAwB,GAAG,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC;gBAEnE,oFAAoF;gBACpF,MAAM,0BAA0B,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAC9D,eAAoB,EACpB,MAAW,EACX,SAAc,EACd,EAAE;oBACF,oFAAoF;oBACpF,IAAI,eAAe,IAAI,eAAe,YAAY,gBAAgB,EAAE,CAAC;wBACnE,OAAO,OAAO,CAAC,OAAO,CAAC;4BACrB,OAAO,EAAE,IAAI;4BACb,WAAW,EAAE,eAAe,CAAC,cAAc,EAAE,EAAE,sCAAsC;4BACrF,gBAAgB,EAAE,eAAe,CAAC,UAAU,EAAE;4BAC9C,cAAc,EAAE,MAAM;yBACvB,CAAC,CAAC;oBACL,CAAC;oBACD,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC;gBACjF,CAAC,CAAC,CAAC;gBAEH,0CAA0C;gBAC1C,sBAAY,CAAC,YAAY,CACvB,0BAA0B,EAC1B,8CAA8C,EAC9C,0BAA0B,EAC1B,EAAE,EACF,2BAA2B,CAC5B,CAAC;gBAEF,MAAM,QAAQ,GAAG;oBACf,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE;wBACX,WAAW,EAAE,eAAe;wBAC5B,WAAW,EAAE,eAAe;wBAC5B,YAAY,EAAE,YAAY;wBAC1B,WAAW,EAAE,UAAU;qBACxB;iBACF,CAAC;gBAEF,MAAM,WAAW,GAAG,iBAAiB,CAAC;oBACpC,IAAI,EAAE,2BAA2B;oBACjC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC7C,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;gBAE1F,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAE,QAAgB,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC7C,MAAM,CAAE,QAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClD,MAAM,CAAE,QAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC9D,MAAM,CAAE,QAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACzE,MAAM,CAAE,QAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC1F,MAAM,CAAC,0BAA0B,CAAC,CAAC,oBAAoB,CACrD,wBAAwB,EAAE,+CAA+C;gBACzE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAClC,QAAQ,CACT,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;gBACvE,MAAM,QAAQ,GAAa;oBACzB,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE;wBACX,WAAW,EAAE,aAAa;wBAC1B,WAAW,EAAE,aAAa;wBAC1B,YAAY,EAAE,UAAU;wBACxB,WAAW,EAAE,QAAQ;qBACtB;iBACF,CAAC;gBAEF,MAAM,eAAe,GAAG,iBAAiB,CAAC;oBACxC,QAAQ,EAAE;wBACR,UAAU,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE;wBACpC,IAAI,EAAE,QAAQ;qBACf;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,UAAU,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE;wBACpC,IAAI,EAAE,QAAQ;qBACf,CAAC;iBACH,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;gBAEtF,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAC3C,gBAAgB,EAAE,kBAAkB;gBACpC,EAAE,MAAM,EAAE,YAAY,EAAE,EACxB,QAAQ,CACT,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;gBACrE,MAAM,QAAQ,GAAG;oBACf,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE;wBACX,WAAW,EAAE,eAAe;wBAC5B,WAAW,EAAE,eAAe;wBAC5B,YAAY,EAAE,YAAY;wBAC1B,WAAW,EAAE,UAAU;qBACxB;iBACF,CAAC;gBAEF,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;oBAC9C,QAAQ,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAClD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;iBAC/D,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,CAAC;gBAE5F,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAC3C,gBAAgB,EAAE,kBAAkB;gBACpC,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,EACxC,QAAQ,CACT,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;gBAC3E,MAAM,YAAY,GAAG,uBAAuB,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;gBAE7E,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;gBAExC,MAAM,MAAM,CAAC,sBAAY,CAAC,cAAc,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;qBACrE,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;gBAC5E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;gBAExD,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;gBAExC,MAAM,MAAM,CAAC,sBAAY,CAAC,cAAc,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;qBACrE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;gBACzE,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,oBAAoB,EAAE,GAAG,EAAE,mCAAmC,CAAC,CAAC;gBAChG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;gBAE/D,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;gBAExC,MAAM,MAAM,CAAC,sBAAY,CAAC,cAAc,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;qBACrE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;gBACjF,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;gBACpD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;gBAE/D,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;gBAExC,MAAM,MAAM,CAAC,sBAAY,CAAC,cAAc,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;qBACrE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC9B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;gBAC1F,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,gBAAgB,CAAC,CAAC;gBAClD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;gBAE/D,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;gBAExC,MAAM,MAAM,CAAC,sBAAY,CAAC,cAAc,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;qBACrE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC9B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;YACrC,UAAU,CAAC,GAAG,EAAE;gBACd,sBAAY,CAAC,mBAAmB,CAC9B,eAAe,CAAC,IAAI,EACpB,eAAe,CAAC,OAAO,EACvB,eAAe,CAAC,QAAQ,CACzB,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;gBACjE,MAAM,QAAQ,GAAG;oBACf,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE;wBACX,WAAW,EAAE,eAAe;wBAC5B,WAAW,EAAE,eAAe;wBAC5B,YAAY,EAAE,YAAY;wBAC1B,WAAW,EAAE,UAAU;qBACxB;iBACF,CAAC;gBAEF,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;oBAC3C,IAAI,EAAE,mBAAmB;oBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC5D,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;iBACzE,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;gBAEzF,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC7G,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;gBAC3E,MAAM,QAAQ,GAAG;oBACf,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE;wBACX,WAAW,EAAE,eAAe;wBAC5B,WAAW,EAAE,eAAe;wBAC5B,YAAY,EAAE,YAAY;wBAC1B,WAAW,EAAE,UAAU;qBACxB;iBACF,CAAC;gBAEF,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;oBAC3C,IAAI,EAAE,mBAAmB;oBACzB,QAAQ,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAClD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;iBAC/D,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;gBAEzF,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC;qBAC5B,oBAAoB,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;YAChG,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;gBAC9E,MAAM,QAAQ,GAAG;oBACf,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE;wBACX,WAAW,EAAE,aAAa;wBAC1B,WAAW,EAAE,aAAa;wBAC1B,YAAY,EAAE,UAAU;wBACxB,WAAW,EAAE,QAAQ;qBACtB;iBACF,CAAC;gBAEF,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;oBAC3C,IAAI,EAAE,mBAAmB;oBACzB,QAAQ,EAAE;wBACR,IAAI,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE;wBAC9B,IAAI,EAAE,QAAQ;qBACf;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,IAAI,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE;wBAC9B,IAAI,EAAE,QAAQ;qBACf,CAAC;iBACH,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;gBAEzF,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAClD,gBAAgB,EAAE,kBAAkB;gBACpC,EAAE,MAAM,EAAE,YAAY,EAAE,EACxB,QAAQ,CACT,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;gBACzF,MAAM,QAAQ,GAAG;oBACf,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE;wBACX,WAAW,EAAE,aAAa;wBAC1B,WAAW,EAAE,aAAa;wBAC1B,YAAY,EAAE,UAAU;wBACxB,WAAW,EAAE,QAAQ;qBACtB;iBACF,CAAC;gBAEF,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;oBAC3C,IAAI,EAAE,mBAAmB;oBACzB,QAAQ,EAAE;wBACR,MAAM,EAAE,YAAY;wBACpB,IAAI,EAAE,QAAQ;qBACf;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,MAAM,EAAE,YAAY;wBACpB,IAAI,EAAE,QAAQ;qBACf,CAAC;iBACH,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;gBAEzF,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAClD,gBAAgB,EAAE,kBAAkB;gBACpC;oBACE,MAAM,EAAE,YAAY;oBACpB,IAAI,EAAE,QAAQ;iBACf,EACD,QAAQ,CACT,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;gBAClF,MAAM,QAAQ,GAAG;oBACf,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE;wBACX,WAAW,EAAE,eAAe;wBAC5B,WAAW,EAAE,eAAe;wBAC5B,YAAY,EAAE,YAAY;wBAC1B,WAAW,EAAE,UAAU;qBACxB;iBACF,CAAC;gBACF,MAAM,YAAY,GAAG,8BAA8B,CAAC;gBACpD,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;gBAEpF,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;oBAC3C,IAAI,EAAE,mBAAmB;oBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC7D,CAAC,CAAC;gBAEH,MAAM,MAAM,CAAC,sBAAY,CAAC,cAAc,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;qBAC5E,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;gBAChF,MAAM,QAAQ,GAAG;oBACf,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE;wBACX,WAAW,EAAE,eAAe;wBAC5B,WAAW,EAAE,eAAe;wBAC5B,YAAY,EAAE,YAAY;wBAC1B,WAAW,EAAE,UAAU;qBACxB;iBACF,CAAC;gBACF,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,2BAA2B,EAAE,GAAG,EAAE,mBAAmB,CAAC,CAAC;gBACvF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;gBAEtE,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;oBAC3C,IAAI,EAAE,mBAAmB;oBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC7D,CAAC,CAAC;gBAEH,MAAM,MAAM,CAAC,sBAAY,CAAC,cAAc,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;qBAC5E,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;YAC3B,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;gBAC7F,MAAM,cAAc,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC;gBAExE,MAAM,MAAM,CAAC,sBAAY,CAAC,cAAc,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;qBACxE,OAAO,CAAC,OAAO,CAAC,qBAAS,CAAC,CAAC;gBAE9B,IAAI,CAAC;oBACH,MAAM,sBAAY,CAAC,cAAc,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;gBACtE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,qBAAS,CAAC,CAAC;oBACxC,MAAM,CAAE,KAAmB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC9C,uCAAuC;oBACvC,MAAM,CAAE,KAAmB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;gBAChE,MAAM,gBAAgB,GAAG;oBACvB,IAAI,wBAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC;iBAChD,CAAC;gBAEF,sBAAY,CAAC,YAAY,CACvB,gBAAgB,EAChB,uBAAuB,EACvB,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,UAAU,EACnB,kBAAkB,EAClB,gBAAgB,CACjB,CAAC;gBAEF,MAAM,WAAW,GAAG,iBAAiB,CAAC;oBACpC,IAAI,EAAE,kBAAkB;iBACzB,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;gBAElF,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,8FAA8F,EAAE,KAAK,IAAI,EAAE;gBAC5G,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC;gBAEpF,oDAAoD;gBACpD,MAAM,gBAAgB,GAAG;oBACvB,IAAI,wBAAe,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC;iBAChD,CAAC;gBAEF,sBAAY,CAAC,YAAY,CACvB,kBAAkB,EAClB,yBAAyB,EACzB,WAAW,EACX,EAAE,EACF,qBAAqB,EACrB,gBAAgB,CACjB,CAAC;gBAEF,4BAA4B;gBAC5B,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;oBAC3C,IAAI,EAAE,qBAAqB;oBAC3B,QAAQ,EAAE;oBACR,mBAAmB;qBACpB;iBACF,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;gBAEzF,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,WAAW,CAAC,CAAC,oBAAoB,CACtC,gBAAgB,EAChB,EAAE,EACF,SAAS,CAAC,wBAAwB;iBACnC,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,mFAAmF,EAAE,KAAK,IAAI,EAAE;gBACjG,MAAM,gBAAgB,GAAG;oBACvB,IAAI,wBAAe,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC;iBAChD,CAAC;gBAEF,sBAAY,CAAC,YAAY,CACvB,oBAAoB,EACpB,2BAA2B,EAC3B,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAClD,EAAE,EACF,uBAAuB,EACvB,gBAAgB,CACjB,CAAC;gBAEF,gEAAgE;gBAChE,MAAM,YAAY,GAAG,sBAAY,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC;gBAC9E,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;YAC1B,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;gBAC9E,4CAA4C;gBAC5C,MAAM,yBAAyB,GAAG;oBAChC,IAAI,EAAE,yBAAyB;oBAC/B,WAAW,EAAE,kCAAkC;oBAC/C,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;oBAC3D,UAAU,EAAE,EAAE,EAAE,wBAAwB;oBACxC,QAAQ,EAAE,0BAA0B;iBACrC,CAAC;gBAEF,sBAAY,CAAC,YAAY,CACvB,yBAAyB,CAAC,IAAI,EAC9B,yBAAyB,CAAC,WAAW,EACrC,yBAAyB,CAAC,OAAO,EACjC,yBAAyB,CAAC,UAAU,EACpC,yBAAyB,CAAC,QAAQ,CACnC,CAAC;gBAEF,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;oBAC5C,IAAI,EAAE,0BAA0B;oBAChC,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,IAAI;iBACX,CAAC,CAAC;gBAEH,MAAM,MAAM,CAAC,sBAAY,CAAC,cAAc,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;qBAC7E,OAAO,CAAC,OAAO,CAAC,qBAAS,CAAC,CAAC;gBAE9B,IAAI,CAAC;oBACH,MAAM,sBAAY,CAAC,cAAc,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;gBAC3E,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAE,KAAmB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC9C,MAAM,CAAE,KAAmB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;gBACpF,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;gBACnF,4CAA4C;gBAC5C,MAAM,yBAAyB,GAAG;oBAChC,IAAI,EAAE,2BAA2B;oBACjC,WAAW,EAAE,kCAAkC;oBAC/C,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;oBAC3D,UAAU,EAAE,EAAE,EAAE,wBAAwB;oBACxC,QAAQ,EAAE,4BAA4B;iBACvC,CAAC;gBAEF,sBAAY,CAAC,YAAY,CACvB,yBAAyB,CAAC,IAAI,EAC9B,yBAAyB,CAAC,WAAW,EACrC,yBAAyB,CAAC,OAAO,EACjC,yBAAyB,CAAC,UAAU,EACpC,yBAAyB,CAAC,QAAQ,CACnC,CAAC;gBAEF,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;oBACjD,IAAI,EAAE,4BAA4B;oBAClC,QAAQ,EAAE,SAAS;oBACnB,IAAI,EAAE,SAAS;iBAChB,CAAC,CAAC;gBAEH,MAAM,MAAM,CAAC,sBAAY,CAAC,cAAc,CAAC,wBAAwB,EAAE,gBAAgB,CAAC,CAAC;qBAClF,OAAO,CAAC,OAAO,CAAC,qBAAS,CAAC,CAAC;gBAE9B,IAAI,CAAC;oBACH,MAAM,sBAAY,CAAC,cAAc,CAAC,wBAAwB,EAAE,gBAAgB,CAAC,CAAC;gBAChF,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAE,KAAmB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC9C,MAAM,CAAE,KAAmB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;gBACpF,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;gBACvE,sBAAY,CAAC,YAAY,CACvB,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,QAAQ,CAClB,CAAC;gBAEF,MAAM,QAAQ,GAAG;oBACf,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE;wBACX,WAAW,EAAE,aAAa;wBAC1B,WAAW,EAAE,aAAa;wBAC1B,YAAY,EAAE,UAAU;wBACxB,WAAW,EAAE,QAAQ;qBACtB;iBACF,CAAC;gBAEF,MAAM,eAAe,GAAG,iBAAiB,CAAC;oBACxC,QAAQ,EAAE;wBACR,UAAU,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE;wBACpC,IAAI,EAAE,QAAQ;qBACf;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,UAAU,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE;wBACpC,IAAI,EAAE,QAAQ;qBACf,CAAC;iBACH,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;gBAEtF,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAC3C,gBAAgB,EAAE,kBAAkB;gBACpC,EAAE,MAAM,EAAE,YAAY,EAAE,EACxB,QAAQ,CACT,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;gBAC1F,sBAAY,CAAC,YAAY,CACvB,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,QAAQ,CAClB,CAAC;gBAEF,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;oBAC3C,QAAQ,EAAE;wBACR,UAAU,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE;wBACpC,mBAAmB;qBACpB;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,UAAU,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE;qBACrC,CAAC;iBACH,CAAC,CAAC;gBAEH,MAAM,MAAM,CAAC,sBAAY,CAAC,cAAc,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;qBAC5E,OAAO,CAAC,OAAO,CAAC,qBAAS,CAAC,CAAC;gBAE9B,IAAI,CAAC;oBACH,MAAM,sBAAY,CAAC,cAAc,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;gBAC1E,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAE,KAAmB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC9C,MAAM,CAAE,KAAmB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;gBACpF,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;gBACtF,sBAAY,CAAC,YAAY,CACvB,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,QAAQ,CAClB,CAAC;gBAEF,MAAM,QAAQ,GAAG;oBACf,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE;wBACX,WAAW,EAAE,aAAa;wBAC1B,WAAW,EAAE,aAAa;wBAC1B,YAAY,EAAE,UAAU;wBACxB,WAAW,EAAE,QAAQ;qBACtB;iBACF,CAAC;gBAEF,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;oBACjD,QAAQ,EAAE;wBACR,UAAU,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE;wBACpC,IAAI,EAAE,QAAQ;qBACf;oBACD,IAAI,EAAE,EAAE;iBACT,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,wBAAwB,EAAE,gBAAgB,CAAC,CAAC;gBAE/F,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAC3C,gBAAgB,EAAE,kBAAkB;gBACpC,EAAE,MAAM,EAAE,YAAY,EAAE,EACxB,QAAQ,CACT,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;YACpC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;gBAC3E,gDAAgD;gBAChD,MAAM,mBAAmB,GAAG;oBAC1B,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE,4BAA4B;oBACzC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;oBAC3D,UAAU,EAAE;wBACV,IAAI,kBAAS,CAAC,MAAM,EAAE,sBAAa,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC;wBAC9D,IAAI,kBAAS,CAAC,KAAK,EAAE,sBAAa,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC;wBAC7D,IAAI,kBAAS,CAAC,QAAQ,EAAE,sBAAa,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC;qBACnE;oBACD,QAAQ,EAAE,aAAa;iBACxB,CAAC;gBAEF,sBAAY,CAAC,YAAY,CACvB,mBAAmB,CAAC,IAAI,EACxB,mBAAmB,CAAC,WAAW,EAC/B,mBAAmB,CAAC,OAAO,EAC3B,mBAAmB,CAAC,UAAU,EAC9B,mBAAmB,CAAC,QAAQ,CAC7B,CAAC;gBAEF,+BAA+B;gBAC/B,MAAM,cAAc,GAAG,iBAAiB,CAAC;oBACvC,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE;wBACR,UAAU,EAAE;4BACV,IAAI,EAAE,GAAG,EAAE,mBAAmB;4BAC9B,GAAG,EAAE,IAAI,EAAE,oBAAoB;4BAC/B,MAAM,EAAE,MAAM,CAAC,oBAAoB;yBACpC;qBACF;iBACF,CAAC,CAAC;gBAEH,MAAM,MAAM,CAAC,sBAAY,CAAC,cAAc,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;qBACxE,OAAO,CAAC,OAAO,CAAC,qBAAS,CAAC,CAAC;gBAE9B,IAAI,CAAC;oBACH,MAAM,sBAAY,CAAC,cAAc,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;gBACtE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,qBAAS,CAAC,CAAC;oBACxC,MAAM,SAAS,GAAG,KAAkB,CAAC;oBACrC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACnC,kEAAkE;oBAClE,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC;wBAC9D,KAAK,EAAE,yCAAyC;wBAChD,MAAM,EAAE,GAAG;qBACZ,CAAC,CAAC;oBACH,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;oBACzC,MAAM,CAAC,SAAS,CAAC,MAAO,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBAC7D,MAAM,CAAC,SAAS,CAAC,MAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;yBACjC,IAAI,CAAC,wDAAwD,CAAC,CAAC;gBACpE,CAAC;gBAED,oCAAoC;gBACpC,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC7D,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;gBAC9E,MAAM,iBAAiB,GAAG;oBACxB,IAAI,EAAE,gBAAgB;oBACtB,WAAW,EAAE,yBAAyB;oBACtC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;oBAC3D,UAAU,EAAE,EAAE,EAAE,wBAAwB;oBACxC,QAAQ,EAAE,iBAAiB;iBAC5B,CAAC;gBAEF,sBAAY,CAAC,YAAY,CACvB,iBAAiB,CAAC,IAAI,EACtB,iBAAiB,CAAC,WAAW,EAC7B,iBAAiB,CAAC,OAAO,EACzB,iBAAiB,CAAC,UAAU,EAC5B,iBAAiB,CAAC,QAAQ,CAC3B,CAAC;gBAEF,MAAM,QAAQ,GAAG;oBACf,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE;wBACX,WAAW,EAAE,eAAe;wBAC5B,WAAW,EAAE,eAAe;wBAC5B,YAAY,EAAE,YAAY;wBAC1B,WAAW,EAAE,UAAU;qBACxB;iBACF,CAAC;gBAEF,iDAAiD;gBACjD,MAAM,OAAO,GAAG,iBAAiB,CAAC;oBAChC,IAAI,EAAE,iBAAiB;oBACvB,QAAQ,EAAE;wBACR,UAAU,EAAE;4BACV,UAAU,EAAE,OAAO;yBACpB;wBACD,IAAI,EAAE,QAAQ;qBACf;iBACF,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,oBAAoB,CACpD,gBAAgB,EAChB,EAAE,UAAU,EAAE,OAAO,EAAE,EACvB,QAAQ,CACT,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACtC,UAAU,CAAC,GAAG,EAAE;YACd,uBAAuB;YACvB,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YAC5B,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YAC5B,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YAC9B,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAE/B,gDAAgD;YAChD,sBAAY,CAAC,YAAY,CACvB,aAAa,EACb,wBAAwB,EACxB,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,EACzD,CAAC,IAAI,kBAAS,CAAC,OAAO,EAAE,sBAAa,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,EACpE,SAAS,CACV,CAAC;YAEF,sBAAY,CAAC,YAAY,CACvB,YAAY,EACZ,sBAAsB,EACtB,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,EAC9D;gBACE,IAAI,kBAAS,CAAC,WAAW,EAAE,sBAAa,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC;gBACxE,IAAI,kBAAS,CAAC,SAAS,EAAE,sBAAa,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAAI,CAAC;aAC7E,EACD,YAAY,CACb,CAAC;YAEF,6EAA6E;YAC7E,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE;gBAC1D,KAAK,EAAE,cAAc;gBACrB,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;YACjD,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;gBACxE,uCAAuC;gBACvC,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAExC,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBACzE,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,0CAA0C,CAAC,CAAC;gBAEzF,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAgC,CAAC;gBAC/D,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAE/C,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;gBAChF,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;gBAE9D,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;gBAC/E,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAC9D,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;gBACtD,0DAA0D;gBAC1D,MAAM,eAAe,GAAG;oBACtB,WAAW,EAAE;wBACX,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE,sCAAsC;wBACnD,UAAU,EAAE;4BACV;gCACE,IAAI,EAAE,OAAO;gCACb,WAAW,EAAE,yBAAyB;6BACvC;yBACF;qBACF;iBACF,CAAC;gBAEF,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;gBAEnD,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBACzE,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAElC,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAgC,CAAC;gBAC/D,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAE/C,mEAAmE;gBACnE,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;gBAChF,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;gBAC5E,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,sCAAsC;gBACrF,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;gBAE7E,0CAA0C;gBAC1C,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;gBAC/E,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBAC5D,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;gBACxD,kCAAkC;gBAClC,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBAErE,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBACzE,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAElC,qDAAqD;gBACrD,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAgC,CAAC;gBAC/D,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;gBACrF,yDAAyD;gBACzD,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;gBAE3E,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBACzE,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAElC,qDAAqD;gBACrD,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAgC,CAAC;gBAC/D,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACzC,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;gBACtD,MAAM,YAAY,GAAG;oBACnB,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,aAAa;4BACnB,WAAW,EAAE,+BAA+B;4BAC5C,UAAU,EAAE;gCACV;oCACE,IAAI,EAAE,OAAO;oCACb,IAAI,EAAE,QAAQ;oCACd,WAAW,EAAE,cAAc;oCAC3B,QAAQ,EAAE,IAAI;iCACf;6BACF;yBACF;qBACF;iBACF,CAAC;gBAEF,MAAM,OAAO,GAAG,iBAAiB,CAAC;oBAChC,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,YAAY;oBACtB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;iBACnC,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAC5C,0CAA0C,EAC1C;oBACE,WAAW,EAAE;wBACX,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE,+BAA+B;wBAC5C,UAAU,EAAE;4BACV;gCACE,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,cAAc;gCAC3B,QAAQ,EAAE,IAAI;6BACf;yBACF;qBACF;iBACF,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;gBACpD,MAAM,eAAe,GAAG;oBACtB,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,UAAU;4BAChB,WAAW,EAAE,UAAU;4BACvB,UAAU,EAAE,EAAE;yBACf;qBACF;iBACF,CAAC;gBAEF,MAAM,OAAO,GAAG,iBAAiB,CAAC;oBAChC,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,eAAe;oBACzB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;iBACtC,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAElC,sFAAsF;gBACtF,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAC5C,0CAA0C,EAC1C;oBACE,QAAQ,EAAE;wBACR,IAAI,EAAE,UAAU;wBAChB,WAAW,EAAE,UAAU;wBACvB,UAAU,EAAE,EAAE;qBACf;iBACF,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;gBAC/E,MAAM,mBAAmB,GAAG;oBAC1B,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,aAAa;4BACnB,WAAW,EAAE,qBAAqB;4BAClC,UAAU,EAAE;gCACV;oCACE,IAAI,EAAE,OAAO;oCACb,IAAI,EAAE,QAAQ;oCACd,WAAW,EAAE,cAAc;oCAC3B,QAAQ,EAAE,IAAI;iCACf;6BACF;yBACF;qBACF;iBACF,CAAC;gBAEF,MAAM,OAAO,GAAG,iBAAiB,CAAC;oBAChC,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,mBAAmB;oBAC7B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;iBAC1C,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAElC,wDAAwD;gBACxD,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAC5C,0CAA0C,EAC1C;oBACE,WAAW,EAAE;wBACX,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE,qBAAqB;wBAClC,UAAU,EAAE;4BACV;gCACE,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,cAAc;gCAC3B,QAAQ,EAAE,IAAI;6BACf;yBACF;qBACF;iBACF,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;gBACzD,WAAW,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBAEvE,MAAM,OAAO,GAAG,iBAAiB,CAAC;oBAChC,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;iBAC5B,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,gBAAM,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,8BAA8B,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;gBACjE,MAAM,cAAc,GAAG,iBAAiB,CAAC;oBACvC,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,6CAA6C;iBACtE,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;gBAErF,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,iDAAiD,EAAE,CAAC,CAAC;YAClG,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;gBAChE,MAAM,cAAc,GAAG,iBAAiB,CAAC;oBACvC,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,8BAA8B;iBAC3D,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;gBAErF,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,iDAAiD,EAAE,CAAC,CAAC;YAClG,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;YAC1C,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;gBACpD,MAAM,OAAO,GAAG,iBAAiB,CAAC;oBAChC,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,QAAQ;iBACjB,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,0CAA0C,CAAC,CAAC;gBAC5F,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;gBAC3D,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;gBAEzE,MAAM,OAAO,GAAG,iBAAiB,CAAC;oBAChC,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,QAAQ;iBACjB,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,gBAAM,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,gCAAgC,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;YAC1C,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;gBAC3E,MAAM,aAAa,GAAG;oBACpB,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,aAAa;4BACnB,WAAW,EAAE,sBAAsB;4BACnC,UAAU,EAAE;gCACV;oCACE,IAAI,EAAE,OAAO;oCACb,IAAI,EAAE,QAAQ;oCACd,WAAW,EAAE,cAAc;oCAC3B,QAAQ,EAAE,IAAI;iCACf;6BACF;yBACF;qBACF;iBACF,CAAC;gBAEF,MAAM,OAAO,GAAG,iBAAiB,CAAC;oBAChC,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,aAAa;iBACxB,CAAC,CAAC;gBAEH,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE7D,4EAA4E;gBAC5E,MAAM,qBAAqB,GAAG;oBAC5B,WAAW,EAAE;wBACX,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE,sBAAsB;wBACnC,UAAU,EAAE;4BACV;gCACE,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,cAAc;gCAC3B,QAAQ,EAAE,IAAI;6BACf;yBACF;qBACF;iBACF,CAAC;gBAEF,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAC5C,0CAA0C,EAC1C,qBAAqB,CACtB,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;YAC5C,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;gBAC1D,MAAM,eAAe,GAAG;oBACtB,WAAW,EAAE;wBACX,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE,+BAA+B;qBAC7C;iBACF,CAAC;gBAEF,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;gBAEnD,MAAM,kBAAkB,GAAG,MAAM,sBAAY,CAAC,qBAAqB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBAE9F,MAAM,CAAC,kBAAkB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAC3C,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;gBAC5E,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YACxE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;gBACpE,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAExC,MAAM,kBAAkB,GAAG,MAAM,sBAAY,CAAC,qBAAqB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBAE9F,MAAM,CAAC,kBAAkB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAC3C,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;gBAC5E,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;YACjD,UAAU,CAAC,GAAG,EAAE;gBACd,8BAA8B;gBAC9B,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;gBAClC,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;gBAClC,iBAAiB,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBACpC,iBAAiB,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACvC,CAAC,CAAC,CAAC;YAEH,SAAS,CAAC,GAAG,EAAE;gBACb,sCAAsC;gBACtC,mBAAmB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;gBAChF,wBAAwB;gBACxB,mBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBAE1C,MAAM,eAAe,GAAG;oBACtB,WAAW,EAAE;wBACX,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE,mCAAmC;qBACjD;iBACF,CAAC;gBAEF,iBAAiB,CAAC,GAAG,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;gBACzD,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAExC,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBACzE,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAElC,mDAAmD;gBACnD,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,0CAA0C,CAAC,CAAC;gBAC/F,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;gBAE/C,kDAAkD;gBAClD,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAgC,CAAC;gBAC/D,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;gBAChF,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;gBAC9E,qCAAqC;gBACrC,mBAAmB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBAE3C,MAAM,eAAe,GAAG;oBACtB,WAAW,EAAE;wBACX,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE,oCAAoC;qBAClD;iBACF,CAAC;gBAEF,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;gBACnD,iBAAiB,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAE9C,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBACzE,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAElC,mDAAmD;gBACnD,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,0CAA0C,CAAC,CAAC;gBACzF,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;gBAErD,mDAAmD;gBACnD,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAgC,CAAC;gBAC/D,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;gBAChF,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YAC5E,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;gBAC/E,wBAAwB;gBACxB,mBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBAE1C,uCAAuC;gBACvC,iBAAiB,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;gBAElF,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBACzE,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAElC,qDAAqD;gBACrD,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAgC,CAAC;gBAC/D,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAE/C,gDAAgD;gBAChD,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,CAAC;gBACjD,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;gBAC9F,wBAAwB;gBACxB,mBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBAE1C,iBAAiB,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAE9C,MAAM,kBAAkB,GAAG,MAAM,sBAAY,CAAC,qBAAqB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBAE9F,MAAM,CAAC,kBAAkB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAC3C,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;gBAC5E,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;gBAE/D,gCAAgC;gBAChC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,0CAA0C,CAAC,CAAC;gBAC/F,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;gBACrF,wBAAwB;gBACxB,mBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBAE1C,iBAAiB,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBAErD,MAAM,YAAY,GAAG;oBACnB,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,aAAa;4BACnB,WAAW,EAAE,iBAAiB;4BAC9B,UAAU,EAAE,EAAE;yBACf;qBACF;iBACF,CAAC;gBAEF,MAAM,OAAO,GAAG,iBAAiB,CAAC;oBAChC,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,YAAY;oBACtB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;iBACnC,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAElC,+DAA+D;gBAC/D,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAClD,0CAA0C,EAC1C;oBACE,WAAW,EAAE;wBACX,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE,iBAAiB;wBAC9B,UAAU,EAAE,EAAE;qBACf;iBACF,CACF,CAAC;gBACF,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACnD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;gBACnF,qCAAqC;gBACrC,mBAAmB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBAE3C,WAAW,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBAE/C,MAAM,YAAY,GAAG;oBACnB,SAAS,EAAE;wBACT;4BACE,IAAI,EAAE,aAAa;4BACnB,WAAW,EAAE,iBAAiB;4BAC9B,UAAU,EAAE,EAAE;yBACf;qBACF;iBACF,CAAC;gBAEF,MAAM,OAAO,GAAG,iBAAiB,CAAC;oBAChC,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,YAAY;oBACtB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;iBACnC,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAElC,+DAA+D;gBAC/D,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAC5C,0CAA0C,EAC1C;oBACE,WAAW,EAAE;wBACX,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE,iBAAiB;wBAC9B,UAAU,EAAE,EAAE;qBACf;iBACF,CACF,CAAC;gBACF,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACzD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;gBACvF,wBAAwB;gBACxB,mBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBAE1C,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBAEtD,MAAM,OAAO,GAAG,iBAAiB,CAAC;oBAChC,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,QAAQ;iBACjB,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAElC,iEAAiE;gBACjE,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,0CAA0C,CAAC,CAAC;gBAClG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACpD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;gBACrF,qCAAqC;gBACrC,mBAAmB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBAE3C,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBAEhD,MAAM,OAAO,GAAG,iBAAiB,CAAC;oBAChC,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,QAAQ;iBACjB,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAElC,iEAAiE;gBACjE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,0CAA0C,CAAC,CAAC;gBAC5F,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC1D,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;gBAChF,wBAAwB;gBACxB,mBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBAE1C,iBAAiB,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;gBAEpF,MAAM,OAAO,GAAG,iBAAiB,CAAC;oBAChC,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;iBAC5B,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,gBAAM,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,8BAA8B,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;gBAClF,wBAAwB;gBACxB,mBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBAE1C,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;gBAEtF,MAAM,OAAO,GAAG,iBAAiB,CAAC;oBAChC,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,QAAQ;iBACjB,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,gBAAM,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,gCAAgC,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;YAC7B,UAAU,CAAC,GAAG,EAAE;gBACd,8CAA8C;gBAC7C,sBAAoB,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;gBAC5C,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;gBAC9D,sBAAY,CAAC,YAAY,CACvB,mBAAmB,EACnB,mBAAmB,EACnB,IAAI,CAAC,EAAE,EAAE,EACT,EAAE,EACF,oBAAoB,CACrB,CAAC;gBAEF,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC;oBACjC,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;gBAC1D,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAoC,CAAC;gBACnE,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;gBACnE,sBAAY,CAAC,YAAY,CACvB,gBAAgB,EAChB,gBAAgB,EAChB,IAAI,CAAC,EAAE,EAAE,EACT,EAAE,EACF,iBAAiB,EACjB,SAAS,EACT,CAAC,UAAU,EAAE,kBAAkB,CAAC,CACjC,CAAC;gBAEF,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC;oBACjC,QAAQ,EAAE,IAAI;oBACd,gBAAgB,EAAE,IAAI;iBACvB,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;gBAC1D,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAoC,CAAC;gBACnE,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAC/C,MAAM,CAAE,YAAY,CAAC,SAAS,CAAC,CAAC,CAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC;YAC5F,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;gBACvE,sBAAY,CAAC,YAAY,CACvB,wBAAwB,EACxB,wBAAwB,EACxB,IAAI,CAAC,EAAE,EAAE,EACT,EAAE,EACF,yBAAyB,EACzB,SAAS,EACT,CAAC,UAAU,EAAE,kBAAkB,CAAC,CACjC,CAAC;gBAEF,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC;oBACjC,QAAQ,EAAE,IAAI;oBACd,gBAAgB,EAAE,KAAK;iBACxB,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;gBAC1D,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAoC,CAAC;gBACnE,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;gBAC7E,sBAAY,CAAC,YAAY,CACvB,6BAA6B,EAC7B,6BAA6B,EAC7B,IAAI,CAAC,EAAE,EAAE,EACT,EAAE,EACF,8BAA8B,EAC9B,SAAS,EACT,CAAC,kBAAkB,CAAC,CACrB,CAAC;gBAEF,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC;oBACjC,cAAc,EAAE,KAAK;iBACtB,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;gBAC1D,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAoC,CAAC;gBACnE,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;gBACnE,sBAAY,CAAC,YAAY,CACvB,QAAQ,EACR,QAAQ,EACR,IAAI,CAAC,EAAE,EAAE,EACT,EAAE,EACF,SAAS,EACT,SAAS,EACT,CAAC,MAAM,CAAC,CACT,CAAC;gBAEF,sBAAY,CAAC,YAAY,CACvB,QAAQ,EACR,QAAQ,EACR,IAAI,CAAC,EAAE,EAAE,EACT,EAAE,EACF,SAAS,EACT,SAAS,EACT,CAAC,MAAM,CAAC,CACT,CAAC;gBAEF,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAEzC,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;gBAC1D,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAoC,CAAC;gBACnE,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;gBAChE,sBAAY,CAAC,YAAY,CACvB,cAAc,EACd,mBAAmB,EACnB,IAAI,CAAC,EAAE,EAAE,EACT,EAAE,EACF,eAAe,CAChB,CAAC;gBAEF,sBAAY,CAAC,YAAY,CACvB,cAAc,EACd,wBAAwB,EACxB,IAAI,CAAC,EAAE,EAAE,EACT,EAAE,EACF,eAAe,EACf,SAAS,EACT,CAAC,aAAa,CAAC,CAChB,CAAC;gBAEF,sBAAY,CAAC,YAAY,CACvB,eAAe,EACf,yBAAyB,EACzB,IAAI,CAAC,EAAE,EAAE,EACT,EAAE,EACF,gBAAgB,EAChB,SAAS,EACT,CAAC,cAAc,CAAC,CACjB,CAAC;gBAEF,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC;oBACjC,WAAW,EAAE,IAAI;oBACjB,YAAY,EAAE,KAAK;iBACpB,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;gBAC1D,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAoC,CAAC;gBACnE,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAC/C,MAAM,SAAS,GAAI,YAAY,CAAC,SAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACvE,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;gBAC5C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;gBAC5C,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;gBACpE,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBAEvE,sBAAY,CAAC,YAAY,CACvB,eAAe,EACf,eAAe,EACf,WAAW,EACX,EAAE,EACF,gBAAgB,EAChB,SAAS,EACT,CAAC,cAAc,CAAC,CACjB,CAAC;gBAEF,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC;oBACjC,YAAY,EAAE,KAAK;iBACpB,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,iBAAiB,CAAC;oBAChC,IAAI,EAAE,gBAAgB;oBACtB,QAAQ,EAAE;wBACR,IAAI,EAAE;4BACJ,QAAQ,EAAE,QAAQ;4BAClB,WAAW,EAAE;gCACX,WAAW,EAAE,eAAe;gCAC5B,WAAW,EAAE,eAAe;gCAC5B,YAAY,EAAE,YAAY;gCAC1B,WAAW,EAAE,UAAU;6BACxB;yBACF;qBACF;iBACF,CAAC,CAAC;gBAEH,MAAM,MAAM,CAAC,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;qBACjE,OAAO,CAAC,OAAO,CAAC,qBAAS,CAAC,CAAC;gBAE9B,IAAI,CAAC;oBACH,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAC/D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,qBAAS,CAAC,CAAC;oBACxC,MAAM,CAAE,KAAmB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC9C,MAAM,CAAE,KAAmB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;gBAC/E,CAAC;gBAED,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC7C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;gBACjE,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBAEvE,sBAAY,CAAC,YAAY,CACvB,cAAc,EACd,cAAc,EACd,WAAW,EACX,EAAE,EACF,eAAe,EACf,SAAS,EACT,CAAC,aAAa,CAAC,CAChB,CAAC;gBAEF,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC;oBACjC,WAAW,EAAE,IAAI;iBAClB,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,iBAAiB,CAAC;oBAChC,IAAI,EAAE,eAAe;oBACrB,QAAQ,EAAE;wBACR,IAAI,EAAE;4BACJ,QAAQ,EAAE,QAAQ;4BAClB,WAAW,EAAE;gCACX,WAAW,EAAE,eAAe;gCAC5B,WAAW,EAAE,eAAe;gCAC5B,YAAY,EAAE,YAAY;gCAC1B,WAAW,EAAE,UAAU;6BACxB;yBACF;qBACF;iBACF,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,WAAW,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACzC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;gBAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBAEvE,sBAAY,CAAC,YAAY,CACvB,cAAc,EACd,cAAc,EACd,WAAW,EACX,EAAE,EACF,eAAe,CAChB,CAAC;gBAEF,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC;oBACjC,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,iBAAiB,CAAC;oBAChC,IAAI,EAAE,eAAe;oBACrB,QAAQ,EAAE;wBACR,IAAI,EAAE;4BACJ,QAAQ,EAAE,QAAQ;4BAClB,WAAW,EAAE;gCACX,WAAW,EAAE,eAAe;gCAC5B,WAAW,EAAE,eAAe;gCAC5B,YAAY,EAAE,YAAY;gCAC1B,WAAW,EAAE,UAAU;6BACxB;yBACF;qBACF;iBACF,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,WAAW,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACzC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;gBAC3E,sBAAY,CAAC,YAAY,CACvB,QAAQ,EACR,QAAQ,EACR,IAAI,CAAC,EAAE,EAAE,EACT,EAAE,EACF,SAAS,EACT,SAAS,EACT,CAAC,MAAM,CAAC,CACT,CAAC;gBAEF,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAEhE,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;gBAC1D,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAoC,CAAC;gBACnE,qDAAqD;gBACrD,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;gBAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBAEvE,sBAAY,CAAC,YAAY,CACvB,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,EAAE,EACF,SAAS,EACT,SAAS,EACT,CAAC,MAAM,CAAC,CACT,CAAC;gBAEF,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAEhE,MAAM,OAAO,GAAG,iBAAiB,CAAC;oBAChC,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE;wBACR,IAAI,EAAE;4BACJ,QAAQ,EAAE,QAAQ;4BAClB,WAAW,EAAE;gCACX,WAAW,EAAE,eAAe;gCAC5B,WAAW,EAAE,eAAe;gCAC5B,YAAY,EAAE,YAAY;gCAC1B,WAAW,EAAE,UAAU;6BACxB;yBACF;qBACF;iBACF,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,WAAW,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACzC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/types/Models.d.ts
CHANGED
|
@@ -86,6 +86,23 @@ export declare class AuthRequirement {
|
|
|
86
86
|
scope_bundle: string;
|
|
87
87
|
required: boolean;
|
|
88
88
|
};
|
|
89
|
+
/**
|
|
90
|
+
* Update the provider name for all auth requirements in an array
|
|
91
|
+
* Useful in customizeAuthRequirements() to apply a custom provider name
|
|
92
|
+
* Returns a new array with new AuthRequirement instances (does not mutate originals)
|
|
93
|
+
*
|
|
94
|
+
* @param authRequirements Array of auth requirements to update
|
|
95
|
+
* @param provider New provider name
|
|
96
|
+
* @returns New array with updated providers (safe for chaining)
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```typescript
|
|
100
|
+
* // In customizeAuthRequirements():
|
|
101
|
+
* const customName = await getCustomProviderName();
|
|
102
|
+
* return AuthRequirement.updateProvider(authRequirements, customName);
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
105
|
+
static updateProvider(authRequirements: AuthRequirement[], provider: string): AuthRequirement[];
|
|
89
106
|
}
|
|
90
107
|
export declare class IslandField {
|
|
91
108
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Models.d.ts","sourceRoot":"","sources":["../../src/types/Models.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,oBAAY,aAAa;IACvB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,UAAU,WAAW;CACtB;AAED;;GAEG;AACH,qBAAa,SAAS;IASX,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,MAAM;IACnB,QAAQ,EAAE,OAAO;IAX1B;;;;;;OAMG;gBAEM,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,aAAa,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,OAAO;IAG1B;;OAEG;IACI,MAAM;;;;;;CAQd;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,yBAAyB,CAAC;CACxC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,gCAAgC,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,aAAa,CAAC;AAEtD;;GAEG;AACH,qBAAa,eAAe;IAQjB,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,MAAM;IACnB,QAAQ,EAAE,OAAO;IAT1B;;;;;OAKG;gBAEM,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,OAAc;IAGjC;;OAEG;IACI,MAAM;;;;;
|
|
1
|
+
{"version":3,"file":"Models.d.ts","sourceRoot":"","sources":["../../src/types/Models.ts"],"names":[],"mappings":"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"}
|
package/dist/types/Models.js
CHANGED
|
@@ -76,6 +76,25 @@ class AuthRequirement {
|
|
|
76
76
|
required: this.required
|
|
77
77
|
};
|
|
78
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* Update the provider name for all auth requirements in an array
|
|
81
|
+
* Useful in customizeAuthRequirements() to apply a custom provider name
|
|
82
|
+
* Returns a new array with new AuthRequirement instances (does not mutate originals)
|
|
83
|
+
*
|
|
84
|
+
* @param authRequirements Array of auth requirements to update
|
|
85
|
+
* @param provider New provider name
|
|
86
|
+
* @returns New array with updated providers (safe for chaining)
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```typescript
|
|
90
|
+
* // In customizeAuthRequirements():
|
|
91
|
+
* const customName = await getCustomProviderName();
|
|
92
|
+
* return AuthRequirement.updateProvider(authRequirements, customName);
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
static updateProvider(authRequirements, provider) {
|
|
96
|
+
return authRequirements.map((auth) => new AuthRequirement(provider, auth.scopeBundle, auth.required));
|
|
97
|
+
}
|
|
79
98
|
}
|
|
80
99
|
exports.AuthRequirement = AuthRequirement;
|
|
81
100
|
class IslandField {
|
package/dist/types/Models.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Models.js","sourceRoot":"","sources":["../../src/types/Models.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AACzC;;GAEG;AACH,IAAY,aAOX;AAPD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;IACnB,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;IACnB,8BAAa,CAAA;IACb,sCAAqB,CAAA;AACvB,CAAC,EAPW,aAAa,6BAAb,aAAa,QAOxB;AAED;;GAEG;AACH,MAAa,SAAS;IASX;IACA;IACA;IACA;IAXT;;;;;;OAMG;IACH,YACS,IAAY,EACZ,IAAmB,EACnB,WAAmB,EACnB,QAAiB;QAHjB,SAAI,GAAJ,IAAI,CAAQ;QACZ,SAAI,GAAJ,IAAI,CAAe;QACnB,gBAAW,GAAX,WAAW,CAAQ;QACnB,aAAQ,GAAR,QAAQ,CAAS;IACvB,CAAC;IAEJ;;OAEG;IACI,MAAM;QACX,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;IACJ,CAAC;CACF;AA1BD,8BA0BC;AAoCD;;GAEG;AACH,MAAa,eAAe;IAQjB;IACA;IACA;IATT;;;;;OAKG;IACH,YACS,QAAgB,EAChB,WAAmB,EACnB,WAAoB,IAAI;QAFxB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,gBAAW,GAAX,WAAW,CAAQ;QACnB,aAAQ,GAAR,QAAQ,CAAgB;IAC9B,CAAC;IAEJ;;OAEG;IACI,MAAM;QACX,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,WAAW;YAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;IACJ,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"Models.js","sourceRoot":"","sources":["../../src/types/Models.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Models.test.d.ts","sourceRoot":"","sources":["../../src/types/Models.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const Models_1 = require("./Models");
|
|
4
|
+
describe('AuthRequirement', () => {
|
|
5
|
+
describe('updateProvider', () => {
|
|
6
|
+
it('should update provider for all auth requirements', () => {
|
|
7
|
+
const authRequirements = [
|
|
8
|
+
new Models_1.AuthRequirement('Google', 'ads', true),
|
|
9
|
+
new Models_1.AuthRequirement('Google', 'analytics', false),
|
|
10
|
+
new Models_1.AuthRequirement('Google', 'calendar', true),
|
|
11
|
+
];
|
|
12
|
+
const result = Models_1.AuthRequirement.updateProvider(authRequirements, 'Replacement');
|
|
13
|
+
expect(result).not.toBe(authRequirements); // Should return new array
|
|
14
|
+
expect(result[0]).not.toBe(authRequirements[0]); // Should be new instances
|
|
15
|
+
expect(result[0].provider).toBe('Replacement');
|
|
16
|
+
expect(result[1].provider).toBe('Replacement');
|
|
17
|
+
expect(result[2].provider).toBe('Replacement');
|
|
18
|
+
// Other properties should remain unchanged
|
|
19
|
+
expect(result[0].scopeBundle).toBe('ads');
|
|
20
|
+
expect(result[1].scopeBundle).toBe('analytics');
|
|
21
|
+
expect(result[2].scopeBundle).toBe('calendar');
|
|
22
|
+
expect(result[0].required).toBe(true);
|
|
23
|
+
expect(result[1].required).toBe(false);
|
|
24
|
+
expect(result[2].required).toBe(true);
|
|
25
|
+
// Original array should be unchanged
|
|
26
|
+
expect(authRequirements[0].provider).toBe('Google');
|
|
27
|
+
});
|
|
28
|
+
it('should handle empty array', () => {
|
|
29
|
+
const authRequirements = [];
|
|
30
|
+
const result = Models_1.AuthRequirement.updateProvider(authRequirements, 'TestProvider');
|
|
31
|
+
expect(result).toEqual([]);
|
|
32
|
+
});
|
|
33
|
+
it('should handle single auth requirement', () => {
|
|
34
|
+
const authRequirements = [new Models_1.AuthRequirement('Google', 'drive', true)];
|
|
35
|
+
const result = Models_1.AuthRequirement.updateProvider(authRequirements, 'CustomGoogle');
|
|
36
|
+
expect(result[0].provider).toBe('CustomGoogle');
|
|
37
|
+
expect(result[0].scopeBundle).toBe('drive');
|
|
38
|
+
expect(result[0].required).toBe(true);
|
|
39
|
+
});
|
|
40
|
+
it('should allow chaining', () => {
|
|
41
|
+
const authRequirements = [
|
|
42
|
+
new Models_1.AuthRequirement('Google', 'ads', true),
|
|
43
|
+
];
|
|
44
|
+
// Should be chainable
|
|
45
|
+
const result = Models_1.AuthRequirement.updateProvider(authRequirements, 'NewProvider');
|
|
46
|
+
expect(result).toBeInstanceOf(Array);
|
|
47
|
+
expect(result.length).toBe(1);
|
|
48
|
+
expect(result[0].provider).toBe('NewProvider');
|
|
49
|
+
});
|
|
50
|
+
it('should not modify other properties', () => {
|
|
51
|
+
const authRequirements = [
|
|
52
|
+
new Models_1.AuthRequirement('OldProvider', 'scope1', true),
|
|
53
|
+
new Models_1.AuthRequirement('OldProvider', 'scope2', false),
|
|
54
|
+
];
|
|
55
|
+
Models_1.AuthRequirement.updateProvider(authRequirements, 'NewProvider');
|
|
56
|
+
expect(authRequirements[0].scopeBundle).toBe('scope1');
|
|
57
|
+
expect(authRequirements[0].required).toBe(true);
|
|
58
|
+
expect(authRequirements[1].scopeBundle).toBe('scope2');
|
|
59
|
+
expect(authRequirements[1].required).toBe(false);
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
describe('constructor and toJSON', () => {
|
|
63
|
+
it('should create auth requirement with defaults', () => {
|
|
64
|
+
const auth = new Models_1.AuthRequirement('Google', 'ads');
|
|
65
|
+
expect(auth.provider).toBe('Google');
|
|
66
|
+
expect(auth.scopeBundle).toBe('ads');
|
|
67
|
+
expect(auth.required).toBe(true); // Default
|
|
68
|
+
});
|
|
69
|
+
it('should create auth requirement with explicit required flag', () => {
|
|
70
|
+
const auth = new Models_1.AuthRequirement('Google', 'ads', false);
|
|
71
|
+
expect(auth.required).toBe(false);
|
|
72
|
+
});
|
|
73
|
+
it('should convert to JSON correctly', () => {
|
|
74
|
+
const auth = new Models_1.AuthRequirement('Google', 'ads', true);
|
|
75
|
+
const json = auth.toJSON();
|
|
76
|
+
expect(json).toEqual({
|
|
77
|
+
provider: 'Google',
|
|
78
|
+
scope_bundle: 'ads',
|
|
79
|
+
required: true
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
//# sourceMappingURL=Models.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Models.test.js","sourceRoot":"","sources":["../../src/types/Models.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@ import { GlobalFunction, Response, amendLogContext } from '@zaiusinc/app-sdk';
|
|
|
2
2
|
import { authenticateGlobalRequest, authenticateInternalRequest, extractAuthData } from '../auth/AuthUtils';
|
|
3
3
|
import { toolsService } from '../service/Service';
|
|
4
4
|
import { ToolLogger } from '../logging/ToolLogger';
|
|
5
|
-
import { ReadyResponse } from '../types/Models';
|
|
5
|
+
import { ReadyResponse, AuthRequirement } from '../types/Models';
|
|
6
6
|
import { formatErrorResponse } from '../utils/ErrorFormatter';
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -21,6 +21,38 @@ export abstract class GlobalToolFunction extends GlobalFunction {
|
|
|
21
21
|
return Promise.resolve({ ready: true });
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
/**
|
|
25
|
+
* Override this method to customize auth requirements for all tools before they are returned
|
|
26
|
+
* This is useful for instance-level OAuth where the provider name needs to be dynamic
|
|
27
|
+
* based on user settings.
|
|
28
|
+
*
|
|
29
|
+
* @param authRequirements Original auth requirements from tool definitions
|
|
30
|
+
* @returns Modified auth requirements (can return the same array if no changes needed)
|
|
31
|
+
*
|
|
32
|
+
* Example usage:
|
|
33
|
+
* ```typescript
|
|
34
|
+
* public async customizeAuthRequirements(
|
|
35
|
+
* authRequirements: AuthRequirement[]
|
|
36
|
+
* ): Promise<AuthRequirement[]> {
|
|
37
|
+
* const settings = await storage.settings.get('my_settings');
|
|
38
|
+
* const providerName = settings?.provider_name as string;
|
|
39
|
+
*
|
|
40
|
+
* if (providerName) {
|
|
41
|
+
* authRequirements.forEach(auth => {
|
|
42
|
+
* auth.provider = providerName;
|
|
43
|
+
* });
|
|
44
|
+
* }
|
|
45
|
+
*
|
|
46
|
+
* return authRequirements;
|
|
47
|
+
* }
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
public async customizeAuthRequirements(
|
|
51
|
+
authRequirements: AuthRequirement[]
|
|
52
|
+
): Promise<AuthRequirement[]> {
|
|
53
|
+
return authRequirements;
|
|
54
|
+
}
|
|
55
|
+
|
|
24
56
|
/**
|
|
25
57
|
* Process the incoming request using the tools service
|
|
26
58
|
*
|
|
@@ -2,7 +2,7 @@ import { Function, Response, amendLogContext } from '@zaiusinc/app-sdk';
|
|
|
2
2
|
import { authenticateRegularRequest, authenticateInternalRequest } from '../auth/AuthUtils';
|
|
3
3
|
import { toolsService } from '../service/Service';
|
|
4
4
|
import { ToolLogger } from '../logging/ToolLogger';
|
|
5
|
-
import { ReadyResponse } from '../types/Models';
|
|
5
|
+
import { ReadyResponse, AuthRequirement } from '../types/Models';
|
|
6
6
|
import { formatErrorResponse } from '../utils/ErrorFormatter';
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -21,6 +21,20 @@ export abstract class ToolFunction extends Function {
|
|
|
21
21
|
return Promise.resolve({ ready: true });
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
/**
|
|
25
|
+
* Override this method to customize auth requirements for all tools before they are returned
|
|
26
|
+
* This is useful for instance-level OAuth where the provider name needs to be dynamic
|
|
27
|
+
* based on user settings.
|
|
28
|
+
*
|
|
29
|
+
* @param authRequirements Original auth requirements from tool definitions
|
|
30
|
+
* @returns Modified auth requirements (can return the same array if no changes needed)
|
|
31
|
+
*/
|
|
32
|
+
public async customizeAuthRequirements(
|
|
33
|
+
authRequirements: AuthRequirement[]
|
|
34
|
+
): Promise<AuthRequirement[]> {
|
|
35
|
+
return authRequirements;
|
|
36
|
+
}
|
|
37
|
+
|
|
24
38
|
/**
|
|
25
39
|
* Process the incoming request with logging
|
|
26
40
|
*
|
|
@@ -728,6 +728,60 @@ describe('ToolsService', () => {
|
|
|
728
728
|
|
|
729
729
|
expect(response.status).toBe(200);
|
|
730
730
|
});
|
|
731
|
+
|
|
732
|
+
it('should allow tool execution when auth is optional (required=false) and no auth data provided', async () => {
|
|
733
|
+
const mockHandler = jest.fn().mockResolvedValue({ result: 'success without auth' });
|
|
734
|
+
|
|
735
|
+
// Register tool with optional auth (required=false)
|
|
736
|
+
const authRequirements = [
|
|
737
|
+
new AuthRequirement('OptiID', 'default', false)
|
|
738
|
+
];
|
|
739
|
+
|
|
740
|
+
toolsService.registerTool(
|
|
741
|
+
'optionalAuthTool',
|
|
742
|
+
'Tool with optional auth',
|
|
743
|
+
mockHandler,
|
|
744
|
+
[],
|
|
745
|
+
'/optional-auth-tool',
|
|
746
|
+
authRequirements
|
|
747
|
+
);
|
|
748
|
+
|
|
749
|
+
// Request without auth data
|
|
750
|
+
const requestWithoutAuth = createMockRequest({
|
|
751
|
+
path: '/optional-auth-tool',
|
|
752
|
+
bodyJSON: {
|
|
753
|
+
// No auth property
|
|
754
|
+
}
|
|
755
|
+
});
|
|
756
|
+
|
|
757
|
+
const response = await toolsService.processRequest(requestWithoutAuth, mockToolFunction);
|
|
758
|
+
|
|
759
|
+
expect(response.status).toBe(200);
|
|
760
|
+
expect(mockHandler).toHaveBeenCalledWith(
|
|
761
|
+
mockToolFunction,
|
|
762
|
+
{},
|
|
763
|
+
undefined // No auth data provided
|
|
764
|
+
);
|
|
765
|
+
});
|
|
766
|
+
|
|
767
|
+
it('should not require OptiID token validation when auth is optional (required=false)', async () => {
|
|
768
|
+
const authRequirements = [
|
|
769
|
+
new AuthRequirement('OptiID', 'default', false)
|
|
770
|
+
];
|
|
771
|
+
|
|
772
|
+
toolsService.registerTool(
|
|
773
|
+
'optionalOptiIdTool',
|
|
774
|
+
'Tool with optional OptiID',
|
|
775
|
+
jest.fn().mockResolvedValue({ result: 'success' }),
|
|
776
|
+
[],
|
|
777
|
+
'/optional-optiid-tool',
|
|
778
|
+
authRequirements
|
|
779
|
+
);
|
|
780
|
+
|
|
781
|
+
// Check that requiresOptiIdAuth returns false for optional auth
|
|
782
|
+
const requiresAuth = toolsService.requiresOptiIdAuth('/optional-optiid-tool');
|
|
783
|
+
expect(requiresAuth).toBe(false);
|
|
784
|
+
});
|
|
731
785
|
});
|
|
732
786
|
|
|
733
787
|
describe('edge cases', () => {
|
package/src/service/Service.ts
CHANGED
|
@@ -302,9 +302,14 @@ export class ToolsService {
|
|
|
302
302
|
* Get tool definitions with overrides and tag filtering applied
|
|
303
303
|
* @param appVersionId App version ID
|
|
304
304
|
* @param functionName Function name
|
|
305
|
+
* @param functionContext Optional function context for auth requirement customization
|
|
305
306
|
* @returns Tool definitions with overrides and filtering applied
|
|
306
307
|
*/
|
|
307
|
-
public async getToolsWithOverrides(
|
|
308
|
+
public async getToolsWithOverrides(
|
|
309
|
+
appVersionId: string,
|
|
310
|
+
functionName: string,
|
|
311
|
+
functionContext?: ToolFunction | GlobalToolFunction
|
|
312
|
+
): Promise<Tool[]> {
|
|
308
313
|
const tools = Array.from(this.functions.values());
|
|
309
314
|
|
|
310
315
|
// Apply overrides first
|
|
@@ -315,6 +320,17 @@ export class ToolsService {
|
|
|
315
320
|
const tagsSettings = await this.getToolTagsSettings();
|
|
316
321
|
const filteredTools = toolsWithOverrides.filter((tool) => this.isToolEnabled(tool, tagsSettings));
|
|
317
322
|
|
|
323
|
+
// Apply auth requirement customization if function context is provided
|
|
324
|
+
if (functionContext && 'customizeAuthRequirements' in functionContext) {
|
|
325
|
+
for (const tool of filteredTools) {
|
|
326
|
+
if (tool.authRequirements && tool.authRequirements.length > 0) {
|
|
327
|
+
tool.authRequirements = await functionContext.customizeAuthRequirements(
|
|
328
|
+
tool.authRequirements
|
|
329
|
+
);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
|
|
318
334
|
return filteredTools;
|
|
319
335
|
}
|
|
320
336
|
|
|
@@ -335,7 +351,7 @@ export class ToolsService {
|
|
|
335
351
|
|
|
336
352
|
/**
|
|
337
353
|
* Check if an endpoint requires OptiID authentication
|
|
338
|
-
* Tools: Check auth requirements for OptiID provider
|
|
354
|
+
* Tools: Check auth requirements for OptiID provider with required=true
|
|
339
355
|
* Interactions: Always require OptiID
|
|
340
356
|
* @param endpoint The endpoint path to check
|
|
341
357
|
* @returns true if the endpoint requires OptiID auth
|
|
@@ -343,7 +359,9 @@ export class ToolsService {
|
|
|
343
359
|
public requiresOptiIdAuth(endpoint: string): boolean {
|
|
344
360
|
const func = this.functions.get(endpoint);
|
|
345
361
|
if (func) {
|
|
346
|
-
return func.authRequirements.some(
|
|
362
|
+
return func.authRequirements.some(
|
|
363
|
+
(auth) => auth.provider.toLowerCase() === 'optiid' && auth.required
|
|
364
|
+
);
|
|
347
365
|
}
|
|
348
366
|
// Interactions always require OptiID
|
|
349
367
|
const interaction = this.interactions.get(endpoint);
|
|
@@ -440,8 +458,9 @@ export class ToolsService {
|
|
|
440
458
|
// Extract auth data from body JSON
|
|
441
459
|
const authData = req.bodyJSON?.auth;
|
|
442
460
|
|
|
443
|
-
// Validate auth data is present if tool has auth requirements
|
|
444
|
-
|
|
461
|
+
// Validate auth data is present if tool has any required auth requirements
|
|
462
|
+
const hasRequiredAuth = func.authRequirements.some((auth) => auth.required);
|
|
463
|
+
if (hasRequiredAuth && !authData) {
|
|
445
464
|
throw new ToolError('Authentication data is required', 403);
|
|
446
465
|
}
|
|
447
466
|
|
|
@@ -481,7 +500,7 @@ export class ToolsService {
|
|
|
481
500
|
// Get function name from function context
|
|
482
501
|
const functionName = functionContext.constructor.name;
|
|
483
502
|
|
|
484
|
-
const toolsWithOverrides = await this.getToolsWithOverrides(appVersionId, functionName);
|
|
503
|
+
const toolsWithOverrides = await this.getToolsWithOverrides(appVersionId, functionName, functionContext);
|
|
485
504
|
return new App.Response(200, { functions: toolsWithOverrides.map((f) => f.toJSON()) });
|
|
486
505
|
} catch (error: any) {
|
|
487
506
|
logger.error('Error getting tools with overrides:', error);
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { AuthRequirement } from './Models';
|
|
2
|
+
|
|
3
|
+
describe('AuthRequirement', () => {
|
|
4
|
+
describe('updateProvider', () => {
|
|
5
|
+
it('should update provider for all auth requirements', () => {
|
|
6
|
+
const authRequirements = [
|
|
7
|
+
new AuthRequirement('Google', 'ads', true),
|
|
8
|
+
new AuthRequirement('Google', 'analytics', false),
|
|
9
|
+
new AuthRequirement('Google', 'calendar', true),
|
|
10
|
+
];
|
|
11
|
+
|
|
12
|
+
const result = AuthRequirement.updateProvider(authRequirements, 'Replacement');
|
|
13
|
+
|
|
14
|
+
expect(result).not.toBe(authRequirements); // Should return new array
|
|
15
|
+
expect(result[0]).not.toBe(authRequirements[0]); // Should be new instances
|
|
16
|
+
expect(result[0].provider).toBe('Replacement');
|
|
17
|
+
expect(result[1].provider).toBe('Replacement');
|
|
18
|
+
expect(result[2].provider).toBe('Replacement');
|
|
19
|
+
// Other properties should remain unchanged
|
|
20
|
+
expect(result[0].scopeBundle).toBe('ads');
|
|
21
|
+
expect(result[1].scopeBundle).toBe('analytics');
|
|
22
|
+
expect(result[2].scopeBundle).toBe('calendar');
|
|
23
|
+
expect(result[0].required).toBe(true);
|
|
24
|
+
expect(result[1].required).toBe(false);
|
|
25
|
+
expect(result[2].required).toBe(true);
|
|
26
|
+
// Original array should be unchanged
|
|
27
|
+
expect(authRequirements[0].provider).toBe('Google');
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
it('should handle empty array', () => {
|
|
31
|
+
const authRequirements: AuthRequirement[] = [];
|
|
32
|
+
|
|
33
|
+
const result = AuthRequirement.updateProvider(authRequirements, 'TestProvider');
|
|
34
|
+
|
|
35
|
+
expect(result).toEqual([]);
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
it('should handle single auth requirement', () => {
|
|
39
|
+
const authRequirements = [new AuthRequirement('Google', 'drive', true)];
|
|
40
|
+
|
|
41
|
+
const result = AuthRequirement.updateProvider(authRequirements, 'CustomGoogle');
|
|
42
|
+
|
|
43
|
+
expect(result[0].provider).toBe('CustomGoogle');
|
|
44
|
+
expect(result[0].scopeBundle).toBe('drive');
|
|
45
|
+
expect(result[0].required).toBe(true);
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
it('should allow chaining', () => {
|
|
49
|
+
const authRequirements = [
|
|
50
|
+
new AuthRequirement('Google', 'ads', true),
|
|
51
|
+
];
|
|
52
|
+
|
|
53
|
+
// Should be chainable
|
|
54
|
+
const result = AuthRequirement.updateProvider(authRequirements, 'NewProvider');
|
|
55
|
+
|
|
56
|
+
expect(result).toBeInstanceOf(Array);
|
|
57
|
+
expect(result.length).toBe(1);
|
|
58
|
+
expect(result[0].provider).toBe('NewProvider');
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
it('should not modify other properties', () => {
|
|
62
|
+
const authRequirements = [
|
|
63
|
+
new AuthRequirement('OldProvider', 'scope1', true),
|
|
64
|
+
new AuthRequirement('OldProvider', 'scope2', false),
|
|
65
|
+
];
|
|
66
|
+
|
|
67
|
+
AuthRequirement.updateProvider(authRequirements, 'NewProvider');
|
|
68
|
+
|
|
69
|
+
expect(authRequirements[0].scopeBundle).toBe('scope1');
|
|
70
|
+
expect(authRequirements[0].required).toBe(true);
|
|
71
|
+
expect(authRequirements[1].scopeBundle).toBe('scope2');
|
|
72
|
+
expect(authRequirements[1].required).toBe(false);
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
describe('constructor and toJSON', () => {
|
|
77
|
+
it('should create auth requirement with defaults', () => {
|
|
78
|
+
const auth = new AuthRequirement('Google', 'ads');
|
|
79
|
+
|
|
80
|
+
expect(auth.provider).toBe('Google');
|
|
81
|
+
expect(auth.scopeBundle).toBe('ads');
|
|
82
|
+
expect(auth.required).toBe(true); // Default
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
it('should create auth requirement with explicit required flag', () => {
|
|
86
|
+
const auth = new AuthRequirement('Google', 'ads', false);
|
|
87
|
+
|
|
88
|
+
expect(auth.required).toBe(false);
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
it('should convert to JSON correctly', () => {
|
|
92
|
+
const auth = new AuthRequirement('Google', 'ads', true);
|
|
93
|
+
const json = auth.toJSON();
|
|
94
|
+
|
|
95
|
+
expect(json).toEqual({
|
|
96
|
+
provider: 'Google',
|
|
97
|
+
scope_bundle: 'ads',
|
|
98
|
+
required: true
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
});
|
package/src/types/Models.ts
CHANGED
|
@@ -102,6 +102,28 @@ export class AuthRequirement {
|
|
|
102
102
|
required: this.required
|
|
103
103
|
};
|
|
104
104
|
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Update the provider name for all auth requirements in an array
|
|
108
|
+
* Useful in customizeAuthRequirements() to apply a custom provider name
|
|
109
|
+
* Returns a new array with new AuthRequirement instances (does not mutate originals)
|
|
110
|
+
*
|
|
111
|
+
* @param authRequirements Array of auth requirements to update
|
|
112
|
+
* @param provider New provider name
|
|
113
|
+
* @returns New array with updated providers (safe for chaining)
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* ```typescript
|
|
117
|
+
* // In customizeAuthRequirements():
|
|
118
|
+
* const customName = await getCustomProviderName();
|
|
119
|
+
* return AuthRequirement.updateProvider(authRequirements, customName);
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
public static updateProvider(authRequirements: AuthRequirement[], provider: string): AuthRequirement[] {
|
|
123
|
+
return authRequirements.map((auth) =>
|
|
124
|
+
new AuthRequirement(provider, auth.scopeBundle, auth.required)
|
|
125
|
+
);
|
|
126
|
+
}
|
|
105
127
|
}
|
|
106
128
|
|
|
107
129
|
export class IslandField {
|