@novice1/api-doc-json-helper 1.0.8 → 1.0.9

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@novice1/api-doc-json-helper",
3
- "version": "1.0.8",
3
+ "version": "1.0.9",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -25,22 +25,21 @@
25
25
  "json"
26
26
  ],
27
27
  "dependencies": {
28
- "@novice1/api-doc-generator": "^1.2.4",
28
+ "@novice1/api-doc-generator": "^1.2.6",
29
29
  "tslib": "^2.8.1"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@eslint/eslintrc": "^3.3.3",
33
- "@eslint/js": "^9.39.1",
34
- "@novice1/routing": "^2.0.0",
35
- "@stylistic/eslint-plugin": "^5.6.1",
33
+ "@eslint/js": "^9.39.2",
34
+ "@novice1/routing": "^2.1.0",
35
+ "@stylistic/eslint-plugin": "^5.7.1",
36
36
  "@types/chai": "^5.2.3",
37
- "@types/express": "^5.0.5",
38
- "@types/node": "^24.10.1",
39
- "@typescript-eslint/eslint-plugin": "^8.48.0",
40
- "@typescript-eslint/parser": "^8.48.0",
41
- "chai": "^6.2.1",
42
- "eslint": "^9.39.1",
43
- "kaukau": "^4.1.7",
37
+ "@types/express": "^5.0.6",
38
+ "@types/node": "^25.2.0",
39
+ "@typescript-eslint/eslint-plugin": "^8.54.0",
40
+ "@typescript-eslint/parser": "^8.54.0",
41
+ "chai": "^6.2.2",
42
+ "eslint": "^9.39.2",
44
43
  "ts-node": "^10.9.2",
45
44
  "typescript": "^5.9.3"
46
45
  }
