@azure-tools/typespec-go 0.16.0-dev.19 → 0.16.0-dev.20

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.
@@ -1 +1 @@
1
- {"version":3,"file":"request-handler.d.ts","sourceRoot":"","sources":["../../../../src/codegen/core/request-handler.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAG/C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,cAAc,EACzC,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,OAAO,CAAC,WAAW,GAC1B,MAAM,CAmqBR"}
1
+ {"version":3,"file":"request-handler.d.ts","sourceRoot":"","sources":["../../../../src/codegen/core/request-handler.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAG/C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,cAAc,EACzC,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,OAAO,CAAC,WAAW,GAC1B,MAAM,CAyjBR"}
@@ -30,6 +30,7 @@ export function createRequestHandler(azureARM, method, imports, indent) {
30
30
  const returns = ["*policy.Request", "error"];
31
31
  let text = `${helpers.comment(name, "// ")} creates the ${method.name} request.\n`;
32
32
  text += `func ${helpers.getClientReceiverDefinition(method.receiver)} ${name}(${helpers.getCreateRequestParametersSig(method)}) (${returns.join(", ")}) {\n`;
33
+ // BEGIN create request
33
34
  const hostParams = new Array();
34
35
  for (const parameter of method.receiver.type.parameters) {
35
36
  if (parameter.kind === "uriParam") {
@@ -77,22 +78,6 @@ export function createRequestHandler(azureARM, method, imports, indent) {
77
78
  text += `${indent.get()}urlPath := "${method.httpPath}"\n`;
78
79
  hostParam = `runtime.JoinPaths(${hostParam}, urlPath)`;
79
80
  }
80
- // helper to build nil checks for param groups
81
- const emitParamGroupCheck = function (param) {
82
- if (!param.group) {
83
- throw new CodegenError("InternalError", `emitParamGroupCheck called for ungrouped parameter ${param.name}`);
84
- }
85
- let client = "";
86
- if (param.location === "client") {
87
- client = "client.";
88
- }
89
- const paramGroupName = naming.uncapitalize(param.group.name);
90
- let optionalParamGroupCheck = `${client}${paramGroupName} != nil && `;
91
- if (param.group.required) {
92
- optionalParamGroupCheck = "";
93
- }
94
- return `${indent.get()}if ${optionalParamGroupCheck}${client}${paramGroupName}.${naming.capitalize(param.name)} != nil {\n`;
95
- };
96
81
  if (hasPathParams) {
97
82
  // swagger defines path params, emit path and replace tokens
98
83
  imports.add("strings");
@@ -109,11 +94,10 @@ export function createRequestHandler(azureARM, method, imports, indent) {
109
94
  // like required params (i.e. not grouped).
110
95
  // emit check to ensure path param isn't an empty string
111
96
  if (pp.kind === "pathScalarParam") {
112
- const choiceIsString = function (type) {
113
- return type.kind === "constant" && type.type === "string";
114
- };
115
97
  // we only need to do this for params that have an underlying type of string
116
- if ((pp.type.kind === "string" || choiceIsString(pp.type)) && !pp.omitEmptyStringCheck) {
98
+ if ((pp.type.kind === "string" ||
99
+ (pp.type.kind === "constant" && pp.type.type === "string")) &&
100
+ !pp.omitEmptyStringCheck) {
117
101
  const paramName = helpers.getParamName(pp);
118
102
  imports.add("errors");
119
103
  text += `${indent.get()}if ${paramName} == "" {\n`;
@@ -139,7 +123,7 @@ export function createRequestHandler(azureARM, method, imports, indent) {
139
123
  else if (go.isClientSideDefault(pp.style)) {
140
124
  const defaultValue = naming.uncapitalize(pp.name) + "Default";
141
125
  text += `${indent.get()}${defaultValue} := ${helpers.formatLiteralValue(pp.style.defaultValue, true)}\n`;
142
- text += emitParamGroupCheck(pp);
126
+ text += emitParamGroupCheck(pp, indent);
143
127
  text += `${indent.push().get()}${defaultValue} = ${helpers.getParamName(pp)}\n`;
144
128
  text += `${indent.pop().get()}}\n`;
145
129
  paramValue = helpers.formatValue(defaultValue, pp.type, imports);
@@ -150,7 +134,7 @@ export function createRequestHandler(azureARM, method, imports, indent) {
150
134
  // the optional value when set.
151
135
  paramValue = `optional${naming.capitalize(pp.name)}`;
152
136
  text += `${indent.get()}${paramValue} := ""\n`;
153
- text += emitParamGroupCheck(pp);
137
+ text += emitParamGroupCheck(pp, indent);
154
138
  text += `${indent.push().get()}${paramValue} = ${helpers.formatParamValue(pp, imports, indent)}\n`;
155
139
  text += `${indent.pop().get()}}\n`;
156
140
  // there are two cases for optional path params.
@@ -161,20 +145,13 @@ export function createRequestHandler(azureARM, method, imports, indent) {
161
145
  optionalPathSep = true;
162
146
  }
163
147
  }
164
- const emitPathEscape = function () {
165
- if (pp.isEncoded) {
166
- imports.add("net/url");
167
- return `url.PathEscape(${paramValue})`;
168
- }
169
- return paramValue;
170
- };
171
148
  if (optionalPathSep) {
172
149
  text += `${indent.get()}if len(${paramValue}) > 0 {\n`;
173
- text += `${indent.push().get()}${paramValue} = "/"+${emitPathEscape()}\n`;
150
+ text += `${indent.push().get()}${paramValue} = "/"+${emitPathEscape(pp, paramValue, imports)}\n`;
174
151
  text += `${indent.pop().get()}}\n`;
175
152
  }
176
153
  else {
177
- paramValue = emitPathEscape();
154
+ paramValue = emitPathEscape(pp, paramValue, imports);
178
155
  }
179
156
  text += `${indent.get()}urlPath = strings.ReplaceAll(urlPath, "{${pp.pathSegment}}", ${paramValue})\n`;
180
157
  }
@@ -183,34 +160,10 @@ export function createRequestHandler(azureARM, method, imports, indent) {
183
160
  text += `${indent.get()}if err != nil {\n`;
184
161
  text += `${indent.push().get()}return nil, err\n`;
185
162
  text += `${indent.pop().get()}}\n`;
186
- // add query parameters
163
+ // END create request
164
+ // BEGIN add query parameters
187
165
  const encodedParams = methodParamGroups.encodedQueryParams;
188
166
  const unencodedParams = methodParamGroups.unencodedQueryParams;
189
- const emitQueryParam = function (qp, setter) {
190
- let qpText;
191
- if (qp.location === "method" && go.isClientSideDefault(qp.style)) {
192
- qpText = emitClientSideDefault(qp, qp.style, (name, val) => {
193
- return `${indent.get()}reqQP.Set(${name}, ${val})`;
194
- }, imports, indent);
195
- }
196
- else if (go.isRequiredParameter(qp.style) ||
197
- go.isLiteralParameter(qp.style) ||
198
- (qp.location === "client" && go.isClientSideDefault(qp.style))) {
199
- qpText = `${indent.get()}${setter}\n`;
200
- }
201
- else if (qp.location === "client" && !qp.group) {
202
- // global optional param
203
- qpText = `${indent.get()}if client.${qp.name} != nil {\n`;
204
- qpText += `${indent.push().get()}${setter}\n`;
205
- qpText += `${indent.pop().get()}}\n`;
206
- }
207
- else {
208
- qpText = emitParamGroupCheck(qp);
209
- qpText += `${indent.push().get()}${setter}\n`;
210
- qpText += `${indent.pop().get()}}\n`;
211
- }
212
- return qpText;
213
- };
214
167
  // emit encoded params first
215
168
  if (encodedParams.length > 0) {
216
169
  text += `${indent.get()}reqQP := req.Raw().URL.Query()\n`;
@@ -248,7 +201,7 @@ export function createRequestHandler(azureARM, method, imports, indent) {
248
201
  // cannot initialize setter to this value as helpers.formatParamValue() can change imports
249
202
  setter = `reqQP.Set("${qp.queryParameter}", ${helpers.formatParamValue(qp, imports, indent)})`;
250
203
  }
251
- text += emitQueryParam(qp, setter);
204
+ text += emitQueryParam(qp, imports, indent, setter);
252
205
  }
253
206
  // reqQP.Encode() encodes space chars as '+' which is application/x-www-form-urlencoded
254
207
  // thus not applicable for URIs. the correct URI encoding for SP is %20. note that literal '+'
@@ -277,34 +230,17 @@ export function createRequestHandler(azureARM, method, imports, indent) {
277
230
  else {
278
231
  setter = `unencodedParams = append(unencodedParams, "${qp.queryParameter}="+${helpers.formatParamValue(qp, imports, indent)})`;
279
232
  }
280
- text += emitQueryParam(qp, setter);
233
+ text += emitQueryParam(qp, imports, indent, setter);
281
234
  }
282
235
  imports.add("strings");
283
236
  text += `${indent.get()}req.Raw().URL.RawQuery = strings.Join(unencodedParams, "&")\n`;
284
237
  }
238
+ // END add query parameters
285
239
  if (method.kind !== "nextPageMethod" && method.returns.result?.kind === "binaryResult") {
286
240
  // skip auto-body downloading for binary stream responses
287
241
  text += `${indent.get()}runtime.SkipBodyDownload(req)\n`;
288
242
  }
289
- // add specific request headers
290
- const emitHeaderSet = function (headerParam) {
291
- if (headerParam.kind === "headerMapParam") {
292
- let headerText = `${indent.get()}for k, v := range ${helpers.getParamName(headerParam)} {\n`;
293
- headerText += `${indent.push().get()}if v != nil {\n`;
294
- headerText += `${indent.push().get()}req.Raw().Header["${headerParam.headerName}"+k] = []string{*v}\n`;
295
- headerText += `${indent.pop().get()}}\n`;
296
- headerText += `${indent.pop().get()}}\n`;
297
- return headerText;
298
- }
299
- else if (headerParam.location === "method" && go.isClientSideDefault(headerParam.style)) {
300
- return emitClientSideDefault(headerParam, headerParam.style, (name, val) => {
301
- return `${indent.get()}req.Raw().Header[${name}] = []string{${val}}`;
302
- }, imports, indent);
303
- }
304
- else {
305
- return `${indent.get()}req.Raw().Header["${headerParam.headerName}"] = []string{${helpers.formatParamValue(headerParam, imports, indent)}}\n`;
306
- }
307
- };
243
+ // BEGIN specific request headers
308
244
  let contentType;
309
245
  for (const param of methodParamGroups.headerParams.sort((a, b) => {
310
246
  return helpers.sortAscending(a.headerName, b.headerName);
@@ -320,7 +256,7 @@ export function createRequestHandler(azureARM, method, imports, indent) {
320
256
  // explicitly to runtime.SetBody() so don't emit code to set it inline.
321
257
  // NOTE: only binary/text payloads call runtime.SetBody().
322
258
  if (go.isClientSideDefault(param.style)) {
323
- text += emitClientSideDefault(param, param.style, () => "", imports, indent);
259
+ text += emitClientSideDefault(param, param.style, imports, indent, () => "");
324
260
  continue;
325
261
  }
326
262
  else if (param.style === "required") {
@@ -338,63 +274,32 @@ export function createRequestHandler(azureARM, method, imports, indent) {
338
274
  else if (go.isRequiredParameter(param.style) ||
339
275
  go.isLiteralParameter(param.style) ||
340
276
  go.isClientSideDefault(param.style)) {
341
- text += emitHeaderSet(param);
277
+ text += emitHeaderSet(param, imports, indent);
342
278
  }
343
279
  else if (param.location === "client" && !param.group) {
344
280
  // global optional param
345
281
  text += `${indent.get()}if client.${param.name} != nil {\n`;
346
282
  indent.push();
347
- text += emitHeaderSet(param);
283
+ text += emitHeaderSet(param, imports, indent);
348
284
  indent.pop();
349
285
  text += `${indent.get()}}\n`;
350
286
  }
351
287
  else {
352
- text += emitParamGroupCheck(param);
288
+ text += emitParamGroupCheck(param, indent);
353
289
  indent.push();
354
- text += emitHeaderSet(param);
290
+ text += emitHeaderSet(param, imports, indent);
355
291
  indent.pop();
356
292
  text += `${indent.get()}}\n`;
357
293
  }
358
294
  }
295
+ // END specific request headers
296
+ // BEGIN set body
359
297
  // note that these are mutually exclusive
360
298
  const bodyParam = methodParamGroups.bodyParam;
361
299
  const formBodyParams = methodParamGroups.formBodyParams;
362
300
  const multipartBodyParams = methodParamGroups.multipartBodyParams;
363
301
  const partialBodyParams = methodParamGroups.partialBodyParams;
364
- const emitSetBodyWithErrCheck = function (setBodyParam, contentType) {
365
- let content = "";
366
- if (contentType) {
367
- content += `${indent.get()}req.Raw().Header["Content-Type"] = []string{${contentType}}\n`;
368
- }
369
- content += `${indent.get()}if err := ${setBodyParam}; err != nil {\n`;
370
- content += `${indent.push().get()}return nil, err\n`;
371
- content += `${indent.pop().get()}}\n`;
372
- return content;
373
- };
374
302
  if (bodyParam) {
375
- /** returns the source value for the content type */
376
- const getContentTypeValue = function (src) {
377
- switch (src.kind) {
378
- case "literal":
379
- return helpers.formatLiteralValue(src, false);
380
- case "parameterRef": {
381
- // find the param
382
- for (const param of method.parameters) {
383
- if (param.kind === "headerScalarParam" && param.name === src.name) {
384
- if (go.isClientSideDefault(param.style)) {
385
- return getClientSideDefaultVarName(param);
386
- }
387
- let paramName = helpers.getParamName(param);
388
- if (param.type.kind === "constant") {
389
- paramName = `string(${paramName})`;
390
- }
391
- return paramName;
392
- }
393
- }
394
- throw new CodegenError("InternalError", `didn't find parameter reference ${src.name}`);
395
- }
396
- }
397
- };
398
303
  if (bodyParam.bodyFormat === "JSON" || bodyParam.bodyFormat === "XML") {
399
304
  // default to the body param name
400
305
  let body = helpers.getParamName(bodyParam);
@@ -493,13 +398,13 @@ export function createRequestHandler(azureARM, method, imports, indent) {
493
398
  setBody = `req.SetBody(streaming.NopCloser(bytes.NewReader(${body})), "application/${bodyParam.bodyFormat.toLowerCase()}")`;
494
399
  }
495
400
  if (go.isRequiredParameter(bodyParam.style) || go.isLiteralParameter(bodyParam.style)) {
496
- text += emitSetBodyWithErrCheck(setBody, contentType);
401
+ text += emitSetBodyWithErrCheck(setBody, indent, contentType);
497
402
  text += `${indent.get()}return req, nil\n`;
498
403
  }
499
404
  else {
500
- text += emitParamGroupCheck(bodyParam);
405
+ text += emitParamGroupCheck(bodyParam, indent);
501
406
  indent.push();
502
- text += emitSetBodyWithErrCheck(setBody, contentType);
407
+ text += emitSetBodyWithErrCheck(setBody, indent, contentType);
503
408
  text += `${indent.get()}return req, nil\n`;
504
409
  indent.pop();
505
410
  text += `${indent.get()}}\n`;
@@ -508,13 +413,13 @@ export function createRequestHandler(azureARM, method, imports, indent) {
508
413
  }
509
414
  else if (bodyParam.bodyFormat === "binary") {
510
415
  if (go.isRequiredParameter(bodyParam.style)) {
511
- text += emitSetBodyWithErrCheck(`req.SetBody(${bodyParam.name}, ${getContentTypeValue(bodyParam.contentType)})`, contentType);
416
+ text += emitSetBodyWithErrCheck(`req.SetBody(${bodyParam.name}, ${getContentTypeValue(method, bodyParam.contentType)})`, indent, contentType);
512
417
  text += `${indent.get()}return req, nil\n`;
513
418
  }
514
419
  else {
515
- text += emitParamGroupCheck(bodyParam);
420
+ text += emitParamGroupCheck(bodyParam, indent);
516
421
  indent.push();
517
- text += emitSetBodyWithErrCheck(`req.SetBody(${helpers.getParamName(bodyParam)}, ${getContentTypeValue(bodyParam.contentType)})`, contentType);
422
+ text += emitSetBodyWithErrCheck(`req.SetBody(${helpers.getParamName(bodyParam)}, ${getContentTypeValue(method, bodyParam.contentType)})`, indent, contentType);
518
423
  text += `${indent.get()}return req, nil\n`;
519
424
  indent.pop();
520
425
  text += `${indent.get()}}\n`;
@@ -526,14 +431,14 @@ export function createRequestHandler(azureARM, method, imports, indent) {
526
431
  imports.add("github.com/Azure/azure-sdk-for-go/sdk/azcore/streaming");
527
432
  if (go.isRequiredParameter(bodyParam.style)) {
528
433
  text += `${indent.get()}body := streaming.NopCloser(strings.NewReader(${bodyParam.name}))\n`;
529
- text += emitSetBodyWithErrCheck(`req.SetBody(body, ${getContentTypeValue(bodyParam.contentType)})`, contentType);
434
+ text += emitSetBodyWithErrCheck(`req.SetBody(body, ${getContentTypeValue(method, bodyParam.contentType)})`, indent, contentType);
530
435
  text += `${indent.get()}return req, nil\n`;
531
436
  }
532
437
  else {
533
- text += emitParamGroupCheck(bodyParam);
438
+ text += emitParamGroupCheck(bodyParam, indent);
534
439
  indent.push();
535
440
  text += `${indent.get()}body := streaming.NopCloser(strings.NewReader(${helpers.getParamName(bodyParam)}))\n`;
536
- text += emitSetBodyWithErrCheck(`req.SetBody(body, ${getContentTypeValue(bodyParam.contentType)})`, contentType);
441
+ text += emitSetBodyWithErrCheck(`req.SetBody(body, ${getContentTypeValue(method, bodyParam.contentType)})`, indent, contentType);
537
442
  text += `${indent.get()}return req, nil\n`;
538
443
  indent.pop();
539
444
  text += `${indent.get()}}\n`;
@@ -563,7 +468,7 @@ export function createRequestHandler(azureARM, method, imports, indent) {
563
468
  // now populate any optional params from the options type
564
469
  for (const partialBodyParam of partialBodyParams) {
565
470
  if (!go.isRequiredParameter(partialBodyParam.style)) {
566
- text += emitParamGroupCheck(partialBodyParam);
471
+ text += emitParamGroupCheck(partialBodyParam, indent);
567
472
  text += `${indent.push().get()}body.${naming.capitalize(partialBodyParam.serializedName)} = options.${naming.capitalize(partialBodyParam.name)}\n`;
568
473
  text += `${indent.pop().get()}}\n`;
569
474
  }
@@ -604,7 +509,7 @@ export function createRequestHandler(azureARM, method, imports, indent) {
604
509
  text += `${indent.get()}${setter}\n`;
605
510
  }
606
511
  else {
607
- text += emitParamGroupCheck(param);
512
+ text += emitParamGroupCheck(param, indent);
608
513
  text += `${indent.push().get()}${setter}\n`;
609
514
  text += `${indent.pop().get()}}\n`;
610
515
  }
@@ -616,18 +521,6 @@ export function createRequestHandler(azureARM, method, imports, indent) {
616
521
  text += `${indent.get()}return req, nil\n`;
617
522
  }
618
523
  else if (formBodyParams.length > 0) {
619
- const emitFormData = function (param, setter) {
620
- let formDataText;
621
- if (go.isRequiredParameter(param.style)) {
622
- formDataText = `${indent.get()}${setter}\n`;
623
- }
624
- else {
625
- formDataText = emitParamGroupCheck(param);
626
- formDataText += `${indent.push().get()}${setter}\n`;
627
- formDataText += `${indent.pop().get()}}\n`;
628
- }
629
- return formDataText;
630
- };
631
524
  imports.add("net/url");
632
525
  imports.add("strings");
633
526
  imports.add("github.com/Azure/azure-sdk-for-go/sdk/azcore/streaming");
@@ -635,19 +528,38 @@ export function createRequestHandler(azureARM, method, imports, indent) {
635
528
  // find all the form body params
636
529
  for (const param of formBodyParams) {
637
530
  const setter = `formData.Set("${param.formDataName}", ${helpers.formatParamValue(param, imports, indent)})`;
638
- text += emitFormData(param, setter);
531
+ if (go.isRequiredParameter(param.style)) {
532
+ text += `${indent.get()}${setter}\n`;
533
+ }
534
+ else {
535
+ text += emitParamGroupCheck(param, indent);
536
+ text += `${indent.push().get()}${setter}\n`;
537
+ text += `${indent.pop().get()}}\n`;
538
+ }
639
539
  }
640
540
  text += `${indent.get()}body := streaming.NopCloser(strings.NewReader(formData.Encode()))\n`;
641
- text += emitSetBodyWithErrCheck('req.SetBody(body, "application/x-www-form-urlencoded")');
541
+ text += emitSetBodyWithErrCheck('req.SetBody(body, "application/x-www-form-urlencoded")', indent);
642
542
  text += `${indent.get()}return req, nil\n`;
643
543
  }
644
544
  else {
545
+ // no body
645
546
  text += `${indent.get()}return req, nil\n`;
646
547
  }
548
+ // END set body
647
549
  text += "}\n\n";
648
550
  return text;
649
551
  }
650
- function emitClientSideDefault(param, csd, setterFormat, imports, indent) {
552
+ /**
553
+ * emits code for handling parameters with a client-side default
554
+ *
555
+ * @param param the param with a client-side default
556
+ * @param csd the client-side default value
557
+ * @param imports the import manager currently in scope
558
+ * @param indent the indentation helper currently in scope
559
+ * @param setterFormat any custom formatting for the value
560
+ * @returns the code for handling the client-side default
561
+ */
562
+ function emitClientSideDefault(param, csd, imports, indent, setterFormat) {
651
563
  const defaultVar = getClientSideDefaultVarName(param);
652
564
  let text = `${indent.get()}${defaultVar} := ${helpers.formatLiteralValue(csd.defaultValue, true)}\n`;
653
565
  text += `${indent.get()}if options != nil && options.${naming.capitalize(param.name)} != nil {\n`;
@@ -673,6 +585,51 @@ function emitClientSideDefault(param, csd, setterFormat, imports, indent) {
673
585
  }
674
586
  return text;
675
587
  }
588
+ /**
589
+ * emits code for setting a header from a parameter.
590
+ * it includes handling for client-side defaults.
591
+ *
592
+ * @param headerParam the header param to be set
593
+ * @param imports the import manager currently in scope
594
+ * @param indent the indentation helper currently in scope
595
+ * @returns the code for setting a header
596
+ */
597
+ function emitHeaderSet(headerParam, imports, indent) {
598
+ if (headerParam.kind === "headerMapParam") {
599
+ let headerText = `${indent.get()}for k, v := range ${helpers.getParamName(headerParam)} {\n`;
600
+ headerText += `${indent.push().get()}if v != nil {\n`;
601
+ headerText += `${indent.push().get()}req.Raw().Header["${headerParam.headerName}"+k] = []string{*v}\n`;
602
+ headerText += `${indent.pop().get()}}\n`;
603
+ headerText += `${indent.pop().get()}}\n`;
604
+ return headerText;
605
+ }
606
+ else if (headerParam.location === "method" && go.isClientSideDefault(headerParam.style)) {
607
+ return emitClientSideDefault(headerParam, headerParam.style, imports, indent, (name, val) => {
608
+ return `${indent.get()}req.Raw().Header[${name}] = []string{${val}}`;
609
+ });
610
+ }
611
+ else {
612
+ return `${indent.get()}req.Raw().Header["${headerParam.headerName}"] = []string{${helpers.formatParamValue(headerParam, imports, indent)}}\n`;
613
+ }
614
+ }
615
+ /**
616
+ * emits code to URL escape a path parameter as required.
617
+ * the param name is a discrete param instead of param.name
618
+ * to handle cases where the param value was stored in a
619
+ * local variable.
620
+ *
621
+ * @param pp the path parameter
622
+ * @param paramName the path parameter var name
623
+ * @param imports the import manager currently in scope
624
+ * @returns the code that escaped the param or the param
625
+ */
626
+ function emitPathEscape(pp, paramName, imports) {
627
+ if (pp.isEncoded) {
628
+ imports.add("net/url");
629
+ return `url.PathEscape(${paramName})`;
630
+ }
631
+ return paramName;
632
+ }
676
633
  /**
677
634
  * emits Go code to set ContentType on a MultipartContent variable if it has a fixed content type.
678
635
  * handles both direct MultipartContent and slices of MultipartContent.
@@ -701,6 +658,85 @@ function emitMultipartContentTypeSetter(paramName, wireType, indent) {
701
658
  }
702
659
  return text;
703
660
  }
661
+ /**
662
+ * helper to build nil checks for param groups.
663
+ * this requires that param.group contains a ParameterGroup.
664
+ * it assumes that the provided param is optional.
665
+ *
666
+ * @param param the parameter for which to build the nil check
667
+ * @param indent the indentation helper currently in scope
668
+ * @returns the code for checking the param group for nil
669
+ */
670
+ function emitParamGroupCheck(param, indent) {
671
+ if (!param.group) {
672
+ throw new CodegenError("InternalError", `emitParamGroupCheck called for ungrouped parameter ${param.name}`);
673
+ }
674
+ let client = "";
675
+ if (param.location === "client") {
676
+ client = "client.";
677
+ }
678
+ const paramGroupName = naming.uncapitalize(param.group.name);
679
+ let optionalParamGroupCheck = `${client}${paramGroupName} != nil && `;
680
+ if (param.group.required) {
681
+ optionalParamGroupCheck = "";
682
+ }
683
+ return `${indent.get()}if ${optionalParamGroupCheck}${client}${paramGroupName}.${naming.capitalize(param.name)} != nil {\n`;
684
+ }
685
+ /**
686
+ * emits code for setting a query parameter.
687
+ * it handles nil checks and client-side defaults.
688
+ *
689
+ * @param qp the query param to be set
690
+ * @param imports the import manager currently in scope
691
+ * @param indent the indentation helper currently in scope
692
+ * @param setter the adjacent code for setting the query param
693
+ * @returns the code for setting the query param
694
+ */
695
+ function emitQueryParam(qp, imports, indent, setter) {
696
+ let qpText;
697
+ if (qp.location === "method" && go.isClientSideDefault(qp.style)) {
698
+ qpText = emitClientSideDefault(qp, qp.style, imports, indent, (name, val) => {
699
+ return `${indent.get()}reqQP.Set(${name}, ${val})`;
700
+ });
701
+ }
702
+ else if (go.isRequiredParameter(qp.style) ||
703
+ go.isLiteralParameter(qp.style) ||
704
+ (qp.location === "client" && go.isClientSideDefault(qp.style))) {
705
+ qpText = `${indent.get()}${setter}\n`;
706
+ }
707
+ else if (qp.location === "client" && !qp.group) {
708
+ // global optional param
709
+ qpText = `${indent.get()}if client.${qp.name} != nil {\n`;
710
+ qpText += `${indent.push().get()}${setter}\n`;
711
+ qpText += `${indent.pop().get()}}\n`;
712
+ }
713
+ else {
714
+ qpText = emitParamGroupCheck(qp, indent);
715
+ qpText += `${indent.push().get()}${setter}\n`;
716
+ qpText += `${indent.pop().get()}}\n`;
717
+ }
718
+ return qpText;
719
+ }
720
+ /**
721
+ * emits code for setting the request body and checking the resultant error.
722
+ * it's assumed that setBodyExpr is a function call that returns an error.
723
+ * also sets the Content-Type header as required.
724
+ *
725
+ * @param setBodyExpr the expression for setting the body
726
+ * @param indent the indentation helper currently in scope
727
+ * @param contentType optional value for setting the Content-Type header
728
+ * @returns the code for setting the body
729
+ */
730
+ function emitSetBodyWithErrCheck(setBodyExpr, indent, contentType) {
731
+ let content = "";
732
+ if (contentType) {
733
+ content += `${indent.get()}req.Raw().Header["Content-Type"] = []string{${contentType}}\n`;
734
+ }
735
+ content += `${indent.get()}if err := ${setBodyExpr}; err != nil {\n`;
736
+ content += `${indent.push().get()}return nil, err\n`;
737
+ content += `${indent.pop().get()}}\n`;
738
+ return content;
739
+ }
704
740
  /**
705
741
  * returns the var name to use for a param's client-side default value
706
742
  *
@@ -710,6 +746,43 @@ function emitMultipartContentTypeSetter(paramName, wireType, indent) {
710
746
  function getClientSideDefaultVarName(param) {
711
747
  return naming.uncapitalize(param.name) + "Default";
712
748
  }
749
+ /**
750
+ * returns the source value for the Content-Type header
751
+ *
752
+ * @param method the method for which to find the value depending on src
753
+ * @param src the source containing the value
754
+ * @returns the code containing the Content-Type value
755
+ */
756
+ function getContentTypeValue(method, src) {
757
+ switch (src.kind) {
758
+ case "literal":
759
+ return helpers.formatLiteralValue(src, false);
760
+ case "parameterRef": {
761
+ // find the param
762
+ for (const param of method.parameters) {
763
+ if (param.kind === "headerScalarParam" && param.name === src.name) {
764
+ if (go.isClientSideDefault(param.style)) {
765
+ return getClientSideDefaultVarName(param);
766
+ }
767
+ let paramName = helpers.getParamName(param);
768
+ if (param.type.kind === "constant") {
769
+ paramName = `string(${paramName})`;
770
+ }
771
+ return paramName;
772
+ }
773
+ }
774
+ throw new CodegenError("InternalError", `didn't find parameter reference ${src.name}`);
775
+ }
776
+ }
777
+ }
778
+ /**
779
+ * returns info for custom marshaling of slices of time.Time.
780
+ * returns undefined if the type isn't a slice of time.Time or
781
+ * if no custom marshaling is required.
782
+ *
783
+ * @param paramType the type to inspect
784
+ * @returns custom marshaling info or undefined
785
+ */
713
786
  function isArrayOfDateTimeForMarshalling(paramType) {
714
787
  if (paramType.kind !== "slice") {
715
788
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"request-handler.js","sourceRoot":"","sources":["../../../../src/codegen/core/request-handler.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAiB,EACjB,MAAyC,EACzC,OAAsB,EACtB,MAA2B;IAE3B,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACvB,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACrC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;IACrC,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACxE,SAAS;QACX,CAAC;QACD,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAC7C,IAAI,IAAI,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,gBAAgB,MAAM,CAAC,IAAI,aAAa,CAAC;IACnF,IAAI,IAAI,QAAQ,OAAO,CAAC,2BAA2B,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,6BAA6B,CAAC,MAAM,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IAE7J,MAAM,UAAU,GAAG,IAAI,KAAK,EAAmB,CAAC;IAChD,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACxD,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAClC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,IAAI,SAAiB,CAAC;IACtB,IAAI,QAAQ,EAAE,CAAC;QACb,SAAS,GAAG,4BAA4B,CAAC;IAC3C,CAAC;SAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,2BAA2B;QAC3B,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,YAAY,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;QAC3E,wCAAwC;QACxC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,qCAAqC,SAAS,CAAC,cAAc,OAAO,OAAO,CAAC,WAAW,CAAC,UAAU,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC;QAC3K,CAAC;QACD,yCAAyC;QACzC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtC,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC7D,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,qCAAqC,KAAK,CAAC,cAAc,OAAO,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC;YACpK,CAAC;QACH,CAAC;QACD,SAAS,GAAG,MAAM,CAAC;IACrB,CAAC;SAAM,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,iCAAiC;QACjC,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,YAAY,CACpB,eAAe,EACf,0CAA0C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CACrF,CAAC;IACJ,CAAC;IAED,MAAM,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,aAAa,GAAG,iBAAiB,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAE9D,0EAA0E;IAC1E,+FAA+F;IAC/F,sFAAsF;IACtF,wFAAwF;IACxF,sFAAsF;IACtF,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC;IAChC,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,aAAa,IAAI,CAAC,CAAC,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAChE,sFAAsF;QACtF,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,eAAe,MAAM,CAAC,QAAQ,KAAK,CAAC;QAC3D,SAAS,GAAG,qBAAqB,SAAS,YAAY,CAAC;IACzD,CAAC;IAED,8CAA8C;IAC9C,MAAM,mBAAmB,GAAG,UAAU,KAAyB;QAC7D,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,IAAI,YAAY,CACpB,eAAe,EACf,sDAAsD,KAAK,CAAC,IAAI,EAAE,CACnE,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC;QACD,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,uBAAuB,GAAG,GAAG,MAAM,GAAG,cAAc,aAAa,CAAC;QACtE,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACzB,uBAAuB,GAAG,EAAE,CAAC;QAC/B,CAAC;QACD,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,MAAM,uBAAuB,GAAG,MAAM,GAAG,cAAc,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;IAC9H,CAAC,CAAC;IAEF,IAAI,aAAa,EAAE,CAAC;QAClB,4DAA4D;QAC5D,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,0BAA0B;QAC1B,KAAK,MAAM,EAAE,IAAI,iBAAiB,CAAC,UAAU,EAAE,CAAC;YAC9C,IAAI,UAAkB,CAAC;YACvB,IAAI,eAAe,GAAG,KAAK,CAAC;YAC5B,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC3B,+DAA+D;gBAC/D,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC7D,CAAC;iBAAM,IAAI,EAAE,CAAC,KAAK,KAAK,UAAU,IAAI,EAAE,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/D,wDAAwD;gBACxD,2CAA2C;gBAE3C,wDAAwD;gBACxD,IAAI,EAAE,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBAClC,MAAM,cAAc,GAAG,UAAU,IAAgC;wBAC/D,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;oBAC5D,CAAC,CAAC;oBACF,4EAA4E;oBAC5E,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC;wBACvF,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;wBAC3C,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBACtB,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,MAAM,SAAS,YAAY,CAAC;wBACnD,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,qCAAqC,SAAS,sBAAsB,CAAC;wBACnG,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;oBACrC,CAAC;gBACH,CAAC;gBAED,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;gBAE3D,4DAA4D;gBAC5D,+DAA+D;gBAC/D,oCAAoC;gBACpC,IAAI,EAAE,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;oBACtC,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;oBAC3C,MAAM,eAAe,GAAG,GAAG,SAAS,OAAO,CAAC;oBAC5C,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,eAAe,OAAO,UAAU,IAAI,CAAC;oBAC/D,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACtB,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,UAAU,eAAe,YAAY,CAAC;oBAC7D,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,qCAAqC,SAAS,sBAAsB,CAAC;oBACnG,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;oBACnC,UAAU,GAAG,eAAe,CAAC;gBAC/B,CAAC;YACH,CAAC;iBAAM,IAAI,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5C,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;gBAC9D,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,YAAY,OAAO,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC;gBACzG,IAAI,IAAI,mBAAmB,CAAC,EAAE,CAAC,CAAC;gBAChC,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,YAAY,MAAM,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC;gBAChF,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;gBACnC,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACN,iDAAiD;gBACjD,mDAAmD;gBACnD,+BAA+B;gBAC/B,UAAU,GAAG,WAAW,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrD,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,UAAU,UAAU,CAAC;gBAC/C,IAAI,IAAI,mBAAmB,CAAC,EAAE,CAAC,CAAC;gBAChC,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,UAAU,MAAM,OAAO,CAAC,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC;gBACnG,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;gBAEnC,gDAAgD;gBAChD,yBAAyB;gBACzB,yBAAyB;gBACzB,0DAA0D;gBAC1D,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBAChF,eAAe,GAAG,IAAI,CAAC;gBACzB,CAAC;YACH,CAAC;YAED,MAAM,cAAc,GAAG;gBACrB,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC;oBACjB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACvB,OAAO,kBAAkB,UAAU,GAAG,CAAC;gBACzC,CAAC;gBACD,OAAO,UAAU,CAAC;YACpB,CAAC,CAAC;YAEF,IAAI,eAAe,EAAE,CAAC;gBACpB,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,UAAU,UAAU,WAAW,CAAC;gBACvD,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,UAAU,UAAU,cAAc,EAAE,IAAI,CAAC;gBAC1E,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,cAAc,EAAE,CAAC;YAChC,CAAC;YAED,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,2CAA2C,EAAE,CAAC,WAAW,OAAO,UAAU,KAAK,CAAC;QACzG,CAAC;IACH,CAAC;IAED,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,kDAAkD,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,SAAS,KAAK,CAAC;IACjI,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,mBAAmB,CAAC;IAC3C,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,mBAAmB,CAAC;IAClD,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;IAEnC,uBAAuB;IACvB,MAAM,aAAa,GAAG,iBAAiB,CAAC,kBAAkB,CAAC;IAC3D,MAAM,eAAe,GAAG,iBAAiB,CAAC,oBAAoB,CAAC;IAE/D,MAAM,cAAc,GAAG,UAAU,EAAqB,EAAE,MAAc;QACpE,IAAI,MAAc,CAAC;QACnB,IAAI,EAAE,CAAC,QAAQ,KAAK,QAAQ,IAAI,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACjE,MAAM,GAAG,qBAAqB,CAC5B,EAAE,EACF,EAAE,CAAC,KAAK,EACR,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;gBACZ,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,aAAa,IAAI,KAAK,GAAG,GAAG,CAAC;YACrD,CAAC,EACD,OAAO,EACP,MAAM,CACP,CAAC;QACJ,CAAC;aAAM,IACL,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,KAAK,CAAC;YAChC,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,KAAK,CAAC;YAC/B,CAAC,EAAE,CAAC,QAAQ,KAAK,QAAQ,IAAI,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAC9D,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC;QACxC,CAAC;aAAM,IAAI,EAAE,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YACjD,wBAAwB;YACxB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,aAAa,EAAE,CAAC,IAAI,aAAa,CAAC;YAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC;YAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC;YACjC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC;YAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;QACvC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,4BAA4B;IAC5B,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,kCAAkC,CAAC;QAC1D,KAAK,MAAM,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAoB,EAAE,CAAoB,EAAE,EAAE;YACjF,OAAO,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC;QACnE,CAAC,CAAC,EAAE,CAAC;YACH,IAAI,MAAc,CAAC;YACnB,IAAI,EAAE,CAAC,IAAI,KAAK,sBAAsB,IAAI,EAAE,CAAC,gBAAgB,KAAK,OAAO,EAAE,CAAC;gBAC1E,MAAM,GAAG,sBAAsB,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC;gBAE9D,sEAAsE;gBACtE,IAAI,QAAgB,CAAC;gBACrB,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;gBACxB,QAAQ,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;oBACjC,KAAK,UAAU;wBACb,QAAQ,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;4BACjC,KAAK,QAAQ;gCACX,QAAQ,GAAG,YAAY,CAAC;gCACxB,MAAM;4BACR;gCACE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gCACnB,QAAQ,GAAG,uBAAuB,CAAC;wBACvC,CAAC;wBACD,MAAM;oBACR,KAAK,QAAQ;wBACX,QAAQ,GAAG,IAAI,CAAC;wBAChB,MAAM;oBACR;wBACE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBACnB,QAAQ,GAAG,uBAAuB,CAAC;gBACvC,CAAC;gBAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,cAAc,MAAM,QAAQ,KAAK,CAAC;gBACnF,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,0FAA0F;gBAC1F,MAAM,GAAG,cAAc,EAAE,CAAC,cAAc,MAAM,OAAO,CAAC,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC;YACjG,CAAC;YACD,IAAI,IAAI,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACrC,CAAC;QAED,uFAAuF;QACvF,8FAA8F;QAC9F,wFAAwF;QACxF,wEAAwE;QACxE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,2EAA2E,CAAC;IACrG,CAAC;IAED,0CAA0C;IAC1C,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,uDAAuD,CAAC;QACjF,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,iCAAiC,CAAC;QAC3D,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAoB,EAAE,CAAoB,EAAE,EAAE;YACnF,OAAO,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC;QACnE,CAAC,CAAC,EAAE,CAAC;YACH,IAAI,MAAc,CAAC;YACnB,IAAI,EAAE,CAAC,IAAI,KAAK,sBAAsB,IAAI,EAAE,CAAC,gBAAgB,KAAK,OAAO,EAAE,CAAC;gBAC1E,MAAM,GAAG,sBAAsB,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC;gBAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,8CAA8C,EAAE,CAAC,cAAc,UAAU,CAAC;gBAC1G,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,8CAA8C,EAAE,CAAC,cAAc,MAAM,OAAO,CAAC,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC;YACjI,CAAC;YACD,IAAI,IAAI,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,+DAA+D,CAAC;IACzF,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,KAAK,cAAc,EAAE,CAAC;QACvF,yDAAyD;QACzD,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,iCAAiC,CAAC;IAC3D,CAAC;IAED,+BAA+B;IAC/B,MAAM,aAAa,GAAG,UAAU,WAA+B;QAC7D,IAAI,WAAW,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAC1C,IAAI,UAAU,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,qBAAqB,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC;YAC7F,UAAU,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,iBAAiB,CAAC;YACtD,UAAU,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,qBAAqB,WAAW,CAAC,UAAU,uBAAuB,CAAC;YACvG,UAAU,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;YACzC,UAAU,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;YACzC,OAAO,UAAU,CAAC;QACpB,CAAC;aAAM,IAAI,WAAW,CAAC,QAAQ,KAAK,QAAQ,IAAI,EAAE,CAAC,mBAAmB,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1F,OAAO,qBAAqB,CAC1B,WAAW,EACX,WAAW,CAAC,KAAK,EACjB,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;gBACZ,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,oBAAoB,IAAI,gBAAgB,GAAG,GAAG,CAAC;YACvE,CAAC,EACD,OAAO,EACP,MAAM,CACP,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,qBAAqB,WAAW,CAAC,UAAU,iBAAiB,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC;QAChJ,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,WAA+B,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,iBAAiB,CAAC,YAAY,CAAC,IAAI,CACrD,CAAC,CAAqB,EAAE,CAAqB,EAAE,EAAE;QAC/C,OAAO,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC,CACF,EAAE,CAAC;QACF,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC9C,uFAAuF;YACvF,KAAK,CAAC,UAAU,GAAG,cAAc,CAAC;YAElC,wEAAwE;YACxE,+DAA+D;YAC/D,MAAM,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC;YAC9C,IAAI,SAAS,EAAE,UAAU,KAAK,QAAQ,IAAI,SAAS,EAAE,UAAU,KAAK,MAAM,EAAE,CAAC;gBAC3E,qEAAqE;gBACrE,uEAAuE;gBACvE,0DAA0D;gBAC1D,IAAI,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxC,IAAI,IAAI,qBAAqB,CAC3B,KAAiC,EACjC,KAAK,CAAC,KAAK,EACX,GAAG,EAAE,CAAC,EAAE,EACR,OAAO,EACP,MAAM,CACP,CAAC;oBACF,SAAS;gBACX,CAAC;qBAAM,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;oBACtC,SAAS;gBACX,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,KAAK,cAAc,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACrE,yEAAyE;YACzE,yEAAyE;YACzE,uCAAuC;YACvC,2EAA2E;YAC3E,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACjE,CAAC;aAAM,IACL,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC;YACnC,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC;YAClC,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,EACnC,CAAC;YACD,IAAI,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACvD,wBAAwB;YACxB,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,aAAa,KAAK,CAAC,IAAI,aAAa,CAAC;YAC5D,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;YAC7B,MAAM,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;YAC7B,MAAM,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,MAAM,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC;IAC9C,MAAM,cAAc,GAAG,iBAAiB,CAAC,cAAc,CAAC;IACxD,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;IAClE,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC;IAE9D,MAAM,uBAAuB,GAAG,UAAU,YAAoB,EAAE,WAAoB;QAClF,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,+CAA+C,WAAW,KAAK,CAAC;QAC5F,CAAC;QACD,OAAO,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,aAAa,YAAY,kBAAkB,CAAC;QACtE,OAAO,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,mBAAmB,CAAC;QACrD,OAAO,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;QACtC,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,IAAI,SAAS,EAAE,CAAC;QACd,oDAAoD;QACpD,MAAM,mBAAmB,GAAG,UAAU,GAAoC;YACxE,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;gBACjB,KAAK,SAAS;oBACZ,OAAO,OAAO,CAAC,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAChD,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,iBAAiB;oBACjB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;wBACtC,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;4BAClE,IAAI,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gCACxC,OAAO,2BAA2B,CAAC,KAAK,CAAC,CAAC;4BAC5C,CAAC;4BACD,IAAI,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;4BAC5C,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gCACnC,SAAS,GAAG,UAAU,SAAS,GAAG,CAAC;4BACrC,CAAC;4BACD,OAAO,SAAS,CAAC;wBACnB,CAAC;oBACH,CAAC;oBACD,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,mCAAmC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBACzF,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,SAAS,CAAC,UAAU,KAAK,MAAM,IAAI,SAAS,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;YACtE,iCAAiC;YACjC,IAAI,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAC3C,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACtC,8CAA8C;gBAC9C,IAAI,GAAG,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1D,CAAC;iBAAM,IAAI,SAAS,CAAC,UAAU,KAAK,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC7E,qEAAqE;gBACrE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAC5B,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,yBAAyB,CAAC;gBACjD,MAAM,CAAC,IAAI,EAAE,CAAC;gBACd,IAAI,OAAe,CAAC;gBACpB,IAAI,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;oBAC3B,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACN,OAAO,GAAG,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5E,CAAC;gBACD,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,2BAA2B,OAAO,OAAO,CAAC;gBACjE,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACpD,IAAI,GAAG,GAAG,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACtF,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;oBACxF,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC5C,CAAC;gBACD,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,SAAS,KAAK,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC;gBAC7H,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;gBACnC,IAAI,IAAI,GAAG,GAAG,CAAC;gBACf,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;oBACnE,IAAI,GAAG,EAAE,CAAC;gBACZ,CAAC;gBACD,IAAI,GAAG,WAAW,SAAS,KAAK,IAAI,GAAG,IAAI,GAAG,CAAC;YACjD,CAAC;iBAAM,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1C,wEAAwE;gBACxE,uEAAuE;gBACvE,wEAAwE;gBACxE,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC5D,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBACxC,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;oBAC7E,IAAI,GAAG,YAAY,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,GAAG,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACN,IAAI,GAAG,OAAO,CAAC;gBACjB,CAAC;YACH,CAAC;iBAAM,IAAI,+BAA+B,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3D,MAAM,QAAQ,GAAG,+BAA+B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACjE,IAAI,UAAU,GAAG,GAAG,CAAC;gBACrB,IAAI,QAAQ,EAAE,SAAS,EAAE,CAAC;oBACxB,UAAU,GAAG,EAAE,CAAC;gBAClB,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;gBAC7E,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,iBAAiB,UAAU,YAAY,QAAQ,EAAE,MAAM,SAAS,IAAI,MAAM,CAAC;gBAClG,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,uBAAuB,IAAI,YAAY,CAAC;gBAC/D,IAAI,QAAQ,EAAE,GAAG,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;oBACxC,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,IAAI,gBAAgB,CAAC;oBACzD,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,cAAc,IAAI,aAAa,CAAC;oBAC9D,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,uBAAuB,QAAQ,EAAE,MAAM,eAAe,CAAC;oBAC9E,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;oBACnC,MAAM,CAAC,GAAG,EAAE,CAAC;gBACf,CAAC;qBAAM,CAAC;oBACN,MAAM,OAAO,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9C,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,aAAa,UAAU,YAAY,QAAQ,EAAE,MAAM,KAAK,IAAI,MAAM,OAAO,KAAK,CAAC;oBAC7G,MAAM,CAAC,GAAG,EAAE,CAAC;gBACf,CAAC;gBACD,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC;gBAC7B,IAAI,GAAG,KAAK,CAAC;YACf,CAAC;iBAAM,IAAI,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;gBAC7E,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,+BAA+B,QAAQ,EAAE,MAAM,MAAM,CAAC;gBAC7E,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,qBAAqB,IAAI,MAAM,CAAC;gBACvD,IAAI,QAAQ,EAAE,GAAG,EAAE,CAAC;oBAClB,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,iBAAiB,CAAC;oBAChD,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,sBAAsB,CAAC;oBACrD,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,uBAAuB,QAAQ,EAAE,MAAM,eAAe,CAAC;oBAC9E,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC;oBAC1C,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,gBAAgB,CAAC;oBAC/C,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;oBACnC,MAAM,CAAC,GAAG,EAAE,CAAC;gBACf,CAAC;qBAAM,CAAC;oBACN,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,uBAAuB,QAAQ,EAAE,MAAM,QAAQ,CAAC;oBAC9E,MAAM,CAAC,GAAG,EAAE,CAAC;gBACf,CAAC;gBACD,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC;gBAC7B,IAAI,GAAG,KAAK,CAAC;YACf,CAAC;YACD,IAAI,OAAO,GAAG,oBAAoB,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,UAAU,EAAE,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;YACjH,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;gBACtE,OAAO,GAAG,mDAAmD,IAAI,oBAAoB,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC;YAC9H,CAAC;YACD,IAAI,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtF,IAAI,IAAI,uBAAuB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBACtD,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,mBAAmB,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,IAAI,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAC;gBACvC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACd,IAAI,IAAI,uBAAuB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBACtD,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,mBAAmB,CAAC;gBAC3C,MAAM,CAAC,GAAG,EAAE,CAAC;gBACb,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC;gBAC7B,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,mBAAmB,CAAC;YAC7C,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC7C,IAAI,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5C,IAAI,IAAI,uBAAuB,CAC7B,eAAe,SAAS,CAAC,IAAI,KAAK,mBAAmB,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,EAC/E,WAAW,CACZ,CAAC;gBACF,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,mBAAmB,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,IAAI,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAC;gBACvC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACd,IAAI,IAAI,uBAAuB,CAC7B,eAAe,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,mBAAmB,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,EAChG,WAAW,CACZ,CAAC;gBACF,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,mBAAmB,CAAC;gBAC3C,MAAM,CAAC,GAAG,EAAE,CAAC;gBACb,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC;gBAC7B,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,mBAAmB,CAAC;YAC7C,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;YACtE,IAAI,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5C,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,iDAAiD,SAAS,CAAC,IAAI,MAAM,CAAC;gBAC7F,IAAI,IAAI,uBAAuB,CAC7B,qBAAqB,mBAAmB,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,EAClE,WAAW,CACZ,CAAC;gBACF,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,mBAAmB,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,IAAI,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAC;gBACvC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACd,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,iDAAiD,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC;gBAC9G,IAAI,IAAI,uBAAuB,CAC7B,qBAAqB,mBAAmB,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,EAClE,WAAW,CACZ,CAAC;gBACF,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,mBAAmB,CAAC;gBAC3C,MAAM,CAAC,GAAG,EAAE,CAAC;gBACb,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC;gBAC7B,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,mBAAmB,CAAC;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,yFAAyF;QACzF,yFAAyF;QACzF,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,oBAAoB,CAAC;QAC5C,MAAM,CAAC,IAAI,EAAE,CAAC;QACd,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;YACjD,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAAC,cAAc,OAAO,CAAC;QACxR,CAAC;QACD,MAAM,CAAC,GAAG,EAAE,CAAC;QACb,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC;QAC9B,MAAM,CAAC,IAAI,EAAE,CAAC;QACd,oEAAoE;QACpE,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;YACjD,IAAI,EAAE,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;YACnI,CAAC;QACH,CAAC;QACD,MAAM,CAAC,GAAG,EAAE,CAAC;QACb,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC;QAC7B,yDAAyD;QACzD,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;YACjD,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpD,IAAI,IAAI,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;gBAC9C,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,QAAQ,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,cAAc,CAAC,cAAc,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnJ,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;YACrC,CAAC;QACH,CAAC;QACD,qFAAqF;QACrF,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,mEAAmE,CAAC;QAC3F,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,4DAA4D,CAAC;QACpF,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,mBAAmB,CAAC;QAClD,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;QACnC,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,mBAAmB,CAAC;IAC7C,CAAC;SAAM,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,0FAA0F;QAC1F,wFAAwF;QACxF,mEAAmE;QACnE,8EAA8E;QAC9E,oEAAoE;QACpE,IAAI,IAAI,8BAA8B,CACpC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,EAC3B,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,EAC3B,MAAM,CACP,CAAC;QACF,IACE,mBAAmB,CAAC,MAAM,KAAK,CAAC;YAChC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO;YAC5C,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,EACzD,CAAC;YACD,6EAA6E;YAC7E,0FAA0F;YAC1F,0EAA0E;YAC1E,KAAK,MAAM,KAAK,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvD,IAAI,IAAI,8BAA8B,CACpC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,EAC9C,KAAK,CAAC,IAAI,EACV,MAAM,CACP,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,oBAAoB,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,0BAA0B,CAAC;YACjG,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,mBAAmB,CAAC;YAC3C,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,mBAAmB,CAAC;YAClD,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,gCAAgC,CAAC;YACxD,KAAK,MAAM,KAAK,IAAI,mBAAmB,EAAE,CAAC;gBACxC,MAAM,MAAM,GAAG,aAAa,KAAK,CAAC,IAAI,QAAQ,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5E,IAAI,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxC,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC;gBACvC,CAAC;qBAAM,CAAC;oBACN,IAAI,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC;oBACnC,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC;oBAC5C,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,uEAAuE,CAAC;QAC/F,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,mBAAmB,CAAC;QAClD,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;QACnC,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,mBAAmB,CAAC;IAC7C,CAAC;SAAM,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,YAAY,GAAG,UAAU,KAA2B,EAAE,MAAc;YACxE,IAAI,YAAoB,CAAC;YACzB,IAAI,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxC,YAAY,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAC1C,YAAY,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC;gBACpD,YAAY,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;YAC7C,CAAC;YACD,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;QACtE,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,4BAA4B,CAAC;QACpD,gCAAgC;QAChC,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,iBAAiB,KAAK,CAAC,YAAY,MAAM,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC;YAC5G,IAAI,IAAI,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,qEAAqE,CAAC;QAC7F,IAAI,IAAI,uBAAuB,CAAC,wDAAwD,CAAC,CAAC;QAC1F,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,mBAAmB,CAAC;IAC7C,CAAC;SAAM,CAAC;QACN,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,mBAAmB,CAAC;IAC7C,CAAC;IACD,IAAI,IAAI,OAAO,CAAC;IAChB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAkF,EAClF,GAAyB,EACzB,YAAmD,EACnD,OAAsB,EACtB,MAA2B;IAE3B,MAAM,UAAU,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC;IACtD,IAAI,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,UAAU,OAAO,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC;IACrG,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,gCAAgC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;IAClG,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,UAAU,eAAe,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5F,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;IAEnC,IAAI,cAAsB,CAAC;IAC3B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,uBAAuB,CAAC;QAC7B,KAAK,mBAAmB;YACtB,cAAc,GAAG,KAAK,CAAC,UAAU,CAAC;YAClC,MAAM;QACR,KAAK,sBAAsB,CAAC;QAC5B,KAAK,kBAAkB;YACrB,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;YACtC,MAAM;IACV,CAAC;IAED,MAAM,gBAAgB,GAAG,YAAY,CACnC,IAAI,cAAc,GAAG,EACrB,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CACrD,CAAC;IACF,IAAI,IAAI,gBAAgB,CAAC;IACzB,0DAA0D;IAC1D,0DAA0D;IAC1D,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,IAAI,IAAI,IAAI,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,8BAA8B,CACrC,SAAiB,EACjB,QAAqB,EACrB,MAA2B;IAE3B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,MAAM,SAAS,GAAG,OAAO,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAC5D,IAAI,SAAS,CAAC,IAAI,KAAK,kBAAkB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,kBAAkB;YACrB,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,SAAS,kBAAkB,SAAS,CAAC,WAAW,CAAC,OAAO,IAAI,CAAC;YACvF,MAAM;QACR,KAAK,OAAO;YACV,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,kBAAkB,SAAS,MAAM,CAAC;YACzD,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,SAAS,qBAAqB,SAAS,CAAC,WAAW,CAAC,OAAO,IAAI,CAAC;YACjG,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;YACnC,MAAM;IACV,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAS,2BAA2B,CAClC,KAAkF;IAElF,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;AACrD,CAAC;AAED,SAAS,+BAA+B,CACtC,SAAsB;IAEtB,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,SAAS,CAAC,WAAW,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,QAAQ,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QACrC,KAAK,WAAW,CAAC;QACjB,KAAK,SAAS,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,WAAW,CAAC;QACjB,KAAK,MAAM;YACT,OAAO;gBACL,MAAM,EAAE,SAAS,CAAC,WAAW,CAAC,MAAM;gBACpC,SAAS,EAAE,SAAS,CAAC,kBAAkB;gBACvC,GAAG,EAAE,SAAS,CAAC,WAAW,CAAC,GAAG;aAC/B,CAAC;QACJ,KAAK,SAAS;YACZ,yEAAyE;YACzE,wEAAwE;YACxE,IAAI,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;gBAC9B,OAAO;oBACL,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,SAAS,CAAC,kBAAkB;oBACvC,GAAG,EAAE,IAAI;iBACV,CAAC;YACJ,CAAC;YACD,OAAO,SAAS,CAAC;QACnB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"request-handler.js","sourceRoot":"","sources":["../../../../src/codegen/core/request-handler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure-tools/typespec-go",
3
- "version": "0.16.0-dev.19",
3
+ "version": "0.16.0-dev.20",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec emitter for Go SDKs",
6
6
  "homepage": "https://azure.github.io/typespec-azure",
@@ -39,19 +39,19 @@
39
39
  ],
40
40
  "peerDependencies": {
41
41
  "@azure-tools/typespec-autorest": "^0.70.1 || >= 0.71.0-dev.4",
42
- "@azure-tools/typespec-azure-core": "^0.70.0 || >= 0.71.0-dev.4",
43
- "@azure-tools/typespec-azure-resource-manager": "^0.70.0 || >= 0.71.0-dev.13",
42
+ "@azure-tools/typespec-azure-core": "^0.70.0 || >= 0.71.0-dev.5",
43
+ "@azure-tools/typespec-azure-resource-manager": "^0.70.0 || >= 0.71.0-dev.14",
44
44
  "@azure-tools/typespec-azure-rulesets": "^0.70.0 || >= 0.71.0-dev.5",
45
- "@azure-tools/typespec-client-generator-core": "^0.70.0 || >= 0.71.0-dev.11",
45
+ "@azure-tools/typespec-client-generator-core": "^0.70.0 || >= 0.71.0-dev.13",
46
46
  "@typespec/compiler": "^1.14.0",
47
47
  "@typespec/events": "^0.84.0",
48
48
  "@typespec/openapi": "^1.14.0",
49
- "@typespec/http": "^1.14.0",
50
- "@typespec/sse": "^0.84.0",
51
49
  "@typespec/rest": "^0.84.0",
50
+ "@typespec/sse": "^0.84.0",
51
+ "@typespec/http": "^1.14.0",
52
52
  "@typespec/streams": "^0.84.0",
53
- "@typespec/xml": "^0.84.0",
54
- "@typespec/versioning": "^0.84.0"
53
+ "@typespec/versioning": "^0.84.0",
54
+ "@typespec/xml": "^0.84.0"
55
55
  },
56
56
  "dependencies": {
57
57
  "semver": "^7.7.4"
@@ -59,10 +59,10 @@
59
59
  "devDependencies": {
60
60
  "@azure-tools/azure-http-specs": "^0.1.0-alpha.43 || >= 0.1.0-alpha.44-dev.6",
61
61
  "@azure-tools/typespec-autorest": "^0.70.1 || >= 0.71.0-dev.4",
62
- "@azure-tools/typespec-azure-core": "^0.70.0 || >= 0.71.0-dev.4",
63
- "@azure-tools/typespec-azure-resource-manager": "^0.70.0 || >= 0.71.0-dev.13",
62
+ "@azure-tools/typespec-azure-core": "^0.70.0 || >= 0.71.0-dev.5",
63
+ "@azure-tools/typespec-azure-resource-manager": "^0.70.0 || >= 0.71.0-dev.14",
64
64
  "@azure-tools/typespec-azure-rulesets": "^0.70.0 || >= 0.71.0-dev.5",
65
- "@azure-tools/typespec-client-generator-core": "^0.70.0 || >= 0.71.0-dev.11",
65
+ "@azure-tools/typespec-client-generator-core": "^0.70.0 || >= 0.71.0-dev.13",
66
66
  "@types/node": "^26.0.0",
67
67
  "@types/semver": "^7.7.1",
68
68
  "@vitest/coverage-v8": "^4.1.3",
@@ -70,19 +70,19 @@
70
70
  "rimraf": "^6.1.3",
71
71
  "typescript": "~6.0.2",
72
72
  "vitest": "^4.1.3",
73
- "@typespec/compiler": "^1.14.0",
74
73
  "@azure-tools/spector-runner": "^0.1.0",
75
74
  "@typespec/events": "^0.84.0",
76
75
  "@typespec/http": "^1.14.0",
77
76
  "@typespec/http-specs": "^0.1.0-alpha.40",
78
77
  "@typespec/openapi": "^1.14.0",
78
+ "@typespec/compiler": "^1.14.0",
79
79
  "@typespec/rest": "^0.84.0",
80
80
  "@typespec/spector": "^0.1.0-alpha.27",
81
81
  "@typespec/sse": "^0.84.0",
82
- "@typespec/spec-api": "^0.1.0-alpha.15",
82
+ "@typespec/streams": "^0.84.0",
83
83
  "@typespec/tspd": "^0.76.0",
84
+ "@typespec/spec-api": "^0.1.0-alpha.15",
84
85
  "@typespec/xml": "^0.84.0",
85
- "@typespec/streams": "^0.84.0",
86
86
  "@typespec/versioning": "^0.84.0"
87
87
  },
88
88
  "scripts": {