@pulumi/aws-apigateway 0.0.4 → 0.0.7

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/README.md CHANGED
@@ -1,8 +1,6 @@
1
1
  # Pulumi AWS API Gateway Component
2
2
 
3
- Easily create AWS API Gateway Rest APIs using Pulumi. This component exposes the Crosswalk for AWS functionality documented at https://www.pulumi.com/docs/guides/crosswalk/aws/api-gateway/ as a multi-language Pulumi Package available in all Pulumi languages.
4
-
5
- > Note: This package is not yet published to package managers, so SDKs must be bulilt and installed locally.
3
+ Easily create AWS API Gateway REST APIs using Pulumi. This component exposes the Crosswalk for AWS functionality documented in the [Pulumi AWS API Gateway guide](https://www.pulumi.com/docs/guides/crosswalk/aws/api-gateway/) as a package available in all Pulumi languages.
6
4
 
7
5
  Python:
8
6
 
package/package.json CHANGED
@@ -1,11 +1,13 @@
1
1
  {
2
2
  "name": "@pulumi/aws-apigateway",
3
- "version": "v0.0.4",
3
+ "version": "v0.0.7",
4
+ "license": "Apache-2.0",
4
5
  "scripts": {
5
- "build": "tsc"
6
+ "build": "tsc",
7
+ "install": "node scripts/install-pulumi-plugin.js resource aws-apigateway v0.0.7"
6
8
  },
7
9
  "dependencies": {
8
- "@pulumi/aws": "^4.5.1"
10
+ "@pulumi/aws": "^5.0.0"
9
11
  },
10
12
  "devDependencies": {
11
13
  "typescript": "^3.7.0"
package/provider.js CHANGED
@@ -14,14 +14,12 @@ class Provider extends pulumi.ProviderResource {
14
14
  * @param opts A bag of options that control this resource's behavior.
15
15
  */
16
16
  constructor(name, args, opts) {
17
- let inputs = {};
17
+ let resourceInputs = {};
18
18
  opts = opts || {};
19
19
  {
20
20
  }
21
- if (!opts.version) {
22
- opts = pulumi.mergeOptions(opts, { version: utilities.getVersion() });
23
- }
24
- super(Provider.__pulumiType, name, inputs, opts);
21
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
22
+ super(Provider.__pulumiType, name, resourceInputs, opts);
25
23
  }
26
24
  /**
27
25
  * Returns true if the given object is an instance of Provider. This is designed to work even
package/provider.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../provider.ts"],"names":[],"mappings":";AAAA,oEAAoE;AACpE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC,MAAa,QAAS,SAAQ,MAAM,CAAC,gBAAgB;IAgBjD;;;;;;OAMG;IACH,YAAY,IAAY,EAAE,IAAmB,EAAE,IAA6B;QACxE,IAAI,MAAM,GAAkB,EAAE,CAAC;QAC/B,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB;SACC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE,EAAC,CAAC,CAAC;SACxE;QACD,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IA5BD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,QAAQ,CAAC,YAAY,CAAC;IACzD,CAAC;;AAbL,4BAiCC;AAhCG,gBAAgB;AACO,qBAAY,GAAG,gBAAgB,CAAC"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../provider.ts"],"names":[],"mappings":";AAAA,oEAAoE;AACpE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC,MAAa,QAAS,SAAQ,MAAM,CAAC,gBAAgB;IAgBjD;;;;;;OAMG;IACH,YAAY,IAAY,EAAE,IAAmB,EAAE,IAA6B;QACxE,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB;SACC;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IA1BD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,QAAQ,CAAC,YAAY,CAAC;IACzD,CAAC;;AAbL,4BA+BC;AA9BG,gBAAgB;AACO,qBAAY,GAAG,gBAAgB,CAAC"}
package/restAPI.d.ts CHANGED
@@ -1,6 +1,12 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
2
  import { input as inputs, enums } from "./types";
3
3
  import * as pulumiAws from "@pulumi/aws";
4
+ /**
5
+ * The RestAPI component offers a simple interface for creating a fully functional API Gateway REST API. The
6
+ * REST API can define any number of routes, each of which maps a path and HTTP method to one of (1) an event
7
+ * hander route that invokes a Lambda Function (2) a local path route which uploads local files into an S3 bucket
8
+ * and serves them or (3) an integration target such as an HTTP proxy or service integration.
9
+ */
4
10
  export declare class RestAPI extends pulumi.ComponentResource {
5
11
  /**
6
12
  * Returns true if the given object is an instance of RestAPI. This is designed to work even
package/restAPI.js CHANGED
@@ -5,6 +5,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.RestAPI = void 0;
6
6
  const pulumi = require("@pulumi/pulumi");
7
7
  const utilities = require("./utilities");
8
+ /**
9
+ * The RestAPI component offers a simple interface for creating a fully functional API Gateway REST API. The
10
+ * REST API can define any number of routes, each of which maps a path and HTTP method to one of (1) an event
11
+ * hander route that invokes a Lambda Function (2) a local path route which uploads local files into an S3 bucket
12
+ * and serves them or (3) an integration target such as an HTTP proxy or service integration.
13
+ */
8
14
  class RestAPI extends pulumi.ComponentResource {
9
15
  /**
10
16
  * Create a RestAPI resource with the given unique name, arguments, and options.
@@ -14,33 +20,31 @@ class RestAPI extends pulumi.ComponentResource {
14
20
  * @param opts A bag of options that control this resource's behavior.
15
21
  */
16
22
  constructor(name, args, opts) {
17
- let inputs = {};
23
+ let resourceInputs = {};
18
24
  opts = opts || {};
19
25
  if (!opts.id) {
20
- inputs["apiKeySource"] = args ? args.apiKeySource : undefined;
21
- inputs["gatewayResponses"] = args ? args.gatewayResponses : undefined;
22
- inputs["requestValidator"] = args ? args.requestValidator : undefined;
23
- inputs["routes"] = args ? args.routes : undefined;
24
- inputs["stageName"] = args ? args.stageName : undefined;
25
- inputs["staticRoutesBucket"] = args ? args.staticRoutesBucket : undefined;
26
- inputs["swaggerString"] = args ? args.swaggerString : undefined;
27
- inputs["api"] = undefined /*out*/;
28
- inputs["apiPolicy"] = undefined /*out*/;
29
- inputs["deployment"] = undefined /*out*/;
30
- inputs["stage"] = undefined /*out*/;
31
- inputs["url"] = undefined /*out*/;
26
+ resourceInputs["apiKeySource"] = args ? args.apiKeySource : undefined;
27
+ resourceInputs["gatewayResponses"] = args ? args.gatewayResponses : undefined;
28
+ resourceInputs["requestValidator"] = args ? args.requestValidator : undefined;
29
+ resourceInputs["routes"] = args ? args.routes : undefined;
30
+ resourceInputs["stageName"] = args ? args.stageName : undefined;
31
+ resourceInputs["staticRoutesBucket"] = args ? args.staticRoutesBucket : undefined;
32
+ resourceInputs["swaggerString"] = args ? args.swaggerString : undefined;
33
+ resourceInputs["api"] = undefined /*out*/;
34
+ resourceInputs["apiPolicy"] = undefined /*out*/;
35
+ resourceInputs["deployment"] = undefined /*out*/;
36
+ resourceInputs["stage"] = undefined /*out*/;
37
+ resourceInputs["url"] = undefined /*out*/;
32
38
  }
33
39
  else {
34
- inputs["api"] = undefined /*out*/;
35
- inputs["apiPolicy"] = undefined /*out*/;
36
- inputs["deployment"] = undefined /*out*/;
37
- inputs["stage"] = undefined /*out*/;
38
- inputs["url"] = undefined /*out*/;
40
+ resourceInputs["api"] = undefined /*out*/;
41
+ resourceInputs["apiPolicy"] = undefined /*out*/;
42
+ resourceInputs["deployment"] = undefined /*out*/;
43
+ resourceInputs["stage"] = undefined /*out*/;
44
+ resourceInputs["url"] = undefined /*out*/;
39
45
  }
40
- if (!opts.version) {
41
- opts = pulumi.mergeOptions(opts, { version: utilities.getVersion() });
42
- }
43
- super(RestAPI.__pulumiType, name, inputs, opts, true /*remote*/);
46
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
47
+ super(RestAPI.__pulumiType, name, resourceInputs, opts, true /*remote*/);
44
48
  }
45
49
  /**
46
50
  * Returns true if the given object is an instance of RestAPI. This is designed to work even
package/restAPI.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"restAPI.js","sourceRoot":"","sources":["../restAPI.ts"],"names":[],"mappings":";AAAA,oEAAoE;AACpE,iFAAiF;;;AAEjF,yCAAyC;AAEzC,yCAAyC;AAIzC,MAAa,OAAQ,SAAQ,MAAM,CAAC,iBAAiB;IAoCjD;;;;;;OAMG;IACH,YAAY,IAAY,EAAE,IAAkB,EAAE,IAAsC;QAChF,IAAI,MAAM,GAAkB,EAAE,CAAC;QAC/B,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YACV,MAAM,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,MAAM,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,MAAM,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAClD,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,MAAM,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,MAAM,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YAChE,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAClC,MAAM,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACxC,MAAM,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACzC,MAAM,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACpC,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SACrC;aAAM;YACH,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAClC,MAAM,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACxC,MAAM,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACzC,MAAM,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACpC,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SACrC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE,EAAC,CAAC,CAAC;SACxE;QACD,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACrE,CAAC;IAlED;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,OAAO,CAAC,YAAY,CAAC;IACxD,CAAC;;AAbL,0BAuEC;AAtEG,gBAAgB;AACO,oBAAY,GAAG,8BAA8B,CAAC"}
1
+ {"version":3,"file":"restAPI.js","sourceRoot":"","sources":["../restAPI.ts"],"names":[],"mappings":";AAAA,oEAAoE;AACpE,iFAAiF;;;AAEjF,yCAAyC;AAEzC,yCAAyC;AAIzC;;;;;GAKG;AACH,MAAa,OAAQ,SAAQ,MAAM,CAAC,iBAAiB;IAoCjD;;;;;;OAMG;IACH,YAAY,IAAY,EAAE,IAAkB,EAAE,IAAsC;QAChF,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YACV,cAAc,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,cAAc,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9E,cAAc,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9E,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAChE,cAAc,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,cAAc,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,cAAc,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC1C,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAChD,cAAc,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACjD,cAAc,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC5C,cAAc,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SAC7C;aAAM;YACH,cAAc,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC1C,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAChD,cAAc,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACjD,cAAc,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC5C,cAAc,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SAC7C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7E,CAAC;IAhED;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,OAAO,CAAC,YAAY,CAAC;IACxD,CAAC;;AAbL,0BAqEC;AApEG,gBAAgB;AACO,oBAAY,GAAG,8BAA8B,CAAC"}
package/utilities.js CHANGED
@@ -2,7 +2,7 @@
2
2
  // *** WARNING: this file was generated by Pulumi SDK Generator. ***
3
3
  // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.getVersion = exports.getEnvNumber = exports.getEnvBoolean = exports.getEnv = void 0;
5
+ exports.resourceOptsDefaults = exports.getVersion = exports.getEnvNumber = exports.getEnvBoolean = exports.getEnv = void 0;
6
6
  function getEnv(...vars) {
7
7
  for (const v of vars) {
8
8
  const value = process.env[v];
@@ -49,4 +49,9 @@ function getVersion() {
49
49
  return version;
50
50
  }
51
51
  exports.getVersion = getVersion;
52
+ /** @internal */
53
+ function resourceOptsDefaults() {
54
+ return { version: getVersion() };
55
+ }
56
+ exports.resourceOptsDefaults = resourceOptsDefaults;
52
57
  //# sourceMappingURL=utilities.js.map
package/utilities.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.js","sourceRoot":"","sources":["../utilities.ts"],"names":[],"mappings":";AAAA,oEAAoE;AACpE,iFAAiF;;;AAGjF,SAAgB,MAAM,CAAC,GAAG,IAAc;IACpC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;QAClB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,KAAK,EAAE;YACP,OAAO,KAAK,CAAC;SAChB;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AARD,wBAQC;AAED,SAAgB,aAAa,CAAC,GAAG,IAAc;IAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,SAAS,EAAE;QACjB,uGAAuG;QACvG,yDAAyD;QACzD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,SAAS,EAAE;YAC1E,OAAO,IAAI,CAAC;SACf;QACD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,SAAS,EAAE;YAC7E,OAAO,KAAK,CAAC;SAChB;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAbD,sCAaC;AAED,SAAgB,YAAY,CAAC,GAAG,IAAc;IAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,SAAS,EAAE;QACjB,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACX,OAAO,CAAC,CAAC;SACZ;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AATD,oCASC;AAED,SAAgB,UAAU;IACtB,IAAI,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;IAChD,6EAA6E;IAC7E,iCAAiC;IACjC,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QAC5B,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAC9B;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AARD,gCAQC"}
1
+ {"version":3,"file":"utilities.js","sourceRoot":"","sources":["../utilities.ts"],"names":[],"mappings":";AAAA,oEAAoE;AACpE,iFAAiF;;;AAGjF,SAAgB,MAAM,CAAC,GAAG,IAAc;IACpC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;QAClB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,KAAK,EAAE;YACP,OAAO,KAAK,CAAC;SAChB;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AARD,wBAQC;AAED,SAAgB,aAAa,CAAC,GAAG,IAAc;IAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,SAAS,EAAE;QACjB,uGAAuG;QACvG,yDAAyD;QACzD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,SAAS,EAAE;YAC1E,OAAO,IAAI,CAAC;SACf;QACD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,SAAS,EAAE;YAC7E,OAAO,KAAK,CAAC;SAChB;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAbD,sCAaC;AAED,SAAgB,YAAY,CAAC,GAAG,IAAc;IAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,SAAS,EAAE;QACjB,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACX,OAAO,CAAC,CAAC;SACZ;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AATD,oCASC;AAED,SAAgB,UAAU;IACtB,IAAI,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;IAChD,6EAA6E;IAC7E,iCAAiC;IACjC,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QAC5B,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAC9B;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AARD,gCAQC;AAED,gBAAgB;AAChB,SAAgB,oBAAoB;IAChC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC;AACrC,CAAC;AAFD,oDAEC"}