package/lib/openapi.d.ts DELETED
@@ -1,46 +0,0 @@
1
- import { OpenAPIHelperInterface } from '@novice1/api-doc-generator';
2
- import { AdditionalProperties, DiscriminatorObject, XMLObject, ExampleObject, ReferenceObject, EncodingObject } from '@novice1/api-doc-generator/lib/generators/openapi/definitions';
3
- /**
4
- * JSON schema (draft-07) helper for \@novice1/api-doc-generator
5
- */
6
- export declare class OpenAPIJsonHelper implements OpenAPIHelperInterface {
7
- protected _schema: object;
8
- protected _isRequired: boolean;
9
- constructor({ value: schema }: {
10
- value?: object | unknown;
11
- }, isRequired?: boolean);
12
- getFirstItem(): OpenAPIJsonHelper | undefined;
13
- getChildren(): Record<string, OpenAPIJsonHelper>;
14
- getAlternatives(): OpenAPIJsonHelper[];
15
- hasStyle?(): boolean;
16
- getStyle?(): string | undefined;
17
- hasAdditionalProperties?(): boolean;
18
- getAdditionalProperties?(): AdditionalProperties | undefined;
19
- hasRef?(): boolean;
20
- getRef?(): string | undefined;
21
- hasDiscriminator?(): boolean;
22
- getDiscriminator?(): DiscriminatorObject | undefined;
23
- hasXml?(): boolean;
24
- getXml?(): XMLObject | undefined;
25
- hasExamples?(): boolean;
26
- getExamples?(): Record<string, ExampleObject | ReferenceObject> | undefined;
27
- hasEncoding?(): boolean;
28
- getEncoding?(): Record<string, EncodingObject> | undefined;
29
- isValid(): boolean;
30
- getType(): string;
31
- getDescription(): string;
32
- isRequired(): boolean;
33
- isUnique(): boolean;
34
- hasDefaultValue(): boolean;
35
- getDefaultValue(): unknown;
36
- hasExampleValue(): boolean;
37
- getExampleValue(): unknown;
38
- isDeprecated(): boolean;
39
- allowsEmptyValue(): boolean;
40
- getEnum(): unknown[];
41
- hasMin(): boolean;
42
- hasMax(): boolean;
43
- getMin(): number | undefined;
44
- getMax(): number | undefined;
45
- getUnit(): string;
46
- }
package/lib/openapi.js DELETED
@@ -1,219 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpenAPIJsonHelper = void 0;
4
- /**
5
- * JSON schema (draft-07) helper for \@novice1/api-doc-generator
6
- */
7
- class OpenAPIJsonHelper {
8
- constructor({ value: schema = {} }, isRequired) {
9
- this._isRequired = false;
10
- this._schema = {};
11
- if (schema && typeof schema === 'object') {
12
- const s = schema;
13
- this._schema = s;
14
- }
15
- if (isRequired) {
16
- this._isRequired = isRequired;
17
- }
18
- }
19
- getFirstItem() {
20
- const schema = this._schema;
21
- if ('items' in schema && typeof schema.items === 'object') {
22
- return new OpenAPIJsonHelper({ value: schema.items });
23
- }
24
- return;
25
- }
26
- getChildren() {
27
- const r = {};
28
- const schema = this._schema;
29
- if ('properties' in schema && typeof schema.properties === 'object' && schema.properties) {
30
- const properties = schema.properties;
31
- for (const p in properties) {
32
- const isRequired = 'required' in schema && Array.isArray(schema.required) && schema.required.includes(p);
33
- r[p] = new OpenAPIJsonHelper({ value: properties[p] }, isRequired);
34
- }
35
- }
36
- return r;
37
- }
38
- getAlternatives() {
39
- const r = [];
40
- const schema = this._schema;
41
- if ('oneOf' in schema && Array.isArray(schema.oneOf)) {
42
- for (const p of schema.oneOf) {
43
- r.push(new OpenAPIJsonHelper({ value: p }));
44
- }
45
- }
46
- return r;
47
- }
48
- hasStyle() {
49
- return false;
50
- }
51
- getStyle() {
52
- return;
53
- }
54
- hasAdditionalProperties() {
55
- const schema = this._schema;
56
- return !!('additionalProperties' in schema && schema.additionalProperties);
57
- }
58
- getAdditionalProperties() {
59
- const schema = this._schema;
60
- return 'additionalProperties' in schema && schema.additionalProperties;
61
- }
62
- hasRef() {
63
- const schema = this._schema;
64
- return !!('$ref' in schema && typeof schema.$ref === 'string');
65
- }
66
- getRef() {
67
- const schema = this._schema;
68
- return '$ref' in schema && typeof schema.$ref === 'string' ? schema.$ref : undefined;
69
- }
70
- hasDiscriminator() {
71
- return false;
72
- }
73
- getDiscriminator() {
74
- return;
75
- }
76
- hasXml() {
77
- return false;
78
- }
79
- getXml() {
80
- return;
81
- }
82
- hasExamples() {
83
- const schema = this._schema;
84
- return !!('examples' in schema && Array.isArray(schema.examples));
85
- }
86
- getExamples() {
87
- const schema = this._schema;
88
- if ('examples' in schema && Array.isArray(schema.examples)) {
89
- const r = {};
90
- let i = 1;
91
- for (const value of schema.examples) {
92
- r[`${i}`] = {
93
- value
94
- };
95
- i++;
96
- }
97
- return r;
98
- }
99
- return;
100
- }
101
- hasEncoding() {
102
- return false;
103
- }
104
- getEncoding() {
105
- return;
106
- }
107
- isValid() {
108
- return !!(this._schema && typeof this._schema === 'object' &&
109
- (('type' in this._schema && typeof this._schema.type === 'string') ||
110
- ('oneOf' in this._schema && Array.isArray(this._schema.oneOf)) ||
111
- ('anyOf' in this._schema && Array.isArray(this._schema.anyOf))));
112
- }
113
- getType() {
114
- let r = '';
115
- if ('type' in this._schema && typeof this._schema.type === 'string') {
116
- r = this._schema.type;
117
- }
118
- if ('format' in this._schema && typeof this._schema.format === 'string') {
119
- r = this._schema.format;
120
- }
121
- return r;
122
- }
123
- getDescription() {
124
- let r = '';
125
- if ('description' in this._schema && typeof this._schema.description === 'string') {
126
- r = this._schema.description;
127
- }
128
- return r;
129
- }
130
- isRequired() {
131
- return this._isRequired;
132
- }
133
- isUnique() {
134
- return !!('uniqueItems' in this._schema && this._schema.uniqueItems);
135
- }
136
- hasDefaultValue() {
137
- return !!('default' in this._schema && typeof this._schema.default != 'undefined');
138
- }
139
- getDefaultValue() {
140
- return 'default' in this._schema ? this._schema.default : undefined;
141
- }
142
- hasExampleValue() {
143
- const schema = this._schema;
144
- return !!('examples' in schema && Array.isArray(schema.examples) && schema.examples.length);
145
- }
146
- getExampleValue() {
147
- const schema = this._schema;
148
- if ('examples' in schema && Array.isArray(schema.examples) && schema.examples.length) {
149
- return schema.examples[0];
150
- }
151
- return;
152
- }
153
- isDeprecated() {
154
- return !!('deprecated' in this._schema && this._schema.deprecated);
155
- }
156
- allowsEmptyValue() {
157
- let r = false;
158
- if ('enum' in this._schema && Array.isArray(this._schema.enum)) {
159
- const enume = this._schema.enum;
160
- r = ['', null].some(v => enume.includes(v));
161
- }
162
- return r;
163
- }
164
- getEnum() {
165
- let r = [];
166
- if ('enum' in this._schema && Array.isArray(this._schema.enum)) {
167
- r = this._schema.enum;
168
- }
169
- else if ('anyOf' in this._schema && Array.isArray(this._schema.anyOf)) {
170
- for (const p of this._schema.anyOf) {
171
- if (p && typeof p === 'object' && 'const' in p) {
172
- r.push(p.const);
173
- }
174
- }
175
- }
176
- return r;
177
- }
178
- hasMin() {
179
- return 'minProperties' in this._schema || 'minItems' in this._schema || 'minimum' in this._schema || 'minLength' in this._schema;
180
- }
181
- hasMax() {
182
- return 'maxProperties' in this._schema || 'maxItems' in this._schema || 'maximum' in this._schema || 'maxLength' in this._schema;
183
- }
184
- getMin() {
185
- if ('minProperties' in this._schema && typeof this._schema.minProperties === 'number') {
186
- return this._schema.minProperties;
187
- }
188
- if ('minItems' in this._schema && typeof this._schema.minItems === 'number') {
189
- return this._schema.minItems;
190
- }
191
- if ('minimum' in this._schema && typeof this._schema.minimum === 'number') {
192
- return this._schema.minimum;
193
- }
194
- if ('minLength' in this._schema && typeof this._schema.minLength === 'number') {
195
- return this._schema.minLength;
196
- }
197
- return;
198
- }
199
- getMax() {
200
- if ('maxProperties' in this._schema && typeof this._schema.maxProperties === 'number') {
201
- return this._schema.maxProperties;
202
- }
203
- if ('maxItems' in this._schema && typeof this._schema.maxItems === 'number') {
204
- return this._schema.maxItems;
205
- }
206
- if ('maximum' in this._schema && typeof this._schema.maximum === 'number') {
207
- return this._schema.maximum;
208
- }
209
- if ('maxLength' in this._schema && typeof this._schema.maxLength === 'number') {
210
- return this._schema.maxLength;
211
- }
212
- return;
213
- }
214
- getUnit() {
215
- return '';
216
- }
217
- }
218
- exports.OpenAPIJsonHelper = OpenAPIJsonHelper;
219
- //# sourceMappingURL=openapi.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":"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"}
package/lib/postman.d.ts DELETED
@@ -1,30 +0,0 @@
1
- import { PostmanHelperInterface } from '@novice1/api-doc-generator';
2
- import { XMLObject } from '@novice1/api-doc-generator/lib/generators/openapi/definitions';
3
- export declare class PostmanJsonHelper implements PostmanHelperInterface {
4
- protected _schema: object;
5
- protected _isRequired: boolean;
6
- constructor({ value: schema }: {
7
- value?: object | unknown;
8
- }, isRequired?: boolean);
9
- getFirstItem(): PostmanJsonHelper | undefined;
10
- getChildren(): Record<string, PostmanJsonHelper>;
11
- getAlternatives(): PostmanJsonHelper[];
12
- getXml?(): XMLObject | undefined;
13
- isValid(): boolean;
14
- getType(): string;
15
- getDescription(): string;
16
- isRequired(): boolean;
17
- isUnique(): boolean;
18
- hasDefaultValue(): boolean;
19
- getDefaultValue(): unknown;
20
- hasExampleValue(): boolean;
21
- getExampleValue(): unknown;
22
- isDeprecated(): boolean;
23
- allowsEmptyValue(): boolean;
24
- getEnum(): unknown[];
25
- hasMin(): boolean;
26
- hasMax(): boolean;
27
- getMin(): number | undefined;
28
- getMax(): number | undefined;
29
- getUnit(): string;
30
- }
package/lib/postman.js DELETED
@@ -1,160 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PostmanJsonHelper = void 0;
4
- class PostmanJsonHelper {
5
- constructor({ value: schema = {} }, isRequired) {
6
- this._isRequired = false;
7
- this._schema = {};
8
- if (schema && typeof schema === 'object') {
9
- const s = schema;
10
- this._schema = s;
11
- }
12
- if (isRequired) {
13
- this._isRequired = isRequired;
14
- }
15
- }
16
- getFirstItem() {
17
- const schema = this._schema;
18
- if ('items' in schema && typeof schema.items === 'object') {
19
- return new PostmanJsonHelper({ value: schema.items });
20
- }
21
- return;
22
- }
23
- getChildren() {
24
- const r = {};
25
- const schema = this._schema;
26
- if ('properties' in schema && typeof schema.properties === 'object' && schema.properties) {
27
- const properties = schema.properties;
28
- for (const p in properties) {
29
- const isRequired = 'required' in schema && Array.isArray(schema.required) && schema.required.includes(p);
30
- r[p] = new PostmanJsonHelper({ value: properties[p] }, isRequired);
31
- }
32
- }
33
- return r;
34
- }
35
- getAlternatives() {
36
- const r = [];
37
- const schema = this._schema;
38
- if ('oneOf' in schema && Array.isArray(schema.oneOf)) {
39
- for (const p of schema.oneOf) {
40
- r.push(new PostmanJsonHelper({ value: p }));
41
- }
42
- }
43
- return r;
44
- }
45
- getXml() {
46
- return;
47
- }
48
- isValid() {
49
- return !!(this._schema && typeof this._schema === 'object' &&
50
- (('type' in this._schema && typeof this._schema.type === 'string') ||
51
- ('oneOf' in this._schema && Array.isArray(this._schema.oneOf)) ||
52
- ('anyOf' in this._schema && Array.isArray(this._schema.anyOf))));
53
- }
54
- getType() {
55
- let r = '';
56
- if ('type' in this._schema && typeof this._schema.type === 'string') {
57
- r = this._schema.type;
58
- }
59
- if ('format' in this._schema && typeof this._schema.format === 'string') {
60
- r = this._schema.format;
61
- }
62
- return r;
63
- }
64
- getDescription() {
65
- let r = '';
66
- if ('description' in this._schema && typeof this._schema.description === 'string') {
67
- r = this._schema.description;
68
- }
69
- return r;
70
- }
71
- isRequired() {
72
- return this._isRequired;
73
- }
74
- isUnique() {
75
- return !!('uniqueItems' in this._schema && this._schema.uniqueItems);
76
- }
77
- hasDefaultValue() {
78
- return !!('default' in this._schema && typeof this._schema.default != 'undefined');
79
- }
80
- getDefaultValue() {
81
- return 'default' in this._schema ? this._schema.default : undefined;
82
- }
83
- hasExampleValue() {
84
- const schema = this._schema;
85
- return !!('examples' in schema && Array.isArray(schema.examples) && schema.examples.length);
86
- }
87
- getExampleValue() {
88
- const schema = this._schema;
89
- if ('examples' in schema && Array.isArray(schema.examples) && schema.examples.length) {
90
- return schema.examples[0];
91
- }
92
- return;
93
- }
94
- isDeprecated() {
95
- return !!('deprecated' in this._schema && this._schema.deprecated);
96
- }
97
- allowsEmptyValue() {
98
- let r = false;
99
- if ('enum' in this._schema && Array.isArray(this._schema.enum)) {
100
- const enume = this._schema.enum;
101
- r = ['', null].some(v => enume.includes(v));
102
- }
103
- return r;
104
- }
105
- getEnum() {
106
- let r = [];
107
- if ('enum' in this._schema && Array.isArray(this._schema.enum)) {
108
- r = this._schema.enum;
109
- }
110
- else if ('anyOf' in this._schema && Array.isArray(this._schema.anyOf)) {
111
- for (const p of this._schema.anyOf) {
112
- if (p && typeof p === 'object' && 'const' in p) {
113
- r.push(p.const);
114
- }
115
- }
116
- }
117
- return r;
118
- }
119
- hasMin() {
120
- return 'minProperties' in this._schema || 'minItems' in this._schema || 'minimum' in this._schema || 'minLength' in this._schema;
121
- }
122
- hasMax() {
123
- return 'maxProperties' in this._schema || 'maxItems' in this._schema || 'maximum' in this._schema || 'maxLength' in this._schema;
124
- }
125
- getMin() {
126
- if ('minProperties' in this._schema && typeof this._schema.minProperties === 'number') {
127
- return this._schema.minProperties;
128
- }
129
- if ('minItems' in this._schema && typeof this._schema.minItems === 'number') {
130
- return this._schema.minItems;
131
- }
132
- if ('minimum' in this._schema && typeof this._schema.minimum === 'number') {
133
- return this._schema.minimum;
134
- }
135
- if ('minLength' in this._schema && typeof this._schema.minLength === 'number') {
136
- return this._schema.minLength;
137
- }
138
- return;
139
- }
140
- getMax() {
141
- if ('maxProperties' in this._schema && typeof this._schema.maxProperties === 'number') {
142
- return this._schema.maxProperties;
143
- }
144
- if ('maxItems' in this._schema && typeof this._schema.maxItems === 'number') {
145
- return this._schema.maxItems;
146
- }
147
- if ('maximum' in this._schema && typeof this._schema.maximum === 'number') {
148
- return this._schema.maximum;
149
- }
150
- if ('maxLength' in this._schema && typeof this._schema.maxLength === 'number') {
151
- return this._schema.maxLength;
152
- }
153
- return;
154
- }
155
- getUnit() {
156
- return '';
157
- }
158
- }
159
- exports.PostmanJsonHelper = PostmanJsonHelper;
160
- //# sourceMappingURL=postman.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"postman.js","sourceRoot":"","sources":["../src/postman.ts"],"names":[],"mappings":";;;AAIA,MAAa,iBAAiB;IAI1B,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,EAAE,EAAgC,EAAE,UAAoB;QAF5E,gBAAW,GAAG,KAAK,CAAA;QAGzB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,CAAC,GAAG,MAAiC,CAAA;YAC3C,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;QACpB,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;QACjC,CAAC;IACL,CAAC;IACD,YAAY;QAER,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAA;QAE3B,IAAI,OAAO,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxD,OAAO,IAAI,iBAAiB,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;QACzD,CAAC;QAED,OAAM;IACV,CAAC;IACD,WAAW;QACP,MAAM,CAAC,GAAsC,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,YAAY,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACvF,MAAM,UAAU,GAA4B,MAAM,CAAC,UAAqC,CAAA;YACxF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBACzB,MAAM,UAAU,GAAY,UAAU,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;gBACjH,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,iBAAiB,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;YACtE,CAAC;QACL,CAAC;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IACD,eAAe;QACX,MAAM,CAAC,GAAwB,EAAE,CAAA;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,OAAO,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC3B,CAAC,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YAC/C,CAAC;QACL,CAAC;QACD,OAAO,CAAC,CAAA;IACZ,CAAC;IACD,MAAM;QACF,OAAM;IACV,CAAC;IACD,OAAO;QACH,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;YACtD,CACI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC;gBACjE,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC9D,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CACjE,CAAC,CAAA;IACV,CAAC;IACD,OAAO;QACH,IAAI,CAAC,GAAG,EAAE,CAAA;QAEV,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;QACzB,CAAC;QAED,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACtE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;QAC3B,CAAC;QAED,OAAO,CAAC,CAAC;IACb,CAAC;IACD,cAAc;QACV,IAAI,CAAC,GAAG,EAAE,CAAA;QAEV,IAAI,aAAa,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAChF,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAA;QAChC,CAAC;QAED,OAAO,CAAC,CAAC;IACb,CAAC;IACD,UAAU;QACN,OAAO,IAAI,CAAC,WAAW,CAAA;IAC3B,CAAC;IACD,QAAQ;QACJ,OAAO,CAAC,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACxE,CAAC;IACD,eAAe;QACX,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,WAAW,CAAC,CAAA;IACtF,CAAC;IACD,eAAe;QACX,OAAO,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;IACvE,CAAC;IACD,eAAe;QACX,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,OAAO,CAAC,CAAC,CAAC,UAAU,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC/F,CAAC;IACD,eAAe;QACX,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,UAAU,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACnF,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC7B,CAAC;QACD,OAAM;IACV,CAAC;IACD,YAAY;QACR,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACtE,CAAC;IACD,gBAAgB;QACZ,IAAI,CAAC,GAAG,KAAK,CAAC;QACd,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;YAC/B,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/C,CAAC;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IACD,OAAO;QACH,IAAI,CAAC,GAAc,EAAE,CAAA;QACrB,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;QACzB,CAAC;aAAM,IAAI,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACtE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACjC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;oBAC7C,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;gBACnB,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IACD,MAAM;QACF,OAAO,eAAe,IAAI,IAAI,CAAC,OAAO,IAAI,UAAU,IAAI,IAAI,CAAC,OAAO,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,IAAI,WAAW,IAAI,IAAI,CAAC,OAAO,CAAA;IACpI,CAAC;IACD,MAAM;QACF,OAAO,eAAe,IAAI,IAAI,CAAC,OAAO,IAAI,UAAU,IAAI,IAAI,CAAC,OAAO,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,IAAI,WAAW,IAAI,IAAI,CAAC,OAAO,CAAA;IACpI,CAAC;IACD,MAAM;QACF,IAAI,eAAe,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;YACpF,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAA;QACrC,CAAC;QACD,IAAI,UAAU,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1E,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAA;QAChC,CAAC;QACD,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACxE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAA;QAC/B,CAAC;QACD,IAAI,WAAW,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC5E,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAA;QACjC,CAAC;QACD,OAAM;IACV,CAAC;IACD,MAAM;QACF,IAAI,eAAe,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;YACpF,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAA;QACrC,CAAC;QACD,IAAI,UAAU,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1E,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAA;QAChC,CAAC;QACD,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACxE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAA;QAC/B,CAAC;QACD,IAAI,WAAW,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC5E,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAA;QACjC,CAAC;QACD,OAAM;IACV,CAAC;IACD,OAAO;QACH,OAAO,EAAE,CAAA;IACb,CAAC;CACJ;AArKD,8CAqKC"}