@azure-tools/typespec-go 0.5.1 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/codegen.go/src/example.js +75 -75
- package/dist/codegen.go/src/example.js.map +1 -1
- package/dist/codegen.go/src/fake/factory.d.ts.map +1 -1
- package/dist/codegen.go/src/fake/factory.js +29 -24
- package/dist/codegen.go/src/fake/factory.js.map +1 -1
- package/dist/codegen.go/src/fake/servers.js +106 -98
- package/dist/codegen.go/src/fake/servers.js.map +1 -1
- package/dist/codegen.go/src/helpers.d.ts +57 -4
- package/dist/codegen.go/src/helpers.d.ts.map +1 -1
- package/dist/codegen.go/src/helpers.js +200 -128
- package/dist/codegen.go/src/helpers.js.map +1 -1
- package/dist/codegen.go/src/imports.d.ts +1 -1
- package/dist/codegen.go/src/imports.d.ts.map +1 -1
- package/dist/codegen.go/src/imports.js +13 -12
- package/dist/codegen.go/src/imports.js.map +1 -1
- package/dist/codegen.go/src/interfaces.js +2 -2
- package/dist/codegen.go/src/interfaces.js.map +1 -1
- package/dist/codegen.go/src/models.d.ts.map +1 -1
- package/dist/codegen.go/src/models.js +81 -81
- package/dist/codegen.go/src/models.js.map +1 -1
- package/dist/codegen.go/src/operations.d.ts.map +1 -1
- package/dist/codegen.go/src/operations.js +100 -113
- package/dist/codegen.go/src/operations.js.map +1 -1
- package/dist/codegen.go/src/options.js +2 -2
- package/dist/codegen.go/src/options.js.map +1 -1
- package/dist/codegen.go/src/polymorphics.d.ts.map +1 -1
- package/dist/codegen.go/src/polymorphics.js +29 -24
- package/dist/codegen.go/src/polymorphics.js.map +1 -1
- package/dist/codegen.go/src/responses.js +2 -2
- package/dist/codegen.go/src/responses.js.map +1 -1
- package/dist/codegen.go/src/time.js +13 -14
- package/dist/codegen.go/src/time.js.map +1 -1
- package/dist/codegen.go/src/xmlAdditionalProps.js +1 -2
- package/dist/codegen.go/src/xmlAdditionalProps.js.map +1 -1
- package/dist/codemodel.go/src/examples.d.ts +20 -20
- package/dist/codemodel.go/src/examples.d.ts.map +1 -1
- package/dist/codemodel.go/src/examples.js +2 -2
- package/dist/codemodel.go/src/examples.js.map +1 -1
- package/dist/codemodel.go/src/package.d.ts +4 -4
- package/dist/codemodel.go/src/package.d.ts.map +1 -1
- package/dist/codemodel.go/src/package.js +3 -3
- package/dist/codemodel.go/src/package.js.map +1 -1
- package/dist/codemodel.go/src/param.d.ts +32 -24
- package/dist/codemodel.go/src/param.d.ts.map +1 -1
- package/dist/codemodel.go/src/param.js +54 -1
- package/dist/codemodel.go/src/param.js.map +1 -1
- package/dist/codemodel.go/src/result.d.ts +12 -10
- package/dist/codemodel.go/src/result.d.ts.map +1 -1
- package/dist/codemodel.go/src/result.js +21 -4
- package/dist/codemodel.go/src/result.js.map +1 -1
- package/dist/codemodel.go/src/type.d.ts +219 -86
- package/dist/codemodel.go/src/type.d.ts.map +1 -1
- package/dist/codemodel.go/src/type.js +137 -127
- package/dist/codemodel.go/src/type.js.map +1 -1
- package/dist/typespec-go/src/emitter.d.ts.map +1 -1
- package/dist/typespec-go/src/emitter.js +80 -0
- package/dist/typespec-go/src/emitter.js.map +1 -1
- package/dist/typespec-go/src/lib.d.ts +1 -0
- package/dist/typespec-go/src/lib.d.ts.map +1 -1
- package/dist/typespec-go/src/lib.js +5 -0
- package/dist/typespec-go/src/lib.js.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/adapter.js +5 -0
- package/dist/typespec-go/src/tcgcadapter/adapter.js.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/clients.d.ts.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/clients.js +71 -58
- package/dist/typespec-go/src/tcgcadapter/clients.js.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/types.d.ts +3 -3
- package/dist/typespec-go/src/tcgcadapter/types.d.ts.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/types.js +47 -46
- package/dist/typespec-go/src/tcgcadapter/types.js.map +1 -1
- package/package.json +5 -5
|
@@ -139,16 +139,16 @@ function generateModelDefs(modelImports, serdeImports, codeModel) {
|
|
|
139
139
|
if (field.annotations.readOnly) {
|
|
140
140
|
descriptionMods.push('READ-ONLY');
|
|
141
141
|
}
|
|
142
|
-
else if (field.annotations.required && (
|
|
142
|
+
else if (field.annotations.required && (field.type.kind !== 'literal' || model.usage === go.UsageFlags.Output)) {
|
|
143
143
|
descriptionMods.push('REQUIRED');
|
|
144
144
|
}
|
|
145
|
-
else if (
|
|
145
|
+
else if (field.type.kind === 'literal') {
|
|
146
146
|
if (!field.annotations.required) {
|
|
147
147
|
descriptionMods.push('FLAG');
|
|
148
148
|
}
|
|
149
149
|
descriptionMods.push('CONSTANT');
|
|
150
150
|
}
|
|
151
|
-
if (
|
|
151
|
+
if (field.type.kind === 'literal' && model.usage !== go.UsageFlags.Output) {
|
|
152
152
|
// add a comment with the const value for const properties that are sent over the wire
|
|
153
153
|
if (field.docs.description) {
|
|
154
154
|
field.docs.description += '\n';
|
|
@@ -158,7 +158,7 @@ function generateModelDefs(modelImports, serdeImports, codeModel) {
|
|
|
158
158
|
if (field.docs.description) {
|
|
159
159
|
descriptionMods.push(field.docs.description);
|
|
160
160
|
}
|
|
161
|
-
else if (
|
|
161
|
+
else if (field.type.kind === 'rawJSON') {
|
|
162
162
|
// add a basic description if one isn't available
|
|
163
163
|
descriptionMods.push('The contents of this field are raw JSON.');
|
|
164
164
|
}
|
|
@@ -169,16 +169,16 @@ function generateModelDefs(modelImports, serdeImports, codeModel) {
|
|
|
169
169
|
for (const field of values(modelDef.Fields)) {
|
|
170
170
|
modelImports.addImportForType(field.type);
|
|
171
171
|
}
|
|
172
|
-
if (
|
|
172
|
+
if (model.kind === 'model' && serDeFormat === 'XML' && !model.annotations.omitSerDeMethods) {
|
|
173
173
|
serdeImports.add('encoding/xml');
|
|
174
174
|
let needsDateTimeMarshalling = false;
|
|
175
175
|
let byteArrayFormat = false;
|
|
176
176
|
for (const field of values(model.fields)) {
|
|
177
177
|
serdeImports.addImportForType(field.type);
|
|
178
|
-
if (
|
|
178
|
+
if (field.type.kind === 'time') {
|
|
179
179
|
needsDateTimeMarshalling = true;
|
|
180
180
|
}
|
|
181
|
-
else if (
|
|
181
|
+
else if (field.type.kind === 'encodedBytes') {
|
|
182
182
|
byteArrayFormat = true;
|
|
183
183
|
}
|
|
184
184
|
}
|
|
@@ -196,7 +196,7 @@ function generateModelDefs(modelImports, serdeImports, codeModel) {
|
|
|
196
196
|
modelDefs.push(modelDef);
|
|
197
197
|
continue;
|
|
198
198
|
}
|
|
199
|
-
if (
|
|
199
|
+
if (model.kind === 'polymorphicModel') {
|
|
200
200
|
generateDiscriminatorMarkerMethod(model.interface, modelDef);
|
|
201
201
|
for (let parent = model.interface.parent; parent !== undefined; parent = parent.parent) {
|
|
202
202
|
generateDiscriminatorMarkerMethod(parent, modelDef);
|
|
@@ -217,7 +217,7 @@ function generateModelDefs(modelImports, serdeImports, codeModel) {
|
|
|
217
217
|
function needsXMLDictionaryHelper(modelType) {
|
|
218
218
|
for (const field of values(modelType.fields)) {
|
|
219
219
|
// additional properties uses an internal wrapper type with its own serde impl
|
|
220
|
-
if (
|
|
220
|
+
if (field.type.kind === 'map' && !field.annotations.isAdditionalProperties) {
|
|
221
221
|
return true;
|
|
222
222
|
}
|
|
223
223
|
}
|
|
@@ -225,7 +225,7 @@ function needsXMLDictionaryHelper(modelType) {
|
|
|
225
225
|
}
|
|
226
226
|
function needsXMLArrayMarshalling(modelType) {
|
|
227
227
|
for (const prop of values(modelType.fields)) {
|
|
228
|
-
if (
|
|
228
|
+
if (prop.type.kind === 'slice') {
|
|
229
229
|
return true;
|
|
230
230
|
}
|
|
231
231
|
}
|
|
@@ -263,7 +263,7 @@ function generateToMultipartForm(modelDef) {
|
|
|
263
263
|
if (!field.byValue) {
|
|
264
264
|
star = '*';
|
|
265
265
|
}
|
|
266
|
-
if (
|
|
266
|
+
if (fieldType.kind === 'model' && !fieldType.annotations.multipartFormData) {
|
|
267
267
|
setField = `\tif err := populateMultipartJSON(objectMap, "${field.serializedName}", ${star}${receiver}.${field.name}); err != nil {\n\t\treturn nil, err\n\t}\n`;
|
|
268
268
|
}
|
|
269
269
|
else {
|
|
@@ -278,7 +278,7 @@ function generateToMultipartForm(modelDef) {
|
|
|
278
278
|
modelDef.SerDe.methods.push({ name: 'toMultipartFormData', desc: `toMultipartFormData converts ${modelDef.Name} to multipart/form data.`, text: method });
|
|
279
279
|
}
|
|
280
280
|
function generateJSONMarshaller(modelType, modelDef, imports) {
|
|
281
|
-
if (
|
|
281
|
+
if (modelType.kind === 'model' && modelType.fields.length === 0) {
|
|
282
282
|
// non-discriminated types without content don't need a custom marshaller.
|
|
283
283
|
// there is a case in network where child is allOf base and child has no properties.
|
|
284
284
|
return;
|
|
@@ -297,7 +297,7 @@ function generateJSONMarshallerBody(modelType, modelDef, receiver, imports) {
|
|
|
297
297
|
let marshaller = '';
|
|
298
298
|
let addlProps;
|
|
299
299
|
for (const field of values(modelType.fields)) {
|
|
300
|
-
if (
|
|
300
|
+
if (field.type.kind === 'map' && field.annotations.isAdditionalProperties) {
|
|
301
301
|
addlProps = field.type;
|
|
302
302
|
continue;
|
|
303
303
|
}
|
|
@@ -311,13 +311,13 @@ function generateJSONMarshallerBody(modelType, modelDef, receiver, imports) {
|
|
|
311
311
|
marshaller += `\tobjectMap["${field.serializedName}"] = ${receiver}.${field.name}\n`;
|
|
312
312
|
}
|
|
313
313
|
}
|
|
314
|
-
else if (
|
|
314
|
+
else if (field.type.kind === 'encodedBytes') {
|
|
315
315
|
imports.add('github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime');
|
|
316
316
|
marshaller += `\tpopulateByteArray(objectMap, "${field.serializedName}", ${receiver}.${field.name}, func() any {\n`;
|
|
317
317
|
marshaller += `\t\treturn runtime.EncodeByteArray(${receiver}.${field.name}, runtime.Base64${field.type.encoding}Format)\n\t})\n`;
|
|
318
318
|
modelDef.SerDe.needsJSONPopulateByteArray = true;
|
|
319
319
|
}
|
|
320
|
-
else if (
|
|
320
|
+
else if (field.type.kind === 'slice' && field.type.elementType.kind === 'encodedBytes') {
|
|
321
321
|
imports.add('github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime');
|
|
322
322
|
marshaller += `\tpopulateByteArray(objectMap, "${field.serializedName}", ${receiver}.${field.name}, func() any {\n`;
|
|
323
323
|
marshaller += `\t\tencodedValue := make([]string, len(${receiver}.${field.name}))\n`;
|
|
@@ -326,20 +326,20 @@ function generateJSONMarshallerBody(modelType, modelDef, receiver, imports) {
|
|
|
326
326
|
marshaller += '\t\treturn encodedValue\n\t})\n';
|
|
327
327
|
modelDef.SerDe.needsJSONPopulateByteArray = true;
|
|
328
328
|
}
|
|
329
|
-
else if (
|
|
329
|
+
else if (field.type.kind === 'slice' && field.type.elementType.kind === 'time') {
|
|
330
330
|
const source = `${receiver}.${field.name}`;
|
|
331
331
|
let elementPtr = '*';
|
|
332
332
|
if (field.type.elementTypeByValue) {
|
|
333
333
|
elementPtr = '';
|
|
334
334
|
}
|
|
335
|
-
marshaller += `\taux := make([]${elementPtr}${field.type.elementType.
|
|
335
|
+
marshaller += `\taux := make([]${elementPtr}${field.type.elementType.format}, len(${source}), len(${source}))\n`;
|
|
336
336
|
marshaller += `\tfor i := 0; i < len(${source}); i++ {\n`;
|
|
337
|
-
marshaller += `\t\taux[i] = (${elementPtr}${field.type.elementType.
|
|
337
|
+
marshaller += `\t\taux[i] = (${elementPtr}${field.type.elementType.format})(${source}[i])\n`;
|
|
338
338
|
marshaller += '\t}\n';
|
|
339
339
|
marshaller += `\tpopulate(objectMap, "${field.serializedName}", aux)\n`;
|
|
340
340
|
modelDef.SerDe.needsJSONPopulate = true;
|
|
341
341
|
}
|
|
342
|
-
else if (
|
|
342
|
+
else if (field.type.kind === 'literal') {
|
|
343
343
|
const setter = `objectMap["${field.serializedName}"] = ${helpers.formatLiteralValue(field.type, true)}`;
|
|
344
344
|
if (!field.annotations.required) {
|
|
345
345
|
marshaller += `\tif ${receiver}.${field.name} != nil {\n\t\t${setter}\n\t}\n`;
|
|
@@ -348,7 +348,7 @@ function generateJSONMarshallerBody(modelType, modelDef, receiver, imports) {
|
|
|
348
348
|
marshaller += `\t${setter}\n`;
|
|
349
349
|
}
|
|
350
350
|
}
|
|
351
|
-
else if (
|
|
351
|
+
else if (field.type.kind === 'rawJSON') {
|
|
352
352
|
marshaller += `\tpopulate(objectMap, "${field.serializedName}", json.RawMessage(${receiver}.${field.name}))\n`;
|
|
353
353
|
modelDef.SerDe.needsJSONPopulate = true;
|
|
354
354
|
}
|
|
@@ -358,26 +358,26 @@ function generateJSONMarshallerBody(modelType, modelDef, receiver, imports) {
|
|
|
358
358
|
marshaller += `\tif ${receiver}.${field.name} == nil {\n\t\t${receiver}.${field.name} = to.Ptr(${helpers.formatLiteralValue(field.defaultValue, true)})\n\t}\n`;
|
|
359
359
|
}
|
|
360
360
|
let populate = 'populate';
|
|
361
|
-
if (
|
|
362
|
-
populate += capitalize(field.type.
|
|
361
|
+
if (field.type.kind === 'time') {
|
|
362
|
+
populate += capitalize(field.type.format);
|
|
363
363
|
modelDef.SerDe.needsJSONPopulate = true;
|
|
364
364
|
}
|
|
365
|
-
else if (
|
|
365
|
+
else if (field.type.kind === 'any') {
|
|
366
366
|
populate += 'Any';
|
|
367
367
|
modelDef.SerDe.needsJSONPopulateAny = true;
|
|
368
368
|
}
|
|
369
369
|
else {
|
|
370
370
|
modelDef.SerDe.needsJSONPopulate = true;
|
|
371
371
|
}
|
|
372
|
-
if (
|
|
372
|
+
if (field.type.kind === 'scalar' && (field.type.type.startsWith('uint') || field.type.type.startsWith('int')) && field.type.encodeAsString) {
|
|
373
373
|
// TODO: need to handle map and slice type with underlying int as string type
|
|
374
374
|
imports.add('strconv');
|
|
375
375
|
imports.add('github.com/Azure/azure-sdk-for-go/sdk/azcore/to');
|
|
376
|
-
if (field.type.
|
|
377
|
-
marshaller += `\t${populate}(objectMap, "${field.serializedName}", to.Ptr(strconv.${field.type.
|
|
376
|
+
if (field.type.type.startsWith('uint') && field.type.type !== 'uint64' || field.type.type.startsWith('int') && field.type.type !== 'int64') {
|
|
377
|
+
marshaller += `\t${populate}(objectMap, "${field.serializedName}", to.Ptr(strconv.${field.type.type.startsWith('int') ? 'FormatInt' : 'FormatUint'}(${field.type.type.startsWith('int') ? 'int64' : 'uint64'}(*${receiver}.${field.name}), 10)))\n`;
|
|
378
378
|
}
|
|
379
379
|
else {
|
|
380
|
-
marshaller += `\t${populate}(objectMap, "${field.serializedName}", to.Ptr(strconv.${field.type.
|
|
380
|
+
marshaller += `\t${populate}(objectMap, "${field.serializedName}", to.Ptr(strconv.${field.type.type.startsWith('int') ? 'FormatInt' : 'FormatUint'}(*${receiver}.${field.name}, 10)))\n`;
|
|
381
381
|
}
|
|
382
382
|
}
|
|
383
383
|
else {
|
|
@@ -389,8 +389,8 @@ function generateJSONMarshallerBody(modelType, modelDef, receiver, imports) {
|
|
|
389
389
|
marshaller += `\tif ${receiver}.AdditionalProperties != nil {\n`;
|
|
390
390
|
marshaller += `\t\tfor key, val := range ${receiver}.AdditionalProperties {\n`;
|
|
391
391
|
let assignment = 'val';
|
|
392
|
-
if (
|
|
393
|
-
assignment = `(*${addlProps.valueType.
|
|
392
|
+
if (addlProps.valueType.kind === 'time') {
|
|
393
|
+
assignment = `(*${addlProps.valueType.format})(val)`;
|
|
394
394
|
}
|
|
395
395
|
marshaller += `\t\t\tobjectMap[key] = ${assignment}\n`;
|
|
396
396
|
marshaller += '\t\t}\n';
|
|
@@ -429,9 +429,9 @@ function generateJSONUnmarshallerBody(modelType, modelDef, receiver, imports, op
|
|
|
429
429
|
addlPropsText += `${tab}\t\tif val != nil {\n`;
|
|
430
430
|
let auxType = go.getTypeDeclaration(addlProps.valueType);
|
|
431
431
|
let assignment = `${ref}aux`;
|
|
432
|
-
if (
|
|
432
|
+
if (addlProps.valueType.kind === 'time') {
|
|
433
433
|
imports.add('time');
|
|
434
|
-
auxType = addlProps.valueType.
|
|
434
|
+
auxType = addlProps.valueType.format;
|
|
435
435
|
assignment = `(*time.Time)(${assignment})`;
|
|
436
436
|
}
|
|
437
437
|
addlPropsText += `${tab}\t\t\tvar aux ${auxType}\n`;
|
|
@@ -447,7 +447,7 @@ function generateJSONUnmarshallerBody(modelType, modelDef, receiver, imports, op
|
|
|
447
447
|
unmarshalBody += '\t\tswitch key {\n';
|
|
448
448
|
let addlProps;
|
|
449
449
|
for (const field of values(modelType.fields)) {
|
|
450
|
-
if (
|
|
450
|
+
if (field.type.kind === 'map' && field.annotations.isAdditionalProperties) {
|
|
451
451
|
addlProps = field.type;
|
|
452
452
|
continue;
|
|
453
453
|
}
|
|
@@ -455,29 +455,29 @@ function generateJSONUnmarshallerBody(modelType, modelDef, receiver, imports, op
|
|
|
455
455
|
if (hasDiscriminatorInterface(field.type)) {
|
|
456
456
|
unmarshalBody += generateDiscriminatorUnmarshaller(field, receiver);
|
|
457
457
|
}
|
|
458
|
-
else if (
|
|
459
|
-
unmarshalBody += `\t\t\t\terr = unpopulate${capitalize(field.type.
|
|
458
|
+
else if (field.type.kind === 'time') {
|
|
459
|
+
unmarshalBody += `\t\t\t\terr = unpopulate${capitalize(field.type.format)}(val, "${field.name}", &${receiver}.${field.name})\n`;
|
|
460
460
|
modelDef.SerDe.needsJSONUnpopulate = true;
|
|
461
461
|
}
|
|
462
|
-
else if (
|
|
462
|
+
else if (field.type.kind === 'slice' && field.type.elementType.kind === 'time') {
|
|
463
463
|
imports.add('time');
|
|
464
464
|
let elementPtr = '*';
|
|
465
465
|
if (field.type.elementTypeByValue) {
|
|
466
466
|
elementPtr = '';
|
|
467
467
|
}
|
|
468
|
-
unmarshalBody += `\t\t\tvar aux []${elementPtr}${field.type.elementType.
|
|
468
|
+
unmarshalBody += `\t\t\tvar aux []${elementPtr}${field.type.elementType.format}\n`;
|
|
469
469
|
unmarshalBody += `\t\t\terr = unpopulate(val, "${field.name}", &aux)\n`;
|
|
470
470
|
unmarshalBody += '\t\t\tfor _, au := range aux {\n';
|
|
471
471
|
unmarshalBody += `\t\t\t\t${receiver}.${field.name} = append(${receiver}.${field.name}, (${elementPtr}time.Time)(au))\n`;
|
|
472
472
|
unmarshalBody += '\t\t\t}\n';
|
|
473
473
|
modelDef.SerDe.needsJSONUnpopulate = true;
|
|
474
474
|
}
|
|
475
|
-
else if (
|
|
475
|
+
else if (field.type.kind === 'encodedBytes') {
|
|
476
476
|
imports.add('github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime');
|
|
477
477
|
unmarshalBody += '\t\tif val != nil && string(val) != "null" {\n';
|
|
478
478
|
unmarshalBody += `\t\t\t\terr = runtime.DecodeByteArray(string(val), &${receiver}.${field.name}, runtime.Base64${field.type.encoding}Format)\n\t\t}\n`;
|
|
479
479
|
}
|
|
480
|
-
else if (
|
|
480
|
+
else if (field.type.kind === 'slice' && field.type.elementType.kind === 'encodedBytes') {
|
|
481
481
|
imports.add('github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime');
|
|
482
482
|
unmarshalBody += '\t\t\tvar encodedValue []string\n';
|
|
483
483
|
unmarshalBody += `\t\t\terr = unpopulate(val, "${field.name}", &encodedValue)\n`;
|
|
@@ -488,21 +488,21 @@ function generateJSONUnmarshallerBody(modelType, modelDef, receiver, imports, op
|
|
|
488
488
|
unmarshalBody += '\t\t\t\t}\n\t\t\t}\n';
|
|
489
489
|
modelDef.SerDe.needsJSONUnpopulate = true;
|
|
490
490
|
}
|
|
491
|
-
else if (
|
|
491
|
+
else if (field.type.kind === 'rawJSON') {
|
|
492
492
|
unmarshalBody += '\t\t\tif string(val) != "null" {\n';
|
|
493
493
|
unmarshalBody += `\t\t\t\t${receiver}.${field.name} = val\n\t\t\t}\n`;
|
|
494
494
|
}
|
|
495
|
-
else if (
|
|
495
|
+
else if (field.type.kind === 'scalar' && (field.type.type.startsWith('uint') || field.type.type.startsWith('int')) && field.type.encodeAsString) {
|
|
496
496
|
// TODO: need to handle map and slice type with underlying int as string type
|
|
497
497
|
imports.add('strconv');
|
|
498
498
|
unmarshalBody += `\t\t\t\tvar aux string\n`;
|
|
499
499
|
unmarshalBody += `\t\t\t\terr = unpopulate(val, "${field.name}", &aux)\n`;
|
|
500
500
|
unmarshalBody += `\t\t\t\tif err == nil {\n`;
|
|
501
|
-
unmarshalBody += `\t\t\t\t\tvar v ${field.type.
|
|
502
|
-
unmarshalBody += `\t\t\t\t\tv, err = strconv.${field.type.
|
|
501
|
+
unmarshalBody += `\t\t\t\t\tvar v ${field.type.type.startsWith('int') ? 'int64' : 'uint64'}\n`;
|
|
502
|
+
unmarshalBody += `\t\t\t\t\tv, err = strconv.${field.type.type.startsWith('int') ? 'ParseInt' : 'ParseUint'}(aux, 10, 0)\n`;
|
|
503
503
|
unmarshalBody += `\t\t\t\t\tif err == nil {\n`;
|
|
504
|
-
if (field.type.
|
|
505
|
-
unmarshalBody += `\t\t\t\t\t\t${receiver}.${field.name} = to.Ptr(${field.type.
|
|
504
|
+
if (field.type.type.startsWith('uint') && field.type.type !== 'uint64' || field.type.type.startsWith('int') && field.type.type !== 'int64') {
|
|
505
|
+
unmarshalBody += `\t\t\t\t\t\t${receiver}.${field.name} = to.Ptr(${field.type.type}(v))\n`;
|
|
506
506
|
}
|
|
507
507
|
else {
|
|
508
508
|
unmarshalBody += `\t\t\t\t\t\t${receiver}.${field.name} = to.Ptr(v)\n`;
|
|
@@ -536,29 +536,29 @@ function generateJSONUnmarshallerBody(modelType, modelDef, receiver, imports, op
|
|
|
536
536
|
// returns true if item has a discriminator interface.
|
|
537
537
|
// recursively called for arrays and dictionaries.
|
|
538
538
|
function hasDiscriminatorInterface(item) {
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
539
|
+
switch (item.kind) {
|
|
540
|
+
case 'interface':
|
|
541
|
+
return true;
|
|
542
|
+
case 'map':
|
|
543
|
+
return hasDiscriminatorInterface(item.valueType);
|
|
544
|
+
case 'slice':
|
|
545
|
+
return hasDiscriminatorInterface(item.elementType);
|
|
546
|
+
default:
|
|
547
|
+
return false;
|
|
547
548
|
}
|
|
548
|
-
return false;
|
|
549
549
|
}
|
|
550
550
|
// returns the text for unmarshalling a discriminated type
|
|
551
551
|
function generateDiscriminatorUnmarshaller(field, receiver) {
|
|
552
552
|
const startingIndentation = '\t\t\t';
|
|
553
553
|
const propertyName = field.name;
|
|
554
554
|
// these are the simple, non-nested cases (e.g. IterfaceType, []InterfaceType, map[string]InterfaceType)
|
|
555
|
-
if (
|
|
555
|
+
if (field.type.kind === 'interface') {
|
|
556
556
|
return `${startingIndentation}${receiver}.${propertyName}, err = unmarshal${field.type.name}(val)\n`;
|
|
557
557
|
}
|
|
558
|
-
else if (
|
|
558
|
+
else if (field.type.kind === 'slice' && field.type.elementType.kind === 'interface') {
|
|
559
559
|
return `${startingIndentation}${receiver}.${propertyName}, err = unmarshal${field.type.elementType.name}Array(val)\n`;
|
|
560
560
|
}
|
|
561
|
-
else if (
|
|
561
|
+
else if (field.type.kind === 'map' && field.type.valueType.kind === 'interface') {
|
|
562
562
|
return `${startingIndentation}${receiver}.${propertyName}, err = unmarshal${field.type.valueType.name}Map(val)\n`;
|
|
563
563
|
}
|
|
564
564
|
// nested case (e.g. [][]InterfaceType, map[string]map[string]InterfaceType etc)
|
|
@@ -570,7 +570,7 @@ function generateDiscriminatorUnmarshaller(field, receiver) {
|
|
|
570
570
|
// create a local instantiation of the final type
|
|
571
571
|
const finalTargetVar = field.serializedName;
|
|
572
572
|
let finalTargetCtor = recursiveGetDiscriminatorTypeName(field.type, false);
|
|
573
|
-
if (
|
|
573
|
+
if (field.type.kind === 'slice') {
|
|
574
574
|
finalTargetCtor = `make(${finalTargetCtor}, len(${rawTargetVar}))`;
|
|
575
575
|
}
|
|
576
576
|
else {
|
|
@@ -589,13 +589,13 @@ function generateDiscriminatorUnmarshaller(field, receiver) {
|
|
|
589
589
|
// !raw e.g. map[string]map[string]InterfaceType, [][]InterfaceType etc
|
|
590
590
|
function recursiveGetDiscriminatorTypeName(item, raw) {
|
|
591
591
|
// when raw is true, stop recursing at the level before the leaf schema
|
|
592
|
-
if (
|
|
593
|
-
if (!raw ||
|
|
592
|
+
if (item.kind === 'slice') {
|
|
593
|
+
if (!raw || item.elementType.kind !== 'interface') {
|
|
594
594
|
return `[]${recursiveGetDiscriminatorTypeName(item.elementType, raw)}`;
|
|
595
595
|
}
|
|
596
596
|
}
|
|
597
|
-
else if (
|
|
598
|
-
if (!raw ||
|
|
597
|
+
else if (item.kind === 'map') {
|
|
598
|
+
if (!raw || item.valueType.kind !== 'interface') {
|
|
599
599
|
return `map[string]${recursiveGetDiscriminatorTypeName(item.valueType, raw)}`;
|
|
600
600
|
}
|
|
601
601
|
}
|
|
@@ -609,8 +609,8 @@ function recursivePopulateDiscriminator(item, receiver, rawSrc, dest, indent, ne
|
|
|
609
609
|
let text = '';
|
|
610
610
|
let interfaceName = '';
|
|
611
611
|
let targetType = '';
|
|
612
|
-
if (
|
|
613
|
-
if (
|
|
612
|
+
if (item.kind === 'slice') {
|
|
613
|
+
if (item.elementType.kind !== 'interface') {
|
|
614
614
|
if (nesting > 1) {
|
|
615
615
|
// at nestling level 1, the destination var was already created in generateDiscriminatorUnmarshaller()
|
|
616
616
|
text += `${indent}${dest} = make(${recursiveGetDiscriminatorTypeName(item, false)}, len(${rawSrc}))\n`;
|
|
@@ -626,8 +626,8 @@ function recursivePopulateDiscriminator(item, receiver, rawSrc, dest, indent, ne
|
|
|
626
626
|
interfaceName = go.getTypeDeclaration(item.elementType);
|
|
627
627
|
targetType = 'Array';
|
|
628
628
|
}
|
|
629
|
-
else if (
|
|
630
|
-
if (
|
|
629
|
+
else if (item.kind === 'map') {
|
|
630
|
+
if (item.valueType.kind !== 'interface') {
|
|
631
631
|
if (nesting > 1) {
|
|
632
632
|
// at nestling level 1, the destination var was already created in generateDiscriminatorUnmarshaller()
|
|
633
633
|
text += `${indent}${dest} = ${recursiveGetDiscriminatorTypeName(item, false)}{}\n`;
|
|
@@ -657,15 +657,15 @@ function generateXMLMarshaller(modelType, modelDef, imports) {
|
|
|
657
657
|
}
|
|
658
658
|
text += generateAliasType(modelType, receiver, true);
|
|
659
659
|
for (const field of values(modelDef.Fields)) {
|
|
660
|
-
if (
|
|
660
|
+
if (field.type.kind === 'slice') {
|
|
661
661
|
text += `\tif ${receiver}.${field.name} != nil {\n`;
|
|
662
662
|
text += `\t\taux.${field.name} = &${receiver}.${field.name}\n`;
|
|
663
663
|
text += '\t}\n';
|
|
664
664
|
}
|
|
665
|
-
else if (field.annotations.isAdditionalProperties ||
|
|
665
|
+
else if (field.annotations.isAdditionalProperties || field.type.kind === 'map') {
|
|
666
666
|
text += `\taux.${field.name} = (additionalProperties)(${receiver}.${field.name})\n`;
|
|
667
667
|
}
|
|
668
|
-
else if (
|
|
668
|
+
else if (field.type.kind === 'encodedBytes') {
|
|
669
669
|
imports.add('github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime');
|
|
670
670
|
text += `\tif ${receiver}.${field.name} != nil {\n`;
|
|
671
671
|
text += `\t\tencoded${field.name} := runtime.EncodeByteArray(${receiver}.${field.name}, runtime.Base64${field.type.encoding}Format)\n`;
|
|
@@ -687,14 +687,14 @@ function generateXMLUnmarshaller(modelType, modelDef, imports) {
|
|
|
687
687
|
text += '\t\treturn err\n';
|
|
688
688
|
text += '\t}\n';
|
|
689
689
|
for (const field of values(modelDef.Fields)) {
|
|
690
|
-
if (
|
|
690
|
+
if (field.type.kind === 'time') {
|
|
691
691
|
text += `\tif aux.${field.name} != nil && !(*time.Time)(aux.${field.name}).IsZero() {\n`;
|
|
692
692
|
text += `\t\t${receiver}.${field.name} = (*time.Time)(aux.${field.name})\n\t}\n`;
|
|
693
693
|
}
|
|
694
|
-
else if (field.annotations.isAdditionalProperties ||
|
|
694
|
+
else if (field.annotations.isAdditionalProperties || field.type.kind === 'map') {
|
|
695
695
|
text += `\t${receiver}.${field.name} = (map[string]*string)(aux.${field.name})\n`;
|
|
696
696
|
}
|
|
697
|
-
else if (
|
|
697
|
+
else if (field.type.kind === 'encodedBytes') {
|
|
698
698
|
imports.add('github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime');
|
|
699
699
|
text += `\tif aux.${field.name} != nil {\n`;
|
|
700
700
|
text += `\t\tif err := runtime.DecodeByteArray(*aux.${field.name}, &${receiver}.${field.name}, runtime.Base64${field.type.encoding}Format); err != nil {\n`;
|
|
@@ -714,16 +714,16 @@ function generateAliasType(modelType, receiver, forMarshal) {
|
|
|
714
714
|
text += '\t\t*alias\n';
|
|
715
715
|
for (const field of values(modelType.fields)) {
|
|
716
716
|
const sn = getXMLSerialization(field, false);
|
|
717
|
-
if (
|
|
718
|
-
text += `\t\t${field.name} *${field.type.
|
|
717
|
+
if (field.type.kind === 'time') {
|
|
718
|
+
text += `\t\t${field.name} *${field.type.format} \`xml:"${sn}"\`\n`;
|
|
719
719
|
}
|
|
720
|
-
else if (field.annotations.isAdditionalProperties ||
|
|
720
|
+
else if (field.annotations.isAdditionalProperties || field.type.kind === 'map') {
|
|
721
721
|
text += `\t\t${field.name} additionalProperties \`xml:"${sn}"\`\n`;
|
|
722
722
|
}
|
|
723
|
-
else if (
|
|
723
|
+
else if (field.type.kind === 'slice') {
|
|
724
724
|
text += `\t\t${field.name} *${go.getTypeDeclaration(field.type)} \`xml:"${sn}"\`\n`;
|
|
725
725
|
}
|
|
726
|
-
else if (
|
|
726
|
+
else if (field.type.kind === 'encodedBytes') {
|
|
727
727
|
text += `\t\t${field.name} *string \`xml:"${sn}"\`\n`;
|
|
728
728
|
}
|
|
729
729
|
}
|
|
@@ -736,10 +736,10 @@ function generateAliasType(modelType, receiver, forMarshal) {
|
|
|
736
736
|
if (forMarshal) {
|
|
737
737
|
// emit code to initialize time fields
|
|
738
738
|
for (const field of modelType.fields) {
|
|
739
|
-
if (
|
|
739
|
+
if (field.type.kind !== 'time') {
|
|
740
740
|
continue;
|
|
741
741
|
}
|
|
742
|
-
text += `\t\t${field.name}: (*${field.type.
|
|
742
|
+
text += `\t\t${field.name}: (*${field.type.format})(${receiver}.${field.name}),\n`;
|
|
743
743
|
}
|
|
744
744
|
}
|
|
745
745
|
text += '\t}\n';
|
|
@@ -804,9 +804,9 @@ class ModelDef {
|
|
|
804
804
|
text += helpers.formatDocComment(field.docs);
|
|
805
805
|
}
|
|
806
806
|
let typeName = go.getTypeDeclaration(field.type);
|
|
807
|
-
if (
|
|
807
|
+
if (field.type.kind === 'literal') {
|
|
808
808
|
// for constants we use the underlying type name
|
|
809
|
-
typeName = go.
|
|
809
|
+
typeName = go.getLiteralTypeDeclaration(field.type.type);
|
|
810
810
|
}
|
|
811
811
|
let serialization = field.serializedName;
|
|
812
812
|
if (this.Format === 'JSON') {
|
|
@@ -847,7 +847,7 @@ export function getXMLSerialization(field, isResponseEnvelope) {
|
|
|
847
847
|
// value comes from an xml attribute
|
|
848
848
|
serialization += ',attr';
|
|
849
849
|
}
|
|
850
|
-
else if (
|
|
850
|
+
else if (field.type.kind === 'slice') {
|
|
851
851
|
// start with the serialized name of the element, preferring xml name if available
|
|
852
852
|
let inner = go.getTypeDeclaration(field.type.elementType);
|
|
853
853
|
if (field.xml?.name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../../codegen.go/src/models.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../../codegen.go/src/models.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAO7C,mCAAmC;AACnC,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,SAAuB;IAC1D,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO;YACL,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAED,kCAAkC;IAClC,MAAM,YAAY,GAAG,IAAI,aAAa,EAAE,CAAC;IACzC,MAAM,YAAY,GAAG,IAAI,aAAa,EAAE,CAAC;IACzC,IAAI,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAEnD,yEAAyE;IACzE,MAAM,SAAS,GAAG,iBAAiB,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAE3E,SAAS,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;IAEjC,UAAU;IACV,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,IAAI,0BAA0B,GAAG,KAAK,CAAC;IACvC,IAAI,oBAAoB,GAAG,KAAK,CAAC;IACjC,IAAI,0BAA0B,GAAG,KAAK,CAAC;IACvC,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,SAAS,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QAE7B,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAc,EAAE,CAAc,EAAE,EAAE,GAAG,OAAO,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7G,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9C,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,SAAS,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC;YACpF,CAAC;YACD,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC;QAC3B,CAAC;QAED,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAc,EAAE,CAAc,EAAE,EAAE,GAAG,OAAO,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnH,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACpD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,aAAa,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC;YACxF,CAAC;YACD,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC;QAC/B,CAAC;QACD,IAAI,QAAQ,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;YACrC,iBAAiB,GAAG,IAAI,CAAC;QAC3B,CAAC;QACD,IAAI,QAAQ,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;YACvC,mBAAmB,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,IAAI,QAAQ,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC;YAC9C,0BAA0B,GAAG,IAAI,CAAC;QACpC,CAAC;QACD,IAAI,QAAQ,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;YACxC,oBAAoB,GAAG,IAAI,CAAC;QAC9B,CAAC;QACD,IAAI,QAAQ,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC;YAC9C,0BAA0B,GAAG,IAAI,CAAC;QACpC,CAAC;IACH,CAAC;IACD,IAAI,iBAAiB,EAAE,CAAC;QACtB,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5B,YAAY,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QACjE,aAAa,IAAI,sDAAsD,CAAC;QACxE,aAAa,IAAI,mBAAmB,CAAC;QACrC,aAAa,IAAI,cAAc,CAAC;QAChC,aAAa,IAAI,uCAAuC,CAAC;QACzD,aAAa,IAAI,kBAAkB,CAAC;QACpC,aAAa,IAAI,6CAA6C,CAAC;QAC/D,aAAa,IAAI,gBAAgB,CAAC;QAClC,aAAa,IAAI,OAAO,CAAC;QACzB,aAAa,IAAI,OAAO,CAAC;IAC3B,CAAC;IACD,IAAI,oBAAoB,EAAE,CAAC;QACzB,YAAY,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QACjE,aAAa,IAAI,yDAAyD,CAAC;QAC3E,aAAa,IAAI,mBAAmB,CAAC;QACrC,aAAa,IAAI,cAAc,CAAC;QAChC,aAAa,IAAI,uCAAuC,CAAC;QACzD,aAAa,IAAI,kBAAkB,CAAC;QACpC,aAAa,IAAI,cAAc,CAAC;QAChC,aAAa,IAAI,gBAAgB,CAAC;QAClC,aAAa,IAAI,OAAO,CAAC;QACzB,aAAa,IAAI,OAAO,CAAC;IAC3B,CAAC;IACD,IAAI,0BAA0B,EAAE,CAAC;QAC/B,YAAY,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QACjE,YAAY,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACzE,aAAa,IAAI,0FAA0F,CAAC;QAC5G,aAAa,IAAI,gCAAgC,CAAC;QAClD,aAAa,IAAI,kBAAkB,CAAC;QACpC,aAAa,IAAI,6BAA6B,CAAC;QAC/C,aAAa,IAAI,cAAc,CAAC;QAChC,aAAa,IAAI,cAAc,CAAC;QAChC,aAAa,IAAI,wBAAwB,CAAC;QAC1C,aAAa,IAAI,OAAO,CAAC;QACzB,aAAa,IAAI,OAAO,CAAC;IAC3B,CAAC;IACD,IAAI,mBAAmB,EAAE,CAAC;QACxB,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxB,aAAa,IAAI,mEAAmE,CAAC;QACrF,aAAa,IAAI,gDAAgD,CAAC;QAClE,aAAa,IAAI,kBAAkB,CAAC;QACpC,aAAa,IAAI,OAAO,CAAC;QACzB,aAAa,IAAI,qDAAqD,CAAC;QACvE,aAAa,IAAI,yDAAyD,CAAC;QAC3E,aAAa,IAAI,OAAO,CAAC;QACzB,aAAa,IAAI,gBAAgB,CAAC;QAClC,aAAa,IAAI,OAAO,CAAC;IAC3B,CAAC;IACD,IAAI,0BAA0B,EAAE,CAAC;QAC/B,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAClC,aAAa,IAAI,yEAAyE,CAAC;QAC3F,aAAa,IAAI,kCAAkC,CAAC;QACpD,aAAa,IAAI,0CAA0C,CAAC;QAC5D,aAAa,IAAI,+BAA+B,CAAC;QACjD,aAAa,IAAI,OAAO,CAAC;IAC3B,CAAC;IACD,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC/C,SAAS,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;QACjC,SAAS,IAAI,aAAa,CAAC;IAC7B,CAAC;IACD,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,SAAS;KACjB,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,YAA2B,EAAE,YAA2B,EAAE,SAAuB;IAC1G,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,KAAK,EAAY,CAAC;IACxC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,eAAe,GAAG,IAAI,KAAK,EAAU,CAAC;YAC5C,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;gBAC/B,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACpC,CAAC;iBAAM,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjH,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACnC,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACzC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;oBAChC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBACD,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBAC1E,sFAAsF;gBACtF,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC3B,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;gBACjC,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,4BAA4B,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,mCAAmC,CAAC;YACzI,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC3B,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACzC,iDAAiD;gBACjD,eAAe,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YACnE,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACjF,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,WAAW,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;YAC3F,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACjC,IAAI,wBAAwB,GAAG,KAAK,CAAC;YACrC,IAAI,eAAe,GAAG,KAAK,CAAC;YAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzC,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC1C,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC/B,wBAAwB,GAAG,IAAI,CAAC;gBAClC,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBAC9C,eAAe,GAAG,IAAI,CAAC;gBACzB,CAAC;YACH,CAAC;YACD,8FAA8F;YAC9F,IAAI,wBAAwB,IAAI,KAAK,CAAC,GAAG,EAAE,OAAO,IAAI,wBAAwB,CAAC,KAAK,CAAC,IAAI,eAAe,EAAE,CAAC;gBACzG,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;gBACrD,IAAI,wBAAwB,IAAI,eAAe,EAAE,CAAC;oBAChD,uBAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;iBAAM,IAAI,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3C,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;gBACrD,uBAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;YACzD,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzB,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACtC,iCAAiC,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC7D,KAAK,IAAI,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBACvF,iCAAiC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;YACxC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YAClC,QAAQ,CAAC,KAAK,CAAC,0BAA0B,GAAG,IAAI,CAAC;QACnD,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;YAC/C,sBAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;YACtD,wBAAwB,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QAC7E,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,wBAAwB,CAAC,SAAmB;IACnD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,8EAA8E;QAC9E,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,sBAAsB,EAAE,CAAC;YAC3E,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,wBAAwB,CAAC,SAAmB;IACnD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,wCAAwC;AACxC,SAAS,iCAAiC,CAAC,IAAkB,EAAE,QAAkB;IAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;IACzC,MAAM,eAAe,GAAG,MAAM,QAAQ,EAAE,CAAC;IACzC,IAAI,MAAM,GAAG,SAAS,QAAQ,KAAK,QAAQ,CAAC,IAAI,KAAK,eAAe,OAAO,QAAQ,IAAI,CAAC;IACxF,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzC,gFAAgF;QAChF,MAAM,IAAI,WAAW,QAAQ,QAAQ,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,4EAA4E;QAC5E,yDAAyD;QACzD,MAAM,IAAI,eAAe,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;QACjD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,YAAY,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;QAC7E,CAAC;QACD,MAAM,IAAI,YAAY,CAAC;IACzB,CAAC;IACD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,eAAe,mBAAmB,IAAI,CAAC,IAAI,uBAAuB,QAAQ,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAC9J,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAkB;IACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;IACzC,IAAI,MAAM,GAAG,SAAS,QAAQ,IAAI,QAAQ,CAAC,IAAI,qDAAqD,CAAC;IACrG,MAAM,IAAI,uCAAuC,CAAC;IAClD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,OAAO,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,QAAgB,CAAC;QACrB,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,GAAG,GAAG,CAAC;QACb,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;YAC3E,QAAQ,GAAG,iDAAiD,KAAK,CAAC,cAAc,MAAM,IAAI,GAAG,QAAQ,IAAI,KAAK,CAAC,IAAI,6CAA6C,CAAC;QACnK,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,gBAAgB,KAAK,CAAC,cAAc,QAAQ,IAAI,GAAG,QAAQ,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC;QAC3F,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,QAAQ,GAAG,QAAQ,QAAQ,IAAI,KAAK,CAAC,IAAI,kBAAkB,QAAQ,OAAO,CAAC;QAC7E,CAAC;QACD,MAAM,IAAI,QAAQ,CAAC;IACrB,CAAC;IACD,MAAM,IAAI,gCAAgC,CAAC;IAC3C,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,gCAAgC,QAAQ,CAAC,IAAI,0BAA0B,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAC5J,CAAC;AAED,SAAS,sBAAsB,CAAC,SAAyC,EAAE,QAAkB,EAAE,OAAsB;IACnH,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChE,0EAA0E;QAC1E,oFAAoF;QACpF,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC7B,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;IACzC,IAAI,UAAU,GAAG,SAAS,QAAQ,IAAI,QAAQ,qCAAqC,CAAC;IACpF,UAAU,IAAI,uCAAuC,CAAC;IACtD,UAAU,IAAI,0BAA0B,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjF,UAAU,IAAI,oCAAoC,CAAC;IACnD,UAAU,IAAI,OAAO,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,iEAAiE,QAAQ,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;AAC7J,CAAC;AAED,SAAS,0BAA0B,CAAC,SAAyC,EAAE,QAAkB,EAAE,QAAgB,EAAE,OAAsB;IACzI,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,SAA6B,CAAC;IAClC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,WAAW,CAAC,sBAAsB,EAAE,CAAC;YAC1E,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;YACvB,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;YACtC,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACvB,UAAU,IAAI,gBAAgB,KAAK,CAAC,cAAc,QAAQ,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC;YACrH,CAAC;iBAAM,CAAC;gBACN,uFAAuF;gBACvF,wFAAwF;gBACxF,UAAU,IAAI,gBAAgB,KAAK,CAAC,cAAc,QAAQ,QAAQ,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC;YACvF,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;YACpE,UAAU,IAAI,mCAAmC,KAAK,CAAC,cAAc,MAAM,QAAQ,IAAI,KAAK,CAAC,IAAI,kBAAkB,CAAC;YACpH,UAAU,IAAI,sCAAsC,QAAQ,IAAI,KAAK,CAAC,IAAI,mBAAmB,KAAK,CAAC,IAAI,CAAC,QAAQ,iBAAiB,CAAC;YAClI,QAAQ,CAAC,KAAK,CAAC,0BAA0B,GAAG,IAAI,CAAC;QACnD,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACzF,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;YACpE,UAAU,IAAI,mCAAmC,KAAK,CAAC,cAAc,MAAM,QAAQ,IAAI,KAAK,CAAC,IAAI,kBAAkB,CAAC;YACpH,UAAU,IAAI,0CAA0C,QAAQ,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC;YACrF,UAAU,IAAI,2BAA2B,QAAQ,IAAI,KAAK,CAAC,IAAI,YAAY,CAAC;YAC5E,UAAU,IAAI,mDAAmD,QAAQ,IAAI,KAAK,CAAC,IAAI,sBAAsB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,kBAAkB,CAAC;YAC/J,UAAU,IAAI,iCAAiC,CAAC;YAChD,QAAQ,CAAC,KAAK,CAAC,0BAA0B,GAAG,IAAI,CAAC;QACnD,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACjF,MAAM,MAAM,GAAG,GAAG,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YAC3C,IAAI,UAAU,GAAG,GAAG,CAAC;YACrB,IAAI,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAClC,UAAU,GAAG,EAAE,CAAC;YAClB,CAAC;YACD,UAAU,IAAI,mBAAmB,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,SAAS,MAAM,UAAU,MAAM,MAAM,CAAC;YACjH,UAAU,IAAI,yBAAyB,MAAM,YAAY,CAAC;YAC1D,UAAU,IAAI,iBAAiB,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,MAAM,QAAQ,CAAC;YAC7F,UAAU,IAAI,OAAO,CAAC;YACtB,UAAU,IAAI,0BAA0B,KAAK,CAAC,cAAc,WAAW,CAAC;YACxE,QAAQ,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC1C,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,cAAc,KAAK,CAAC,cAAc,QAAQ,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YACxG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;gBAChC,UAAU,IAAI,QAAQ,QAAQ,IAAI,KAAK,CAAC,IAAI,kBAAkB,MAAM,SAAS,CAAC;YAChF,CAAC;iBAAM,CAAC;gBACN,UAAU,IAAI,KAAK,MAAM,IAAI,CAAC;YAChC,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACzC,UAAU,IAAI,0BAA0B,KAAK,CAAC,cAAc,sBAAsB,QAAQ,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC;YAC/G,QAAQ,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;gBAC/D,UAAU,IAAI,QAAQ,QAAQ,IAAI,KAAK,CAAC,IAAI,kBAAkB,QAAQ,IAAI,KAAK,CAAC,IAAI,aAAa,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC;YAClK,CAAC;YACD,IAAI,QAAQ,GAAG,UAAU,CAAC;YAC1B,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC/B,QAAQ,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1C,QAAQ,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC1C,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACrC,QAAQ,IAAI,KAAK,CAAC;gBAClB,QAAQ,CAAC,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC1C,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC3I,6EAA6E;gBAC7E,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;gBAC/D,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC3I,UAAU,IAAI,KAAK,QAAQ,gBAAgB,KAAK,CAAC,cAAc,qBAAqB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,YAAY,CAAC;gBACtP,CAAC;qBAAM,CAAC;oBACN,UAAU,IAAI,KAAK,QAAQ,gBAAgB,KAAK,CAAC,cAAc,qBAAqB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,WAAW,CAAC;gBAC3L,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,UAAU,IAAI,KAAK,QAAQ,gBAAgB,KAAK,CAAC,cAAc,MAAM,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;YACnG,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,UAAU,IAAI,QAAQ,QAAQ,kCAAkC,CAAC;QACjE,UAAU,IAAI,6BAA6B,QAAQ,2BAA2B,CAAC;QAC/E,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,SAAS,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACxC,UAAU,GAAG,KAAK,SAAS,CAAC,SAAS,CAAC,MAAM,QAAQ,CAAC;QACvD,CAAC;QACD,UAAU,IAAI,0BAA0B,UAAU,IAAI,CAAC;QACvD,UAAU,IAAI,SAAS,CAAC;QACxB,UAAU,IAAI,OAAO,CAAC;IACxB,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,wBAAwB,CAAC,SAAyC,EAAE,QAAkB,EAAE,OAAsB,EAAE,OAAmB;IAC1I,+FAA+F;IAC/F,uFAAuF;IACvF,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;IACzC,IAAI,YAAY,GAAG,SAAS,QAAQ,KAAK,QAAQ,wCAAwC,CAAC;IAC1F,YAAY,IAAI,2CAA2C,CAAC;IAC5D,YAAY,IAAI,2DAA2D,CAAC;IAC5E,YAAY,IAAI,sDAAsD,QAAQ,UAAU,CAAC;IACzF,YAAY,IAAI,OAAO,CAAC;IACxB,YAAY,IAAI,4BAA4B,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9F,YAAY,IAAI,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,qEAAqE,QAAQ,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;AACrK,CAAC;AAED,SAAS,4BAA4B,CAAC,SAAyC,EAAE,QAAkB,EAAE,QAAgB,EAAE,OAAsB,EAAE,OAAmB;IAChK,MAAM,aAAa,GAAG,UAAU,GAAW,EAAE,SAAiB;QAC5D,IAAI,aAAa,GAAG,GAAG,GAAG,UAAU,QAAQ,kCAAkC,CAAC;QAC/E,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;YAChC,GAAG,GAAG,GAAG,CAAC;QACZ,CAAC;QACD,aAAa,IAAI,GAAG,GAAG,SAAS,QAAQ,2BAA2B,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC;QAC1G,aAAa,IAAI,GAAG,GAAG,SAAS,CAAC;QACjC,aAAa,IAAI,GAAG,GAAG,uBAAuB,CAAC;QAC/C,IAAI,OAAO,GAAG,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,UAAU,GAAG,GAAG,GAAG,KAAK,CAAC;QAC7B,IAAI,SAAS,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpB,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC;YACrC,UAAU,GAAG,gBAAgB,UAAU,GAAG,CAAC;QAC7C,CAAC;QACD,aAAa,IAAI,GAAG,GAAG,iBAAiB,OAAO,IAAI,CAAC;QACpD,aAAa,IAAI,GAAG,GAAG,yCAAyC,CAAC;QACjE,aAAa,IAAI,GAAG,GAAG,SAAS,QAAQ,gCAAgC,UAAU,IAAI,CAAC;QACvF,aAAa,IAAI,GAAG,GAAG,SAAS,CAAC;QACjC,aAAa,IAAI,GAAG,GAAG,2BAA2B,CAAC;QACnD,OAAO,aAAa,CAAC;IACvB,CAAC,CAAC;IACF,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,aAAa,GAAG,oCAAoC,CAAC;IACrD,aAAa,IAAI,qBAAqB,CAAC;IACvC,aAAa,IAAI,oBAAoB,CAAC;IACtC,IAAI,SAA6B,CAAC;IAClC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,WAAW,CAAC,sBAAsB,EAAE,CAAC;YAC1E,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;YACvB,SAAS;QACX,CAAC;QACD,aAAa,IAAI,aAAa,KAAK,CAAC,cAAc,MAAM,CAAC;QACzD,IAAI,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,aAAa,IAAI,iCAAiC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACtE,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACtC,aAAa,IAAI,2BAA2B,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,CAAC,IAAI,OAAO,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;YAChI,QAAQ,CAAC,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAC5C,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACjF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpB,IAAI,UAAU,GAAG,GAAG,CAAC;YACrB,IAAI,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAClC,UAAU,GAAG,EAAE,CAAC;YAClB,CAAC;YACD,aAAa,IAAI,mBAAmB,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC;YACnF,aAAa,IAAI,gCAAgC,KAAK,CAAC,IAAI,YAAY,CAAC;YACxE,aAAa,IAAI,kCAAkC,CAAC;YACpD,aAAa,IAAI,WAAW,QAAQ,IAAI,KAAK,CAAC,IAAI,aAAa,QAAQ,IAAI,KAAK,CAAC,IAAI,MAAM,UAAU,mBAAmB,CAAC;YACzH,aAAa,IAAI,WAAW,CAAC;YAC7B,QAAQ,CAAC,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAC5C,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;YACpE,aAAa,IAAI,gDAAgD,CAAC;YAClE,aAAa,IAAI,uDAAuD,QAAQ,IAAI,KAAK,CAAC,IAAI,mBAAmB,KAAK,CAAC,IAAI,CAAC,QAAQ,kBAAkB,CAAC;QACzJ,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACzF,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;YACpE,aAAa,IAAI,mCAAmC,CAAC;YACrD,aAAa,IAAI,gCAAgC,KAAK,CAAC,IAAI,qBAAqB,CAAC;YACjF,aAAa,IAAI,kDAAkD,CAAC;YACpE,aAAa,IAAI,WAAW,QAAQ,IAAI,KAAK,CAAC,IAAI,wCAAwC,CAAC;YAC3F,aAAa,IAAI,kEAAkE,CAAC;YACpF,aAAa,IAAI,6DAA6D,QAAQ,IAAI,KAAK,CAAC,IAAI,sBAAsB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,WAAW,CAAC;YACrK,aAAa,IAAI,sBAAsB,CAAC;YACxC,QAAQ,CAAC,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAC5C,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACzC,aAAa,IAAI,oCAAoC,CAAC;YACtD,aAAa,IAAI,WAAW,QAAQ,IAAI,KAAK,CAAC,IAAI,mBAAmB,CAAC;QACxE,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAClJ,6EAA6E;YAC7E,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvB,aAAa,IAAI,0BAA0B,CAAC;YAC5C,aAAa,IAAI,kCAAkC,KAAK,CAAC,IAAI,YAAY,CAAC;YAC1E,aAAa,IAAI,2BAA2B,CAAC;YAC7C,aAAa,IAAI,mBAAmB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC;YAC/F,aAAa,IAAI,8BAA8B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,gBAAgB,CAAC;YAC5H,aAAa,IAAI,6BAA6B,CAAC;YAC/C,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC3I,aAAa,IAAI,eAAe,QAAQ,IAAI,KAAK,CAAC,IAAI,aAAa,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC;YAC7F,CAAC;iBAAM,CAAC;gBACN,aAAa,IAAI,eAAe,QAAQ,IAAI,KAAK,CAAC,IAAI,gBAAgB,CAAC;YACzE,CAAC;YACD,aAAa,IAAI,eAAe,CAAC;YACjC,aAAa,IAAI,aAAa,CAAC;YAC/B,QAAQ,CAAC,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,aAAa,IAAI,kCAAkC,KAAK,CAAC,IAAI,OAAO,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;YAChG,QAAQ,CAAC,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAC5C,CAAC;QACD,aAAa,IAAI,6BAA6B,CAAC;IACjD,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,aAAa,IAAI,gBAAgB,CAAC;QAClC,aAAa,IAAI,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAClD,CAAC;SAAM,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;QACzC,aAAa,IAAI,gBAAgB,CAAC;QAClC,aAAa,IAAI,qEAAqE,QAAQ,UAAU,CAAC;IAC3G,CAAC;IACD,aAAa,IAAI,SAAS,CAAC;IAC3B,aAAa,IAAI,uBAAuB,CAAC;IACzC,aAAa,IAAI,wDAAwD,QAAQ,UAAU,CAAC;IAC5F,aAAa,IAAI,SAAS,CAAC;IAC3B,aAAa,IAAI,OAAO,CAAC,CAAC,mCAAmC;IAC7D,aAAa,IAAI,gBAAgB,CAAC;IAClC,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,sDAAsD;AACtD,kDAAkD;AAClD,SAAS,yBAAyB,CAAC,IAAiB;IAClD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,WAAW;YACd,OAAO,IAAI,CAAC;QACd,KAAK,KAAK;YACR,OAAO,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnD,KAAK,OAAO;YACV,OAAO,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrD;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,0DAA0D;AAC1D,SAAS,iCAAiC,CAAC,KAAoB,EAAE,QAAgB;IAC/E,MAAM,mBAAmB,GAAG,QAAQ,CAAC;IACrC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC;IAEhC,wGAAwG;IACxG,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACpC,OAAO,GAAG,mBAAmB,GAAG,QAAQ,IAAI,YAAY,oBAAoB,KAAK,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;IACvG,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACtF,OAAO,GAAG,mBAAmB,GAAG,QAAQ,IAAI,YAAY,oBAAoB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,cAAc,CAAC;IACxH,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAClF,OAAO,GAAG,mBAAmB,GAAG,QAAQ,IAAI,YAAY,oBAAoB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC;IACpH,CAAC;IAED,gFAAgF;IAChF,gCAAgC;IAChC,MAAM,YAAY,GAAG,GAAG,KAAK,CAAC,cAAc,KAAK,CAAC;IAClD,IAAI,IAAI,GAAG,GAAG,mBAAmB,OAAO,YAAY,IAAI,iCAAiC,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IAChH,IAAI,IAAI,GAAG,mBAAmB,iCAAiC,YAAY,mBAAmB,CAAC;IAC/F,IAAI,IAAI,GAAG,mBAAmB,iBAAiB,mBAAmB,KAAK,CAAC;IAExE,iDAAiD;IACjD,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;IAC5C,IAAI,eAAe,GAAG,iCAAiC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3E,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAChC,eAAe,GAAG,QAAQ,eAAe,SAAS,YAAY,IAAI,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,uBAAuB;QACvB,eAAe,GAAG,GAAG,eAAe,IAAI,CAAC;IAC3C,CAAC;IACD,IAAI,IAAI,GAAG,mBAAmB,GAAG,cAAc,OAAO,eAAe,IAAI,CAAC;IAE1E,8BAA8B;IAC9B,IAAI,IAAI,8BAA8B,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC;IAEnH,mDAAmD;IACnD,IAAI,IAAI,GAAG,mBAAmB,GAAG,QAAQ,IAAI,YAAY,MAAM,cAAc,IAAI,CAAC;IAClF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,2DAA2D;AAC3D,6DAA6D;AAC7D,uEAAuE;AACvE,SAAS,iCAAiC,CAAC,IAAiB,EAAE,GAAY;IACxE,uEAAuE;IACvE,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAClD,OAAO,KAAK,iCAAiC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC;QACzE,CAAC;IACH,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAChD,OAAO,cAAc,iCAAiC,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;QAChF,CAAC;IACH,CAAC;IACD,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,OAAO,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,qEAAqE;AACrE,SAAS,8BAA8B,CAAC,IAAiB,EAAE,QAAgB,EAAE,MAAc,EAAE,IAAY,EAAE,MAAc,EAAE,OAAe;IACxI,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IAAI,UAAU,GAAG,EAAE,CAAC;IAEpB,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC1C,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,sGAAsG;gBACtG,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,WAAW,iCAAiC,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,MAAM,MAAM,CAAC;YACzG,CAAC;YAED,IAAI,IAAI,GAAG,MAAM,QAAQ,OAAO,aAAa,MAAM,MAAM,CAAC;YAC1D,MAAM,GAAG,GAAG,MAAM,KAAK,OAAO,GAAG,CAAC,CAAC,kDAAkD;YACrF,IAAI,GAAG,GAAG,IAAI,KAAK,OAAO,GAAG,CAAC,CAAC,8DAA8D;YAC7F,IAAI,IAAI,8BAA8B,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAC,IAAI,EAAE,OAAO,GAAC,CAAC,CAAC,CAAC;YACzG,IAAI,IAAI,GAAG,MAAM,KAAK,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,uEAAuE;QACvE,aAAa,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxD,UAAU,GAAG,OAAO,CAAC;IACvB,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACxC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,sGAAsG;gBACtG,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,MAAM,iCAAiC,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACrF,CAAC;YAED,IAAI,IAAI,GAAG,MAAM,QAAQ,OAAO,MAAM,OAAO,aAAa,MAAM,MAAM,CAAC;YACvE,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC,CAAC,qDAAqD;YAC7E,IAAI,GAAG,GAAG,IAAI,KAAK,OAAO,GAAG,CAAC,CAAC,wEAAwE;YACvG,IAAI,IAAI,8BAA8B,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAC,IAAI,EAAE,OAAO,GAAC,CAAC,CAAC,CAAC;YACvG,IAAI,IAAI,GAAG,MAAM,KAAK,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,uEAAuE;QACvE,aAAa,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,UAAU,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,oBAAoB,aAAa,GAAG,UAAU,IAAI,MAAM,KAAK,CAAC;IACtF,IAAI,IAAI,GAAG,MAAM,oBAAoB,MAAM,oDAAoD,QAAQ,WAAW,MAAM,KAAK,CAAC;IAE9H,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAmB,EAAE,QAAkB,EAAE,OAAsB;IAC5F,gGAAgG;IAChG,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;IACzC,MAAM,IAAI,GAAG,+DAA+D,QAAQ,CAAC,IAAI,GAAG,CAAC;IAC7F,IAAI,IAAI,GAAG,SAAS,QAAQ,IAAI,QAAQ,CAAC,IAAI,kEAAkE,CAAC;IAChH,IAAI,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;QAC3B,IAAI,IAAI,yBAAyB,SAAS,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC;IAC9D,CAAC;IACD,IAAI,IAAI,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACrD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAChC,IAAI,IAAI,QAAQ,QAAQ,IAAI,KAAK,CAAC,IAAI,aAAa,CAAC;YACpD,IAAI,IAAI,WAAW,KAAK,CAAC,IAAI,OAAO,QAAQ,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC;YAC/D,IAAI,IAAI,OAAO,CAAC;QAClB,CAAC;aAAM,IAAI,KAAK,CAAC,WAAW,CAAC,sBAAsB,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACjF,IAAI,IAAI,SAAS,KAAK,CAAC,IAAI,6BAA6B,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;QACtF,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;YACpE,IAAI,IAAI,QAAQ,QAAQ,IAAI,KAAK,CAAC,IAAI,aAAa,CAAC;YACpD,IAAI,IAAI,cAAc,KAAK,CAAC,IAAI,+BAA+B,QAAQ,IAAI,KAAK,CAAC,IAAI,mBAAmB,KAAK,CAAC,IAAI,CAAC,QAAQ,WAAW,CAAC;YACvI,IAAI,IAAI,WAAW,KAAK,CAAC,IAAI,cAAc,KAAK,CAAC,IAAI,IAAI,CAAC;YAC1D,IAAI,IAAI,OAAO,CAAC;QAClB,CAAC;IACH,CAAC;IACD,IAAI,IAAI,0CAA0C,CAAC;IACnD,IAAI,IAAI,OAAO,CAAC;IAChB,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,uBAAuB,CAAC,SAAmB,EAAE,QAAkB,EAAE,OAAsB;IAC9F,yDAAyD;IACzD,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;IACzC,MAAM,IAAI,GAAG,mEAAmE,QAAQ,CAAC,IAAI,GAAG,CAAC;IACjG,IAAI,IAAI,GAAG,SAAS,QAAQ,KAAK,QAAQ,CAAC,IAAI,oEAAoE,CAAC;IACnH,IAAI,IAAI,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACtD,IAAI,IAAI,4DAA4D,CAAC;IACrE,IAAI,IAAI,kBAAkB,CAAC;IAC3B,IAAI,IAAI,OAAO,CAAC;IAChB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC/B,IAAI,IAAI,YAAY,KAAK,CAAC,IAAI,gCAAgC,KAAK,CAAC,IAAI,gBAAgB,CAAC;YACzF,IAAI,IAAI,OAAO,QAAQ,IAAI,KAAK,CAAC,IAAI,uBAAuB,KAAK,CAAC,IAAI,UAAU,CAAC;QACnF,CAAC;aAAM,IAAI,KAAK,CAAC,WAAW,CAAC,sBAAsB,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACjF,IAAI,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,+BAA+B,KAAK,CAAC,IAAI,KAAK,CAAC;QACpF,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;YACpE,IAAI,IAAI,YAAY,KAAK,CAAC,IAAI,aAAa,CAAC;YAC5C,IAAI,IAAI,8CAA8C,KAAK,CAAC,IAAI,MAAM,QAAQ,IAAI,KAAK,CAAC,IAAI,mBAAmB,KAAK,CAAC,IAAI,CAAC,QAAQ,yBAAyB,CAAC;YAC5J,IAAI,IAAI,oBAAoB,CAAC;YAC7B,IAAI,IAAI,SAAS,CAAC;YAClB,IAAI,IAAI,OAAO,CAAC;QAClB,CAAC;IACH,CAAC;IACD,IAAI,IAAI,gBAAgB,CAAC;IACzB,IAAI,IAAI,OAAO,CAAC;IAChB,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAChF,CAAC;AAED,qEAAqE;AACrE,SAAS,iBAAiB,CAAC,SAAmB,EAAE,QAAgB,EAAE,UAAmB;IACnF,IAAI,IAAI,GAAG,gBAAgB,SAAS,CAAC,IAAI,IAAI,CAAC;IAC9C,IAAI,IAAI,sBAAsB,CAAC;IAC/B,IAAI,IAAI,cAAc,CAAC;IACvB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,MAAM,EAAE,GAAG,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC/B,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,WAAW,EAAE,OAAO,CAAC;QACtE,CAAC;aAAM,IAAI,KAAK,CAAC,WAAW,CAAC,sBAAsB,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACjF,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,gCAAgC,EAAE,OAAO,CAAC;QACrE,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACvC,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC;QACtF,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC9C,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,mBAAmB,EAAE,OAAO,CAAC;QACxD,CAAC;IACH,CAAC;IACD,IAAI,IAAI,QAAQ,CAAC;IACjB,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,IAAI,UAAU,EAAE,CAAC;QACf,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAClB,CAAC;IACD,IAAI,IAAI,uBAAuB,GAAG,MAAM,CAAC;IACzC,IAAI,UAAU,EAAE,CAAC;QACf,sCAAsC;QACtC,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC/B,SAAS;YACX,CAAC;YACD,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC;QACrF,CAAC;IACH,CAAC;IACD,IAAI,IAAI,OAAO,CAAC;IAChB,OAAO,IAAI,CAAC;AACd,CAAC;AASD,MAAM,SAAS;IACb,OAAO,CAAqB;IAC5B,iBAAiB,CAAU;IAC3B,mBAAmB,CAAU;IAC7B,0BAA0B,CAAU;IACpC,oBAAoB,CAAU;IAC9B,0BAA0B,CAAU;IAEpC;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,KAAK,EAAe,CAAC;QACxC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;QACxC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;IAC1C,CAAC;CACF;AAED,6CAA6C;AAC7C,MAAM,QAAQ;IACH,IAAI,CAAS;IACb,MAAM,CAAsB;IAC5B,IAAI,CAAU;IACd,MAAM,CAAuB;IAC7B,KAAK,CAAY;IACjB,OAAO,CAAqB;IAErC,YAAY,IAAY,EAAE,MAA2B,EAAE,MAA4B,EAAE,IAAa;QAChG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,KAAK,EAAe,CAAC;IAC1C,CAAC;IAED,IAAI;QACF,IAAI,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,IAAI,QAAQ,IAAI,CAAC,IAAI,aAAa,CAAC;QAEvC,4DAA4D;QAC5D,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,GAAkB,EAAE,GAAkB,EAAU,EAAE;YACnE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvH,OAAO,CAAC,CAAC,CAAC;YACZ,CAAC;iBAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9H,OAAO,CAAC,CAAC;YACX,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,0EAA0E;QAC1E,IAAI,KAAK,GAAG,IAAI,CAAC;QAEjB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjD,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,qDAAqD;oBACrD,iDAAiD;oBACjD,IAAI,IAAI,IAAI,CAAC;gBACf,CAAC;gBACD,IAAI,IAAI,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/C,CAAC;YACD,IAAI,QAAQ,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAClC,gDAAgD;gBAChD,QAAQ,GAAG,EAAE,CAAC,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC;YACzC,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC3B,aAAa,IAAI,YAAY,CAAC;YAChC,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBACjC,aAAa,GAAG,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACpD,CAAC;YACD,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,qEAAqE;YACrE,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,sBAAsB,EAAE,CAAC;gBACvE,GAAG,GAAG,WAAW,aAAa,KAAK,CAAC;YACtC,CAAC;YACD,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,QAAQ,GAAG,GAAG,IAAI,CAAC;YACvE,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC;QAED,IAAI,IAAI,OAAO,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY;QACV,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC;CACF;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAoB,EAAE,kBAA2B;IACnF,IAAI,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC;IACzC,0CAA0C;IAC1C,IAAI,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QACpB,0DAA0D;QAC1D,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;IACjC,CAAC;SAAM,IAAI,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QAC3B,8JAA8J;QAC9J,kFAAkF;QAClF,aAAa,GAAG,WAAW,CAAC;IAC9B,CAAC;IACD,IAAI,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC;QACzB,oCAAoC;QACpC,aAAa,IAAI,OAAO,CAAC;IAC3B,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACvC,kFAAkF;QAClF,IAAI,KAAK,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1D,IAAI,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;YACpB,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;QACzB,CAAC;QACD,gEAAgE;QAChE,iEAAiE;QACjE,gBAAgB;QAChB,iBAAiB;QACjB,0BAA0B;QAC1B,0BAA0B;QAC1B,kBAAkB;QAClB,iBAAiB;QAEjB,0DAA0D;QAC1D,qDAAqD;QACrD,cAAc;QACd,YAAY;QACZ,+CAA+C;QAC/C,aAAa;QACb,YAAY;QACZ,8BAA8B;QAC9B,aAAa;QACb,eAAe;QAEf,mEAAmE;QACnE,iEAAiE;QACjE,IAAI,KAAK,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5C,aAAa,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAgB;IACtC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|